Hallo Gemeinde,
ich möchte durch ein/aus von Lampen in meinen Haus eine Anwesendheit simulieren.
Dazu habe ich einen Dummy-Schalter definiert Abwesend:
define Abwesend dummy
attr Abwesend room Abwesend
attr Abwesend webCmd on:off
Dann habe ich für jede Lampe folgendes definiert:
Funktion:
Abhängig vom Sonnenuntergang + Verzögerung und Abwesend=On solll die Lampe an gehen, dann zu Zeitpunkt X + Verzögerung wieder aus. Bei Abwesend=off soll nichts passieren.
Habe es so programiert:
define di_Abwesend_D2 DOIF ([({sunset("REAL", -1000)}+900+int(rand(600)))] and [Abwesend] eq "on") (set D2_EZ_OG on)
DOELSEIF ([([23:20]+int(rand(600)))]) (set D2_EZ_OG off)
Ohne and [Abwesend] eq "on" funktioniert es, was ist falsch?
hier noch die List-Ausgabe:
Internals:
DEF ([({sunset("REAL", -1)}+900+int(rand(600)))] and [Abwesend] eq "on") (set D2_EZ_OG on) DOELSEIF ([([23:20]+int(rand(600)))]) (set D2_EZ_OG off)
NAME di_Abwesend_D2
NR 146
NTFY_ORDER 50-di_Abwesend_D2
STATE cmd_1
TYPE DOIF
Readings:
2016-06-14 22:00:25 Device Abwesend
2016-06-14 20:48:21 cmd_event timer_1
2016-06-14 20:48:21 cmd_nr 1
2016-06-14 22:00:25 e_Abwesend_STATE on
2016-06-14 20:48:21 state cmd_1
2016-06-14 21:42:36 timer_1_c1 15.06.2016 21:48:28
2016-06-14 21:19:06 timer_2_c2 14.06.2016 23:20:42
Condition:
0 DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and InternalDoIf('Abwesend','STATE','') eq "on"
1 DOIF_time_once($hash,$hash->{timer}{1},$wday,"")
Days:
Devices:
0 Abwesend
all Abwesend
Do:
0:
0 set D2_EZ_OG on
1:
0 set D2_EZ_OG off
2:
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
0 Abwesend:STATE
all Abwesend:STATE
Itimer:
Readings:
Realtime:
0 21:48:28
1 23:20:42
State:
Time:
0 ({sunset("REAL",-1)}+900+int(rand(600)))
1 ([23:20]+int(rand(600)))
Timecond:
0 0
1 1
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0
1 1
Trigger:
Attributes:
2016-06-14 22:00:25 Device Abwesend
2016-06-14 20:48:21 cmd_event timer_1
2016-06-14 20:48:21 cmd_nr 1
2016-06-14 22:00:25 e_Abwesend_STATE on
2016-06-14 20:48:21 state cmd_1
Scheint doch zu gehen
Kann es sein, das ich ein attr di_Abwesend_D2 do always benötige da mein Dummy-schalter kein event auslöst, wenn er immer
auf on steht????
Besser ist es so zu machen das Du die Abwesenheit nur abfragst. Denn es soll ja nicht getriggert werden auf anwesend oder abwesend sondern auf die Uhrzeit. Die Uhrzeit ist ausschlaggebend das soll der Auslöser sein und dann soll nur abgefragt werden ob Du abwesend bist und nur wenn das auch noch gegeben ist soll geschalten werden.
[?Abwesend]