Auslösen über Bewegungsmelder ignorieren, wenn Lampe manuell angeschaltet wurde

Begonnen von harle, 13 November 2021, 09:38:43

Vorheriges Thema - Nächstes Thema

KyleK

Ich hab folgendes Setup bei mir:
* Zigbee-Licht in der Küche
* Zigbee-Dimmschalter der das Licht schaltet
* Amazon Echo zur Sprachsteuerung

Meine  Verhalten ist eigentlich wie das vom TE:
* Wenn das Licht nicht manuell eingeschaltet wurde, dann nutze den BWM
* Wenn das Licht manuell eingeschaltet wurde, ignoriere den BWM
* Wenn das Licht manuell ausgeschaltet wurde, aktiviere den BWM wieder.

Dazu hab ich folgendes DOIF:

defmod di.Kuechenlicht_Control DOIF ((["^Echo_:^voice",""] =~ /ober\s?licht(?!.*aus)/i or [hue.dimmer.Oberlicht:"DimUp"]) and ([?di.Kuechenlicht_Motion:mode] ne "disabled" or [$SELF:cmd] eq "2.2"))\
  (msg @rr_Frank ($EVENT) Oberlicht was turned on manually. Disabling di.Kuechenlicht_Motion)\
  (set di.Kuechenlicht_Motion disable)\
DOELSEIF([hue.light.Oberlicht:"^onoff:.0$"] and [?di.Kuechenlicht_Motion:mode] eq "disabled")\
  (msg @rr_Frank ($EVENT) Oberlicht was turned off. Enabling di.Kuechenlicht_Motion)\
  (set di.Kuechenlicht_Motion enable)\
\

attr di.Kuechenlicht_Control do always
attr di.Kuechenlicht_Control room System->DOIF
attr di.Kuechenlicht_Control wait 0,0:0,30

(Die msg commands waren mal fürs Testen gedacht und können eigentlich raus)

Dieses DOIF ist nur dazu da, das BWM-DOIF di.Kuechenlicht_Motion ein- oder auszuschalten.
Wenn jemand einen Alexa-Befehl "Oberlicht..(an|50%|???%|...)" sagt, oder am Dimmschalter das Licht anschaltet, dann wird das BWM-DOIF deaktiviert.
Wenn das Oberlicht abgeschalten wird (von wem ist egal), und das BWM-DOIF im Status "disabled" ist, dann schalte es wieder an.

Vielleicht hilfts...
FHEM on Futro S940
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen