evcc-io / evcc

Solar Charging ☀️🚘
https://evcc.io
MIT License
3.67k stars 687 forks source link

Easee: inconsistent charger state after restart #13303

Closed GrimmiMeloni closed 8 months ago

GrimmiMeloni commented 8 months ago

Scheint also irgendwas in der Kommunikation EVCC mit der Easee Wallbox zu sein.

Nein, das ist so nicht korrekt. evcc kann nicht direkt mit der Easee Wallbox kommunizieren, da sie kein lokales Interface hat. Kommandos werden von evcc an die Easee Cloud gesendet, und diese leitet diese an die Wallboxen weiter. Wenn die Box vom Strom getrennt und wieder angeschlossen wird, verändert sie Ihren Zustand (in deinem Beispiel also z.b. Wechsel von 1p auf 3p (default)). Wenn die Easee Ihren Zustand nach Neustart korrekt zurück an die Cloud announced, bekommt evcc das auch mit, und würde dann zumindest den Mismatch erkennen. Wann die Wallbox Ihren Zustand nach Neustart ankündigt, kannst du in den Logs erkennen. Ich habe nach einem Reset der Box schon alles zwischen 3 und 15 Minuten gesehen. Da kommt dann irgendwann ein ganzer Schwall an PRODUCT_UPDATE Nachrichten. Du wirst Dein Problem vermutlich lösen können, in dem Du einfach längere Zeit zwischen dem Einschalten der WB und dem Ladestart verstreichen lässt. Alternativ kannst du diese Fehlerquelle komplett ausschließen, indem Du die Box mit der Easee Cloud verbunden lässt.

Ich wollte da jetzt gar niemanden angreifen, dachte eher, dass es im Sinne der Robustheit vielleicht hilft den UseCase „die Wallbox ist nicht dauerversorgt“ mit zu betrachten. Tut mir leid wenn das falsch rüberkam. Mir ist klar, dass die Kommunikation über die Cloud geht, wollte im Sinne der Vereinfachung nicht die ganze Kommunikationskette aufschreiben. Korrekt hätte ich sagen müssen in der Kommunikation zwischen Easee-Cloud und lokalem EVCC. Zwischen Neustart der Wallbox und Ladebeginn EVCC-gesteuert liegen locker 30-60 Minuten in meiner Konfiguration. Ich habe gestern Abend für mich eine Lösung gefunden, indem ich EVCC automatisiert neu starte nachdem die Wallbox erneut eingeschaltet/mit Spannung versorgt wird. Ich kann sehr gut damit leben, dass es mein Problem ist, danke aber für den deutlichen Hinweis. Mein Ansinnen war eher zur Robustheit von EVCC beizutragen für Real-Life UseCases. Habe ich verstanden, ist nicht von Interesse, damit fine. Damit funktioniert dann auch die Phasenumschaltung. Versteh mich nicht falsch: die Easee Ansteuerung per EVCC grundsätzlich hat ja funktioniert, die Phasenumschaltung jedoch nicht, weshalb ich’s hier mit angemerkt habe.
Auffällig war dass der EVCC-Neustart die Phasenumschaltung repariert hat.

Originally posted by @MrIngenieur in https://github.com/evcc-io/evcc/discussions/13258#discussioncomment-9018505

GrimmiMeloni commented 8 months ago

@MrIngenieur ist auch nicht als Angriff verstanden worden.

Lass uns hier weiter machen. Ich schaue mir mal bei mir das Verhalten nach Neustart an.

TheFreaker86 commented 8 months ago

Moin! Ich wollte gerade einen neuen Thread eröffnen, da ist mir der hier gerade so quasi in die Hände gefallen. Ich habe genau das gleiche Problem. Die Easee-Wallbox lädt nicht mit dem Minimum was bei nur PV-Laden ginge sondern deutlich mehr. Hier das aktuelle Log: 49686a9f_evcc_2024-04-05T10-35-00.953Z.log

Seltsamerweise ist im aktuellen Log kein Eintrag obwohl ich Easee im Logging auf trace gesetzt habe. Dafür habe ich aus einem älteren Log etwas drin stehen gehabt:

[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) DYNAMIC_CHARGER_CURRENT 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:46 +0000 UTC) MAX_CURRENT_OFFLINE_FALLBACK_P1 32
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:46 +0000 UTC) MAX_CURRENT_OFFLINE_FALLBACK_P2 32
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:46 +0000 UTC) MAX_CURRENT_OFFLINE_FALLBACK_P3 32
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:16 +0000 UTC) WI_FI_APENABLED false
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:49.010775 +0000 UTC) CHARGING_SCHEDULE 
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2023-06-19 13:32:49 +0000 UTC) PAIRED_USER_IDTOKEN 470543DE
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:10 +0000 UTC) CIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L2 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:15 +0000 UTC) CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L1 0.008999999612569809
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:10 +0000 UTC) CIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L1 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:10 +0000 UTC) CIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L3 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:44 +0000 UTC) SOFTWARE_RELEASE 322
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:15 +0000 UTC) CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L3 0.010999999940395355
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:15 +0000 UTC) CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L2 0.012000000104308128
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:44 +0000 UTC) ICCID 89883040000015819902
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) REASON_FOR_NO_CURRENT 52
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-25 13:53:26 +0000 UTC) SMART_CHARGING true
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 11:58:10 +0000 UTC) CABLE_LOCKED true
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 11:57:57 +0000 UTC) CABLE_RATING 32
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:44 +0000 UTC) BACK_PLATE_ID 8072B5BA935904
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) CHARGER_OP_MODE 2
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-25 16:23:47 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P1 40
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) OUTPUT_PHASE 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) OUTPUT_CURRENT 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-25 16:23:47 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P3 40
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-25 16:23:47 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P2 40
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2023-09-07 10:34:23 +0000 UTC) DERATED_CURRENT 31
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:10:00 +0000 UTC) SESSION_ENERGY 1.0481480360031128
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:10 +0000 UTC) DERATING_ACTIVE false
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:08 +0000 UTC) ERROR_CODE 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-27 15:22:15 +0000 UTC) ERROR_STRING {"rcd":{"ok":1,"mask":0}}
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:09 +0000 UTC) TOTAL_POWER 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 11:05:15 +0000 UTC) CELL_RSSI -75
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:18:13 +0000 UTC) LIFETIME_ENERGY 1587.1229127777792
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:00:00 +0000 UTC) ENERGY_PER_HOUR 0.15437333285808563
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:00:01 +0000 UTC) WI_FI_RSSI -70
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:44 +0000 UTC) CHARGER_RAT 1
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:40 +0000 UTC) LOCAL_NODE_TYPE 1
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:40 +0000 UTC) LOCAL_SHORT_ADDRESS 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-27 14:08:44 +0000 UTC) LOCAL_RADIO_CHANNEL 7
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:17:29 +0000 UTC) TEMP_MAX 27
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:40 +0000 UTC) LOCAL_PARENT_ADDR_OR_NUM_OF_NODES 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:10 +0000 UTC) IN_CURRENT_T2 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:14 +0000 UTC) IN_CURRENT_T4 0.012000000104308128
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:14 +0000 UTC) IN_CURRENT_T5 0.010999999940395355
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:17:29 +0000 UTC) IN_VOLT_T2_T3 242.17999267578125
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:17:29 +0000 UTC) IN_VOLT_T2_T5 233.09300231933594
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:13:14 +0000 UTC) IN_CURRENT_T3 0.008999999612569809
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-28 12:17:29 +0000 UTC) IN_VOLT_T2_T4 237.34100341796875
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:09 +0000 UTC) ObservationID(219) 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:08 +0000 UTC) ObservationID(234) 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-02-14 12:50:09 +0000 UTC) ObservationID(233) 0
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-26 16:06:34.235 +0000 UTC) CONNECTED_TO_CLOUD true
[easee ] TRACE 2024/03/28 13:19:03 ProductUpdate XXXXXXXXX: (2024-03-26 16:06:34.159 +0000 UTC) CLOUD_DISCONNECT_REASON DUPLICATE_CLIENTID
[main  ] ERROR 2024/03/28 13:19:04 creating vehicle ev1 failed: cannot create vehicle type 'template': cannot create vehicle type 'opel': login failed: oauth2: "server_error" "Internal Server Error"
[site  ] INFO 2024/03/28 13:19:05 site config:
[site  ] INFO 2024/03/28 13:19:05   meters:      grid ✓ pv ✓ battery ✓
[site  ] INFO 2024/03/28 13:19:05     grid:      power ✓ energy ✓ currents ✗
[site  ] INFO 2024/03/28 13:19:05     pv 1:      power ✓ energy ✓ currents ✗
[site  ] INFO 2024/03/28 13:19:05     pv 2:      power ✓ energy ✗ currents ✗
[site  ] INFO 2024/03/28 13:19:05     pv 3:      power ✓ energy ✓ currents ✗
[site  ] INFO 2024/03/28 13:19:05     battery 1: power ✓ energy ✓ currents ✗ soc ✓ capacity ✓
[site  ] INFO 2024/03/28 13:19:05   vehicles:
[site  ] INFO 2024/03/28 13:19:05     vehicle 1: range ✗ finish ✗ status ✗ climate ✗ wakeup ✗
[lp-1  ] INFO 2024/03/28 13:19:05 loadpoint 1:
[lp-1  ] INFO 2024/03/28 13:19:05   mode:        minpv
[lp-1  ] INFO 2024/03/28 13:19:05   charger:     power ✓ energy ✓ currents ✓ phases ✓ wakeup ✗
[lp-1  ] INFO 2024/03/28 13:19:05   meters:      charge ✓
[lp-1  ] INFO 2024/03/28 13:19:05     charge:    power ✓ energy ✓ currents ✓
[site  ] DEBUG 2024/03/28 13:19:05 set buffer soc: 100
[site  ] DEBUG 2024/03/28 13:19:05 set buffer start soc: 0
[site  ] DEBUG 2024/03/28 13:19:05 set priority soc: 30
[site  ] DEBUG 2024/03/28 13:19:05 set battery discharge control: true
[site  ] WARN 2024/03/28 13:19:05 interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval
[site  ] DEBUG 2024/03/28 13:19:05 ----
[site  ] DEBUG 2024/03/28 13:19:08 pv power: 1748W
[site  ] DEBUG 2024/03/28 13:19:08 battery soc: 89%
[site  ] DEBUG 2024/03/28 13:19:08 battery power: -1374W
[site  ] DEBUG 2024/03/28 13:19:08 grid meter: 4W
[site  ] DEBUG 2024/03/28 13:19:08 site power: -1070W
[lp-1  ] INFO 2024/03/28 13:19:08 car connected
[easee ] TRACE 2024/03/28 13:19:08 GET https://api.easee.com/api/sites/XXXXXX/circuits/493423/settings
[easee ] TRACE 2024/03/28 13:19:08 {"allowOfflineMaxCircuitCurrent":false,"equalizerId":null,"masterChargerId":"XXXXXXXXX","useDynamicMaster":false,"dynamicCircuitCurrentP1":40.0,"dynamicCircuitCurrentP2":40.0,"dynamicCircuitCurrentP3":40.0,"enableIdleCurrent":false,"maxCircuitCurrentP1":32.0,"maxCircuitCurrentP2":32.0,"maxCircuitCurrentP3":32.0,"offlineMaxCircuitCurrentP1":32,"offlineMaxCircuitCurrentP2":32,"offlineMaxCircuitCurrentP3":32}
[easee ] TRACE 2024/03/28 13:19:08 POST https://api.easee.com/api/sites/XXXXXX/circuits/493423/settings
[easee ] TRACE 2024/03/28 13:19:08 {"dynamicCircuitCurrentP1":32,"dynamicCircuitCurrentP2":0,"dynamicCircuitCurrentP3":0}
[site  ] DEBUG 2024/03/28 13:19:08 set battery mode: normal
[easee ] TRACE 2024/03/28 13:19:09 CommandResponse XXXXXXXXX: {SerialNumber:XXXXXXXXX ID:22 Timestamp:2024-03-28 12:19:08.609697 +0000 UTC DeliveredAt:2024-03-28 12:19:08.406 +0000 UTC WasAccepted:true ResultCode:0 Comment: Ticks:638472251486096970}
[easee ] TRACE 2024/03/28 13:19:09 ProductUpdate XXXXXXXXX: (2024-03-28 12:19:08 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P1 32
[easee ] TRACE 2024/03/28 13:19:09 ProductUpdate XXXXXXXXX: (2024-03-28 12:19:08 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P3 0
[easee ] TRACE 2024/03/28 13:19:09 ProductUpdate XXXXXXXXX: (2024-03-28 12:19:08 +0000 UTC) DYNAMIC_CIRCUIT_CURRENT_P2 0

Hier noch meine evcc.yaml:

# open evcc at http://evcc.local:7070
network:
  schema: http
  host: evcc.local # .local suffix announces the hostname on MDNS
  port: 7070

log:
levels:
  cache: error
  charger: trace
  site: trace
  loadpoints: trace
  easee: trace
  mqtt: error

# unique installation id
plant: XXX

interval: 10s # control cycle interval

sponsortoken: XXX

# sponsors can set telemetry: true to enable anonymous data aggregation
# see https://github.com/evcc-io/evcc/discussions/4554
telemetry: false

meters:
# - type: template
#   template: solarman
#   usage: pv
#   host: 192.168.220.87
#   user: XXX
#   password: XXX
#   name: Vordach
- type: template
  template: sungrow-hybrid 
  id: 1  
  host: 192.168.220.95  
  port: 502  
  usage: grid  
  modbus: tcpip  
  name: grid1
- type: template
  template: sungrow-hybrid 
  id: 1  
  host: 192.168.220.95
  port: 502  
  usage: pv  
  modbus: tcpip  
  name: Dach
- type: template
  template: sungrow-hybrid 
  id: 1  
  host: 192.168.220.95
  port: 502  
  usage: battery  
  modbus: tcpip  
  capacity: 9.6  
  name: battery4
# - name: Zaun
#   type: template
#   template: hoymiles-opendtu
#   usage: pv
#   host: 192.168.179.14

chargers:
- type: template
  template: easee 
  user: XXX
  password: XXX  
  charger: XXX 
  timeout: 20s  
  name: wallbox5

loadpoints:
- title: Wall-E
  charger: wallbox5
  mode: minpv
  phases: 0
  # resetOnDisconnect: true

site:
  title: Home
  meters:
    grid: grid1
    pv:
  #  - Vordach
  #   - Zaun
    - Dach
    battery:
    - battery4
  residualPower: 300
  # prioritySoc: 30
  # bufferSoc: 80
  # bufferStartSoc: 30

vehicles:
  type: template
  template: opel
  title: Corsa-e
  icon: car
  user: XXX
  password: XXX
  vin: XXX
  capacity: 46
  phases: 3
  cache: 5m
  # minSoc: 30
  # targetSoc: 100
  minCurrent: 6
  maxCurrent: 16
  priority: 0
  name: ev1

# tariffs are the fixed or variable tariffs
tariffs:
  currency: EUR # (default EUR)
  grid:
    type: fixed
    price: 0.33 # [currency]/kWh

  feedin:
    type: fixed
    price: 0.082 # [currency]/kWh

    # or variable tariffs
    # type: tibber
    # token: "XXX" # access token
    # homeid: "XXX" # optional if multiple homes associated to account

  co2:
    type: grünstromindex
    zip: XXX

mqtt:
  broker: homeassistant:1883
  topic: evcc
  clientid: evcc
  user: XXX
  password: XXX

Ich hoffe das hilft den Fehler zu finden. Hinweis: Ich habe die beiden Mikrowechselrichter auskommentiert weil beim einen die Integration nicht funktioniert und der Hoymiles HMS-800 kein passendes Template für EVCC hat ich aber einfach mal ausprobiert habe ob es trotzdem funktioniert.

Meine Easee ist mit der Cloud verbunden. Die einzige Änderung die ich in der letzten Zeit vorgenommen habe ist die Wallbox mit Tibber zu verbinden auch wenn mein Vertrag mit Tibber noch nicht aktiv ist. Das Überschussladen hat dennoch sporadisch funktioniert. Habe ich das richtig verstanden dass die Wallbox zumindest zeitweise wieder richtig angesteuert werden kann wenn man sie neu startet?

andig commented 8 months ago

@GrimmiMeloni was wäre hier der Bug?

GrimmiMeloni commented 8 months ago

@TheFreaker86 bitte neues Issue.

@MrIngenieur ich hab das hier getestet. Das ist ein Easee Problem. Auch meine Box (die sogar authentifizieren muss! 😱 ) lädt nach dem Reboot einfach los. Und das sogar ohne irgendwelche Status Updates wie SignalR. Im evcc Log kann ich es lediglich erkennen weil mein Grid Meter auf 11kW++ steil geht.

Ich mache hier direkt zu, denn da können wir mal so gar nix machen.