Hallo zusammen,
aktuell schalte ich meine Weihnachtsbeleuchtung in FHEM über Terminserien die mit dem Google Kalender syncronsiert sind.
Da ich auch weitere Anwendungsfälle für Terminserien habe (Geräte & Lichter), möchte ich dies gerne einfacher und direkt in FHEM eingeben können.
Ich habe bereits einen Schalter bei dem ich die Uhrzeiten & Datum eingeben kann, jedoch bezieht sich dieser DOIF auf den Anfangtermin bis zum Endtermin.
Ich möchte jedoch das dieser Schalter TÄGLICH zwischen den beiden Uhrzeiten schaltet.
Kann mir jemand beim umschrieben des Codes helfen?
Hier mal ein Auszug zu dem vorhandenen Test - Schalter:
Internals:
DEF ([[$SELF:P_bhm,"00:00"]] and [?$SELF:P_byear] == $year and [?$SELF:P_bmon] == $month and [?$SELF:P_bday] == $mday)
({Log 1, "Alarmstart"})
DOELSEIF
([[$SELF:P_ehm,"00:00"]] and [?$SELF:P_eyear] == $year and [?$SELF:P_emon] == $month and [?$SELF:P_eday] == $mday)
({Log 1, "Alarmstop"})
FUUID 5d26146c-f33f-b42a-c69a-03162587fcd061e4
MODEL FHEM
NAME di_Datumsbereich_Weih1
NR 426
NTFY_ORDER 50-di_Datumsbereich_Weih1
STATE 1
TYPE DOIF
VERSION 19303 2019-05-01 08:47:16
READINGS:
2019-07-10 18:48:01 P_bday 10
2019-07-10 18:52:15 P_bhm 18:53
2019-07-10 18:47:42 P_bmon 7
2019-07-10 18:45:44 P_byear 2019
2019-07-10 18:53:27 P_eday 12
2019-07-10 18:53:36 P_ehm 18:55
2019-07-10 18:47:45 P_emon 7
2019-07-10 18:47:46 P_eyear 2019
2019-07-10 18:53:00 cmd 1
2019-07-10 18:53:00 cmd_event timer_1
2019-07-10 18:53:00 cmd_nr 1
2019-07-10 18:48:19 last_cmd initialize
2019-07-10 18:51:53 mode enabled
2019-07-10 18:53:00 state 1
2019-07-10 18:55:47 timer_01_c01 11.07.2019 18:53:00
2019-07-10 18:55:47 timer_02_c02 11.07.2019 18:55:00
Regex:
accu:
attr:
cmdState:
0:
1
1:
0
condition:
0 ::DOIF_time_once($hash,0,$wday) and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_byear') == $year and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_bmon') == $month and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_bday') == $mday
1 ::DOIF_time_once($hash,1,$wday) and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_eyear') == $year and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_emon') == $month and ::ReadingValDoIf($hash,'di_Datumsbereich_Weih1','P_eday') == $mday
days:
devices:
do:
0:
0 {Log 1, "Alarmstart"}
1:
0 {Log 1, "Alarmstop"}
2:
helper:
globalinit 1
last_timer 2
sleeptimer -1
intervalfunc:
itimer:
all di_Datumsbereich_Weih1
localtime:
0 1562863980
1 1562864100
perlblock:
realtime:
0 18:53:00
1 18:55:00
time:
0 [di_Datumsbereich_Weih1:P_bhm,"00:00"]
1 [di_Datumsbereich_Weih1:P_ehm,"00:00"]
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
triggertime:
1562863980:
localtime 1562863980
hash:
1562864100:
localtime 1562864100
hash:
uiState:
uiTable:
Attributes:
alias Termine Weihnachten Baum
cmdState 1|0
group Automation
icon time_calendar
readingList P_bhm P_bday P_bmon P_byear P_ehm P_eday P_emon P_eyear
room Weihnachten
setList P_bhm:time
P_bday:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
P_bmon:1,2,3,4,5,6,7,8,9,10,11,12
P_byear:2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030 P_ehm:time
P_eday:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
P_emon:1,2,3,4,5,6,7,8,9,10,11,12 P_eyear:2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030
sortby 1
webCmd P_bhm:P_bday:P_bmon:P_byear:P_ehm:P_eday:P_emon:P_eyear
widgetOverride setList:textField-long
Lösung hier: https://forum.fhem.de/index.php/topic,102200.msg957371.html#msg957371 (Doppelpost)