Hallo....habe einen Sensor welcher seine Werte in eine Systemvariable schreibt.
Nun suche ich nach einer Möglichkeit ein Programm zu starten, wenn diese Variable eine gewisse Zeit nicht geändert wurde.
Push und Programm habe ich, es geht nur darum eine Variable auf Änderungen zu überwachen und ggf zu reagieren
Watchdog f. Variable ?
Moderator: Co-Administratoren
-
- Beiträge: 12108
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2148 Mal
- Kontaktdaten:
Re: Watchdog f. Variable ?
Leg dir ne Logikvariable an "VariableOK"
Dann erstellst dir ein Programm:
WENN "Systemvariable" ... bei Aktualisierung
DANN "VariableOK" sofort "wahr"
SONST verzögert um 10min. "falsch"
Und ein weiteres Programm
WENN "VariableOK" ist "falsch"
DANN Push etc...
Wird deine "Systemvariable" nun 10min. nicht aktualisiert, wird durch das zweite Programm eine Push versendet.
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Watchdog f. Variable ?
Würde es nicht genügen, in dem bestehenden Programmteil, in dem die Systemvariable gesetzt wird, eine um xx Sekunden verzögerte Push-Nachricht abzusenden und den Haken bei "Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden..." zu setzen? Sprich, jedes Mal, wenn die Systemvariable gesetzt wird, wird das ursprüngliche Senden der Push-Nachricht abgebrochen und mit der eingestellten Verzögerung neu getriggert. Erst, wenn dann diese Verzögerung abgelaufen ist, weil die Systemvariable nicht mehr neu gesetzt wurde, wird die Push-Nachricht gesendet.
So mache ich das z.B., um zu vermeiden, dass ich eine Push-Nachricht über eine fertige Waschmaschine erhalte, wenn die gemessene Leistung nur kurz unterhalb des Schwellwertes lag und danach wieder angestiegen ist.
So mache ich das z.B., um zu vermeiden, dass ich eine Push-Nachricht über eine fertige Waschmaschine erhalte, wenn die gemessene Leistung nur kurz unterhalb des Schwellwertes lag und danach wieder angestiegen ist.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Watchdog f. Variable ?
Scripte werden *IMHO* nach Ablauf der Verzögerung ausgeführt, da zieht das retriggern nicht. Könnte man auch als Bug bezeichnen.
Deshalb wird ja immer geraten etwas dazwischen zu schalten.
Alchy
Deshalb wird ja immer geraten etwas dazwischen zu schalten.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Watchdog f. Variable ?
Hm,
dann dürfte aber dieses Programm bei mir nicht funktionieren, was es aber eigentlich tut.
Ich hatte nämlich das Problem, dass die Waschmaschine eine Zeit lang um 1 Watt "pendelt" und ich mit entsprechenden Meldungen bombadiert wurde. Mit der Verzögerung um eine Minute erhalte ich nun erst eine Push-Nachricht, wenn die Leistung dauerhaft eine Minute unterschritten hat.
Vielleicht liegt's auch an der Zusatzbedingung, mit der ich den Status der CCU abfrage, dass es funktioniert.
dann dürfte aber dieses Programm bei mir nicht funktionieren, was es aber eigentlich tut.
Ich hatte nämlich das Problem, dass die Waschmaschine eine Zeit lang um 1 Watt "pendelt" und ich mit entsprechenden Meldungen bombadiert wurde. Mit der Verzögerung um eine Minute erhalte ich nun erst eine Push-Nachricht, wenn die Leistung dauerhaft eine Minute unterschritten hat.
Vielleicht liegt's auch an der Zusatzbedingung, mit der ich den Status der CCU abfrage, dass es funktioniert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Watchdog f. Variable ?
Ich würde mal sagen, das du ja auch erwartest eine Push zu erhalten, weil irgendwann deine Last dauerhaft <1Watt ist.
Solange sie innerhalb einer Minute hin und her zappelt, passiert natürlich erstmal nichts, damit ist das erreicht was du erwartest. Nur ist es richtig?
Ich sage:
Du würdest auch eine Push erhalten, wenn nach dem ersten Unterschreiten der <1 Watt Grenze die Leistung dauerhaft >1 Watt wäre.
Vielleicht einfacher mit einem Miniprogramm:
Wie wäre deine Erwartung?
1. Der Kontakt ist offen, wird kurz geschlossen und dann wieder dauerhaft geöffnet.
Wird das Script im Dann ausgeführt?
Wird die Logik im Dann Systemvariable wahr?
Wird die String Systemvariable mit "DANN ausgeführt" beschrieben ?
2. Der Kontakt ist geschlossen wird kurz geöffnet und dann wieder dauerhaft geschlossen.
Wird das Script im Dann ausgeführt?
Wird die Logik im Dann Systemvariable wahr?
Wird die String Systemvariable mit "DANN ausgeführt" beschrieben ?
Alchy
Solange sie innerhalb einer Minute hin und her zappelt, passiert natürlich erstmal nichts, damit ist das erreicht was du erwartest. Nur ist es richtig?
Ich sage:
Du würdest auch eine Push erhalten, wenn nach dem ersten Unterschreiten der <1 Watt Grenze die Leistung dauerhaft >1 Watt wäre.
Vielleicht einfacher mit einem Miniprogramm:
Wie wäre deine Erwartung?
1. Der Kontakt ist offen, wird kurz geschlossen und dann wieder dauerhaft geöffnet.
Wird das Script im Dann ausgeführt?
Wird die Logik im Dann Systemvariable wahr?
Wird die String Systemvariable mit "DANN ausgeführt" beschrieben ?
2. Der Kontakt ist geschlossen wird kurz geöffnet und dann wieder dauerhaft geschlossen.
Wird das Script im Dann ausgeführt?
Wird die Logik im Dann Systemvariable wahr?
Wird die String Systemvariable mit "DANN ausgeführt" beschrieben ?
Alchy
Zuletzt geändert von alchy am 18.09.2019, 19:10, insgesamt 1-mal geändert.
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.