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?
Bu solltest beim DOIF das Attribut checkReadingEvent setzen. https://fhem.de/commandref_DE.html#DOIF_checkReadingEvent
Ah, schau an. Dank dir.