Ich habe auch eine Frage zu DOIF und wait. Habe es aber nicht zum Beitrag davor geschrieben, da es da ja um Zeilenumbüche geht.
main DOIF mit funktioniert nicht so, wie ich mir das eigentlich gedacht habe.
Hier mein List: Internals:
DEF ([09:58])
(set NasSchalter on 1, set NasSchalter on 0, set DatensicherungNAS on-for-timer 2 )
DOELSEIF ([16:00]) (set NasSchalter off 0)
FUUID 5ec00a13-f33f-418d-f5dd-0b81bb82371a206b
MODEL FHEM
NAME di_DS_NAS
NOTIFYDEV global
NR 114
NTFY_ORDER 50-di_DS_NAS
STATE cmd_1
TYPE DOIF
VERSION 21224 2020-02-18 18:45:49
READINGS:
2020-05-24 09:58:00 cmd 1
2020-05-24 09:58:00 cmd_event timer_1
2020-05-24 09:58:00 cmd_nr 1
2020-05-23 21:06:52 mode enabled
2020-05-24 09:58:00 state cmd_1
2020-05-24 15:42:52 timer_01_c01 25.05.2020 09:58:00
2020-05-24 15:42:52 timer_02_c02 24.05.2020 16:00:00
Regex:
accu:
attr:
wait:
0:
60
60
60
condition:
0 ::DOIF_time_once($hash,0,$wday)
1 ::DOIF_time_once($hash,1,$wday)
days:
do:
0:
0 set NasSchalter on 1, set NasSchalter on 0, set DatensicherungNAS on-for-timer 2
1:
0 set NasSchalter off 0
2:
helper:
DEVFILTER ^global$
NOTIFYDEV global
globalinit 1
last_timer 2
sleeptimer -1
intervalfunc:
localtime:
0 1590393480
1 1590328800
perlblock:
realtime:
0 09:58:00
1 16:00:00
time:
0 09:58:00
1 16:00:00
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
triggertime:
1590328800:
localtime 1590328800
hash:
1590393480:
localtime 1590393480
hash:
uiState:
uiTable:
Attributes:
DbLogExclude .*
do always
group NAS
icon general_an_fuer_zeit
room Relais
sortby 9
wait 60,60,60
Ich wollte damit eigentlich erreichen dass der Nasschalter (Shelly2.5)
Als erstes sollte das Festplattenrack hochgefahren werden, dann die NAS mit Strom versorget werden, als letztes die NAS eingeschaltet werden.
Doch lt. Log sieht es so aus:
...
2020-05-24_09:58:00 DatensicherungNAS on
2020-05-24_09:58:00 NasSchalter relay_0: on
2020-05-24_09:58:00 NasSchalter relay_1: on
2020-05-24_09:58:02 DatensicherungNAS off
...
Also keine Spur von 60 sec Pause. Nicht einmal die Reihenfolge passt.
Blicke irgendwie nicht mehr durch.
Diese set Befehle werden nacheinander abgearbeitet, ohne Pause:
(set NasSchalter on 1, set NasSchalter on 0, set DatensicherungNAS on-for-timer 2 )
Besser wäre:
([09:58])
(set NasSchalter on 1)
(set NasSchalter on 0)
(set DatensicherungNAS on-for-timer 2)
DOELSEIF ([16:00])
(set NasSchalter off 0)
dann klappt es auch mit dem wait:
attr di_DS_NAS wait 60,60,60:0
Siehe auch: https://fhem.de/commandref_DE.html#DOIF_wait
Danke, dann habe ich die commandref schlampig gelesen.
Habe es probiert, und es funktioniert