lumapu / ahoy

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

MQTT Stops sending Values after setting WR Limit in devcontrol #279

Closed MrFr33man123 closed 1 year ago

MrFr33man123 commented 2 years ago

Hello,

i have a setup where I user Home Assistant to track my Power Consumption and set the Limit accordingly via MQTT. With any change in consumption (every second) it sets the value in mqtt (Works very well!) But then it stops with the 30 second update. So basically either get values OR set the Limit.

Ich habe ein Setup in welchem ich per Home Assistant mein Verbrauch monitore und per MQTT das WR Limit setze. Mit jeder Veränderung im Verbrauch wird der Wechselrichter mit einem neuen Limit befeuert. Das Funktioniert auch hervorragend (0 Einspeisung) Leider scheint der ESP mit dem Quellcode aktuell immer nur eine Sache zu verarbeiten, entweder neue Werte ins MQTT schmeißen alle 30 Sekunden ODER das Limit an den Wechselrichter senden. Dadurch bekommt man keine neuen Werte mehr wenn man wie ich das Limit kontinuierlich an den Verbrauch anpasst.

Kleine Bonus Frage, ich hoffe ich zerschreibe mir nicht den Flash sondern alles landet im RAM, ich nutze mit Absicht das nicht permanente Limit.

Home Assistant:

service: mqtt.publish
data:
  topic: inverter/devcontrol/0/11/0
  payload: >
     {% if (states('sensor.gesamt_strom_verbrauch')|float|round(0) * 2 ) < 600 %}
     {{ states('sensor.gesamt_strom_verbrauch')|float|round(0) *2 }} {% elif
     (states('sensor.gesamt_strom_verbrauch')|float|round(0) * 2) >= 600 %} {{
     states('sensor.gesamt_strom_verbrauch')|float|round(0) }} {% endif %}

Die IFs nicht verwundern lassen, betreibe den Wechselrichter mit nur einem String und der WR scheint nur die Gesamt Leistung zu drosseln also bekomme ich bei 50% nur 25% Leistung mit einem Panel. Wenn ich das zweite Panel anschließe kommt der Multiplikator mit 2 wieder weg.

AHOY Version: 0.5.17

stefan123t commented 2 years ago

@MrFr33man123 der Ahoy Source Code hat eine Prio für die per MQTT gesendeten Kommandos. Wenn Du also das Limit zu häufig neu setzt dann kommt die Statusabfrage und die Anzeige nicht zum Zuge. Andere Senden das Limit nur dann wenn es 30-50W vom vorherigen Limit abweicht.

Temporär sollte der Wechselrichter können, da das auch die DTU Pro von Hoymiles verwendet.