NEWS
Script zum Laden/Entladen von Zendure Solarflow
-
@lesiflo direkt ein erstes Problem. Er schaltet vom AC Input Mode nicht zurück. So sieht mein Script aus:
Ist ja im wesentlichen das von dir, allerdings mit ein paar rausgenommenen Bedingungen. Fällt dir da was auf, warum der nicht auf der Output Mode zurückschaltet (nach mehreren Minuten, liegt also nicht am Timeout...) -
Was mir so auffällt:
Hier muss timeout2 rein
Das kann raus
Wie sieht dein input/output Aufbau aus?
-
@lesiflo Danke dir, schaue ich mir an. Ich hatte dein Script nur importiert, keine Ahnung, warum dann da was mit den TImeouts nicht funktioniert. Schaue ich nochmal drüber. So richtig habe ich das mit dem Timeouts aber eh nicht verstanden, daher versuche ich es aktuell mal mit Pause.
So sieht Input/Output aus:
Aber daran liegt es nicht denke ich - die Werte werden eigentlich korrekt gesetzt. Halt nur nicht der AC-Modus gewechsel von Input zu Output. Ohne Timeout schaltet er tatsächlich, aber dann halt zu häufig hin und her. Ich bastele weiter... -
@the_stig sagte: Script nur importiert, keine Ahnung, warum dann da was mit den TImeouts nicht funktioniert.
Ein Import bringt die Timer-Variablen durcheinander und man muss korrigieren. Das ist schon länger so.
-
@paul53 ah danke, das wusste ich nicht...schaue ich weiter drauf...
-
Sagt doch bitte nochmal mit den Timeouts:
Bei dem Beispiel: heißt das nun, dass das Script vor dem Ausführen der Falls-Bedingung 5 Minuten warten sollte oder nach dem Schalten?
Und: der Trigger oben ist ja eine Veränderung der Werte am Shelly. Gilt der Timeout trotzdem erstmal, bis dann weiter geprüft wird? UNd warum genau macht man dann die Stop-Timeout? Was bei mir derzeit nicht klappt, ist das Verhindern eines zu schnellen Umschalten von AC-Input und -Output-Mode.
-
@the_stig sagte: das Script vor dem Ausführen der Falls-Bedingung 5 Minuten warten sollte oder nach dem Schalten?
Das Skript wartet nicht, sondern erzeugt einen Timer, der 5 Minuten später ein Ereignis auslöst. Dieses Ereignis führt alles aus, was im Maul (in der Callback-Funktion) des Timeouts programmiert ist.
-
@paul53 ok, dann macht doch ein Timeout eigentlich wenig Sinn?! Pause ist aber doch nur dazu da, die Ausführung des ausgelösten Scripts zu pausieren, es verhindert aber doch nicht, dass bei Änderung der Shelly-Verbrauchs neu ausgelöst wird und dann die Pause einfach übersteuert wird, oder?
-
Hab nochmal weiter gebastelt an der Frage. Und dazu mal ChatGPT einbezogen. Folgendem kam raus - muss ich testen, klingt aber erstmal plausibel. Grundgedanke: es werden 2 Variablen gesetzt, die einen Zeitraum definiert, der mindestens erfüllt sein muss, bis AC Mode wieder geschaltet werden darf. So siehts dann aus:
Oben die Variable setzen:
Und dann jedes Mal, wenn AC Mode geschaltet werden soll, folgendes:
-
@the_stig Der Stop bewirkt das, sobald der Wert wieder über 0 ist, die Ausführenzeit wieder auf 0 gesetzt wird und von vorne zählt.