evcc-io / evcc

Sonne tanken ☀️🚘
https://evcc.io
MIT License
3.47k stars 640 forks source link

resetOnDisconnect und targetSoC bei Neustart ignoriert #2983

Closed andig closed 2 years ago

andig commented 2 years ago

Discussed in https://github.com/evcc-io/evcc/discussions/2982

Originally posted by **BlueSnake830** March 24, 2022 ### Describe the bug Ich habe auf Version 0.87 aktualisiert und dies festgestellt: - Lademodus "off" wird bei resetOnDisconnect nicht mehr berücksichtigt. Er springt immer auf minPV. - targetSoC wird nicht mehr berücksichtigt. Im Changelog der 0.87 steht "Remove deprecated configuration options #2900". In der Dokumentation steht, dass man "resetOnDisconnect" und den default "targetSoc" beim loadpoint definieren kann. Ist die Dokumentation evtl. veraltet und man muss diese Parameter inzwischen wo anders definieren? targetSoC wäre nicht so schlimm, da ich für jedes Auto einen separaten unter "vehicles" defniert habe. Dass resetOnDisconnect anscheinend nicht mehr funktioniert, finde ich schlecht, da ich meine Wallbox (Heidelberg EC) gerne gesperrt habe, wenn kein Auto angesteckt ist. Die Yaml wurde seit der 0.86 nicht verändert. In dieser Version funktionierte resetOnDisconnect und targetSoC noch. ``` loadpoints: - title: Carport charger: wallbox5 mode: off # charge mode (off, now, minpv, pv) phases: 3 mincurrent: 6 maxcurrent: 16 resetOnDisconnect: true # Einstellungen bei Abstecken des Autos auf Standardwerte zurücksetzen soc: poll: mode: charging target: 80 vehicles: - tesla_model_y ``` ### Steps to reproduce evcc / Raspberry Pi neu starten. Lademodus springt dann nicht auf den definierten "off". ### Configuration details ``` uri: 0.0.0.0:7070 # uri for ui interval: 10s # control cycle interval log: info meters: - type: template template: sma-home-manager usage: grid host: 10.1.20.2 name: grid1 - type: template template: sma-inverter usage: pv host: 10.1.20.3 password: *********** name: pv2 - type: template template: sma-inverter usage: pv host: 10.1.20.6 password: *********** name: pv3 - type: template template: sma-inverter usage: battery host: 10.1.20.4 password: *********** name: battery4 chargers: - type: template template: heidelberg id: 1 device: /dev/ttyUSB0 baudrate: 19200 comset: 8E1 modbus: rs485serial name: wallbox5 vehicles: - name: tesla_model_y type: tesla title: TESLA Model Y # display name for UI capacity: 79 # kWh onIdentify: mode: minpv targetSoC: 75 minSoC: 30 tokens: access: *********** refresh: *********** vin: # optional loadpoints: - title: Carport charger: wallbox5 mode: off # charge mode (off, now, minpv, pv) phases: 3 mincurrent: 6 maxcurrent: 16 resetOnDisconnect: true # Einstellungen bei Abstecken des Autos auf Standardwerte zurücksetzen soc: target: 80 vehicles: - tesla_model_y site: title: Zuhause meters: grid: grid1 pvs: - pv2 - pv3 batteries: - battery4 prioritySoC: 100 # Hausbatterie bekommt bis zum SoC 100% Priorität beim laden; 0 = deaktiviert residualPower: 100 hems: type: sma AllowControl: false ``` ### Log details ``` pi@evcc:~ $ evcc --log debug [main ] INFO 2022/03/24 08:19:04 evcc 0.87 [main ] INFO 2022/03/24 08:19:04 using config file /etc/evcc.yaml [main ] INFO 2022/03/24 08:19:04 listening at 0.0.0.0:7070 [semp ] WARN 2022/03/24 08:19:10 SEMP_BASE_URL unspecified, using http://10.1.20.10:7070 instead [site ] INFO 2022/03/24 08:19:10 site config: [site ] INFO 2022/03/24 08:19:10 meters: grid ✓ pv ✓ battery ✓ [site ] INFO 2022/03/24 08:19:10 grid: power ✓ energy ✓ currents ✓ [site ] INFO 2022/03/24 08:19:10 pv 0: power ✓ energy ✓ currents ✓ [site ] INFO 2022/03/24 08:19:10 pv 1: power ✓ energy ✓ currents ✓ [site ] INFO 2022/03/24 08:19:10 battery 0: power ✓ energy ✓ currents ✓ soc ✓ [lp-1 ] INFO 2022/03/24 08:19:10 loadpoint 1: [lp-1 ] INFO 2022/03/24 08:19:10 mode: off [lp-1 ] INFO 2022/03/24 08:19:10 charger: power ✓ energy ✓ currents ✓ phases ✗ [lp-1 ] INFO 2022/03/24 08:19:10 meters: charge ✓ [lp-1 ] INFO 2022/03/24 08:19:10 charge: power ✓ energy ✓ currents ✓ [lp-1 ] INFO 2022/03/24 08:19:10 vehicles: ✓ [lp-1 ] INFO 2022/03/24 08:19:10 vehicle 0: range ✓ finish ✓ status ✓ climate ✗ [lp-1 ] INFO 2022/03/24 08:19:10 vehicle updated: unknown -> TESLA Model Y [lp-1 ] DEBUG 2022/03/24 08:19:10 set charge mode: minpv [lp-1 ] DEBUG 2022/03/24 08:19:10 pv timer elapse [lp-1 ] DEBUG 2022/03/24 08:19:10 pv timer inactive [lp-1 ] DEBUG 2022/03/24 08:19:10 set min soc: 30 [lp-1 ] DEBUG 2022/03/24 08:19:10 set target soc: 75 [site ] DEBUG 2022/03/24 08:19:10 ---- ``` Das Fahrzeug ist zum Zeitpunkt des Logs nicht angesteckt! ### What type of operating system are you running? Linux ### Version evcc version 0.87
andig commented 2 years ago

/cc @rivengh hast Du eine Idee woran das liegen könnte?

rivengh commented 2 years ago

Was mir auf den ersten Blick aufgefallen ist, dass nur ein Fahrzeug konfiguriert ist. Das wird ja dann immer als verbunden angenommen:

https://github.com/evcc-io/evcc/blob/4460ed59dd00d1eea9135e0d14a7df0dc66a2e92/core/loadpoint.go#L536-L538

Dadurch werden dann - auch direkt nach dem Neustart wie im Log zu sehen - die Werte dieses Fahrzeugs gesetzt. Funktioniert demnach wie erwartet.

Ich schaue es mir gerne aber nachher nochmal in Ruhe an.

andig commented 2 years ago

@rivengh super, danke! Denke das ist es:

    onIdentify:
      mode: minpv
      targetSoC: 75
      minSoC: 30
    tokens:
      access: ***********
      refresh: ***********
    vin: # optional

Damit wird immer wieder die Config des Fahrzeugs geschrieben sobald es (oder eben auch ein anderes) verbunden wird.

@bluesnake830: das sieht aus wie "works as designed"- Du hast unterschiedliche Konfigurationen die sich gegenseitig übersteuern. Das Fahrzeug gewinnt...

BlueSnake830 commented 2 years ago

Aber die Annahme, dass immer dieses Fahrzeug verbunden ist, macht doch keinen Sinn, oder? Ich habe onIdentify so verstanden, dass die Parameter eingestellt werden, sobald ein Fahrzeug als angesteckt erkannt wird.

Selbe Konfiguration: 0.86 (meiner Meinung nach korrektes Verhalten):

0.87:

premultiply commented 2 years ago

Mach am loadpoint mal vehicles weg dann sollte es funktionieren.

andig commented 2 years ago

…oder am Auto die Einstellungen. Dann gibts wenigstens noch den Soc ;)

BlueSnake830 commented 2 years ago

Also, ich habe das "vehicles" nun beim Loadpoint rausgenommen und bei einem Neustart wird der Modus wieder auf "off" gestellt. Soweit OK. Mich wundert nur, dass sich das Verhalten von der 0.86 zur 0.87 geändert hat. Egal, Thema kann geschlossen werden.

Vielen Dank für eure sehr schnelle und kompetente Hilfe!