Ich möchte mein Küchenlicht am WE bei einem bestimmten Lichtsensorwert ausschalten bzw. am Wochentag bei einem anderen Lichtsensorwert. Wie schaffe ich das ?
mit
define LichtAus DOIF ((([LichtsensorKueche:lightlevel] > 15000)|we) or (([LichtsensorKueche:lightlevel] > 12000)|we)) (set Licht.Kuechentisch off)
komme ich nicht weiter, und etwas anderes kann ich aus der Comandref nicht herauslesen. Hat das schon jemand irgendwie geschafft ?
Danke
			
			
			
				Hi,
https://fhem.de/commandref_modular_DE.html#DOIF_Wochentagsteuerung.
Vielleicht willst Du ja auch noch eine Zeit dazu :)
Die Zeiten triggern nicht! Nur der Lichtsensor!
define LichtAus DOIF (([?00:01-23:59|AT] and [LichtsensorKueche:lightlevel] > 15000) or ([?00:01-23:59|WE] and [LichtsensorKueche:lightlevel] > 12000) ) (set Licht.Kuechentisch off)
Gruß Otto
			
			
			
				Danke ! Hab's jetz so gelöst (mus erst abwarten ob's wirklich funktioniert  :) )
defmod Kuechentisch_aus DOIF ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8] or [LichtsensorKueche:"^lightlevel:.15\d{3}$"|7]) (set Licht.Kuechentisch off)
Die Idee mit der Zeit werde ich noch berücksichtigen !
			
			
			
				Zitat von: rallye am 14 März 2021, 13:34:50
Danke ! Hab's jetz so gelöst (mus erst abwarten ob's wirklich funktioniert  :) )
defmod Kuechentisch_aus DOIF ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8] or [LichtsensorKueche:"^lightlevel:.15\d{3}$"|7]) (set Licht.Kuechentisch off)
Die Idee mit der Zeit werde ich noch berücksichtigen !
Ich befürchte, da wirst du lange warten müssen, denn Wochentag-Angaben funktionieren nur mit Zeitangaben und nicht mit Ereignistriggern.
			
 
			
			
				Zitat von: Damian am 14 März 2021, 14:01:41
Ich befürchte, da wirst du lange warten müssen, denn Wochentag-Angaben funktionieren nur mit Zeitangaben und nicht mit Ereignistriggern.
Zumindest heute hat es funktioniert (Logeinträge)
2021.03.15 06:45:09 3: MQTT2_DEVICE set Licht.Kuechentisch offund
2021-03-15_06:40:11 LichtsensorKueche lightlevel: 11761
2021-03-15_06:40:11 LichtsensorKueche lux: 15
2021-03-15_06:40:11 LichtsensorKueche dark: 1
2021-03-15_06:40:11 LichtsensorKueche daylight: 0
2021-03-15_06:45:09 LichtsensorKueche lux: 19
2021-03-15_06:45:09 LichtsensorKueche lightlevel: 12788
2021-03-15_06:45:09 LichtsensorKueche daylight: 0
2021-03-15_06:45:09 LichtsensorKueche dark: 0
2021-03-15_06:49:43 LichtsensorKueche daylight: 0Ob das auch am WE mit dem Wert 15000 funktioniert kann ich erst am Samstag sagen (der WAF würde darunter leiden wenn ich das mit z.B Dienstag ausprobiere).
			
 
			
			
				Da muss man kein Programmierer sein, um zu sehen, dass die Angabe 8 für Arbeitstage in diesem Fall intern nicht benutzt wird:
Internals:
   CFGFN      
   DEF        ([LichtsensorKueche:"^lightlevel:.12\d{3}$"|8])
   DOIFDEV    ^global$|^LichtsensorKueche$
   FUUID      604f450b-f33f-c0d4-1df2-e11489e9f1e08f58
   MODEL      FHEM
   NAME       Kuechentisch_aus
   NR         340
   NTFY_ORDER 50-Kuechentisch_aus
   STATE      initialized
   TYPE       DOIF
   VERSION    23810 2021-02-23 20:14:35
   READINGS:
     2021-03-15 12:29:15   cmd             0
     2021-03-15 12:29:15   mode            enabled
     2021-03-15 12:29:15   state           initialized
   Regex:
     accu:
     cond:
       LichtsensorKueche:
         0:
           &STATE     ^LichtsensorKueche$
   condition:
     0          ::EventDoIf('LichtsensorKueche',$hash,'^lightlevel:.12\d{3}$',1)
   do:
     0:
       0          
     1:
   helper:
     DEVFILTER  ^global$|^LichtsensorKueche$
     NOTIFYDEV  global|LichtsensorKueche
     globalinit 1
     last_timer 0
     sleeptimer -1
   trigger:
     all         LichtsensorKueche 
   uiTable:
Attributes:
			
			
			
				Zitat von: Damian am 15 März 2021, 12:32:37
Da muss man kein Programmierer sein, um zu sehen, dass die Angabe 8 für Arbeitstage in diesem Fall intern nicht benutzt wird:
Danke, hab's verstanden
			
 
			
			
				Wenn es nur ums Wochenende geht, probier mal:
define LichtAus DOIF ([LichtsensorKueche:lightlevel] > (($we)?12000:15000)) (set Licht.Kuechentisch off)
Wobei du bei deinem ersten DOIF Versuch bei beiden Werten |we stehen hast, musst also selbst nochmal die Zuordnung prüfen.