Problem bei einem doif, unbekannter Auslöser

Begonnen von rakete123, 22 Juni 2017, 17:29:18

Vorheriges Thema - Nächstes Thema

rakete123

Hallo zusammen,

ich habe folgendes DOIF:

defmod doif.linda_home_radio_on DOIF ([Linda:presence] eq "present" and [?Marcel:presence] eq "absent" and [?wz.bose.1:source] eq "STANDBY" and [?06:00-22:00]) (set wz.dummy.radio on)
attr doif.linda_home_radio_on room zzz_doif,zzz_presence
attr doif.linda_home_radio_on wait 60


Also einfach gesagt, dass Radio soll angehen wenn meine Freundin nach hause kommt und ich noch nicht da bin. Außerdem nur wenn sonst noch nix auf dem Bose läuft und wenn es zwischen 6 und 22 Uhr ist.

Aber manchmal wenn sie alleine zuhause ist triggert das doif einfach. Also wir machen z.b. das radio aus und ich fahre weg. Plötzlich gehts ein paar Minuten später an:
Liegt das irgendwie am RESIDENTS Module? Aber da gehen keine Events raus...

Hier aus dem Log

2017-06-22_16:17:34 Linda durTimerPresence_cr: 51
2017-06-22_16:17:34 Linda durTimerPresence: 00:51:16
2017-06-22_16:17:34 doif.linda_home_radio_on wait_timer: 22.06.2017 16:18:34 cmd_1 Linda
...
2017-06-22_16:18:36 doif.linda_home_radio_on wait_timer: no timer
2017-06-22_16:18:36 wz.dummy.radio on
2017-06-22_16:18:36 wz.bose.1 channel 2
2017-06-22_16:18:36 doif.linda_home_radio_on cmd_nr: 1
2017-06-22_16:18:36 doif.linda_home_radio_on cmd: 1
2017-06-22_16:18:36 doif.linda_home_radio_on cmd_event: Linda
2017-06-22_16:18:36 doif.linda_home_radio_on cmd_1



Habt ihr eine Idee wo mein Fehler ist?
Zwave: ZMEEUZB1 (Fibaro, Aeotec, diverse)
Zigbee: Conbee (HUE, Xiaomi, osram)
Homematic: HM-MOD-RPI-PCB + diverse HM-CC-RT-DN
Sonstiges: Harmony, Android, Netatmo, Jabber (talk2fhem)
https://resize2fs.de

Otto123

#1
Hi,

ich denke, das Modul wird auf Zustand getriggert [Linda:presence] eq "present" und wartet dann. Linda ist ja da.
In dem Moment wenn Du gehst wird der gesamte Ausdruck war.
Versuche mal  ["Linda:presence"] das sollte auf den Event triggern, also wirklich nur wenn Linda ankommt.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rakete123

Es sieht so aus als würde das DOIF auch auf die EVents durTimerPresence reagieren weil dort auch das Wort "Presence" drin ist. Aber ich dachte ohne "" wäre es kein Regex?
Zwave: ZMEEUZB1 (Fibaro, Aeotec, diverse)
Zigbee: Conbee (HUE, Xiaomi, osram)
Homematic: HM-MOD-RPI-PCB + diverse HM-CC-RT-DN
Sonstiges: Harmony, Android, Netatmo, Jabber (talk2fhem)
https://resize2fs.de

Otto123

Zitat von: rakete123 am 22 Juni 2017, 17:50:06
Es sieht so aus als würde das DOIF auch auf die EVents durTimerPresence reagieren weil dort auch das Wort "Presence" drin ist. Aber ich dachte ohne "" wäre es kein Regex?
Ich wüsste nicht wie. Allerdings: Wiederholt sich der Event von Linda? Hast Du event-on-change-reading aktiv?
Mit "" triggert er auf den Event, ohne auf den Status - habe ich verstanden.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

Zitat von: rakete123 am 22 Juni 2017, 17:50:06
Es sieht so aus als würde das DOIF auch auf die EVents durTimerPresence reagieren weil dort auch das Wort "Presence" drin ist. Aber ich dachte ohne "" wäre es kein Regex?

Richtig. Aber bei Readingangaben wird das Modul getriggert, sobald ein Event vom Device kommt. Du kannst aber dieses Attribut https://fhem.de/commandref_DE.html#DOIF_checkReadingEvent setzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

amenomade

[Linda:presence] eq "present"
Triggert bei jedem Event vom Device "Linda" (nicht nur Änderung vom Reading "presence")

[Linda:"present"]
Triggert bei jedem Event "present" (Status Änderung) vom Device "Linda"

[Linda:presence] eq "present"
attr <DOIFName> checkReadingEvent 1

Triggert bei jeder Änderung des Readings "presence" vom Device "Linda"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rakete123

Vielen Dank, dass hat geholfen! Ich benutze jetzt checkReadingEvent.

Aber nun noch ein anderes Problem. Wenn meine Freundin und ich zusammen nach Hause kommen geht meistens das Radio an.
Um das zu verhindern habe ich den wait 60 eingebaut. Eigentlich reicht das auch:


2017-06-28_21:03:32 presence.gtag.linda present
2017-06-28_21:03:32 doif.linda_home_radio_on wait_timer: 28.06.2017 21:04:32 cmd_1 Linda
2017-06-28_21:03:45 presence.gtag.marcel present
2017-06-28_21:04:32 doif.linda_home_radio_on wait_timer: no timer
2017-06-28_21:04:32 doif.linda_home_radio_on cmd_nr: 1
2017-06-28_21:04:32 doif.linda_home_radio_on cmd: 1
2017-06-28_21:04:32 doif.linda_home_radio_on cmd_event: Linda
2017-06-28_21:04:32 doif.linda_home_radio_on cmd_1


Wie man sieht wurde rechtzeitig erkannt, das wir beide zuhause sind. Aber der "wait" wurde nicht abgebrochen.

Liegt das hier dran?

[?Marcel:presence]
Zwave: ZMEEUZB1 (Fibaro, Aeotec, diverse)
Zigbee: Conbee (HUE, Xiaomi, osram)
Homematic: HM-MOD-RPI-PCB + diverse HM-CC-RT-DN
Sonstiges: Harmony, Android, Netatmo, Jabber (talk2fhem)
https://resize2fs.de

amenomade

ZitatLiegt das hier dran?
Code: [Auswählen]

[?Marcel:presence]

Ich würde sagen ja. Damit wird nix von Marcel getriggert ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus