FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: der_da am 28 Januar 2016, 21:01:19

Titel: Anwesenheit triggert nicht?
Beitrag von: der_da am 28 Januar 2016, 21:01:19
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.
Titel: Antw:Anwesenheit triggert nicht?
Beitrag von: Otto123 am 28 Januar 2016, 21:59:41
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
Titel: Antw:Anwesenheit triggert nicht?
Beitrag von: Ellert am 29 Januar 2016, 11:41:55
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.
Titel: Antw:Anwesenheit triggert nicht?
Beitrag von: l2r am 29 Januar 2016, 11:46:57
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
Titel: Antw:Anwesenheit triggert nicht?
Beitrag von: der_da am 29 Januar 2016, 18:40:46
Werde ich mir mal ansehen. Danke!