FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: rallye am 14 März 2021, 12:00:01

Titel: [erledigt] Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: rallye am 14 März 2021, 12:00:01
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
Titel: Antw:Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: Otto123 am 14 März 2021, 12:46:41
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
Titel: Antw:Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag 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 !
Titel: Antw:Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: Damian am 14 März 2021, 14:01:41
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.
Titel: Antw:Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: rallye am 15 März 2021, 12:16:14
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 off
und
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: 0


Ob 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).
Titel: Antw:[erledigt] Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag 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:

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:
Titel: Antw:[erledigt] Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: rallye am 15 März 2021, 14:01:11
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
Titel: Antw:[erledigt] Doif - unterschiedliche Sensorwerte am WE und !WE
Beitrag von: Per am 24 März 2021, 09:52:26
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.