FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chrille76 am 17 Dezember 2016, 13:52:31

Titel: HM-Sen-MDIR-WM55 und DOIF
Beitrag von: chrille76 am 17 Dezember 2016, 13:52:31
Hallo,

ich befasse mich erst seit Kurzem mit FHEM und noch kürzer mit der Einbindung von Homematic-Komponenten. Im Moment versuche ich gerade, genannten Bewegungsmelder einzubinden. Dazu habe ich ein DOIF entsprechend der Commandref angelegt.
Zitatdefine di_on_for_timer ([detector:"motion"])
(set light on)
(set light off)
attr di_on_for_timer do resetwait
attr di_on_for_timer wait 0,30

Sieht dann bei mir so aus:
define di_wz_light_motion DOIF ([?[twilight:ss_civil]-[twilight:sr_civil]] and [WZ.HM_Sen_MDIR_WM55_Motion:"motion"])
    (set HUEGroup4 scene tD9vmHnIpLhu-O-)
    (set HUEGroup4 off)
attr di_wz_light_motion do resetwait
attr di_wz_light_motion wait 0,60


Nun zu meinen Fragen/Problemen.

Danke und Gruß, Christian

PS: M. E. ist das eine Anfängerfrage. Sollte der Beitrag aber im Homematic- oder DOIF-Bereich besser aufgehoben sein, sagt es mir einfach.
Titel: Antw:HM-Sen-MDIR-WM55 und DOIF
Beitrag von: Tabularasa am 17 Dezember 2016, 19:32:33
Hi. Guck mal hier https://wiki.fhem.de/wiki/HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen (https://wiki.fhem.de/wiki/HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen). Da sind ein paar Beispiele. Ich bin zwar noch nicht soweit, dass ich es verstehe, aber vielleicht hilft es dir und du postest dein Ergebnis was mir dann hilft ;D
Titel: Antw:HM-Sen-MDIR-WM55 und DOIF
Beitrag von: Damian am 17 Dezember 2016, 21:02:58
define di_wz_light_motion DOIF ([?[twilight:ss_civil]-[twilight:sr_civil]] and [WZ.HM_Sen_MDIR_WM55_Motion:"motion on"] and [?HUEGroup4] eq "off")
    (set HUEGroup4 scene tD9vmHnIpLhu-O-)
    (set HUEGroup4 off)
attr di_wz_light_motion do resetwait
attr di_wz_light_motion wait 0,60


Gruß

Damian
Titel: Antw:HM-Sen-MDIR-WM55 und DOIF
Beitrag von: chrille76 am 18 Dezember 2016, 10:37:22
Zitat von: Damian am 17 Dezember 2016, 21:02:58
define di_wz_light_motion DOIF ([?[twilight:ss_civil]-[twilight:sr_civil]] and [WZ.HM_Sen_MDIR_WM55_Motion:"motion on"] and [?HUEGroup4] eq "off")
    (set HUEGroup4 scene tD9vmHnIpLhu-O-)
    (set HUEGroup4 off)
attr di_wz_light_motion do resetwait
attr di_wz_light_motion wait 0,60

Danke, Damian. So in der Art hätte ich mir das auch vorgestellt. Was mir allerdings nicht klar ist: wenn ich auf den Enschaltzustand des Lichts abfrage, dann kann doch aber eine weitere Bewegung nicht den Zeitraum verlängern, da es ja dann eben schon an ist...!? Oder wo ist mein Denkfehler?

Zitat von: Tabularasa am 17 Dezember 2016, 19:32:33
Hi. Guck mal hier https://wiki.fhem.de/wiki/HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen (https://wiki.fhem.de/wiki/HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen). Da sind ein paar Beispiele. Ich bin zwar noch nicht soweit, dass ich es verstehe, aber vielleicht hilft es dir und du postest dein Ergebnis was mir dann hilft ;D
Das hab ich tatsächlich schon gelesen und es hat mir auch weitergeholfen. Nur eben nicht bei den hier gestellten Fragen  ;)
Titel: Antw:HM-Sen-MDIR-WM55 und DOIF
Beitrag von: Damian am 18 Dezember 2016, 12:03:36
Zitat von: chrille76 am 18 Dezember 2016, 10:37:22
Danke, Damian. So in der Art hätte ich mir das auch vorgestellt. Was mir allerdings nicht klar ist: wenn ich auf den Enschaltzustand des Lichts abfrage, dann kann doch aber eine weitere Bewegung nicht den Zeitraum verlängern, da es ja dann eben schon an ist...!? Oder wo ist mein Denkfehler?
Das hab ich tatsächlich schon gelesen und es hat mir auch weitergeholfen. Nur eben nicht bei den hier gestellten Fragen  ;)

Du hast Recht. Für die Verlängerung müsstest du noch den eigenen Zustand abfragen, z. B

define di_wz_light_motion DOIF ([?[twilight:ss_civil]-[twilight:sr_civil]] and [WZ.HM_Sen_MDIR_WM55_Motion:"motion on"] and ([?HUEGroup4] eq "off" or $cmd == 1.1 ) ...
Titel: Antw:HM-Sen-MDIR-WM55 und DOIF
Beitrag von: chrille76 am 18 Dezember 2016, 12:31:58
So, jetzt läuft es so, wie ich es möchte. Vielen Dank!

Um noch einmal zusammenfassend auf meine Fragen aus dem Eröffnungspost einzugehen, falls jemand ähnliche Fragen hat:
Zitat

  • Funktioniert das überhaupt, wenn minInterval des Bewegungsmelders größer oder gleich 60 ist? So wie ich das verstehe, wird doch eine erneute Bewegung nach dem Anschalten nur nach Ablauf von minInterval übertragen...!?
  • Offensichtlich wird auch ein Motion-Event ausgelöst, wenn motion von "on" auf "off" wechselt. Das führt doch dann zu resetwait und der Timer läuft nochmal, auch wenn keine Bewegung mehr stattfindet...!?
  • Bisher habe ich es nicht sinnvoll hinbekommen, dass das DOIF nur dann auslöst, wenn das Licht nicht ohnehin schon an ist. Tipps?

Im Ergebnis sieht es nun so aus:
([?[twilight:ss_civil]-[twilight:sr_civil]] and [WZ.HM_Sen_MDIR_WM55_Motion:"motion: on"] and (([?HUEDevice6] eq "off" and [?HUEDevice7] eq "off" and [?HUEDevice8] eq "off") or $cmd == 1.1))
    (set HUEGroup4 scene tD9vmHnIpLhu-O-)
    (set HUEGroup4 off)