Ich habe bei einem Rolladen, im Zimmer meines Sohnes eine HM Fenstersensor verbaut.
dazu habe ich folgendes DOIF geschrieben:
Internals:
CFGFN
CHANGED
DEF ([20:30-23:00]|8 and [TuerChristophStatus] eq "open" ) (set Rolladen_Christoph_Tuer stop;/
sleep 5; set Rolladen_Christoph_Tuer lueften; sleep 600; set Rolladen_Christoph_Tuer 13)
NAME SchaltLueftTuereChristoph
NR 60610
NTFY_ORDER 50-SchaltLueftTuereChristoph
STATE disabled
TYPE DOIF
READINGS:
2018-03-08 08:14:33 Device TuerChristophStatus
2018-03-08 08:14:33 cmd 2
2018-03-08 08:14:33 cmd_event TuerChristophStatus
2018-03-08 08:14:33 cmd_nr 2
2018-03-08 08:14:33 e_TuerChristophStatus_STATE closed
2018-03-08 08:30:01 last_cmd cmd_2
2018-03-08 08:30:01 mode disabled
2018-03-08 08:30:01 state disabled
2018-03-07 23:00:00 timer_01_c01 08.03.2018 20:30:00
2018-03-07 23:00:00 timer_02_c01 08.03.2018 23:00:00
Regex:
condition:
0 DOIF_time($hash,0,1,$wday,$hms)|8 and InternalDoIf($hash,'TuerChristophStatus','STATE') eq "open"
days:
devices:
0 TuerChristophStatus
all TuerChristophStatus
do:
0:
0 set Rolladen_Christoph_Tuer stop;/ sleep 5; set Rolladen_Christoph_Tuer lueften; sleep 600; set Rolladen_Christoph_Tuer 13
1:
helper:
DOIF_Readings_events
DOIF_eventas
event battery: ok,contact: closed (to VCCU),closed,trigger_cnt: 154
globalinit 1
last_timer 2
sleeptimer -1
timerdev TuerChristophStatus
timerevent battery: ok,contact: closed (to VCCU),closed,trigger_cnt: 154
triggerDev TuerChristophStatus
timerevents:
battery: ok
contact: closed (to VCCU)
closed
trigger_cnt: 154
timereventsState:
battery: ok
contact: closed (to VCCU)
state: closed
trigger_cnt: 154
triggerEvents:
battery: ok
contact: closed (to VCCU)
closed
trigger_cnt: 154
triggerEventsState:
battery: ok
contact: closed (to VCCU)
state: closed
trigger_cnt: 154
internals:
0 TuerChristophStatus:STATE
all TuerChristophStatus:STATE
interval:
0 -1
1 0
itimer:
localtime:
0 1520537400
1 1520546400
readings:
realtime:
0 20:30:00
1 23:00:00
time:
0 20:30:00
1 23:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1520537400:
localtime 1520537400
hash:
1520546400:
localtime 1520546400
hash:
uiState:
uiTable:
Attributes:
event-on-change-reading 1
group Steuerung Rolladen
room 5.03_Rolladen_Schalter
Ziel ist dass der Rolladen auf 60% öffnet und nach 10min auf 13% schließt.
bei ist 100% offen.
Die stop Routine habe ich drinnen, weil es sein kann dass die Automatik den Rolladen evtl. schließt.
Was ich aber nicht verstehe, dass dieses DOIF auch um 8:00 Uhr früh anspricht.
Das habe ich aber eingeschränkt.
Frage mich, was ich falsch definiert habe.
Der Rolladen fährt richtig, und macht das was er soll.
im DOIF werden Befehle per Komma getrennt oder in separate Klammer gesetzt.
die Sleep kannst Du (bei separaten Klammern) über das wait Attribut lösen.
einen Zeilenumbruch im DEF machst mit "\", nicht mit "/"
DEF ([20:30-23:00]|8 and [TuerChristophStatus] eq "open" ) (set Rolladen_Christoph_Tuer stop) (set Rolladen_Christoph_Tuer lueften) (set Rolladen_Christoph_Tuer 13)
attr do always
attr wait 0,5,600
Frank_Huber hat schon einiges dazu geschrieben!
aber
Zitat von: maci am 08 März 2018, 15:03:34
Was ich aber nicht verstehe, dass dieses DOIF auch um 8:00 Uhr früh anspricht.
sicher das er über das DOIF angesteuert wird und nicht über
Zitat von: maci am 08 März 2018, 15:03:34
die Automatik
??
Dann wirkt also die Angabe [20:30-23:00]|8
nicht?
Müsste es nicht
[20:30-23:00|8]
heissen?
Ja stimmt, habe ich übersehen
Zitat von: maci am 08 März 2018, 19:01:27
Ja stimmt, habe ich übersehen
Ich auch. Sorry.
Mit dem Handy online, daher kurz gefasst...
und war das der 8 Uhr Trigger? ::)
Ich denke, schon, denn heute war Ruhe
Ich beobachte das DOIF noch, bzw, muss ich noch etwas ausbauen.
Ich verstehe nicht ganz warum weil es nicht zum Syntax passt, aber ich denke das "|8" wurde als 8:00 interprätiert.
Wenn jetzt Ruhe ist und alles geht wie es soll ist ja super! :-)