Hallo zusammen
ich habe mir ein Doif gebastelt, welches auch funktioniert, wenn ich es per set cmd1 "anstubse"
was habe ich übersehen, das das Doif auch von allein reagiert?
mein defmode
([12:40-18:30|012345678] and [FS20Regensensor422] eq "off" and [Komplettberegnung] eq "aus" and [Rasen_Hof_und_Hecke] eq "aus" and [Rasenberegnung_Einfahrt] eq "aus" and [Rasenberegnung_Hof_mitte] eq "aus" and [Rasenberegnung_Kellereingang] eq "aus" and [Rasenberegnung_RasenPaetz] eq "aus" and [Rasenberegnung_seitl] eq "aus" and [Schaf] eq "Docked" and [Robotergarage] eq "besetzt" and [Containerrelais_Sw_02] eq "off" and [Lift:state] eq "closed")(set Rasenrobi beginnt, set Containerrelais_Sw_02 on)(set Lift hoch)(set Schaf mow)(set Schaf mow) (set Telegram0176 msg 🚷 Rasi beginnt die Runde) DOELSEIF ([FS20Regensensor422]eq "on" and [Schaf] eq "mow") (set Schaf returnToDock) DOELSEIF ([FS20Regensensor422]eq "on" and [Schaf] eq "Returning to dock" and [Robotergarage] eq "besetzt" and [Lift:state] eq "open")(set Lift runter)
mein list für dieses doif
Internals:
DEF ([12:40-18:30|012345678] and [FS20Regensensor422] eq "off" and [Komplettberegnung] eq "aus" and [Rasen_Hof_und_Hecke] eq "aus" and [Rasenberegnung_Einfahrt] eq "aus" and [Rasenberegnung_Hof_mitte] eq "aus" and [Rasenberegnung_Kellereingang] eq "aus" and [Rasenberegnung_RasenPaetz] eq "aus" and [Rasenberegnung_seitl] eq "aus" and [Schaf] eq "Docked" and [Robotergarage] eq "besetzt" and [Containerrelais_Sw_02] eq "off" and [Lift:state] eq "closed")(set Rasenrobi beginnt, set Containerrelais_Sw_02 on)(set Lift hoch)(set Schaf mow)(set Schaf mow) (set Telegram0176 msg 🚷 Rasi beginnt die Runde) DOELSEIF ([FS20Regensensor422]eq "on" and [Schaf] eq "mow") (set Schaf returnToDock) DOELSEIF ([FS20Regensensor422]eq "on" and [Schaf] eq "Returning to dock" and [Robotergarage] eq "besetzt" and [Lift:state] eq "open")(set Lift runter)
NAME Robi_on_tour
NR 2476
NTFY_ORDER 50-Robi_on_tour
STATE initialized
TYPE DOIF
Readings:
2017-05-01 14:33:42 cmd 0
2017-05-01 14:33:42 state initialized
2017-05-01 14:33:43 timer_01_c01 02.05.2017 12:40:00|012345678
2017-05-01 14:33:43 timer_02_c01 01.05.2017 18:30:00|012345678
2017-05-01 14:33:54 wait_timer no timer
Condition:
0 DOIF_time($hash,0,1,$wday,$hms,"012345678") and InternalDoIf($hash,'FS20Regensensor422','STATE') eq "off" and InternalDoIf($hash,'Komplettberegnung','STATE') eq "aus" and InternalDoIf($hash,'Rasen_Hof_und_Hecke','STATE') eq "aus" and InternalDoIf($hash,'Rasenberegnung_Einfahrt','STATE') eq "aus" and InternalDoIf($hash,'Rasenberegnung_Hof_mitte','STATE') eq "aus" and InternalDoIf($hash,'Rasenberegnung_Kellereingang','STATE') eq "aus" and InternalDoIf($hash,'Rasenberegnung_RasenPaetz','STATE') eq "aus" and InternalDoIf($hash,'Rasenberegnung_seitl','STATE') eq "aus" and InternalDoIf($hash,'Schaf','STATE') eq "Docked" and InternalDoIf($hash,'Robotergarage','STATE') eq "besetzt" and InternalDoIf($hash,'Containerrelais_Sw_02','STATE') eq "off" and ReadingValDoIf($hash,'Lift','state') eq "closed"
1 InternalDoIf($hash,'FS20Regensensor422','STATE')eq "on" and InternalDoIf($hash,'Schaf','STATE') eq "mow"
2 InternalDoIf($hash,'FS20Regensensor422','STATE')eq "on" and InternalDoIf($hash,'Schaf','STATE') eq "Returning to dock" and InternalDoIf($hash,'Robotergarage','STATE') eq "besetzt" and ReadingValDoIf($hash,'Lift','state') eq "open"
Days:
0 012345678
1 012345678
Devices:
0 FS20Regensensor422 Komplettberegnung Rasen_Hof_und_Hecke Rasenberegnung_Einfahrt Rasenberegnung_Hof_mitte Rasenberegnung_Kellereingang Rasenberegnung_RasenPaetz Rasenberegnung_seitl Schaf Robotergarage Containerrelais_Sw_02 Lift
1 FS20Regensensor422 Schaf
2 FS20Regensensor422 Schaf Robotergarage Lift
all FS20Regensensor422 Komplettberegnung Rasen_Hof_und_Hecke Rasenberegnung_Einfahrt Rasenberegnung_Hof_mitte Rasenberegnung_Kellereingang Rasenberegnung_RasenPaetz Rasenberegnung_seitl Schaf Robotergarage Containerrelais_Sw_02 Lift
Do:
0:
0 set Rasenrobi beginnt, set Containerrelais_Sw_02 on
1 set Lift hoch
2 set Schaf mow
3 set Schaf mow
4 set Telegram0176 msg 🚷 Rasi beginnt die Runde
1:
0 set Schaf returnToDock
2:
0 set Lift runter
3:
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
0 FS20Regensensor422:STATE Komplettberegnung:STATE Rasen_Hof_und_Hecke:STATE Rasenberegnung_Einfahrt:STATE Rasenberegnung_Hof_mitte:STATE Rasenberegnung_Kellereingang:STATE Rasenberegnung_RasenPaetz:STATE Rasenberegnung_seitl:STATE Schaf:STATE Robotergarage:STATE Containerrelais_Sw_02:STATE
1 FS20Regensensor422:STATE Schaf:STATE
2 FS20Regensensor422:STATE Schaf:STATE Robotergarage:STATE
all FS20Regensensor422:STATE Komplettberegnung:STATE Rasen_Hof_und_Hecke:STATE Rasenberegnung_Einfahrt:STATE Rasenberegnung_Hof_mitte:STATE Rasenberegnung_Kellereingang:STATE Rasenberegnung_RasenPaetz:STATE Rasenberegnung_seitl:STATE Schaf:STATE Robotergarage:STATE Containerrelais_Sw_02:STATE
Interval:
0 -1
1 0
Itimer:
Localtime:
0 1493721600
1 1493656200
Readings:
0 Lift:state
2 Lift:state
all Lift:state
Realtime:
0 12:40:00
1 18:30:00
Regexp:
All:
State:
State:
Time:
0 12:40:00
1 18:30:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timers:
0 0 1
Triggertime:
1493656200:
localtime 1493656200
Hash:
1493721600:
localtime 1493721600
Hash:
Attributes:
do always
repeatsame 1:1:1:1
room 03-10
wait 0,10,40,25,3:20:0:10
kann mir bitte jemand einen Hinweis geben?
Danke im voraus
gruss tagedieb
Du hast eine lange Bedingung mit vielen "and" Verknüpfungen, mindestens eine davon ist nicht wahr, daher wird cmd_1 nicht ausgeführt. Es gilt jetzt (am besten durch Abspecken) herauszufinden, welche and-Verknüpfung davon nicht wahr ist.
Was bewirkt
([12:40-18:30|012345678]
?
Nebenbei lassen sich solche langen Konstrukte schlecht lesen, ein Zeilenumbruch nach jedem Zweig, bei vielen Bedingungen auch nach diesen nochmal, bewirkt da viel Gutes.
Zitat von: Per am 04 Mai 2017, 18:08:49
Was bewirkt
([12:40-18:30|012345678]
?
Nebenbei lassen sich solche langen Konstrukte schlecht lesen, ein Zeilenumbruch nach jedem Zweig, bei vielen Bedingungen auch nach diesen nochmal, bewirkt da viel Gutes.
7 und 8 widersprechen sich, 0123456 ist gleich 8. Die Angabe so macht keinen Sinn, es wird [12:40-18:30] (triggert immer) entsprechen.