evcc-io / evcc

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

HomeAssistant - MQTT - EVCC - GoodWe Wechselrichter - Easee Charge Lite Wallbox - Fehlersuche #16216

Closed PLiNNoX closed 1 month ago

PLiNNoX commented 1 month ago

Hallo zusammen,

ich möchte das Überschussladen mit meiner PV-Anlage gerne über EVCC/HomeAssistant realisieren.

Über MQTT und Node-Red werden die benötigten Signale bereits an EVCC gesendet.

HA_Ueberblick

Allerdings sieht die EVCC Oberfläche nicht schlüssig aus. EVCC öffnet sich auch nur sehr unregelmäßig, oft hängt er auch einfach fest und es kommt nur die Meldung " The add-on ist starting". Wenn die Oberfläche sich allerdings öffnet, ist der Grüne Balken falsch bzw. gar nicht aufgeteilt. Mein Hausverbrauch wird nicht angezeigt und auch der Netzbezug und die Einspeisung werden nicht dargestellt.

HA_EVCC_Oberfläche

Folgende Fehlermeldungen erhalte ich in EVCC:

EVCC_Fehlermeldung

Folgend meine evcc.yaml:

# open evcc at http://evcc.local:7070
network:
  schema: http
  host: 192.168.XXX.XX:8123
  port: 7070

log: debug
levels:
  cache: error

# unique installation id
plant: 666faea7215c91ad095d471e41ca24db5a0e5ca2d7026a8a6ba47cb73dec066e

interval: 30s # control cycle interval

# trial token, valid until 2024-10-01 (Neuer Token unter: https://docs.evcc.io/docs/sponsorship)
sponsortoken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJldmNjLmlvIiwic3ViIjoidHJpYWwiLCJleHAiOjE3Mjc4MTI4MDAsImlhdCI6MTcyNjYwMzIwMCwic3BlIjp0cnVlLCJzcmMiOiJtYSJ9.rtH6crgY-0gWDC3Djep55hnw5lXnLgjjr0gC5vYbdes

meters:
- type: custom
  name: my_grid
  power:
    source: mqtt
    topic: netzbezug/einspeisung
    timeout: 30s
    scale: -1
- type: custom
  name: my_pv
  power:
    source: mqtt
    topic: pv/aktuell
- type: custom
  name: my_battery
  power:
    source: mqtt
    topic: battery/power
  soc:
    source: mqtt
    topic: battery/soc

chargers:
  - name: my_charger
    type: template
    template: easee
    user: XXXXX # Emailadresse
    password: XXXXX # wie Login für Easee App oder Web Portal (https://easee.cloud)
    charger: EHXXXXX
    timeout: 20s # optional

vehicles:
  - name: my_car1
    type: template
    template: nissan
    title: Leeaf # Wird in der Benutzeroberfläche angezeigt (Optional)
    user: XXXXXX # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
    password: XXXXX # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) xxx
    capacity: 40 # Akkukapazität in kWh (Optional)

loadpoints:
  - title: Carport # display name for UI
    charger: my_charger # Wallbox Referenz
    mode: pv # charge mode (off, now, minpv, pv)

site:
  - title: Am Taubenkrug 17 # display name for UI
    meters:
      grid: my_grid # grid meter reference
      pv: 
        - my_pv
      battery: my_battery # battery meter reference
    residualPower: 100

# tariffs are the fixed or variable tariffs
# cheap (tibber/awattar) can be used to define a tariff rate considered cheap enough for charging
tariffs:
  currency: EUR # three letter ISO-4217 currency code (default EUR)
  grid:
    type: fixed
    price: 0.29 # EUR/kWh

  feedin:
    # rate for feeding excess (pv) energy to the grid
    type: fixed
    price: 0.08 # EUR/kWh

# mqtt message broker
mqtt:
  broker: 192.168.XXX.XX:1883
  topic: evcc
  user: XXXXX
  password: XXXXX

Kann mir jemand bei dieser Problematik weiterhelfen? Ich weiß leider absolut nicht weiter :(

Vielen Dank schon mal im voraus! Ich bin über jede Idee oder jeglichen Lösungsansatz dankbar!

Gruß Timo

mdkeil commented 1 month ago

Die Daten laufen nicht sauber von HomeAssistant (über mqtt) ein.. sieht man am timeout beim grid-meter. Was ich nicht verstehe, wo der http-request herkommt-- vermutlich kommt das als Fehler-Rückmeldung aus Node-Red und wird über das entsprechende topic gegeben.. Ich würde da auf jeden Fall ansetzen.

einfach hinter den blauen kästen mal ein debug-flow einfügen und sehen was Richtung mqtt geht.

PLiNNoX commented 1 month ago

Hallo @mdkeil , ich habe mal ein debug-flow hinzugefügt. nach Neustart von HomeAssistant leider immernoch die selben Fehler.

NodeRed_Debug

Oder habe ich etwas falsche gemaht bei dem debug-flow? Bin ein Laie :/

mdkeil commented 1 month ago

Der Debug-Flow ist nicht die Lösung-- zeigt dir aber im Debug-Fenster, was du aus den "blauen" Kästen bekommst.. ich denke mal darüber wird die Home-Assistent-API angezapft.. aber das scheint nicht so zu funktionieren, wie es soll. Du kannst aber auch in Home-Assistent eine Automation erstellen welche Änderungen direkt via mqtt publisht.

Hier mal ein sehr einfachen Beispiel (kann man ja auch über die UI zusammenklicken):

alias: MQTT_e208_plugged
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.e208_plugged
condition: []
action:
  - data:
      retain: true
      topic: hass/e208/plugged
      payload: "{{ states('sensor.e208_plugged') }}"
      qos: "1"
    action: mqtt.publish
mode: single
mdkeil commented 1 month ago

Alternativ.. dein WR wird auch in evcc direkt unterstützt.. wenn du mit evcc und hass parallel zugreifen möchtest, gehst Du notfalls einfach über den in evcc-integrierten modbus-proxy-- ist natürlich abhängig davon, wie du den WR in Home-Assistent integriert hast.

mdkeil commented 1 month ago

Was auch sein kann, wenn du Home-Assistent neu startest, natürlich in Node-Red nichts auslesen werde kann und der Fehler direkt an evcc-weitergeleitet wird.. das könnte schon zu Problemen führen, in Verbindung damit, dass auch innerhalb des timeout-Fensters keine korrekten Daten kommen.. Wen ich es richtig sehe, wird an den blauen Flows links unten der aktuelle Wert angezeigt.. beim battery-SOC steht z.B. "running" was natürlich auch kein korrekt erwarteter Wert für evcc ist.

PS: Das hier ist kein "issue" für evcc.

RenatusRo commented 1 month ago

um das outdated zu vermeiden, kannst du die werte auch um die x sekunden publishen: timestamp->curtent_state->mqtt

mqtt-flow

PLiNNoX commented 1 month ago

@RenatusRo einen "timestamp" habe ich in meinem Nodes nicht in der Auswahlleiste.

PLiNNoX commented 1 month ago

@mdkeil kann ich meine Problem Beschreibung verschieben, oder muss ich ein komplett neues aufmachen?

mdkeil commented 1 month ago

Das macht schon ein Dev für dich später.. such mal in der Auswahlliste nach "inject".

PLiNNoX commented 1 month ago

Alternativ.. dein WR wird auch in evcc direkt unterstützt.. wenn du mit evcc und hass parallel zugreifen möchtest, gehst Du notfalls einfach über den in evcc-integrierten modbus-proxy-- ist natürlich abhängig davon, wie du den WR in Home-Assistent integriert hast.

@mdkeil , wie kann ich am einfachsten nach schauen wie ich meinen Wechselrichter in Homeassistant integriert habe?

mdkeil commented 1 month ago

Du wirst ja sicherlich irgend eine Integration nutzen.. dort wird dann ja die Verbindungsart eingestellt, wie die Kommunikation zum WR hergestellt wird.

PLiNNoX commented 1 month ago

@mdkeil , sagt das hier etwas darüber aus? HA_Wechselrichter

mdkeil commented 1 month ago

Wenn dein WR diesbezüglich keine Limitierung hat, sind parallele Zugriffe möglich.. sieht nach Modbus TCP/UDP aus.. ist aber nur Mutmaßung ;) ..probieren geht über studieren ;)

PLiNNoX commented 1 month ago

@mdkeil müsste ich die evcc.yaml umschreiben um die Daten auf einem anderen Weg an EVCC senden zu können? Falls ja, weißt du wie dieser Text dann aussehen müsste?

mdkeil commented 1 month ago

https://docs.evcc.io/docs/devices/meters#goodwe

PLiNNoX commented 1 month ago

@mdkeil Den Weg über Modbus hatte ich mal ausprobiert. Da ich mich damit allerdings nicht richtig auskenne und keine 1:1 Anleitung gefunden habe, habe ich es auf einem anderen Weg probiert, der zwar auch nicht funktioniert aber ich zumindest schonmal EVCC gestartet bekommen habe.

PLiNNoX commented 1 month ago

Hallo nochmal, die genannte Alternative von @RenatusRo hat bei mir funktioniert. Ich habe den timestamp jetzt auf 1x die Sekunde gesetzt, falls das zu häufig sein sollte, gerne Bescheid geben, aber so funktioniert es erstmal. Vielen lieben Dank dafür !!!! HA_NodeRed_Timestamp

mdkeil commented 1 month ago

1s muss nicht.. bei evcc ist ein interval von 30s eingestellt, 10-15s ist also locker ausreichend ;)

PLiNNoX commented 1 month ago

@mdkeil alles klar, ich habe den Intervall jetzt auf 10s eingestellt.