Open XsiFluxx opened 2 weeks ago
Man kann sich darüber streiten, ob es ein Bug oder ein Feature ist. Ahoy wurde primär dazu entwickelt die Tageslicht-Wechselrichter auszulesen. Damit man keine Fehlerhaften Daten bekommt - z.B. wenn ein Wechselrichter ausfällt und keine Daten mehr liefert wird absichtlich per MqTT nicht die Summe veröffentlicht. Es gibt Fälle, wo ein Wechselrichter in den abendlichen Lichtverhältnissen neu startet und damit alle Werte auf 0 stehen. Würde man dann einfach die Summe veröffentlichen, hätte die Yield-Kurve Sprünge. Aus diesem Grund wurde vor einiger Zeit ein "shadow-Wert" in Ahoy eingeführt, der pro Tag den Tages- und Gesamtertrag enthält und nur bei steigendem Wert aktualisiert wird. Die Entscheidung der Veröffentlichung der Summe per MqTT wurde bereits vor dieser Funktion getroffen. Problematisch wird es, wenn der "shadow-Wert" mitternachts gelöscht wird, man aber weiterhin den Yield veröffentlicht, da dann ein Sprung entstehen würde.
Worüber ich gerade nachdenke:
@knickohr wie machst du das? Stört dich das nicht, da du auch ein "gemischtes" Setup hast?
@lumapu danke für die Ausführungen. Mit dem Wissen wird das Verhalten dann logisch. Welche Möglichkeiten bieten sich mir als Anwender dann um korrekte Werte zu bekommen ?
Ja, ich habe die ganze Entwicklung mit dem Shadow-Wert und nicht Shadow-Wert mitgemacht. Grundsätzlich addierten führte zu kuriosen Effekten und Sprüngen wie @lumapu schon schrieb.
Beides ist nicht der goldene Weg, aber immerhin besser wie Abends oder im Sommer bei Gewitter plötzlich einen niedrigeren Wert zu bekommen.
Wenn Du aber schon eine Auswertung über MQTT machst, womöglich mit Visualisierung, dann kannst Du das ja auch selber aus den Yields der einzelnen Inverter zusammen rechnen und bei solchen Sprüngen darauf reagieren.
Ich speichere mir den letzten Wert und vergleiche ihn mit dem neu reingekommenen. Ist er größer dann wird weiterhin hochgezählt, ist er kleiner dann setze ich einen Offset um diesen „Sprung“ auszugleichen. Der nächste neu reinkommende Wert wird einfach mit dem Offset addiert und es paßt wieder (bis auf vielleicht ein paar wenige oder Bruchteile von Wattstunden).
@knickohr okay danke für den Hinweis. Aber wie kann ich den Wert denn speichern, wenn er nicht zum MQTT veröffentlich wird ? Kann ich den Request erzwingen, dass der aktuelle Wert des AHOY erzwungen aktualisiert wird ? Habe es bis jetzt noch nicht geschafft....
Na irgendwann kommt er doch. Da mußt Du ihn speichern und gut aufheben.
Ist die Nachtkommunikation der Inverter, welche keinen Akku angeschlossen haben deaktiviert (Inverter Settings)? Das könnte Dein Problem lösen.
Platform
ESP8266
Assembly
the DTU was already assembled
nRF24L01+ Module
nRF24L01+ plus
Antenna
external antenna
Power Stabilization
Elko (~100uF)
Connection picture
Version
0.8.140
Github Hash
f1f4481
Build & Flash Method
AhoyDTU Webinstaller
Setup
MQTT ist aktiv mit 15 Sekunden Intervall. Retain Flag ist deaktiivert. Wechselrichterintervall ist auf 0 gesetzt
Debug Serial Log output
No response
Error description
ich habe 3 Wechselrichter aktiv und der Wert YieldTotal als auch YieldDay wird via MQTT nur aktualisiert, wenn alle 3 Wechselrichter gleichzeitig aktiv sind. Aktuell steht im DTU YieldTotal auf
Der MQTT Server hingegen zeigt
Aktuell ist nur ein Wechselrichter aktiv ( Wird durch Batterie gespeist ).
Ist das ein Bug oder kann das durch Ändern einiger Einstellungen behoben werden ?