FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Steffen am 01 Juni 2018, 06:13:06

Titel: Reading aus Structure greift nicht
Beitrag von: Steffen am 01 Juni 2018, 06:13:06
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

Titel: Antw:Reading aus Structure greift nicht
Beitrag von: Damian am 01 Juni 2018, 07:08:08
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