FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Amenophis86 am 21 September 2017, 19:19:35

Titel: [Gelöst]RESIDENTS triggert DOIF, obwohl event-on-change-reading .* gesetzt
Beitrag von: Amenophis86 am 21 September 2017, 19:19:35
Mir ist aufgefallen, dass mein DOIF ausgelöst wird, obwohl es nicht sollte. Es lauscht unter anderem auf [rgr_Zuhause:residentsHome] > 0 und triggert auch, obwohl RESIDENTS mit dem attr event-on-change-readings .* ausgestattet ist. Hier mal ein List des DOIF:

Internals:
   CFGFN
   DEF        ([rgr_Zuhause:residentsHome] == 0)
(setreading $SELF warte ja)
DOELSEIF ([rgr_Zuhause:residentsHome] > 0 and [TTS_Meldungen:prio1] > 0 and [?$SELF:warte] eq "nein" and [?08:00-20:00])
({Meldungen_play(1,"Tablet")}, setreading $SELF warte nein)
DOELSEIF ([rgr_Zuhause:residentsHome] > 0 and [TTS_Meldungen:prio1] > 0 and [?$SELF:warte] eq "nein" and [?20:00-08:00])
({Meldungen_blinken("meldungen")}, setreading $SELF warte nein)
DOELSEIF ([rgr_Zuhause:residentsHome] > 0 and [TTS_Meldungen:prio1] > 0 and [?$SELF:warte] eq "ja" and [?08:00-20:00])
({Meldungen_play(1,"Tablet")}, setreading $SELF warte nein)
DOELSEIF ([rgr_Zuhause:residentsHome] > 0 and [TTS_Meldungen:prio1] > 0 and [?$SELF:warte] eq "ja" and [?20:00-08:00])
({Meldungen_blinken("meldungen")}, setreading $SELF warte nein)
DOELSE()
   NAME       DI.TTS_Meldungen_1
   NR         296
   NTFY_ORDER 50-DI.TTS_Meldungen_1
   STATE      cmd_6
   TYPE       DOIF
   READINGS:
     2017-09-21 19:16:40   Device          rgr_Zuhause
     2017-09-21 17:05:23   cmd             6
     2017-09-21 17:05:23   cmd_event       rgr_Zuhause
     2017-09-21 17:05:23   cmd_nr          6
     2017-09-21 19:00:42   e_TTS_Meldungen_prio1 0
     2017-09-21 19:16:40   e_rgr_Zuhause_residentsHome 2
     2017-09-21 17:05:23   state           cmd_6
     2017-09-21 17:03:30   timer_01_c02    22.09.2017 08:00:00
     2017-09-21 17:03:30   timer_02_c02    21.09.2017 20:00:00
     2017-09-21 17:03:30   timer_03_c03    21.09.2017 20:00:00
     2017-09-21 17:03:30   timer_04_c03    22.09.2017 08:00:00
     2017-09-21 17:03:30   timer_05_c04    22.09.2017 08:00:00
     2017-09-21 17:03:30   timer_06_c04    21.09.2017 20:00:00
     2017-09-21 17:03:30   timer_07_c05    21.09.2017 20:00:00
     2017-09-21 17:03:30   timer_08_c05    22.09.2017 08:00:00
     2017-09-21 17:04:40   wait_timer      no timer
     2017-09-21 17:04:40   warte           nein
   condition:
     0          ReadingValDoIf($hash,'rgr_Zuhause','residentsHome') == 0
     1          ReadingValDoIf($hash,'rgr_Zuhause','residentsHome') > 0 and ReadingValDoIf($hash,'TTS_Meldungen','prio1') > 0 and ReadingValDoIf($hash,'DI.TTS_Meldungen_1','warte') eq "nein" and DOIF_time($hash,0,1,$wday,$hms)
     2          ReadingValDoIf($hash,'rgr_Zuhause','residentsHome') > 0 and ReadingValDoIf($hash,'TTS_Meldungen','prio1') > 0 and ReadingValDoIf($hash,'DI.TTS_Meldungen_1','warte') eq "nein" and DOIF_time($hash,2,3,$wday,$hms)
     3          ReadingValDoIf($hash,'rgr_Zuhause','residentsHome') > 0 and ReadingValDoIf($hash,'TTS_Meldungen','prio1') > 0 and ReadingValDoIf($hash,'DI.TTS_Meldungen_1','warte') eq "ja" and DOIF_time($hash,4,5,$wday,$hms)
     4          ReadingValDoIf($hash,'rgr_Zuhause','residentsHome') > 0 and ReadingValDoIf($hash,'TTS_Meldungen','prio1') > 0 and ReadingValDoIf($hash,'DI.TTS_Meldungen_1','warte') eq "ja" and DOIF_time($hash,6,7,$wday,$hms)
   days:
   devices:
     0           rgr_Zuhause
     1           rgr_Zuhause TTS_Meldungen
     2           rgr_Zuhause TTS_Meldungen
     3           rgr_Zuhause TTS_Meldungen
     4           rgr_Zuhause TTS_Meldungen
     all         rgr_Zuhause TTS_Meldungen
   do:
     0:
       0          setreading DI.TTS_Meldungen_1 warte ja
     1:
       0          {Meldungen_play(1,"Tablet")}, setreading DI.TTS_Meldungen_1 warte nein
     2:
       0          {Meldungen_blinken("meldungen")}, setreading DI.TTS_Meldungen_1 warte nein
     3:
       0          {Meldungen_play(1,"Tablet")}, setreading DI.TTS_Meldungen_1 warte nein
     4:
       0          {Meldungen_blinken("meldungen")}, setreading DI.TTS_Meldungen_1 warte nein
     5:
       0
   helper:
     event      durTimerPresence_cr: 420,durTimerPresence: 06:59:31
     globalinit 1
     last_timer 8
     sleepdevice rgr_Zuhause
     sleepsubtimer -1
     sleeptimer -1
     timerdev   rgr_Zuhause
     timerevent durTimerPresence_cr: 420,durTimerPresence: 06:59:31
     triggerDev rgr_Zuhause
     timerevents:
       durTimerPresence_cr: 420
       durTimerPresence: 06:59:31
     timereventsState:
       durTimerPresence_cr: 420
       durTimerPresence: 06:59:31
     triggerEvents:
       durTimerPresence_cr: 420
       durTimerPresence: 06:59:31
     triggerEventsState:
       durTimerPresence_cr: 420
       durTimerPresence: 06:59:31
   internals:
   interval:
     0          -1
     1          0
     2          -1
     3          2
     4          -1
     5          4
     6          -1
     7          6
   itimer:
   localtime:
     0          1506060000
     1          1506016800
     2          1506016800
     3          1506060000
     4          1506060000
     5          1506016800
     6          1506016800
     7          1506060000
   readings:
     0           rgr_Zuhause:residentsHome
     1           rgr_Zuhause:residentsHome TTS_Meldungen:prio1
     2           rgr_Zuhause:residentsHome TTS_Meldungen:prio1
     3           rgr_Zuhause:residentsHome TTS_Meldungen:prio1
     4           rgr_Zuhause:residentsHome TTS_Meldungen:prio1
     all         rgr_Zuhause:residentsHome TTS_Meldungen:prio1
   realtime:
     0          08:00:00
     1          20:00:00
     2          20:00:00
     3          08:00:00
     4          08:00:00
     5          20:00:00
     6          20:00:00
     7          08:00:00
   regexp:
     0:
     1:
     2:
     3:
     4:
     all:
   state:
     STATE:
   time:
     0          08:00:00
     1          20:00:00
     2          20:00:00
     3          08:00:00
     4          08:00:00
     5          20:00:00
     6          20:00:00
     7          08:00:00
   timeCond:
     0          1
     1          1
     2          2
     3          2
     4          3
     5          3
     6          4
     7          4
   timer:
     0          0
     1          0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
   trigger:
   triggertime:
     1506016800:
       localtime  1506016800
       hash:
     1506060000:
       localtime  1506060000
       hash:
Attributes:
   group      Nachrichten
   repeatcmd  0:0:1800:0:1800:0
   room       Z_DOIF
   wait       0:20:0:180:0:0


und hier des Resident Moduls:
Internals:
   CFGFN
   DURATIONTIMER 1506014323.04953
   GUESTS     rg_Gast,rg_Jutta
   NAME       rgr_Zuhause
   NOTIFYDEV  global,rr_Anja,rr_Etienne,rg_Gast,rg_Jutta
   NR         139
   NTFY_ORDER 50-rgr_Zuhause
   READY      1
   ROOMMATES  rr_Anja,rr_Etienne
   STATE      home
   TYPE       RESIDENTS
   READINGS:
     2017-09-21 12:17:09   durTimerAbsence 00:00:00
     2017-09-21 12:17:09   durTimerAbsence_cr 0
     2017-09-21 19:17:43   durTimerPresence 07:00:34
     2017-09-21 19:17:43   durTimerPresence_cr 421
     2017-04-02 11:13:36   durTimerSleep   00:00:00
     2017-04-02 11:13:36   durTimerSleep_cr 0
     2017-09-21 18:33:54   lastActivity    home
     2017-09-21 18:33:54   lastActivityBy  Etienne
     2017-09-21 18:33:54   lastActivityByDev rr_Etienne
     2017-09-21 12:17:09   lastArrival     2017-09-21 12:17:09
     2017-09-21 12:10:15   lastDeparture   2017-09-21 12:10:15
     2017-09-21 12:17:09   lastDurAbsence  00:06:54
     2017-09-21 12:17:09   lastDurAbsence_cr 7
     2017-09-21 12:10:15   lastDurPresence 68:41:06
     2017-09-21 12:10:15   lastDurPresence_cr 4121
     2017-09-21 12:17:09   lastState       absent
     2017-09-21 12:17:09   presence        present
     2017-09-21 18:33:54   residentsAbsent 1
     2017-09-21 18:33:54   residentsAbsentDevs -
     2017-09-21 18:33:54   residentsAbsentNames -
     2017-04-02 11:13:44   residentsAsleep 0
     2017-04-02 11:13:44   residentsAsleepDevs -
     2017-04-02 11:13:44   residentsAsleepNames -
     2017-04-02 11:13:44   residentsAwoken 0
     2017-04-02 11:13:44   residentsAwokenDevs -
     2017-04-02 11:13:44   residentsAwokenNames -
     2017-09-03 14:56:21   residentsGone   0
     2017-09-03 14:56:21   residentsGoneDevs -
     2017-09-03 14:56:21   residentsGoneNames -
     2017-04-02 11:13:44   residentsGotosleep 0
     2017-04-02 11:13:44   residentsGotosleepDevs -
     2017-04-02 11:13:44   residentsGotosleepNames -
     2017-09-21 18:33:54   residentsHome   2
     2017-09-21 18:33:54   residentsHomeDevs rr_Anja,rr_Etienne
     2017-09-21 18:33:54   residentsHomeNames Anja, Etienne
     2017-09-21 11:48:01   residentsTotal  3
     2017-09-21 18:33:54   residentsTotalAbsent 1
     2017-09-21 18:33:54   residentsTotalAbsentDevs rg_Jutta
     2017-09-21 18:33:54   residentsTotalAbsentNames Jutta
     2017-09-21 11:48:01   residentsTotalGuests 1
     2017-09-21 15:47:11   residentsTotalGuestsAbsent 1
     2017-09-21 15:47:11   residentsTotalGuestsAbsentDevs rg_Jutta
     2017-09-21 15:47:11   residentsTotalGuestsAbsentNames Jutta
     2017-09-21 15:47:11   residentsTotalGuestsPresent 0
     2017-09-21 15:47:11   residentsTotalGuestsPresentDevs -
     2017-09-21 15:47:11   residentsTotalGuestsPresentNames -
     2017-09-21 18:33:54   residentsTotalPresent 2
     2017-09-21 18:33:54   residentsTotalPresentDevs rr_Anja,rr_Etienne
     2017-09-21 18:33:54   residentsTotalPresentNames Anja, Etienne
     2017-04-02 11:13:50   residentsTotalRoommates 2
     2017-09-21 18:33:54   residentsTotalRoommatesAbsent 0
     2017-09-21 18:33:54   residentsTotalRoommatesAbsentDevs -
     2017-09-21 18:33:54   residentsTotalRoommatesAbsentNames -
     2017-09-21 18:33:54   residentsTotalRoommatesPresent 2
     2017-09-21 18:33:54   residentsTotalRoommatesPresentDevs rr_Anja,rr_Etienne
     2017-09-21 18:33:54   residentsTotalRoommatesPresentNames Anja, Etienne
     2017-04-02 11:13:44   residentsTotalWakeup 0
     2017-04-02 11:13:44   residentsTotalWakeupDevs -
     2017-04-02 11:13:44   residentsTotalWakeupNames -
     2017-04-02 11:13:44   residentsTotalWayhome 0
     2017-04-02 11:13:44   residentsTotalWayhomeDelayed 0
     2017-04-02 11:13:44   residentsTotalWayhomeDelayedDevs -
     2017-04-02 11:13:44   residentsTotalWayhomeDelayedNames -
     2017-04-02 11:13:44   residentsTotalWayhomeDevs -
     2017-04-02 11:13:44   residentsTotalWayhomeNames -
     2017-09-21 12:17:09   state           home
   TIMER:
     rgr_Zuhause_DurationTimer:
       HASH       rgr_Zuhause
       MODIFIER   DurationTimer
       NAME       rgr_Zuhause_DurationTimer
Attributes:
   alias      Anwesenheit Gesamt
   devStateIcon .*home:status_available:absent .*absent:status_away_1:home .*gone:status_standby:home .*none:control_building_empty .*gotosleep:status_night:asleep .*asleep:status_night:awoken .*awoken:status_available:home .*:user_unknown:home
   event-on-change-reading .*
   group      Home State
   icon       control_building_filled
   room       Z_Wohnung,Wohnung
   webCmd     state


Was mir auffällt ist, dass bei RESIDENTS das Reading nicht rot wird und der Timestamp sich nicht verändert. Das DOIF hingegen meldet ca alle 2 Minuten e_rgr_Zuhause_residentsHome 2 2017-09-21 19:17:43

Ist der Fehler beim DOIF, oder bei RESIDENTS zu suchen?
Titel: Antw:RESIDENTS triggert DOIF, obwohl event-on-change-reading .* gesetzt
Beitrag von: Damian am 21 September 2017, 20:54:57
Bu solltest beim DOIF das Attribut checkReadingEvent setzen. https://fhem.de/commandref_DE.html#DOIF_checkReadingEvent
Titel: Antw:RESIDENTS triggert DOIF, obwohl event-on-change-reading .* gesetzt
Beitrag von: Amenophis86 am 21 September 2017, 21:04:48
Ah, schau an. Dank dir.