NEWS
Präsensmelder mit PING Adapter
-
Hi Community,
das ist mein erster Post hier im Forum und ich habe mit iobroker und blockly erst gerade angefangen. Nun habe ich ein Script geschrieben mit dem ich zum einen etwas sinnvolles steuern möchte und zum anderen möchte ich verstehen wie was funktioniert.
Hierzu habe ich einen eigenen boolischen Datenpunkt erstellt der nur wahr/falsch sein kann. Dann frag ich über den Ping Adapter ab ob mein Handy im WLAN ist. Ist das der Fall wird der Datenpunkt auf Wahr/ Falsch gesetzt je nachdem ob das Handy drin ist.Nun möchte ich prüfen ob der Datenpunkt sich aktualisiert hat. Auf Deutsch- Ist das Handy neu im WLAN oder aus dem WLAN rausgegangen. Wenn das Handy neu im WLAN ist dann soll Licht angehen oder etwas anderes passieren, geht das Handy aus dem WLAN dann soll das Licht ausgehen. Mein Beispielscript funktioniert auch.. allerdings kriege ich es nicht hin das es nur einmal beim wechsel ein Event auslöse.
Momentan funktioniert es, allerdings wird bei jedem Ping das Ereignis komplett getriggert. Ich schaffe es nicht das er es nur einmal durchführt. Beim Licht ist es kein Problem aber wenn man z.B Musik abspielt oder Nachrichten verschickt kommen diese permanent. Hat jemand ein Blockly das so ähnlich funktioniert oder kann helfen ? -
@newcomer Abgekürzt sollte es so funktionieren. (Natürlich mit deinen Parametern füllen.)
Triggert der Ping-Adapter mit einer Änderung, entscheidet falls (wert) =true den Zustand der Variablen presentstate.
Den zweiten Block triggert die Änderung von presentstate. Bei (wert)=true folgt dein Telegram Block samt Rest.
Deine Anweisung presentstate = falsch entfällt.Die Variable present ersetzt du durch
(Wert vom ObjektID presentstate) -
@ITCrowd funktioniert wunderbar
vielen Dank !
-
@newcomer Immer gerne.
P.S. Der Ping Adapter hat hier ab und an eine Art Schluckauf und meldet schon einmal ein Gerät offline. Korrigiert sich aber selbst, also nicht wundern.