lumapu / ahoy

Various tools, examples, and documentation for communicating with Hoymiles microinverters
https://ahoydtu.de
Other
955 stars 226 forks source link

YieldTotal aktualisiert nur wenn alle 3 Wechselrichter gleichzeitig online #1785

Open XsiFluxx opened 2 weeks ago

XsiFluxx commented 2 weeks ago

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 image

Der MQTT Server hingegen zeigt image

Aktuell ist nur ein Wechselrichter aktiv ( Wird durch Batterie gespeist ).

Ist das ein Bug oder kann das durch Ändern einiger Einstellungen behoben werden ?

lumapu commented 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?

XsiFluxx commented 2 weeks ago

@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 ?

knickohr commented 2 weeks ago

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).

XsiFluxx commented 2 weeks ago

@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....

knickohr commented 2 weeks ago

Na irgendwann kommt er doch. Da mußt Du ihn speichern und gut aufheben.

tester277 commented 6 days ago

Ist die Nachtkommunikation der Inverter, welche keinen Akku angeschlossen haben deaktiviert (Inverter Settings)? Das könnte Dein Problem lösen.