Hallo zusammen,
ich habe festgestellt, dass ich ein Problem mit meinen Speicherwerten in den Diagrammen der OpenWB habe.
Ich sende die Live Werte per MQTT aus NodeRed und habe die Werte auch mal in eine Datei schreiben lassen, um zu sehen, ob da Werte dabei sind, die inkonsistent sind. Das ist aber nicht der Fall. Auch in dem 2h Live Diagramm sind die Werte korrekt zu sehen.
Da ein Bild mehr sagt, als 1000 Worte, hier mal das Diagramm von heute:
Problem ist die Speicherentladung, d.h. hauptsächlich die nächtlichen Stunden.
Man sieht dass die Kurve des Netzanschlusspunkts (rot) nahe 0W verläuft. D.h. der Speicher gleicht den Hausverbrauch in der Realität perfekt aus. Soweit so gut. Das lässt sich auch in meinen Diagramme in HomeAssistant und Victron VRM nachvollziehen.
In OpenWB sieht man aber, dass bei Hausverbrauch >900W (00:00 bis ca. 01.15) die Speicherwerte deutlich höher sind als der Hausverbrauch (der übrigens korrekt angezeigt wird). Das sind ca. 1,7kW Speicherentladung bei ca. 1kW Hausverbrauch, d.h. eigentlich -700W am Hausanschluss, was aber nich der Fall ist. Sinkt der Hausverbrauch (ab. ca. 01.15), dann dreht sich das ganze um, d.h. Hausverbrauch 600-700W und Speicherentladung angeblich 50-150W bei Netzanschluss stabil bei 0W. Ich habe keine Ahnung, wie OpenWB sind diese Werte zusammenbastelt. Mit den gesendeten Leistungswerte haben diese auf jeden Fall nicht viel zu tun.
Zählerstände des Speichers sende ich nicht, daher sollte openWB diese ja laut Doku selbst berechnen.
Ich vermute ja schon, dass es wie folgt läuft:
- openWB bekommt Leistungsdaten live per MQTT
- openWB Integriert die Leistungswerte zu Zählerwerten
- openWB rechnet Zählerwerte zurück auf Leistungswerte
- und dabei geht irgendwas schief
Wie ist eure Erklärung für das Verhalten? Was mache ich falsch? Oder ist das ein Feature, das ich nicht verstanden habe?
Mein Featurewunsch für die Zukunft wäre, dass es einstellbar sein sollte, ob Leistungswerte aus Zählerwerten von OpenWB berechnet werden oder ob sie aus dem gleitenden Durchschnitt der gesendeten Leistungswerten gebildet werden.
Danke im Voraus für euer Feedback.
André
Diagramm: Speicherwerte fehlerhaft
-
openWB
- Site Admin
- Beiträge: 10346
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 190 times
- Been thanked: 448 times
Re: Diagramm: Speicherwerte fehlerhaft
Ohne Log ist das unmöglich zu beantworten.Wie ist eure Erklärung für das Verhalten? Was mache ich falsch?
Gemäß der Doku beim MQTT Speicher:Mein Featurewunsch für die Zukunft wäre, dass es einstellbar sein sollte, ob Leistungswerte aus Zählerwerten von OpenWB berechnet werden oder ob sie aus dem gleitenden Durchschnitt der gesendeten Leistungswerten gebildet werden.
Wenn ich Victron lese, warum machst du da so einen Umstand mit HA und Nodered anstatt openWB die Werte einfach von Victron auslesen zu lassen?Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung.
openWB/set/mqtt/bat/1/get/imported
Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
openWB/set/mqtt/bat/1/get/exported
Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: Diagramm: Speicherwerte fehlerhaft
Welche Logs wären dafür notwendig und von welchem Zeitraum?
Genau so sende ich die Daten auch. Nur kennt MQTT keine Datentypen, sondern hat als Payload immer eine Folgen von Bytes. Ich sende hier nur ganzzahlige positive/negative Werte ohne Nachkommastellen.Falls keine Werte für die Zählerstände übermittelt werden, berechnet openWB die Zählerstände anhand der Leistung.
openWB/set/mqtt/bat/1/get/imported
Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
openWB/set/mqtt/bat/1/get/exported
Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
Mein Frage wäre, wie die Leistungswerte in den Diagrammen berechnet werden. In den Live Diagrammen kann ich ja beobachten, dass die gesendeten Werte korrekt gespeichert sind. Aber in den historischen Tagesdiagrammen tauchen dann ja andere Werte auf.
Eigentlich hatte ich auch MQTT umgestellt, um mehrere PV Wechselrichter separat auch in der openWB zu sehen. Victron bietet hier m.W. nur eine Modbus-ID für die Summe aller PV Wechselrichter an. Zumindest habe ich in der Victron Modbus Liste keine separaten IDs für meinen SMA und Deye WR gefunden. Desweiteren werden Netzzähler und die beiden WR auch in Victron per MQTT eingebunden, d.h. die Werte schon per MQTT an Victron gesendet, so dass ich hier nur jeweils eine Node für openWB ergänzen musste, um die Werte auch dorthin zu senden.Wenn ich Victron lese, warum machst du da so einen Umstand mit HA und Nodered anstatt openWB die Werte einfach von Victron auslesen zu lassen?
Ich habe aber jetzt trotzdem mal den Speicher aus der MQTT Schnittstelle herausgenommen und das Victron Module von openWB verwendet. Die Livedaten passen soweit. Jetzt warte ich mal die nächste Nacht ab, ob damit dann korrekte Diagramme erzeugt werden.
EDIT: Noch ein Frage: Haben die Diagrammwerte eigentlich irgendeinen Einfluss auf die SteuerungfFunktion der openWB oder sind hier nur die Livewerte relevant?
-
aiole
- Beiträge: 9047
- Registriert: Mo Okt 08, 2018 4:51 pm
- Has thanked: 261 times
- Been thanked: 281 times
Re: Diagramm: Speicherwerte fehlerhaft
Du kannst in openWB die Geräte-ID's aus Venus nutzen (Einstell.-> Dienste -> verfügbare Dienste) und entsprechende openWB-Komponenten unterhalb des Victron Controllers (=openWB-Gerät) konfigurieren.
MQTT-Zeug kannst du direkt in openWB nutzen.
MQTT-Zeug kannst du direkt in openWB nutzen.