FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: trs am 13 Juli 2018, 16:41:11

Titel: Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 13 Juli 2018, 16:41:11
Um mit einenm  notify die Beleuchtung mit einem Bewegungsmelder zu scalten, ist klar:

-Bewegungsmelder on set Lampe on for timer

Die Beleuchtung geht an, und nach einer vorgegeben Zeit wieder aus. Ist aber immer noch jemand im Raum, sprich Bewegung, geht die Beleuchtung nach kurzer Zeit wieder an, und das Spiel geht von Neuem los. Ist ja auch logisch.

Wie kann die Steuerung aber intelligenter gemacht werden? Also wenn in der Zeit, in der die Beleuchtung an ist (auf Grund von Bewegung bei der Auslösung), weiterhin der Bewegungsmelder ausgelöst wird, sich die Zeit, in der die Beleuchtung an ist, verlängert. Also ohne an/aus dazwischen.

Hat das hier schon einer umgesetzt, und kann mir einen Lösungsansatz geben?

Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 13 Juli 2018, 16:44:45
Ja,
defmod di_Flurlicht DOIF ([PIR1:"motion:.on"] and ([?Tageslicht] eq "0" or [?PIRWg:brightness] < 130)) (set SW01_Sw01 on)(set SW01_Sw01 off)
attr di_Flurlicht do resetwait
attr di_Flurlicht room Flur
attr di_Flurlicht wait 0,180


Der Bewegungsmelder selbst hat eine Verzögerung von 120 sec, dann meldet er frühestens wieder.

Gruß Otto
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: betateilchen am 13 Juli 2018, 17:54:05
Bei meinem Homematic Bewegungsmeldern wird das Register minInterval ausgelesen und die on-for-timer immer 5 Sekunden länger eingestellt :)


            my $t = ReadingsVal("fl_PIR1_Motion",'R-minInterval',120) + 5;
            CommandSet(undef,"fl_Licht on-for-timer $t") unless (ReadingsVal("fl_PIR1_Motion",'brightness',99) >= 95);
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 16 Juli 2018, 21:57:30
Vielen dank.

@Otto123:  probiere ich aus

@betateilchen: da steig ich noch nicht ganz durch

Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: swsmily am 16 Juli 2018, 22:13:05
meldet denn der Bewegungsmelder nur einmal die Bewegung und nicht "keine Bewegung"?

Ich habe bei mir mehrere Fibaro Motion Eyes, diese melden den Status Open (Bewegung erkannt) und Closed (keine Bewegung).
Die Zeit, wann Closed nach letzter Bewegung gemeldet wird, kann direkt in den Einstellungen der Bewegungsmelder individuell eingestellt werden.

daher sind bei mir alle Lichtsteuerungen ähnlich dem folgenden aufgebaut (DOIF):
([Bewegungsmelder] eq "open")
(set Licht an)
DOELSEIF ([Bewegungsmelder] eq "closed")
(set Licht aus)


on-for-timer brauche ich damit gar nicht.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Pfriemler am 17 Juli 2018, 13:13:07
betateilchen und Otto123 beziehen sich offenbar auf den HomeMatic-Bewegungsmelder. Der sendet nur einmal Bewegung und schweigt dann für die einstellbare Zeitdauer. "Nicht-Bewegung" wird nur gesendet, wenn es zyklisch andere Meldungen gibt. Meines Wissens bildet FHEM alternativ dazu noMotion selbst ... bin aber nicht so sicher.
Andere Bewegungsmelder könnten durchaus geschwätziger sein und öfter senden.
Die Fibaro-Motion-Eyes-Methode klingt für mich irgendwie deutlich praxisnäher...
edit: im Homematic-Fall ist es charmant, das Reading direkt zu verwenden. 5 Sekunden wären mir aber zu kurz. Im Bad bin ich hin und wieder nicht so agil  ;) Aber das kann ja jeder selbst festlegen.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 17 Juli 2018, 22:21:03
Ich nutze Xiaomi Bewegungsmelder. Die melden "motion" und "no_motion"
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: swsmily am 17 Juli 2018, 22:40:31
wenn beides gemeldet wird, dann nutze doch die Meldungen des Bewegungsmelders und nicht on-for-timer. somit bleibt das licht doch so lange an, wie der Bewegungemelder eine Bewegung registiert.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 18 Juli 2018, 06:26:24
Aber dann habe ich ja genau den Effekt, dass das Licht bei Bewegung an geht, und sofort aus, wenn kurzzeitig keine Bewegung erkannt wird...
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 18 Juli 2018, 09:23:27
Moin,

und Du hast Probleme mit meinem Vorschlag? Der macht genau was Du willst und funkt nicht unnütz.
Die beiden Zusatzbedingungen (and ([?Tageslicht] eq "0" or [?PIRWg:brightness] < 130)) kannst Du auch erstmal getrost weglassen.

Gruß Otto
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: betateilchen am 18 Juli 2018, 09:39:06
Zitat von: Pfriemler am 17 Juli 2018, 13:13:07
im Homematic-Fall ist es charmant, das Reading direkt zu verwenden. 5 Sekunden wären mir aber zu kurz. Im Bad bin ich hin und wieder nicht so agil

In solchen Fällen habe ich zwei Lösungsansätze:


Die erste Variante habe ich auch im Bad im Einsatz - zumal dort die Dusche nicht vom Bewegungsmelder erfasst wird.
Den watchdog habe ich beispielsweise im Wohnzimmer im Einsatz. Dort gibt es zwei Bewegungsmelder, die in einer structure zusammengefasst sind.

Sobald sich der Status der structure ändert, weil keine Bewegung erkannt wurde, triggert der watchdog und wartet die nächsten 15 Minuten, ob auch weiterhin keine Bewegung auftritt. Erst dann wird das Licht ausgeschaltet. Vor dem Ausschalten merkt sich die structure aber, welche Lampen im Wohnzimmer zu diesem Zeitpunkt eingeschaltet waren. Betritt man innerhalb der nächsten 60 Minuten das Wohnzimmer wieder, werden exakt die gleichen Lichter wieder angeschaltet, die man vorher "vergessen" hatte, auszumachen.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 02 August 2018, 19:44:19
@Otto123:

habe es jetzt so probiert wie bei dir:

defmod XMI_0x00158d0001fa4075_DOIF_2 DOIF (([XMI_0x00158d0001fa4075:"^motion$"]) and (ReadingsVal("XMI_0x00158d0001fa4075","illuminance",0) < 80))  (set BU_fenster02 on)(set BU_fenster02 off)
attr XMI_0x00158d0001fa4075_DOIF_2 do resetwait
attr XMI_0x00158d0001fa4075_DOIF_2 room Gästebad
attr XMI_0x00158d0001fa4075_DOIF_2 wait 0,70

setstate XMI_0x00158d0001fa4075_DOIF_2 cmd_1
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:11:14 Device XMI_0x00158d0001fa4075
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:06:00 cmd 1.2
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:06:00 cmd_event XMI_0x00158d0001fa4075
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:06:00 cmd_nr 1
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:06:00 cmd_seqnr 2
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:11:14 e_XMI_0x00158d0001fa4075_events battery_level: 100.00,battery: ok,lux: 28,illuminance: 28,voltage: 3055,no_motion,occupancy: false
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-07-31 18:22:16 mode enabled
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:06:00 state cmd_1
setstate XMI_0x00158d0001fa4075_DOIF_2 2018-08-02 19:05:59 wait_timer no timer


Ist aber so wie immer. Geht an, und nach der vordefinierten Zeit wieder aus. Egal, ob während der Zeit Bewegung ist. Es muss so sein, das in der zweiten Hälfte der Zeit Bewegungen gezählt werden. Bei überschreiten einer Zahl von Bewegungen wird die Dauer "Licht an" verlängert.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Damian am 02 August 2018, 20:44:40
Zitat von: trs am 02 August 2018, 19:44:19
Ist aber so wie immer. Geht an, und nach der vordefinierten Zeit wieder aus. Egal, ob während der Zeit Bewegung ist. Es muss so sein, das in der zweiten Hälfte der Zeit Bewegungen gezählt werden. Bei überschreiten einer Zahl von Bewegungen wird die Dauer "Licht an" verlängert.
Weil XMI_0x00158d0001fa4075 offenbar kein erneutes "motion" innerhalb der 70 Sekunden sendet, auch wenn du vor dem Bewegungsmelder tanzt :)

Schau dir mal im Eventmonitor wann das Event motion kommt.  Ich gehe davon aus, dass du keine zwei motion-Events innerhalb von 70 Sekunden finden wirst.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 02 August 2018, 20:50:00
Ist auf 20 sec. gestellt.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: trs am 02 August 2018, 21:10:54
Ok, alles geklärt:

Ich konnte einstellen, dass der Bewegungsmelder nach 20 sec. von "motion" auf "no_motion" springt. Dann dauert es aber weitere 40 sec., bis erneut "motion" gesendet wird. Hat also bei 70 sec. nur noch 10 sec. Zeit, auf Bewegung zu reagieren. War zu knapp. Habe die Zeitspanne im DOIF auf 90 sec. gesetzt.

Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Razor am 06 März 2019, 22:43:06
Hallo, ich habe diese Lösung nun auch erfolgreich implementiert :)
define di_WCLicht DOIF ([Motion4Sensor:"motion.*"] and ([Lichtwetter:twilight_weather] <83)) (set WCLicht on)(set WCLicht off)
setuuid di_WCLicht 5c80129c-f33f-6e90-1f2b-ec4c4bc8100564a8
attr di_WCLicht comment https://forum.fhem.de/index.php/topic,89362.0/topicseen.html#ratethis
attr di_WCLicht devStateIcon cmd_1:10px-kreis-gruen cmd_1_1:10px-kreis-gelb disabled:10px-kreis-rot
attr di_WCLicht do resetwait
attr di_WCLicht group 05_Licht_04_WC
attr di_WCLicht icon icoUhr
attr di_WCLicht room 04_WC
attr di_WCLicht wait 0,122


Nun eine Frage: Wenn ich den Lichtschalter manuell betätige, ist der Timer ja nicht aktiv und das Licht bleibt an, was ein Future oder ein Bug sein kann, je nach Sicht der Dinge.
Wie kriege ich das manuelle anschalten da mit rein, so dass auch dann das Licht wieder ausgeht?
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 06 März 2019, 22:48:02
nicht probiert!
Bedingung ergänzen um den Lichtschalter und das DOIF damit zus. triggern:
(([Motion4Sensor:"motion.*"] or [WCLicht:"on"]) and ([Lichtwetter:twilight_weather] <83))
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Razor am 06 März 2019, 22:51:58
Wow das geht ja fix, lieben Dank, probiere ich aus  :)
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Razor am 06 März 2019, 23:05:53
Test:
Lichtschalter ON per Fhem, nomotion
-->Licht geht aus nach 121s
Lichtschalter ON am Schalter, nomotion
-->Licht geht aus nach 121s
Lichtschalter on per motion
-->Licht geht nach letzten Triggermotion nach 12s wieder aus.

Vielen lieben Dank :D :D :D
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: leachim200 am 29 September 2020, 13:48:38
Hallo
Ich weiß das thema ist schon älter ich hab die Lösung von Otto umgesetzt bekommen funktioniert sehr gut.
Jetzt habe ich noch eine zusätzliche Idee die mir im Kopf schwirrt. Wenn ich beispielsweise im Wohnzimmer vor dem Fernseher sitze und mich nicht bewege würde der Bewegungsmelder ja irgendwann sagen ok da ist keiner also licht aus.
Gibt es eine möglichkeit zu sagen Wenn Bewegung=erkannt und TV=ON dann starte keinen Timer sondern warte bis TV=OFF?

Das kann man sicher mit einem DOIF lösen ich komme nur gerade nicht darauf wie :/
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Pfriemler am 29 September 2020, 18:47:04
Das letzte hier erwähnte DOIF trigger auf Bewegung (!) und schaltet das Licht ein und verzögert wieder aus. Tritt in der Verzögerungszeit eine erneute Bewegung auf, wird der Timer zurückgesetzt.
Es gibt also keinen Trigger auf Nichtbewegung.
a) Du könntest TV=ON als zusätzliche Bedingung in den Triggerzweig aufnehmen. Dann musst Du das Licht aber beim Fernsehen nach Ablauf des DOIF-Verzögerung und erfolgtem Auschalten noch einmal manuell eingeschaltet haben, weil das Retriggern entfällt, sobald TV=ON ist.
b) Du könntest das "set ... off" noch einmal an die Bedingung TV=OFF koppeln. Dann wird das DOIF weiterhin regelmäßig getriggert, sobald eine Bewegung stattgefunden hat, aber es erfolgt keine Ausschaltung. Nach dem Ausschalten des Fernsehers würde die erste erkannte Bewegung wiederum das DOIF triggern und das Licht dann ausgehen. Solange sich nach dem Ausschalten des TV keiner im Zimmer regt, bliebe das Licht jedoch an...
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 29 September 2020, 19:08:05
Schräge Idee: den TV eq "ON" mit in die Bedingung, und dafür sorgen das der TV regelmäßig einen Event sendet (120 sec) also mal ausnahmsweise nicht eocr .*

Gruß Otto
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Damian am 29 September 2020, 20:24:41
Man könnte ausprobieren:
DOIF ([BM:"motion"] and [?TV:state] eq "off") (set lampe on)(set lampe off)
DOELSEIF ([BM:"motion"] and [?TV:state] eq "on" and $cmd != 2) (set lampe on)
DOELSEIF ([TV:"on"]) (set lampe on)
DOELSEIF ([TV:"off"]) (set lampe off)

attr do resetwait
attr wait 0,300:0:0:10


Helligkeit wurde hier nicht berücksichtigt, ließe sich aber mit and verknüpfen (ggf. über DOIF_Readings)
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: leachim200 am 30 September 2020, 08:27:00
Hallo und Vielen dank für eure Inputts
Im laufe des Tüftelns bin ich dahinter gekommen, dass ich eine Einstellung etwas anders haben möchte als die Bei Otto

Folgende Punkte habe ich versucht zu berücksichtigen für den Wintergarten (Flur):
1) BW= Motion set Lampe on
2) BW = Motion Lampe bleibt an.
3) BW = Nomotion starte Timer für 60 sek dann set Lampe off

Folgende Punkte habe ich versucht zu berücksichtigen für das Wohnzimmer. Hier ist noch eine gedankliche Änderung zu berücksichtigen da hier der Fernseher steht und wir wenn es zu dunkel ist gerne das Licht brennen haben:
1) BW= Motion set Lampe on
2) BW = Motion Lampe bleibt an.
3) BW = Nomotion und TV off starte Timer für 60 sek dann set Lampe off
4) BW = Nomotion und TV on mache nichts

Ich habe dies nun mit folgendem Code gelöst
DOIF ([WetterLicht:state] eq "motion" and [?WetterLicht:light] < 50 ) (set TestLampe on)
DOELSEIF ([WetterLicht:state] eq "nomotion" and ([DummyTV:state] eq "on" )) ({Log 3, "Wintergartenlicht gesperrt"})
DOELSEIF ([WetterLicht:state] eq "nomotion" and ([DummyTV:state] eq "off")) (set TestLampe off)

attr do resetwait
attr wait 0:0:120


Ich würde mich über Feedback freuen ob man noch etwas verbessern oder schöner machen kann (Die Devices sind Test Devices daher auch die komischen Namen)
lg michi
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Dreggwatz am 06 Dezember 2020, 09:46:03
Hallo zusammen,
eigentlich funktioniert Ottos code bei mir, lediglich die technische Umsetzung stört den Prozess.
Es kommt vor, dass der Befehl "on" bei meinen Aktoren nicht ankommt (WLAN Störungen). Dann steht das DOIF trotzdem im cmd1_1 für die vorgegeben 180s aber das Licht geht nicht ein. Auch wenn motion neu getriggert wird, verlängert sich die Zeit durch wait und das Licht bleibt trotzdem aus.
Ich bräuchte jetzt eine Funktion die überprüft ob die Aktoren auch wirklich ein sind und wenn nicht das DOIF wieder resettet damit erneutes triggern das Licht einschaltet.

Danke für Eure Ideen.


(([BM.EG_Flur] eq "motion" or [TK.EG_Eingang] eq "open") and [myTL:twilight_weather] <70)(set SY1.EG_Eingang on, set SY1.EG_Flur on)

Attributes:
   alias      di_BM.EG_Eingang
   devStateIcon cmd_1_1:clock cmd_1:control_standby@green disabled:general_aus@red
   do         resetwait
   icon       clock
   room       Licht
   wait       0,180
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: amenomade am 06 Dezember 2020, 10:12:39
Was mich in deinem DOIF stört: twilight_weather triggert auch das DOIF und damit auch das resetwait. Wie oft meldet sich myTL?

Wegen deiner Frage: wenn schon ein erneuertes "motion" das Licht immer noch nicht anmacht, hast Du wirklich ein Funk-Problem und ich würde die Ursache davon erstmal versuchen zu beseitigen.

Wenn es unbedingt nur sofwaremässig sein soll, dann machst Du ein 2. DOIF ([di_BM.EG_Eingang:state] eq "cmd1_1") (set EG_Eingang on) DOELSE mit Attribut repeatcmd zur beliebigen Wiederholung des Befehls.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 06 Dezember 2020, 11:24:33
Hallo Dreggwatz,

den Code versteh ich gar nicht. Da schaltet doch keiner aus? Du schaltest ein und wartest 180s - das ist doch völlig sinnfrei?

Gruß Otto
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Dreggwatz am 06 Dezember 2020, 12:55:47
@Otto, Bedienerfehler - hatte nicht alles kopiert...


(([BM.EG_Flur] eq "motion" or [TK.EG_Eingang] eq "open") and [myTL:twilight_weather] <70)(set SY1.EG_Eingang on, set SY1.EG_Flur on)
(set SY1.EG_Eingang off, set SY1.EG_Flur off)



@amenomade danke. werde wohl mit der Softwarelösung zurecht kommen müssen. Die aktoren sind wifi und der bewegungsmelder HM. Und ich sehe das Verbindungsprobleme auftauchen. Mit myTL muss ich mir ansehen, aber das cmd1_1 kommt eigentlich ja <70
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Brad Majors am 01 November 2022, 20:47:48
Hat jemand eine Idee warum der doif in Verwendung mit dem Sunset nicht funktioniert

([{sunset("HORIZON=2.0")}]-[23:59:00] and [HUESensor1:dark] eq "1" and [HUESensor4:state] eq "motion")
  (set Hue_Lightscene_1 scene Mitte_Oben_99)
  DOELSE
  (set Hue_Lightscene_1 scene Mitte_Oben_25)


Der gleiche mit einer einfachen Zeitangabe funktioniert.

([17:00-23:59] and [HUESensor1:dark] eq "1" and [HUESensor4:state] eq "motion")
  (set Hue_Lightscene_1 scene Mitte_Oben_99)
  DOELSE
  (set Hue_Lightscene_1 scene Mitte_Oben_25)


Ich hätte aber gerne das der erst dann die Lampen über den Bewegungsmelder schaltet wenn es auch dunkel ist :).
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Otto123 am 01 November 2022, 21:37:49
Hi,

das hier ist Unfug: [{sunset("HORIZON=2.0")}]-[23:59:00]

Sollte so aussehen [{sunset("HORIZON=2.0")} - 23:59:00]

Gruß Otto
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Brad Majors am 01 November 2022, 22:05:33
Danke Otto.

Das war es.

Ich glaube jetzt wo du es sagst das war schon mal in einem anderem Post geschrieben das die beiden mittleren Klammern Blödsinn waren/sind.
Ich versuche schon meist erst überall zu schauen ob jemand anderes schon ein ähnliches Problem hat.

Bevor ich eure Zeit und Mühen in Anspruch nehme.

Danke noch mal.
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Brad Majors am 03 November 2022, 11:02:52
Ich habe aber noch ein Problem was ich nicht sauber gelöst bekommen.

([{sunset("HORIZON=2.0")} - 23:59:00] and [Hue_Sensor_Conbee_VPIR_Daylight:dark] eq "1" and [Hue_Sensor_BM_Tradfri_1:state] eq "motion")
  (set Hue_Lightscene_1 scene Mitte_Oben_99)
  DOELSE
  (set Hue_Lightscene_1 scene Mitte_Oben_25)


Die Idee ist folgende.

- Zwischen Sonnenuntergang und 23:59 möchte ich den Bewegungsmelder aktiv haben und die Lampen zwischen 25% und 100% schalten
- Zwischen 23:59 und Sonnenuntergang sollen die Lampen aber auf 0% sein

Jetzt geht er aber in meinem doif auf 25% auch zwischen 23:59 und Sonnenuntergang.

Selbst wenn ich jetzt einen weiteren doif setze das er zwischen 23:59 bis Sonnenuntergang auf 0% geht dann ist der erste doif wohl stärker :).

Kann ich das ganze mit nur einem doif machen quasi zwischen 23:59 - Sonnenuntergang gehe auf 0%?

Funktioniert das ggf. mit einem DOELSEIF?

([{sunset("HORIZON=2.0")} - 23:59:00] and [Hue_Sensor_Conbee_VPIR_Daylight:dark] eq "1" and [Hue_Sensor_BM_Tradfri_1:state] eq "motion")
  (set Hue_Lightscene_1 scene Mitte_Oben_99)
  DOELSE
  (set Hue_Lightscene_1 scene Mitte_Oben_25)
  DOELSEIF
  [23:59:15 - {sunset("HORIZON=2.0")}]
  (set Hue_Lightscene_1 scene Mitte_Oben_0)


Mal testen :).
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Brad Majors am 03 November 2022, 12:19:42
Der hier scheint (im Moment) zu funktionieren.

Mal heute Abend schauen ob er die Lampen wieder einschaltet.

([{sunset("HORIZON=2.0")} - 23:59:00] and [Hue_Sensor_Conbee_VPIR_Daylight:dark] eq "1" and [Hue_Sensor_BM_Tradfri_1:state] eq "motion")
  (set Hue_Lightscene_1 scene Mitte_Oben_99)
  DOELSEIF
  ([{sunset("HORIZON=2.0")} - 23:59:00] and [Hue_Sensor_Conbee_VPIR_Daylight:dark] eq "1" and [Hue_Sensor_BM_Tradfri_1:state] eq "nomotion")
  (set Hue_Lightscene_1 scene Mitte_Oben_25)
  DOELSEIF
  ([23:59:15 - {sunset("HORIZON=2.0")}] and [Hue_Sensor_Conbee_VPIR_Daylight:dark] eq "0")
  (set Hue_Lightscene_1 scene Mitte_Oben_0)
Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: sinemeter am 20 Dezember 2022, 04:56:32
Zitat von: Otto123 am 06 März 2019, 22:48:02
nicht probiert!
Bedingung ergänzen um den Lichtschalter und das DOIF damit zus. triggern:
(([Motion4Sensor:"motion.*"] or [WCLicht:"on"]) and ([Lichtwetter:twilight_weather] <83))

Hi zusammen,

Ich habe ein Problem mit der von Otto vorgeschlagenen Lösung.
Bei mir ist der Schalter ein ShellyPlus1PM
Der echte Schalter ist detached und ein edge switch nach Shelly Logik
er soll also bei jeder Änderung der Schalterstellung die Lampen einschalten.

Bei meiner Definition

defmod FlurOG_an_nachts DOIF ([BewegungFlurOG:state] eq "motion" \
  or  [OG_Flur_Shelly:"^params_input_0_state:.*$"]\
  and [SensorFlurOGLux:lux] < 21)\
    (set OG_FL.*_Licht bri 5) \
    (set OG_FL.*_Licht on)\
    (set OG_FL.*_Licht off)
attr FlurOG_an_nachts DbLogExclude .*
attr FlurOG_an_nachts alias FlurOG_an_nachts
attr FlurOG_an_nachts do resetwait
attr FlurOG_an_nachts icon time_timer
attr FlurOG_an_nachts room Flur
attr FlurOG_an_nachts wait 0,0,300

setstate FlurOG_an_nachts initialized
setstate FlurOG_an_nachts 2022-12-20 04:42:07 cmd 0
setstate FlurOG_an_nachts 2022-12-20 04:42:07 mode enabled
setstate FlurOG_an_nachts 2022-12-20 04:42:07 state initialized



schaltet zwar der Bewegungsmelder aber nicht der echte Schalter am Shelly.
Liegt es an der Schreibweise bei params_... ??
hatte bei meiner alten Def. nur mit dem Shelly ohne Bewegungsmelder so funktioniert.

Titel: Antw:Bewegungsmelder, notify, DOIF...oder was
Beitrag von: Sany am 20 Dezember 2022, 09:23:17
ZitatLiegt es an der Schreibweise bei params_... ??

- EventMonitor (bekannt?**) -> Filter auf den Shelly
- Shelly mehrmals an und ausschalten
- was zeigt der EventMonitor?
- gewünschte Zeile komplett markieren und oben [Create/Modify Device] klicken, DOIF auswählen und den erzeugenten Trigger kopieren und in Dein DOIF einbauen. Evtl. muss der angepasst werden, da Du ja auf on und off reagieren willst.

ZitatIch habe ein Problem mit der von Otto vorgeschlagenen Lösung.
Du hast Ottos Lösung schon mal falsch abgeschrieben, es fehlen Klammern:
Du hast 3 Bedingungen: Bewegunsmelder, Schalter und Helligkeit.
Jetzt kommt die Überlegung, was soll schalten/triggern und was soll nur überprüft werden.
Hier eher einfach: der BWM und der Schalter sollen triggern, die Helligkeit wird nur abgefragt. Also sollten die beiden ersten beim Event triggern, die Helligkeit bekommt ein ? hinter die [, damit Helligkeit nicht triggert.
das müstte es dann so aussehen:
Zitat(([BewegungFlurOG:"motion"] or [OG_Flur_Shelly:"^params_input_0_state:.*$"]) and [?SensorFlurOGLux:lux] < 21)
Übersetzt: ("Bewegungsmelder meldet Bewegung" ODER "der Lichtschalter wurde umgeschaltet") UND es ist "dunkel genug" (man könnte auch sagen: aber auf jeden Fall ist es dunkel genug) dann ....
Die Schreibweise der Trigger aus dem Eventmonitor nehmen.


Viel Erfolg!


Sany


** falls nicht: https://wiki.fhem.de/wiki/Event_monitor (https://wiki.fhem.de/wiki/Event_monitor)