Bewegungsmelder, notify, DOIF...oder was

Begonnen von trs, 13 Juli 2018, 16:41:11

Vorheriges Thema - Nächstes Thema

Brad Majors

#30
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.
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

Brad Majors

#31
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 :).
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

Brad Majors

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)
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

sinemeter

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.


Sany

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
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....