Hallo @all,
ich versuche mich an dem Beispiel der Zeitsteuerung einer Schaltuhr ,was soweit auch funktioniert ....aber ich würde gerne noch AUTO mit im DOIF übergeben !
Also , die Zeitschaltuhr soll nur dann automatisch schalten ,wenn der Button Auto aktiv ist, oder halt manuell ON - OFF.
define lamp_Labor002 dummy
setuuid lamp_Labor002 5fc36861-f33f-9031-f239-7e626cefae359d68
attr lamp_Labor002 alias Lampe2
attr lamp_Labor002 group Labor: Zeitsteuerung mit manuell Ein/Aus
attr lamp_Labor002 room DOIF_Labor
#
define time_switch_Labor2 DOIF (["$SELF:P_mybutton2: on"] or [[$SELF:P_mybegin2,"00:00"]])\
   (set lamp_Labor002 on)\
DOELSEIF (["$SELF:P_mybutton2: off"] or [[$SELF:P_myend2,"00:01"]])\
   (set lamp_Labor002 off)
setuuid time_switch_Labor2 5fc36861-f33f-9031-47b4-57da39df7ea98623
attr time_switch_Labor2 alias Schaltuhr2
attr time_switch_Labor2 cmdState on|off|auto
attr time_switch_Labor2 group Labor: Zeitsteuerung mit manuell Ein/Aus
attr time_switch_Labor2 readingList P_mybutton2 P_mybegin2 P_myend2
attr time_switch_Labor2 room DOIF_Labor
attr time_switch_Labor2 setList P_mybutton2:uzsuSelectRadio,on,off,auto P_mybegin2:time P_myend2:time
attr time_switch_Labor2 webCmd P_mybutton2:P_mybegin2:P_myend2
wenn ich das DOIF richtig verstehe , dann prüft die erste Bedingung
(["$SELF:P_mybutton2: on"] 
ob manuell geschaltet wurde , oder 
 or [[$SELF:P_mybegin2,"00:00"]])\
  
der Timer soweit ist ,um zu schalten ....
Darum dachte ich ,ich könnte mit einer weiteren Bedingung , das DOIF dazu bewegen , den TIMER nur in Verbindung mit AUTO zu schalten
define time_switch_Labor2 DOIF (["$SELF:P_mybutton2: on"] or [[$SELF:P_mybegin2,"00:00"] and ["$SELF:P_mybutton2: auto"]])\
   (set lamp_Labor002 on)\
DOELSEIF (["$SELF:P_mybutton2: off"] or [[$SELF:P_myend2,"00:01"]])\
   (set lamp_Labor002 off)
leider ist es dem DOIF vollkommen egal ob AUTO aktiv ist oder nicht .....
Wo mache ich da den Fehler ?
Wenn ich in die readings schaue ,wird Auto in P_mybutton2 gesetzt
 READINGS:
     2020-11-29 10:31:33   P_mybegin2      10:35
     2020-11-29 10:59:53   P_mybutton2     auto
     2020-11-29 10:31:43   P_myend2        10:36
     2020-11-29 10:59:51   cmd             2
     2020-11-29 10:59:51   cmd_event       time_switch_Labor2
     2020-11-29 10:59:51   cmd_nr          2
     2020-11-29 10:37:27   mode            enabled
     2020-11-29 10:59:51   state           off
     2020-11-29 10:37:27   timer_01_c01    30.11.2020 10:35:00
     2020-11-29 10:37:27   timer_02_c02    30.11.2020 10:36:00
			
			
			
				Vielleicht ist dieses Codeschnipsel für dich interessant: https://forum.fhem.de/index.php/topic,116246.0.html
Dort kannst du verschiedene Lichtszenarien definieren, diese über GUI ein und ausschalten und manuell übersteuern.
			
			
			
				Danke ! schaue ich mir direkt mal an :-)
Also , ist es nach meiner Denkweise nicht möglich ? Hatte gehofft es verstanden zu haben *snief
			
			
			
				Zustand prüfen:
statt:
["$SELF:P_mybutton2: auto"]
[$SELF:P_mybutton2] eq "auto"
			
			
			
				erstmal vielen Dank , aber leider funzt das so nicht :
(["$SELF:P_mybutton2: on"] or [[$SELF:P_mybutton2] eq "auto" and [$SELF:P_mybegin2,"00:00"]])
   (set lamp_Labor002 on)
			
			
			
				Zitat von: Aladin222 am 29 November 2020, 12:37:33
erstmal vielen Dank , aber leider funzt das so nicht :
(["$SELF:P_mybutton2: on"] or [[$SELF:P_mybutton2] eq "auto" and [$SELF:P_mybegin2,"00:00"]])
   (set lamp_Labor002 on)
dann eher:
(["$SELF:P_mybutton2: on"] or [$SELF:P_mybutton2] eq "auto" and [$SELF:P_mybegin2,"00:00"])
			 
			
			
				Dankeschön .... probiere ich auf jeden Fall noch aus ( um es zu verstehen )
Nutzen tue ich nun aber deinen Codeschnipsel :-) Danke dafür !