Hoymiles/openDTU Magic Peaks aufgeklärt & gelöst
Verfasst: Mo Apr 01, 2024 10:40 am
Lange war ich auf der Suche nach den Magic Peaks, die in den Diagrammen der Auswertungen immer Morgens aufgetaucht sind:
Sie werden durch Abfrage von <http://opendtu-ip>/api/livedata/status erfasst.
Als Ursache der Peaks hat sich nun das Zusammenwirken der Komponenten mit openWB heraus kristallisiert.
Hier die Fakten, die dabei eine Rolle spielen:
- die WR "schlafen", solange nicht ausreichend PV verfügbar ist um sie zu versorgen.
- der YieldTotal (und alle anderen Werte wie Power) werden von der openDTU als "0" angezeigt und übermittelt, solange die WR schlafen.
- openWB erfasst per JSON die kWh der in "Abfrage für Zählerstand" alle 5 Minuten und speichert sie (Beispiel für heute) in http://<openwb-ip>/openWB/data/daily_log/20240401.json
- jeder increase der kWh wird in den Auswertungen als "power" zurückgerechnet.
=> in Konsequenz wird der erste real von der openDTU erfasste YieldTotal Wert zur Differenz des vorigen Wertes 0 als extremer Peak ermittelt.
Als Vorläufige Lösung habe ich statt "YieldTotal" den "YieldDay" verwendet, da hier die Werte Morgens kurz nach dem Aufwachen ohnehin Null oder nahe Null sind: Ursprünglich hatte ich beide WR in einer einzigen Abfrage per jq zusammen addiert. Da beide WR (wg. unterschiedlicher Anzahl der Module) aber zu unterschiedlichen Zeiten starten erscheinen die addierten YieldTotal Werte noch sprunghafter.
Hab gerade noch gesehen, daß bei der JSON Konfiguration der WR "Abfrage für Zählerstand" ein Hinweis steht "Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert."
Wäre das eine alternative/bessere Lösung ? Die Verwendung von YieldDaily hat für mich den Vorteil, daß sie dann auch in der Statusanzeige erscheint, was ich für eine sinnvolle Info halte.
Testen kann ich leider erst Morgen, wenn die WR wieder erneut aus dem Schlaf erwachen
Die WR werden über eine openDTU (v23.6.1) erfasst und sind in openWB als JSON Wechselrichter aufgesetzt.Sie werden durch Abfrage von <http://opendtu-ip>/api/livedata/status erfasst.
Als Ursache der Peaks hat sich nun das Zusammenwirken der Komponenten mit openWB heraus kristallisiert.
Hier die Fakten, die dabei eine Rolle spielen:
- die WR "schlafen", solange nicht ausreichend PV verfügbar ist um sie zu versorgen.
- der YieldTotal (und alle anderen Werte wie Power) werden von der openDTU als "0" angezeigt und übermittelt, solange die WR schlafen.
- openWB erfasst per JSON die kWh der in "Abfrage für Zählerstand" alle 5 Minuten und speichert sie (Beispiel für heute) in http://<openwb-ip>/openWB/data/daily_log/20240401.json
- jeder increase der kWh wird in den Auswertungen als "power" zurückgerechnet.
=> in Konsequenz wird der erste real von der openDTU erfasste YieldTotal Wert zur Differenz des vorigen Wertes 0 als extremer Peak ermittelt.
Als Vorläufige Lösung habe ich statt "YieldTotal" den "YieldDay" verwendet, da hier die Werte Morgens kurz nach dem Aufwachen ohnehin Null oder nahe Null sind: Ursprünglich hatte ich beide WR in einer einzigen Abfrage per jq zusammen addiert. Da beide WR (wg. unterschiedlicher Anzahl der Module) aber zu unterschiedlichen Zeiten starten erscheinen die addierten YieldTotal Werte noch sprunghafter.
Hab gerade noch gesehen, daß bei der JSON Konfiguration der WR "Abfrage für Zählerstand" ein Hinweis steht "Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert."
Wäre das eine alternative/bessere Lösung ? Die Verwendung von YieldDaily hat für mich den Vorteil, daß sie dann auch in der Statusanzeige erscheint, was ich für eine sinnvolle Info halte.
Testen kann ich leider erst Morgen, wenn die WR wieder erneut aus dem Schlaf erwachen