NEWS
Auslösen nur alle 15 min, wenn wahr
-
Hi Gemeinde,
ich habe ein Blockly welches die Erreichbarkeit meines Shellys, an dem einen Schmutzwasserpumpe hängt, überprüft.
Jetzt war es heute morgen leider der Fall, dass diese (bzw. der Shelly) tatsächlich offline war und ausgelöst hat. Blöd dass es dann jede Minute den Voice Alarm gegeben hat.Kann man das irgendwie einstellen, so dass er Alarm (Shelly ist offline und Bedingung somit wahr) nur jede 15 min hochkommt?
-
@accu Willst Du wirklich, dass der Alarm alle 15 Minuten wiederholt wird, oder möchtest Du, dass Einmalig beim Beginn der Nichterreichbarkeit Alarmiert wird,
-
@accu der aus meiner Sicht einfachste weg:
Umstellen des trigger auf „ist kleiner als vorher“
Dann geht der trigger nur los wenn der Shelly von erreichbar auf unerreichbar wechselt.
Darin erst ein anhalten Intervall, danach ein ausführen Intervall alle x Minuten
Darin alle Aktionen.Gibt ein technisches Problem - das was im Intervall steht wird danach alle x min. Gemacht. Um sicher zu stellen das die erste Alarmierung sofort kommt müsste man den gesamten „alarmiere“ Block duplizieren und einmal im und einmal hinter dem Intervall andocken. Deswegen lege ich so etwas immer in einen „funktions“ Block aus, der dann einmal innerhalb und einmal außerhalb des Intervalls angedockt wird.
-
@martinp ich möchte dass er alle 15min losgeht solange die Bedingung noch erfüllt ist (also der Shelly seine WLAN verbindung verloren hat).
Hintergrund: es ist davon auszugehen, dass man das nicht sofort beim erstenmal hört z.B. weil man kopfhörer aufhaut, oder im Haus irgendwo anders oder mal kurz rausgagangen ist.
Die Meldung soll dann alle 15min kommen - sofern die Bedingung noch erfüllt ist. Wenn er die Verbindung wieder hat, dann nicht mehr.Habe es jetzt mal so gemacht. Keine Ahnung ob das den Sachverhalt abbildet:
-
-
@paul53 Nur aus Neugierde. Was ist an meiner Lösung falsch?
-
@accu Das "stop zyklische Ausführung" wird nicht ausgeführt
Der Trigger führt nur aus, was in seiner lila klammerung steht, das was unterhalb der lila Klammer steht nicht ...
"Wurde geändert" statt "ist wahr" führt dazu, dass das Skript sowohl bei wahr->falsch, als auch bei falsch->wahr ausgführt wird.
In der Klammer wird dann unterschieden:In "wieder da" wird die zyklische Ausführung gestoppt
In "nicht da" wird sie gestartet .. -
@accu sagte in Auslösen nur alle 15 min, wenn wahr:
@paul53 Nur aus Neugierde. Was ist an meiner Lösung falsch?
Richtig falsch waren 2 Dinge
- der trigger auf „ist wahr“
- das stop Intervall ganz außen.
Das mit dem Intervall ist (hoffentlich) hinreichend erklärt. Mit dem trigger halt nicht.
Der Trigger auf ‚ist unwahr‘ wird bei jeder Aktualisierung aktiv - sprich auch wenn z.bsp. Deine Erkennung „nur“ bestätigt das der Shelly weiter offline ist wird der trigger neu ausgelöst. Welcher Wert da vorher stand ist irrelevant.
Diese Art von Aktualisierungen finden generell gerne mal „zur Sicherheit“ statt, oder um einen Zeitstempel zu setzen.
Es gibt Fälle wo es Sinn machen kann das auszunutzen, aber die meisten states sind so aufgebaut das primär bei Änderung eine Aktion erfolgen muss - das ist bei Dir so.
A.