evcc icon indicating copy to clipboard operation
evcc copied to clipboard

Delay message "ignoring inconsistent phases"

Open MarkusGH opened this issue 1 year ago • 12 comments

For some reason my openWB based wallbox needs up to 90 sec to switch phases.

I suggest delaying the message "ignoring inconsistent phases ..." (loadpoint.go:1101) by 120 sec:

if phases > 0 && phases < measuredPhases && lp.clock.Since(lp.phaseTimer) > lp.Disable.Delay + 120 { lp.log.WARN.Printf("ignoring inconsistent phases: %dp < %dp observed active", phases, measuredPhases) }

MarkusGH avatar Aug 17 '22 14:08 MarkusGH

Das ist allgemeingültig nicht anwendbar. Da es sich nur um eine Warnung handelt eigentlich auch erstmal kein Problem?

andig avatar Aug 17 '22 16:08 andig

Unnötige Warnungen verschönern das UI nicht gerade. Und User auf das ignorieren von Warnungen zu trainieren ist generell keine gute Idee.

MarkusGH avatar Aug 17 '22 16:08 MarkusGH

Und warum soll das allgemeingültig nicht anwendbar sein? Beim Enabled state wird dieselbe Strategie angewendet.

MarkusGH avatar Aug 17 '22 16:08 MarkusGH

Und warum soll das allgemeingültig nicht anwendbar sein?

Deine Zeitkonstante bezieht sich auf die OpenWB.

Beim Enabled state wird dieselbe Strategie angewendet.

Guter Punkt. Da Du eh schon im Code bist- gerne direkt als PR!

andig avatar Aug 17 '22 16:08 andig

120 sec sind 120 sec Um zu forken und einen einen PR zu stellen fehlt mir die Zeit und die Übung.

MarkusGH avatar Aug 17 '22 16:08 MarkusGH

Die Zeit fehlt mir leider auch...

andig avatar Aug 17 '22 16:08 andig

Für Dich sind das 30 Sekunden, für mich 60 Minuten...

MarkusGH avatar Aug 17 '22 18:08 MarkusGH

Ich würde da gern helfen hätte nur evtl. einen anderen Ansatz.

bei openwb-pro steht folgendes für den phasenswitch

func (wb *OpenWBPro) Phases1p3p(phases int) error {
	return wb.set(fmt.Sprintf("phasetarget=%d", phases))
}

Wäre es nicht denkbar den returnwert hier so lange hinauszuzögern bis die Wallbox den erfolgten switch bestätigt und wenn es nicht klappt einen Fehler zurückzugeben?

Bei meiner eigenen Implementierung für meine WB habe ich das auch so gemacht, dass in diesem Aufruf mehr passiert als nur der Switch und erst wenn alles durch ist, dann wird returned.

panzerdev avatar Aug 19 '22 07:08 panzerdev

Wäre es nicht denkbar den returnwert hier so lange hinauszuzögern

Nein. Wenn wir hier warten stehen alle anderen Ladepunkte. Das muss asynchron passieren. Wir reden hier über ein rein optisches Problem!

andig avatar Aug 19 '22 09:08 andig

Hilft es bei der Box vielleicht den Ladevorgang vorher aktiv zu unterbrechen oder dort ein Ticket aufzumachen? Ich sehe das eher als Bug der Box an.

premultiply avatar Aug 20 '22 04:08 premultiply

Hilft es bei der Box vielleicht den Ladevorgang vorher aktiv zu unterbrechen oder dort ein Ticket aufzumachen?

Das machen wir immer.

Ich sehe das eher als Bug der Box an.

Selbst wenn- hier gilt es einfach zu entscheiden ob wir das eine zeitlang tolerieren wollen? Fein für mich wenn nicht. Würde den Punkt aber gerne abhaken, alle Informationen liegen vor.

andig avatar Sep 17 '22 12:09 andig

@premultiply wie machen wir hier weiter?

andig avatar Sep 25 '22 10:09 andig