NEWS
Blockly - Zeitverzögerung des Triggers / doppelte Logik
-
Hallo,
bei aktivierter Alarmanlage sollen bei Auslösung eines Außenbewegungsmelder die Rolläden herunterfahren.
Da die Abstände zwischen Bewegungsmelder und Büschen leider nicht sehr groß sind lösen die Bewegungsmelder gelegentlich aus, auch wenn es tatsächlich keine Bewegung gibt.
Um eine Fehlauslösung zu vermeiden, würde ich deshalb gerne eine zeitversetzte doppelte Logik bauen. Also dass die Aktion (Rolläden runter) nur ausgelöst wird, wenn der Bewegungsmelder eine erste Bewegung erkannt hat UND innerhalb von 5 Sekunden eine erneute Bewegung erkannt hat.
Ist das per Blockly möglich und wie muss ich das bauen?Danke
pfahlenbauer -
@pfahlenbauer sagte: Ist das per Blockly möglich und wie muss ich das bauen?
Das ist möglich. Welcher BWM sendet innerhalb von 5 s eine erneute Bewegung?
-
@pfahlenbauer
Evtl. so? -
-
@pfahlenbauer sagte: Es ist derselbe BWM, der innerhalb von 5s einen erneuten Impuls erhält.
Meine Frage zielte auf den Typ des BWM / Protokoll (Zigbee / BLE / WiFi), da es unüblich ist, dass BWM in so kurzer Folge senden.
-
Ein Hinweis zu dem Skript von Padrino:
ich würde nicht streng gegen <5000 prüfen. Selbst wenn der BWM ggf. exakt alle 5 Sekunden ein Signal sendet kann es durch interne Abläufe dazu kommen das der Abstand der Anpassung der Datenpunkte (und deren "timestamp" wird abgefragt) zwischen 4500 und 5500 ms schwankt.
Ich würde also auf <6000 (weniger als 6 sekunden zwischen den Aktualisierungen) prüfen.
A.
-
@asgothian
Außer, dass es padrino heißt, stimme ich Dir da zu.
Den genauen Wert muss man austüfteln.@paul53
Also meine 433mhz BWM, als Beispiel, senden auch knapp alle 4 Sekunden. -
@paul53 Danke für den Hinweis - ich habe einen Busch Wächter 280 und da sind tatsächlich 9s Pausenzeit zwischen den Impulsen. Der BWM ist via drahtlosem Sensoreingang (Lupusec 868 MHZ) angeschlossen.
Dann prüfe ich eher gegen <10000 -
Sieht jetzt so aus, aber funktioniert leider noch nicht. Habt ihr eine Idee?
Muss an der Zeitstempelbedingung liegen, da es funktioniert wenn ich es durch eine klassische wahr/falsch Abfrage ersetze. -
@pfahlenbauer sagte: funktioniert leider noch nicht.
Ändere mal den Trigger auf "wurde aktualisiert" und beobachte das Verhalten anhand der Log-Ausgabe des Wertes vor dem falls-Block.
-
Ich bekomme dann folgende Log Ausgabe:
javascript.0 2021-03-16 17:43:32.083 info (21209) script.js.Rolladen_runter_BWM_Garten: BWM:true -
@pfahlenbauer sagte: Ich bekomme dann folgende Log Ausgabe:
Eine einzelne Ausgabe sagt nichts aus, denn es geht darum, ob mehrere Log-Ausgaben innerhalb von 15 s erzeugt werden, also um den zeitlichen Abstand der Logs.
-
@paul53
Nein, keine weitere Log Ausgaben innerhalb von 15s..
Die nächste Log Ausgabe kommt ca 3 Minuten später:
javascript.0 2021-03-16 17:46:44.125 info (21209) script.js.Rolladen_runter_BWM_Garten: BWM:false
javascript.0 2021-03-16 17:43:32.083 info (21209) script.js.Rolladen_runter_BWM_Garten: BWM:true -
@pfahlenbauer sagte: Die nächste Log Ausgabe kommt ca 3 Minuten später:
Busch Wächter 280 und da sind tatsächlich 9s Pausenzeit zwischen den Impulsen. Der BWM ist via drahtlosem Sensoreingang (Lupusec 868 MHZ) angeschlossen.
Auch wenn der BWM so eingestellt ist, dass der Kontakt alle 10 s einen Impuls liefert, wird das Lupusec-Teil nicht jeden Impuls senden, da auf 868 MHz der Duty cycle von 1% zu beachten ist.
-
-
@pfahlenbauer , leider fällt mir keine Lösung ein