[erledigt] Doif - unterschiedliche Sensorwerte am WE und !WE

Begonnen von rallye, 14 März 2021, 12:00:01

Vorheriges Thema - Nächstes Thema

rallye

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
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

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 !
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Damian

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

rallye

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).
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Damian

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

rallye

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
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Per

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.