reserve85 / HoymilesZeroExport

Zero Export Script for Hoymiles Inverters using AhoyDTU / OpenDTU and Tasmota Smart Meter inferface / Shelly 3EM / SHRDZM / Emlog / ioBroker
GNU General Public License v3.0
135 stars 31 forks source link

PowerLimit Änderung mit Ahoy Versionen >= 0.8.39 #116

Closed Ollipop030 closed 8 months ago

Ollipop030 commented 8 months ago

Moin moin,

bei der neuen Ahoy Version gab es eine Änderung:

BREAKING CHANGE: powerlimit (active power control) now has one decimal place (MqTT / API) #1199

Das muss im Script noch berücksichtigt werden, ansonsten wird das Limit nur auf max. 10% gesetzt.

reserve85 commented 8 months ago

ich bin leider unterwegs, aber so ganz kapiere ich es nicht: muss ich dann nun "400,0" für 400W senden oder "400.0" oder "4000"? Wieso geht einfach "400" für 400W nicht mehr? Das finde ich nicht so elegant gelöst...

Ollipop030 commented 8 months ago

Ja, ist auch nicht logisch. Aber lieber noch mal abwarten, gibt grad ein Issue bei Ahoy dazu. https://github.com/lumapu/ahoy/issues/1313

Im Moment ist es tatsächlich so, sobald das Script 1500 Watt an Ahoy sendet, wird das Limit auf 150W gesetzt.

Ollipop030 commented 8 months ago

Wert ist *10 zu nehmen, dann zum Inverter senden. Siehe o.g. Issue. Finde ich persönlich gar nicht so schön. Vor allem muss jetzt durch das Script geprüft werden, welche Ahoy Version läuft, und dem entsprechend das Limit gesendet werden.

reserve85 commented 8 months ago

sollte laufen, bei mir klappts jedenfalls.

Nach dem Update auf >=V0.8.39 muss das Script dann neu gestartet werden. Ich lese die Version nur in der Init-Routine aus.

Ollipop030 commented 8 months ago

Jo bestens! Ich installiere das mal, aber hier ist halt null Sonne seit Wochen. Vielen Dank.

Ollipop030 commented 8 months ago

Habe das Issue bei Ahoy weiter verfolgt, dort sind jetzt sehr gute Infos für das Senden des Limits gepostet worden. Anscheinend sind die Hoymiles empfindlich, was das wiederholte Limit setzen mit gleichem Wert betrifft. Dazu mal eine Frage:

In der Ini gibt es ja diesen Punkt:

# defines how often a identical limit will be set, set it to "-1" for disabled (infinite repeat)
SET_LIMIT_RETRY = 2

Wie kann ich das komplett deaktivieren? Auf 0? Auf -1 sendet es ja unendlich lange. Vielleicht sollte man die Funktion auch komplett entfernen, wobei ich damit aber auch noch nie Probleme hatte.

reserve85 commented 8 months ago

Muss ich morgen mal schauen, glaub das hab ich mit 0 nie probiert… jedenfalls hab ich schon immer 10 Wiederholung eingestellt und hatte damit noch NIE ein Problem…

reserve85 commented 8 months ago

Gerade nochmal geschaut: SET_LIMIT_RETRY = 2 bedeutet, dass das Limit maximal 2 mal gesetzt wird. Die Banamung ist von mir im Nachhinein nicht so gut gewählt, ist eher ein SET_LIMIT_MAX_COUNT... Wenn du es also nicht wiederholen willst musst du eine 1 eintragen (für 1 mal setzen). Übrigens wird das "Wiederholen" nur im Fehlerfall durchgeführt (wenn das ACK nicht bestätigt wurde).