Hallo!
Ich sitze nun ne ganze Weile an diesen Doif aber komme nicht weiter, denn das Doif scheint das Reading von "HomeStatus:LastDevice" nicht auszuwerten was hier denke ich elementar wäre.
hier das Doif:
(([HomeStatus] eq "Anwesend") and ([HomeStatus:LastDevice] =~ "Katja") and ([Katja:state] eq "present") and ([Steffen:state] eq "absent"))
(set Eingangstuer open) (set EchoWohnzimmer2 volume 70) (set EchoWohnzimmer2 tts Hallo Katja. schön das du wieder zu Hause bist. Wir haben in der Wohnung eine Temperatur von . [Heizung_Wohnzimmer:measured-temp] . grad und heute gibt es noch einen Termin und das wäre . [HF_CalView:t_001_summary] . um [HF_CalView:t_001_btime] uhr) (set EchoWohnzimmer2 volume 30)
DOELSEIF (([HomeStatus] eq "Anwesend") and ([HomeStatus:LastDevice] eq "Steffen") and ([Steffen:state] eq "present") and ([Katja:state] eq "absent"))
(set Eingangstuer open) (set EchoWohnzimmer2 volume 70) (set EchoWohnzimmer2 tts Hallo Steffen. schön das du wieder zu Hause bist. Wir haben in der Wohnung eine Temperatur von . [Heizung_Wohnzimmer:measured-temp] . grad und heute gibt es noch einen Termin und das wäre . [HF_CalView:t_001_summary] . um [HF_CalView:t_001_btime] uhr) (set EchoWohnzimmer2 volume 60)
DOELSEIF (([HomeStatus] eq "Anwesend") and ([Katja:state] eq "present") and ([HomeStatus:Katja]) and ([Steffen:state] eq "present"))
(set Eingangstuer open)
DOELSEIF (([HomeStatus] eq "Anwesend") and ([Steffen:state] eq "present") and ([HomeStatus:Steffen]) and ([Katja:state] eq "present"))
(set Eingangstuer open)
DOELSEIF (([HomeStatus] eq "Anwesend") and ([Katja:state] eq "present" and [Steffen:state] eq "present"))
(set Eingangstuer open) (set EchoWohnzimmer2 volume 70) (set EchoWohnzimmer2 tts Hallo Familie. schön das ihr wieder zu Hause seit. Wir haben in der Wohnung eine Temperatur von . [Heizung_Wohnzimmer:measured-temp] . grad und heute gibt es noch einen Termin und das wäre . [HF_CalView:t_001_summary] . um [HF_CalView:t_001_btime] uhr) (set EchoWohnzimmer2 volume 60)
DOELSEIF ([HomeStatus] eq "Abwesend")
(set Eingangstuer lock)
READINGS:
2018-06-01 05:51:11 Device Katja
2018-06-01 05:52:26 cmd 2.4
2018-06-01 05:52:26 cmd_event Katja
2018-06-01 05:52:26 cmd_nr 2
2018-06-01 05:52:26 cmd_seqnr 4
2018-05-31 17:48:10 e_HomeStatus_STATE Anwesend
2018-06-01 05:51:11 e_Katja_state absent
2018-05-31 19:09:49 e_Steffen_state present
2018-05-31 15:54:17 mode enabled
2018-06-01 05:52:26 state cmd_2
2018-06-01 05:52:26 wait_timer no timer
HomeStatus:
Internals:
ATTR room
CHANGED
CHANGEDCNT 14
DEF room Steffen Katja
NAME HomeStatus
NR 90
NTFY_ORDER 50-HomeStatus
STATE Anwesend
TYPE structure
READINGS:
2018-06-01 05:51:11 LastDevice Katja
2018-06-01 05:51:11 LastDevice_Abs Katja
2018-06-01 05:51:11 state Anwesend
Attributes:
clientstate_behavior relative
clientstate_priority Anwesend|present Abwesend|absent
event-on-change-reading state
event-on-update-reading LastDevice
room Anwesenheit
Ich habe wie man im Doif auchsieht im ersten Teil mal mit "teilausdrücke" versucht, aber auch das nimmt leider nicht die werte.
Vielleicht hat jemand eine Idee wie ich das Reading nutze könnte?
Mfg Steffen
Benutzt du die aktuelle DOIF-Version vom 18.05.2018?
HomeStatus:LastDevice erzeugt offenbar keine Events, wenn es triggern soll, dann musst du das Attribut checkReadingevent 0 setzen, siehe https://forum.fhem.de/index.php/topic,82523.msg800555.html#msg800555