Antwort
Aug 02, 2017 - 14:43
hallo,
ich habe keine fertige Lösung parat, nur eine Idee:
... wie wäre es damit:
im 1. Task wird die Bewegung erkannt, das Licht eingeschaltet und der aktuelle Zeitstempel in eine Gateway-Variable gespeichert.
der 2. Task springt per INTERVALL jede Minute an und überprüft, ob die in der Gateway-Variable gemerkte Zeit um die 5m überschritten sind.
Dann setzt man die Variable auf eineb Leerwert und schaltet dieLampen aus.
Die Aktion muss allerdings ein Script aufrufen, weil m.E. diese komplexe Manipulation von Variablen nicht allein im Blockeditor machbar ist.
Ich komme in den nächsten Tagen nicht an meinen Rechner und kann es jetzt nicht ausprogrammieren.
Aber es gibt in Java-Script in den Date-Routinen die Möglichkeit den Zeitstempel aus Anzahl der Sekunden (Unix-Format) zu holen (schau mal hierhttps://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung) . Das speichert man in der Variable.
Im 2. Task holt man sich die Variable; ist die Variable leer (oder 0), holt man sich erneut die Zeit als Sekundenanzahl, subtrahiert den gemerkten Wert und wenn das Ergebnis >= 300 (5 * 60) ist, sind 5Minuten ohne erneute Bewegung vorbei. Variable initialisieren bzw auf 0 setzen (je nachdem, was besser passt) und ausschalten
ich habe keine fertige Lösung parat, nur eine Idee:
... wie wäre es damit:
im 1. Task wird die Bewegung erkannt, das Licht eingeschaltet und der aktuelle Zeitstempel in eine Gateway-Variable gespeichert.
der 2. Task springt per INTERVALL jede Minute an und überprüft, ob die in der Gateway-Variable gemerkte Zeit um die 5m überschritten sind.
Dann setzt man die Variable auf eineb Leerwert und schaltet dieLampen aus.
Die Aktion muss allerdings ein Script aufrufen, weil m.E. diese komplexe Manipulation von Variablen nicht allein im Blockeditor machbar ist.
Ich komme in den nächsten Tagen nicht an meinen Rechner und kann es jetzt nicht ausprogrammieren.
Aber es gibt in Java-Script in den Date-Routinen die Möglichkeit den Zeitstempel aus Anzahl der Sekunden (Unix-Format) zu holen (schau mal hierhttps://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung) . Das speichert man in der Variable.
Im 2. Task holt man sich die Variable; ist die Variable leer (oder 0), holt man sich erneut die Zeit als Sekundenanzahl, subtrahiert den gemerkten Wert und wenn das Ergebnis >= 300 (5 * 60) ist, sind 5Minuten ohne erneute Bewegung vorbei. Variable initialisieren bzw auf 0 setzen (je nachdem, was besser passt) und ausschalten
Neuen Kommentar hinzufügen