Hi
Ich will eine Lampe werktags um 05:30 einschalten. Folgende Varianten haben nicht funktioniert, wobei die erste lange ihren Dienst verrichtet hat:
define licht DOIF ([05:30|8]) (set Licht1 on)
define licht DOIF ([05:30|AT]) (set Licht1 on)
define licht DOIF ([05:30|WD]) (set Licht1 on)
define licht DOIF ([05:30|1-5]) (set Licht1 on)
Bei der letzten Variante bin ich nicht sicher, ob sie funktionieren sollte, aber die anderen Varianten habe ich aus der Commandref interpretiert.
Wie kriege ich die Schaltung werktags wieder zum laufen?
Danke für Eure Hilfe
Daniel
Die 3 ersten sind richtig, die letzte nicht.
Wenn du nur einen Zweig hast, dann solltest du das do always Attribut setzen, sonst funktioniert dein Befehl nur einmal.
OK, ich habe auch noch "do always" ergänzt.
define licht DOIF ([05:30|AT]) (set Licht1 on)
funktioniert nicht (an einem Arbeitstag)
define licht DOIF ([05:30]) (set Licht1 on)
funktioniert problemlos
Es ist, wie wenn er den Arbeittag nicht interpretieren kann.
Wo kann ich noch weitersuchen?
Daniel
Zeig ein "list" vom nicht funktionierenden Device
Ok, hier das List:
Internals:
CFGFN
DEF ([05:30|AT]) (set Lampe on)
FUUID 5e3de660-f33f-0e34-3fc7-d65d4b0bddabf60b
MODEL FHEM
NAME do_test
NOTIFYDEV global
NR 48310
NTFY_ORDER 50-di_we
STATE initialized
TYPE DOIF
VERSION 20929 2020-01-10 09:44:35
Helper:
DBLOG:
cmd:
dbserver:
TIME 1581442419.41887
VALUE 0
cmd_event:
dbserver:
TIME 1581115440.10178
VALUE timer_1
cmd_nr:
dbserver:
TIME 1581115440.10178
VALUE 1
mode:
dbserver:
TIME 1581442419.41887
VALUE enabled
state:
dbserver:
TIME 1581442419.41887
VALUE initialized
READINGS:
2020-02-11 18:33:39 cmd 0
2020-02-11 18:33:39 mode enabled
2020-02-11 18:33:39 state initialized
2020-02-11 18:33:39 timer_01_c01 12.02.2020 05:30:00|AT
Regex:
accu:
attr:
cmdState:
waitdel:
condition:
0 ::DOIF_time_once($hash,0,$wday,"AT")
days:
0 AT
do:
0:
0 set Lampe on
1:
helper:
DEVFILTER ^global$
NOTIFYDEV global
globalinit 1
last_timer 1
sleeptimer -1
intervalfunc:
localtime:
0 1581481800
realtime:
0 05:30:00
time:
0 05:30:00
timeCond:
0 0
timer:
0 0
timers:
0 0
triggertime:
1581481800:
localtime 1581481800
hash:
uiState:
uiTable:
Attributes:
do always
Na, alles gut. Nächstes Schalten 12.02.2020 05:30:00
In der Theorie ja, sehe ich auch. Aber das ist genau der Punkt, es schaltet ja nicht ....
Sonst würde ich hier ja nicht Hilfe suchen.
Ich habe es schon x-fach durchgespielt.
Zitat von: platypus am 11 Februar 2020, 20:42:40
In der Theorie ja, sehe ich auch. Aber das ist genau der Punkt, es schaltet ja nicht ....
Sonst würde ich hier ja nicht Hilfe suchen.
Ich habe es schon x-fach durchgespielt.
In der Praxis geht es um die allgemeine FHEM-Funktion IsWe().
Die kannst du in der Kommandozeile aufrufen: {IsWe()}
0 ist kein Wochenende = Arbeitstag, sonst liefert sie 1. Wenn es bei dir nicht stimmt, dann musst du nach den holiday-Einstellungen bei dir schauen.
Und zeig ggf wieder ein "list" vom DOIF morgen früh nach 5:30 Uhr.
Danke Damian
Der Hinweis auf die holiday-Einstellungen war der richtige Wegweiser!
Ich hatte einen Dreher (Tag-Monat) bei einer Feriendefinition - dies führte zu sehr langen Ferien.
Leider nur für Fhem und nicht für mich 8)
Danke nochmal für den lösenden Tip.
Daniel