DOIF muss immer "angestubst" werden ?

Begonnen von tagedieb, 01 Mai 2017, 14:40:48

Vorheriges Thema - Nächstes Thema

tagedieb

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
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Damian

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.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

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.

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF