FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Kai-Alfonso am 30 Mai 2017, 14:57:32

Titel: Doif triggert nicht
Beitrag von: Kai-Alfonso am 30 Mai 2017, 14:57:32
Huhu,

ich habe mal eine Frage: Wieso triggert dieses doif nicht? Sonst habe ich keine Probleme, aber das Roommate Device rr_Kai triggert folgendes doif nicht, obwohl sich die Readings zu locationPresence und location ändern

([rr_Kai:location] eq "work" and [rr_Kai:locationPresence] eq "absent")
(msg @rr_Kai Arbeit verlassen)


welchen Knoten habe ich im Kopf?
Titel: Antw:Doif triggert nicht
Beitrag von: CoolTux am 30 Mai 2017, 15:04:26
Dann werden wohl beide Bedingungen zur selben Zeit nicht erfüllt sein.
Sehe gerade das ich gar kein Reading locationPresence habe.
Titel: Antw:Doif triggert nicht
Beitrag von: Kai-Alfonso am 30 Mai 2017, 15:09:46
Zitat von: CoolTux am 30 Mai 2017, 15:04:26
Dann werden wohl beide Bedingungen zur selben Zeit nicht erfüllt sein.

Doch, location steht auf work, locationPresence steht auf absent

setstate rr_Kai 2017-05-30 14:44:09 locationPresence absent
setstate rr_Kai 2017-05-30 14:44:09 location work


Zitat von: CoolTux am 30 Mai 2017, 15:04:26
Sehe gerade das ich gar kein Reading locationPresence habe.

Ich nutze das Modul GEOFANCY- da kann man in ROOMMATE das Attribut  rr_geofenceUUIDs mit dem Device füllen, welches die Geofancy triggert - das funktioniert auch soweit.

Evtl nutzt du das nicht, deswegen kein locationPresence Reading?
Titel: Antw:Doif triggert nicht
Beitrag von: CoolTux am 30 Mai 2017, 15:12:10
Und es werden auch Events erzeugt? Kannst Du mal den Eventmonitor auf machen und schauen.
Titel: Antw:Doif triggert nicht
Beitrag von: nils_ am 30 Mai 2017, 15:20:24
setstate  (https://fhem.de/commandref_DE.html#setstate)erzeugt doch keine events...
ist das evtl. das Problem?
Titel: Antw:Doif triggert nicht
Beitrag von: Kai-Alfonso am 30 Mai 2017, 15:24:21
Zitat von: nils_ am 30 Mai 2017, 15:20:24
setstate  (https://fhem.de/commandref_DE.html#setstate)erzeugt doch keine events...
ist das evtl. das Problem?

Sorry, hatte das aus den Raw Definitions kopiert, deswegen steht da setstate - ich selber setze manuell mit setstate keine States

Der Eventmonitor spukt das hier aus beim betreten/verlassen der location (Geokoordinaten habe ich anonymisiert)



Events (Filter: rr_Kai.*)   FHEM log   ResetCreate/Modify Device

2017-05-30 15:20:43 GEOFANCY geofancy id:1259ECDB-1D04-4055-B446-AFE39859D503 trig:1 date:1496150441 lat:51.xxxxxxxxxxx long:7.xxxxxxxxxxx dev:xxxxxxxx-2B0E-41FB-A058-F08678D4BD1E devAlias=rr_Kai
2017-05-30 15:20:43 GEOFANCY geofancy lastDevice: rr_Kai
2017-05-30 15:20:48 GEOFANCY geofancy id:1259ECDB-1D04-4055-B446-AFE39859D503 trig:0 date:1496150448 lat:51.xxxxxxxxxxx long:7.xxxxxxxxxxx dev:xxxxxxxx-2B0E-41FB-A058-F08678D4BD1E devAlias=rr_Kai
2017-05-30 15:20:48 GEOFANCY geofancy lastDevice: rr_Kai
Titel: Antw:Doif triggert nicht
Beitrag von: Kai-Alfonso am 31 Mai 2017, 14:38:26
Hmm, hat denn niemand eine Idee?
Titel: Antw:Doif triggert nicht
Beitrag von: nils_ am 31 Mai 2017, 14:59:46
evtl. hilft ein list vom DOIF
Titel: Antw:Doif triggert nicht
Beitrag von: Kai-Alfonso am 31 Mai 2017, 15:01:54
Du meinst die Raw Definition?
Titel: Antw:Doif triggert nicht
Beitrag von: Kai-Alfonso am 01 Juni 2017, 11:41:19
So, "Fehler" gefunden bzw Fehler war vor dem Bildschirm - typical layer 8 error ;-)

im ROOMMATE device hatte ich event-on-change-reading und update zwar gesetzt, aber falsch. geht jetzt ;-)
Titel: Antw:Doif triggert nicht
Beitrag von: leachim200 am 22 August 2018, 08:29:10
Ich weiß der Beitrag ist schon älter aber ich hoffe es sieht ihn noch wer.
Folgendes Problem:

Ich habe ein DOIF für meine Anwesenheitserkennung:
([myUnifi:Michaels-iPhone_last_seen:sec] > 180) (set rr_Michi absent) DOELSE (set rr_Michi home)
zusätzlich habe ich noch do always gesetzt

Nun habe ich das Problem wenn last seen <180 ist wird rr_Michi nicht auf absent gesetzt. sondern bleibt auf cmd_2 stehen wenn ich ein set checkall ausführe wird sofort getriggert. Umgekehr wenn ich nach hause komme springt der wert sofort um

Kann mir wer sagen wo mein gedankenfehler liegt?
Titel: Antw:Doif triggert nicht
Beitrag von: Per am 22 August 2018, 11:51:48
Zitat von: leachim200 am 22 August 2018, 08:29:10Kann mir wer sagen wo mein gedankenfehler liegt?
:sec ergibt keinen Trigger. Ist nur sinnvoll als Abfrage. Wenn der Trigger kommt, ist :sec IMMER 0.
Titel: Antw:Doif triggert nicht
Beitrag von: leachim200 am 22 August 2018, 13:20:46
Ok
und was müsste ich ändern damit er das antriggert?
Titel: Antw:Doif triggert nicht
Beitrag von: Per am 22 August 2018, 16:07:42
Triggern tut nicht das DOIF, das wird getriggert (von dem, was du halt eingibst). Du musst also beim Eintreffen des Triggers was tun (zum Beispiel einen Wait-Timer setzen) und wenn dieser abgelaufen ist, umschalten.

Einfaches Beispiel:
([myUnifi:irgendwas] == "gesuchter Wert") (set rr_Michi absent) DOELSE (set rr_Michi home)
attr wait 180:0

Was passiert: beim Umschalten deiner MyUnify auf einen passenden Wert startet der Wait-Timer. Wenn er nach 180 Sekunden immer noch läuft (weil der Wert nicht umgeschaltet hat), wird rr_Michi auf absent gesetzt, ansonsten bleibt es auf home.