evcc icon indicating copy to clipboard operation
evcc copied to clipboard

Clarify syncCharger logic

Open MarkusGH opened this issue 11 months ago • 3 comments

MarkusGH avatar Mar 11 '24 18:03 MarkusGH

@GrimmiMeloni: Habe noch eine Verschönerung vorgenommen, sorry für die Last Minute Änderung. Jetzt ist aber Ruhe...

MarkusGH avatar Mar 12 '24 11:03 MarkusGH

Sollen wir damit mal +1 Release warten um die Effekte auseinander zu halten?

andig avatar Mar 13 '24 11:03 andig

Für mich ok - hat ja keine Eile

MarkusGH avatar Mar 13 '24 11:03 MarkusGH

@andig: Ich glaube wir können das so langsam übernehmen. Ich kriege es aber leider nicht hin die "Konflikte" aufzulösen. Habe diese gecheckt, es sind meines Erachtens gar keine echten Konflikte, der Code müsste kompatibel sein. Könntest Du das bitte zusammenführen?

MarkusGH avatar Mar 25 '24 07:03 MarkusGH

Mhhm, das ist grad nicht ganz offensichtlich- da muss man sich mal beide Varianten nebeneinander legen :/

andig avatar Mar 26 '24 19:03 andig

Hab ich schon. Das passt.

MarkusGH avatar Mar 26 '24 19:03 MarkusGH

@andig: War tatsächlich nicht offensichtlich, mir ist beim Überprüfen der Änderungen was durchgerutscht. Aber jetzt kannst Du tatsächlich alle Konflikte zugunsten patch-4 auflösen.

MarkusGH avatar Mar 27 '24 07:03 MarkusGH

@MarkusGH mir fällt gerade auf, dass in pvScalePhases auch noch Sync-Logik drin steckt die vielleicht auch eine bessere Heimat finden könnte?

// observed phase state inconsistency
// - https://github.com/evcc-io/evcc/issues/1572
// - https://github.com/evcc-io/evcc/issues/2230
// - https://github.com/evcc-io/evcc/issues/2613
measuredPhases := lp.getMeasuredPhases()
if phases > 0 && phases < measuredPhases {
	if lp.chargerUpdateCompleted() {
		lp.log.WARN.Printf("ignoring inconsistent phases: %dp < %dp observed active", phases, measuredPhases)
	}
	lp.resetMeasuredPhases()
}

andig avatar Mar 31 '24 10:03 andig

@MarkusGH mir fällt gerade auf, dass in pvScalePhases auch noch Sync-Logik drin steckt die vielleicht auch eine bessere Heimat finden könnte?

ich weiß nicht, da wird ja nicht wirklich ein Zustand synchronisiert.

Aber einen Check auf phaseSwitchCompleted() sollte man da einbauen: https://github.com/evcc-io/evcc/pull/13253

MarkusGH avatar Apr 01 '24 16:04 MarkusGH