Closed waynistan closed 3 months ago
Hi, um das bearbeiten zu können, müssen wir das reproduzierbar haben. Wäre gut, wenn du den Effekt isolieren könntest. Gerade weil dein Setup mit MQTT und externer Steuerung ja etwas spezieller ist. Ich mach hier daher erstmal zu. Aber füg gerne neuen Infos an, wenn du hast und dann machen wir den wieder auf.
Ja, ich werde versuchen, das ganze noch weiter zu beobachten. Problematisch ist nur, dass über Home Assistant immer nur die letzten 1-2 Minuten des Logs abrufbar sind, also muss ich live dabei sein... Mir ist aufgefallen, dass seit ein paar Versionen die 0en im UI auch als 0en angezeigt werden. "Früher" wurde da "keine Messwerte" o.ä. angezeigt, könnte zeitlich hinkommen mit dem übersprungenem enable-Delay Fehler. Andererseits überschreibe ich auch erst seit einigen Wochen u.a. den enable-Threshold, das könnte halt auch passen.
Problematisch ist nur, dass über Home Assistant immer nur die letzten 1-2 Minuten des Logs abrufbar sind, also muss ich live dabei sein...
Über den evcc Log Viewer müsstest du deutlich mehr (10k Einträge) bekommen.
Problematisch ist nur, dass über Home Assistant immer nur die letzten 1-2 Minuten des Logs abrufbar sind, also muss ich live dabei sein...
Über den evcc Log Viewer müsstest du deutlich mehr (10k Einträge) bekommen.
Den Log Viewer habe ich noch gar nicht bemerkt, danke für den Tipp. Gerade mal geschaut, reicht etwa 25 Minuten zurück, das ist schonmal wesentlich angenehmer als die 1,x Minuten über Home Assistant ;D
Möglicherweise handelt es sich nur um ein Initialisierungsproblem des pvTimers. Es kann gut sein, dass jedes Mal, wo bei mir das Problem aufgetaucht ist evcc vorher kein einziges Mal die resetPVTimer()-Funktion aufgerufen hat, da das Standardfahrzeug sein Ladelimit erreicht hatte und das Gastfahrzeug dann sofort beim ersten Refresh zur Mittagszeit genug Leistung zur Verfügung hatte. Hatte zuletzt auch häufiger evcc neu gestartet, wegen Änderungen der Config und evcc-Updates, deswegen könnte der Fall tatsächlich öfter aufgetreten sein. Wenn's stimmt, ist es natürlich nur ein relativ irrelevantes Problem, aber vielleicht lässt sich der Timer ja beim Start von evcc resetten und selbst dieser Fall wäre dann abgedeckt.
Im folgenden Log sieht man, wie beim ersten Wechsel aufs Gastfahrzeug der Timer resettet wird, beim zweiten Wechsel dann nicht mehr, weil die resetPVTimer()-Funktion einfach sofort returned.
[main ] INFO 2024/07/12 00:54:34 evcc 0.128.2 [main ] INFO 2024/07/12 00:54:34 using config file: /config/evcc.yaml [db ] INFO 2024/07/12 00:54:34 using sqlite database: /data/evcc.db [mqtt ] INFO 2024/07/12 00:54:34 connecting evcc-1150975679 at tcp://127.0.0.1:1883 [mqtt ] DEBUG 2024/07/12 00:54:35 tcp://127.0.0.1:1883 connected [main ] INFO 2024/07/12 00:54:35 listening at :7070 [lp-1 ] DEBUG 2024/07/12 00:54:35 charge total import: 4846.524kWh [site ] INFO 2024/07/12 00:54:36 site config: [site ] INFO 2024/07/12 00:54:36 meters: grid ✓ pv ✓ battery ✓ [site ] INFO 2024/07/12 00:54:36 grid: power ✓ energy ✗ currents ✗ [site ] INFO 2024/07/12 00:54:36 pv 1: power ✓ energy ✗ currents ✗ [site ] INFO 2024/07/12 00:54:36 battery 1: power ✓ energy ✗ currents ✗ soc ✓ capacity ✓ [site ] INFO 2024/07/12 00:54:36 vehicles: [site ] INFO 2024/07/12 00:54:36 vehicle 1: range ✓ finish ✗ status ✓ climate ✓ wakeup ✓ [lp-1 ] INFO 2024/07/12 00:54:36 loadpoint 1: [lp-1 ] INFO 2024/07/12 00:54:36 mode: pv [lp-1 ] INFO 2024/07/12 00:54:36 charger: power ✓ energy ✓ currents ✓ phases ✗ wakeup ✗ [lp-1 ] INFO 2024/07/12 00:54:36 meters: charge ✓ [lp-1 ] INFO 2024/07/12 00:54:36 charge: power ✓ energy ✓ currents ✓ [site ] DEBUG 2024/07/12 00:54:36 set buffer soc: 95 [site ] DEBUG 2024/07/12 00:54:36 set buffer start soc: 0 [site ] DEBUG 2024/07/12 00:54:36 set priority soc: 30 [site ] DEBUG 2024/07/12 00:54:36 set residual power: 100 [lp-1 ] DEBUG 2024/07/12 00:54:36 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:54:36 phase timer inactive [lp-1 ] DEBUG 2024/07/12 00:54:36 pv timer inactive [lp-1 ] INFO 2024/07/12 00:54:36 vehicle updated: unknown -> Corsa-e [lp-1 ] DEBUG 2024/07/12 00:54:36 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [site ] WARN 2024/07/12 00:54:36 interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval [site ] DEBUG 2024/07/12 00:54:36 ---- [lp-1 ] DEBUG 2024/07/12 00:54:36 charge power: 0W [lp-1 ] DEBUG 2024/07/12 00:54:36 charge currents: [0.004 0.004 0.004]A [site ] DEBUG 2024/07/12 00:54:36 pv power: 0W [site ] DEBUG 2024/07/12 00:54:36 battery soc: 0% [site ] DEBUG 2024/07/12 00:54:36 battery power: 0W [site ] DEBUG 2024/07/12 00:54:36 grid meter: -0W [site ] DEBUG 2024/07/12 00:54:36 site power: 100W [lp-1 ] DEBUG 2024/07/12 00:54:36 vehicle odometer: 17277km [lp-1 ] DEBUG 2024/07/12 00:54:36 charge voltages: [232 232 231]V [lp-1 ] DEBUG 2024/07/12 00:54:36 detected connected phases: 3p [lp-1 ] DEBUG 2024/07/12 00:54:36 charge total import: 4846.524kWh [lp-1 ] DEBUG 2024/07/12 00:54:36 charger status: B [lp-1 ] DEBUG 2024/07/12 00:54:36 charge start energy: 4.85e+03kWh [lp-1 ] INFO 2024/07/12 00:54:36 car connected [lp-1 ] DEBUG 2024/07/12 00:54:36 pv timer elapse [lp-1 ] DEBUG 2024/07/12 00:54:36 pv timer inactive [lp-1 ] DEBUG 2024/07/12 00:54:36 charge total import: 4846.524kWh [lp-1 ] DEBUG 2024/07/12 00:54:36 vehicle status: A [lp-1 ] DEBUG 2024/07/12 00:54:36 vehicle soc: 80% [lp-1 ] DEBUG 2024/07/12 00:54:36 vehicle range: 248km [lp-1 ] DEBUG 2024/07/12 00:54:36 limitSoc reached: 80.0% > 60% [lp-1 ] DEBUG 2024/07/12 00:54:37 set max current: 15 [lp-1 ] INFO 2024/07/12 00:54:41 vehicle updated: Corsa-e -> unknown [lp-1 ] DEBUG 2024/07/12 00:54:41 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:54:41 set enable threshold: -4300 [lp-1 ] DEBUG 2024/07/12 00:54:41 set max current: 16 [site ] DEBUG 2024/07/12 00:54:45 ---- [lp-1 ] DEBUG 2024/07/12 00:54:45 charge power: 0W [lp-1 ] DEBUG 2024/07/12 00:54:45 charge currents: [0.003 0.004 0.004]A [site ] DEBUG 2024/07/12 00:54:45 pv power: 0W [site ] DEBUG 2024/07/12 00:54:45 battery soc: 0% [site ] DEBUG 2024/07/12 00:54:45 battery power: 0W [site ] DEBUG 2024/07/12 00:54:45 grid meter: -0W [site ] DEBUG 2024/07/12 00:54:45 site power: 100W [lp-1 ] DEBUG 2024/07/12 00:54:45 charge voltages: [232 232 232]V [lp-1 ] DEBUG 2024/07/12 00:54:45 detected connected phases: 3p [lp-1 ] DEBUG 2024/07/12 00:54:45 charge total import: 4846.524kWh [lp-1 ] DEBUG 2024/07/12 00:54:45 charger status: B [lp-1 ] DEBUG 2024/07/12 00:54:45 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:54:45 pv charge current: 0A = 0A + -0.145A (100W @ 3p) [lp-1 ] DEBUG 2024/07/12 00:54:45 pv enable timer reset [lp-1 ] DEBUG 2024/07/12 00:54:45 pv timer inactive [lp-1 ] INFO 2024/07/12 00:54:49 vehicle updated: unknown -> Corsa-e [lp-1 ] DEBUG 2024/07/12 00:54:49 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:54:49 set enable threshold: -3900 [lp-1 ] DEBUG 2024/07/12 00:54:50 set max current: 15 [site ] DEBUG 2024/07/12 00:54:54 ---- [lp-1 ] DEBUG 2024/07/12 00:54:54 charge power: 0W [lp-1 ] DEBUG 2024/07/12 00:54:54 charge currents: [0.003 0.003 0.004]A [site ] DEBUG 2024/07/12 00:54:54 pv power: 0W [site ] DEBUG 2024/07/12 00:54:54 battery soc: 0% [site ] DEBUG 2024/07/12 00:54:54 battery power: 0W [site ] DEBUG 2024/07/12 00:54:54 grid meter: -0W [site ] DEBUG 2024/07/12 00:54:54 site power: 100W [lp-1 ] DEBUG 2024/07/12 00:54:54 vehicle odometer: 17277km [lp-1 ] DEBUG 2024/07/12 00:54:54 charge voltages: [232 232 231]V [lp-1 ] DEBUG 2024/07/12 00:54:54 detected connected phases: 3p [lp-1 ] DEBUG 2024/07/12 00:54:54 charge total import: 4846.524kWh [lp-1 ] DEBUG 2024/07/12 00:54:54 charger status: B [lp-1 ] DEBUG 2024/07/12 00:54:54 vehicle status: A [lp-1 ] DEBUG 2024/07/12 00:54:54 vehicle soc: 80% [lp-1 ] DEBUG 2024/07/12 00:54:54 vehicle range: 248km [lp-1 ] DEBUG 2024/07/12 00:54:54 limitSoc reached: 80.0% > 60% [lp-1 ] INFO 2024/07/12 00:54:59 vehicle updated: Corsa-e -> unknown [lp-1 ] DEBUG 2024/07/12 00:54:59 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:54:59 set enable threshold: -4300 [lp-1 ] DEBUG 2024/07/12 00:55:00 set max current: 16 [site ] DEBUG 2024/07/12 00:55:03 ---- [lp-1 ] DEBUG 2024/07/12 00:55:03 charge power: 0W [lp-1 ] DEBUG 2024/07/12 00:55:03 charge currents: [0.005 0.004 0.003]A [site ] DEBUG 2024/07/12 00:55:03 pv power: 0W [site ] DEBUG 2024/07/12 00:55:03 battery soc: 0% [site ] DEBUG 2024/07/12 00:55:03 battery power: 0W [site ] DEBUG 2024/07/12 00:55:03 grid meter: -0W [site ] DEBUG 2024/07/12 00:55:03 site power: 100W [lp-1 ] DEBUG 2024/07/12 00:55:03 charge voltages: [232 232 231]V [lp-1 ] DEBUG 2024/07/12 00:55:03 detected connected phases: 3p [lp-1 ] DEBUG 2024/07/12 00:55:03 charge total import: 4846.524kWh [lp-1 ] DEBUG 2024/07/12 00:55:03 charger status: B [lp-1 ] DEBUG 2024/07/12 00:55:03 !! active phases: 3p = min(0p measured 0p vehicle 3p physical 0p charger) [lp-1 ] DEBUG 2024/07/12 00:55:03 pv charge current: 0A = 0A + -0.145A (100W @ 3p)
Ich lag falsch, denn heute hat die Ladung wieder sofort begonnen, ohne dass evcc vorher keine Gelegenheit gehabt hätte den pvTimer zu resetten. Stattdessen ist mir sowohl im Log als auch im Code aufgefallen, dass das Verhalten offenbar beabsichtigt ist. Die Zeilen 488 und 489 in loadpoint.go deuten klar darauf hin:
// immediately allow pv mode activity
lp.elapsePVTimer()
Dann wäre meine Frage, aus welchem Grund ist das so? Die Absicht hinter den (enable & disable) Delays ist es Schaltvorgänge bei sehr wechselhaftem PV-Überschuss zu vermeiden, wozu braucht man da diese Ausnahme von der Regel?
Describe the bug
Hallo, in den letzten Wochen ist mir manchmal aufgefallen, dass der enable-delay nicht abgewartet wird und evcc sofort die Ladung startet, nach nur einem Update mit genug Überschussleistung. Solange kein Fahrzeug angeschlossen ist frage ich auch keine Daten vom Wechselrichter ab und leite stattdessen über MQTT jeweils den Wert 0 an evcc weiter für grid / pv / battery / soc. Sobald ein Auto angeschlossen ist (tagsüber & Ladeziel nicht erreicht) bekommt evcc aktuelle Messwerte vom Wechselrichter. MaxCurrent, residualPower und die enable- / disableThresholds passe ich ebenfalls über MQTT an das ausgewählte Fahrzeug an, da deren tatsächliche Ladeleistung sich um mehrere 100 Watt unterscheidet (das sieht man in dem Log-Abschnitt den ich reinkopiert habe). In dem Fall wurde manuell auf Gastfahrzeug umgestellt und kurz darauf passen sich per MQTT die genannten Werte an und evcc bekommt danach echte Wechselrichter-Messwerte. Anstatt nun die eingestellten 119s zu warten legt evcc sofort mit der Ladung los. Evtl. ist das Überschreiben des enableThresholds über MQTT schuld? Kann das leider heute nicht mehr überprüfen...
Steps to reproduce
1. 2. 3. ...
Configuration details
Log details
What type of operating system are you running?
HomeAssistant Add-on
Version
0.128.2