Mein DOIF
([Person1_Handy:presence] eq "absent" and [Person2_Handy:presence] eq "absent" and [Person1_Handy_BT:presence] eq "absent" and [Person2_Handy_BT:presence] eq "absent") (set Anwesenheit off)
DOELSEIF
([Person1_Handy:presence] eq "present" or [Person2_Handy:presence] eq "present" or [Person1_Handy_BT:presence] eq "present" or [Person2_Handy_BT:presence] eq "present") (set Anwesenheit on)
triggert nicht.
Die Presence der beiden Handys hole ich aus der FritzBox bzw. einem Bluetooth-Sender/Empfänger. Das klappt prima. In der Oberfläche und im Log kann ich sehen, wie die einzelnen Einträge auf "present" oder "absent" springen. Nun wollte ich einen Dummy "Anwesenheit" dann auf on setzen, sobald irgendeins auf "present" steht bzw. auf off setzen, sobald alle "absent" sind. Was mache ich falsch. Das DOI steht nur auf initialized, aber der Dummy wird nicht geschaltet.
Die erste Abfrage wird nur wahr wenn alle Handys weg sind, erst dann wird die zweite Abfrage gemacht. Die eigentlich genau den gleichen Fall abfragt, ob ein Handy da ist. Ich glaube das schließt sich aus.
In meinem Blog habe ich ein paar Gedanken dazu geschrieben, vielleicht hilft es.
(Weltkugel unter meinem Profilbild)
Gruß Otto
Du kannst das Verhalten Deines DOIF untersuchen, in dem Du die Ereignisse und Befehlsausführungen mitloggst.
Erstelle ein notify das alle relevanten Ereignisse mit schreibt:
define detektiv notify <doifname>|Person._Handy.* {Log 1,"detektiv: $NAME: $EVENT"}
und füge in jeden Befehlszweig einen Log-Befehl ein:
(<Deine Befehle>,({Log 1, "DOIF <doifname> macht <dies und das>"}))
Zusätzlich kann auch ein Gerätelisting hilfreich sein.
Wenn Du diese Informationen postest, dann hat der Helfende es leichter, eine qualifizierte Antwort zu geben.
Ohne solche Informationen würde ich sagen, dass nach der Erstellung des DOIF sich noch kein Reading geändert hat und der Status daher auf "Initialized" steht.
hi,
ich würde die Reihenfolge umdrehen...
Läuft bei mir super.
also DOELSEIF in den DOIF teil und anders herum
EDIT: Alternativ schau dir mal structure an. Das macht im Pronzip genau das, was du erreichen möchtest ODER
schau dir mal ROOMMATE an. Das wäre dann die Pro-Variante
Werde ich mir mal ansehen. Danke!