Hallo,
ich möchte mit einem DOIF die jährliche Freigabe der Weihnachtsbeleuchtung automatisieren. Dazu soll die Beleuchtung vom 28.11. bis 15.01. des jeweiligen Jahres eingeschaltet werden.
Ich habe versucht, das so zu lösen:
($md ge "11-28" and $md le "01-15") (set Freigabe_WeihnBel on) DOELSE (set Freigabe_WeihnBel off)
Doch leider steht das DOIF immer auf CMD2.
Wo liegt mein Fehler?
Gruß,
Jogi
Internals:
CFGFN
DEF ($md ge "11-28" and $md le "01-15") (set Freigabe_WeihnBel on) DOELSE (set Freigabe_WeihnBel off)
MODEL FHEM
NAME WeihnBelAutoDatum1
NR 509858
NTFY_ORDER 50-WeihnBelAutoDatum1
STATE cmd_2
TYPE DOIF
READINGS:
2019-01-14 09:53:03 cmd 2
2019-01-14 09:53:03 cmd_event WeihnBelAutoDatum1
2019-01-14 09:53:03 cmd_nr 2
2019-01-13 12:38:16 mode enabled
2019-01-14 09:53:03 state cmd_2
Regex:
attr:
cmdState:
wait:
waitdel:
condition:
0 $md ge "11-28" and $md le "01-15"
devices:
do:
0:
0 set Freigabe_WeihnBel on
1:
0 set Freigabe_WeihnBel off
helper:
globalinit 1
last_timer 0
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: WeihnBelAutoDatum1
state: cmd_2
internals:
itimer:
readings:
uiState:
uiTable:
Attributes:
checkall all
do always
startup set $SELF checkall
Zitat von: Jogi am 14 Januar 2019, 09:57:53
Hallo,
ich möchte mit einem DOIF die jährliche Freigabe der Weihnachtsbeleuchtung automatisieren. Dazu soll die Beleuchtung vom 28.11. bis 15.01. des jeweiligen Jahres eingeschaltet werden.
Ich habe versucht, das so zu lösen:
($md ge "11-28" and $md le "01-15") (set Freigabe_WeihnBel on) DOELSE (set Freigabe_WeihnBel off)
Doch leider steht das DOIF immer auf CMD2.
Wo liegt mein Fehler?
Gruß,
Jogi
cmd2 hast du wahrscheinlich mit set ... cmd2 selbst ausglöst.
Deine Bedingung hat keinen Trigger, daher wird dein DOIF niemals von alleine schalten ;)
Zitat von: Damian am 14 Januar 2019, 10:03:12
cmd2 hast du wahrscheinlich mit set ... cmd2 selbst ausglöst.
Deine Bedingung hat keinen Trigger, daher wird dein DOIF niemals von alleine schalten ;)
Sorry, das verstehe ich nicht ganz. Ich hatte für mein DOIF Deinen Beitrag
https://forum.fhem.de/index.php/topic,66153.msg585264.html#msg585264 (https://forum.fhem.de/index.php/topic,66153.msg585264.html#msg585264)
als Basis genommen, aber wahrscheinlich habe ich etwas falsch verstanden.
Ich dachte
($md ge "11-28" and $md le "01-15")
sei der Trigger (wenn das Datum zwischen 28.11. und 15.01. liegt)
Ich habe leider kein Beispiel gefunden, wie das in ein DOIF eingebaut wird, sonst hätte ich es anders gemacht.
Gruß,
Jogi
Zitat von: Jogi am 14 Januar 2019, 10:48:44
Sorry, das verstehe ich nicht ganz. Ich hatte für mein DOIF Deinen Beitrag
https://forum.fhem.de/index.php/topic,66153.msg585264.html#msg585264 (https://forum.fhem.de/index.php/topic,66153.msg585264.html#msg585264)
als Basis genommen, aber wahrscheinlich habe ich etwas falsch verstanden.
Ich dachte
($md ge "11-28" and $md le "01-15")
sei der Trigger (wenn das Datum zwischen 28.11. und 15.01. liegt)
Ich habe leider kein Beispiel gefunden, wie das in ein DOIF eingebaut wird, sonst hätte ich es anders gemacht.
Gruß,
Jogi
Was hälst du von?
DOIF ( [00:00] and $md ge "11-28" and $md le "01-15")
$md ist nur eine Variable - die kann nicht triggern.
Neben dem fehlenden Trigger würde ich or statt and empfehlen. Denn es gibt kein Datum, für welches and zutrifft.
Zitat von: Damian am 14 Januar 2019, 11:09:20
Was hälst du von?
DOIF ( [00:00] and $md ge "11-28" and $md le "01-15")
$md ist nur eine Variable - die kann nicht triggern.
Alles klar, vielen Dank, jetzt habe ich es verstanden.
Gruß,
Jogi
Zitat von: Per am 14 Januar 2019, 12:48:01
Neben dem fehlenden Trigger würde ich or statt and empfehlen. Denn es gibt kein Datum, für welches and zutrifft.
so ist es wohl ;)