Treppenhausschaltung mittels HM-Sen-MDIR-WM55 Bewegungsmeldern und HM-LC-SW4-DR

Begonnen von Rossi, 11 Dezember 2016, 13:46:09

Vorheriges Thema - Nächstes Thema

Rossi

Hallo Zusammen,
ich bin neu hier und benötige etwas Hilfe bei der Realisierung meiner Treppenhausbeleuchtung mittel HM-Sen-MDIR-WM55 Bewegungsmeldern und HM-LC-SW4-DR Aktor.

Mein Aufbau:
RaspPi 3 mit FHEM Rev. 12656
1x CC1101-USB-Lite 868MHz Fw: V1.66 CUL868
3x Funk-Bewegungsmelder HM-Sen-MDIR-WM55 Fw: V1.2
Einstellungen:
Bewegungsmelder: brightFilter 5, captInInterval off, evtFltrNum 1, evtFltrPeriod 1s, minInterval 30, sign off
Tasten: dblPres 0s, ledOnTime 1s, longPress 0.4s, sign off, transmitTryMax
1x Funk-Schaltaktor 4fach, Hutschien HM-LC-Sw4-DR

Erwünschte Funktion:
1.   Bewegungsmelder schalten das/die jeweilig zugeordneten Lampen abhängig von der Brightness ein.
        Nach 30sek. werden die Lampen automatisch wieder ausgeschalten.
2.   Punkt 1 soll durch kurzen Tastendruck (Button 2) übersteuert werden, d.h. ,,on-for-time 300"
        Nach 300sek. werden die Lampen automatisch wieder ausgeschalten.
3.   Punkt 1 und 2 soll durch langen Tastendruck (Button 2) übersteuert werden durch ,,on" (Lampen dauerhaft an) und muss manuell durch kurzen  oder langen Tastendruck (Button 1) auf ,,off" (Lampen dauerhaft aus) geschalten werden.

Ich habe es schon mit einigen Ansätzen hier aus dem Forum versucht, aber leider komme ich hier nicht so richtig weiter.
Mein aktueller Stand ist, das Punkt 1 funktioniert, aber 2 nicht denn scheinbar wird durch erneute ,,motion" der Taster on wieder übersteuert und das Licht geht schon vor Ablauf der 300 sek. aus.
An Punkt 3 habe ich mich noch nicht versucht.
Hier mein Code:
########################################################
##  Mein HomeMatik CUL einbinden
########################################################
define CUL1 CUL /dev/ttyACM0@38400 1234
attr CUL1 hmId 200871
attr CUL1 rfmode HomeMatic
attr CUL1 room CUL_HM

########################################################
##  Meine HomeMatik Info
########################################################
define hm HMinfo
attr hm room CUL_HM
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models

########################################################
##  Meine HomeMatik Bewegungsmelder HM-Sen-MDIR-WM55
########################################################
define ActionDetector CUL_HM 000000
attr ActionDetector event-on-change-reading .*
attr ActionDetector model ActionDetector

########################################################
##  Meine HomeMatik Bewegungsmelder HM-Sen-MDIR-WM55
########################################################
define BwMelder_TH_EG CUL_HM 4E620F
attr BwMelder_TH_EG IODev CUL1
attr BwMelder_TH_EG actCycle 000:10
attr BwMelder_TH_EG actStatus unknown
attr BwMelder_TH_EG autoReadReg 4_reqStatus
attr BwMelder_TH_EG expert 251_anything
attr BwMelder_TH_EG firmware 1.2
attr BwMelder_TH_EG icon people_sensor
attr BwMelder_TH_EG model HM-Sen-MDIR-WM55
attr BwMelder_TH_EG room CUL_HM
attr BwMelder_TH_EG serialNr NEQ0963454
attr BwMelder_TH_EG showtime 0
attr BwMelder_TH_EG subType motionAndBtn
attr BwMelder_TH_EG webCmd getConfig:clear msgEvents

define BwMelder_TH_OG CUL_HM 4E6015
attr BwMelder_TH_OG IODev CUL1
attr BwMelder_TH_OG autoReadReg 4_reqStatus
attr BwMelder_TH_OG expert 2_full
attr BwMelder_TH_OG firmware 1.2
attr BwMelder_TH_OG icon people_sensor
attr BwMelder_TH_OG model HM-Sen-MDIR-WM55
attr BwMelder_TH_OG room CUL_HM
attr BwMelder_TH_OG serialNr NEQ0963958
attr BwMelder_TH_OG subType motionAndBtn
attr BwMelder_TH_OG webCmd getConfig:clear msgEvents
define FileLog_BwMelder_TH_OG FileLog ./log/BwMelder_TH_OG-%Y.log BwMelder_TH_OG
attr FileLog_BwMelder_TH_OG logtype text
attr FileLog_BwMelder_TH_OG room CUL_HM

define BwMelder_TH_UG CUL_HM 4E5FCF
attr BwMelder_TH_UG IODev CUL1
attr BwMelder_TH_UG autoReadReg 4_reqStatus
attr BwMelder_TH_UG expert 2_full
attr BwMelder_TH_UG firmware 1.2
attr BwMelder_TH_UG icon people_sensor
attr BwMelder_TH_UG model HM-Sen-MDIR-WM55
attr BwMelder_TH_UG room CUL_HM
attr BwMelder_TH_UG serialNr NEQ0964033
attr BwMelder_TH_UG subType motionAndBtn
attr BwMelder_TH_UG webCmd getConfig:clear msgEvents
define FileLog_BwMelder_TH_UG FileLog ./log/BwMelder_TH_UG-%Y.log BwMelder_TH_UG
attr FileLog_BwMelder_TH_UG logtype text
attr FileLog_BwMelder_TH_UG room CUL_HM

########################################################
##  Meine HomeMatik Bewegungsmelder Button 1
########################################################
define BwMelder_TH_EG_Btn_01 CUL_HM 4E620F01
attr BwMelder_TH_EG_Btn_01 alias Taste 1 Treppenhaus EG
attr BwMelder_TH_EG_Btn_01 icon taster_ch_aus_rot
attr BwMelder_TH_EG_Btn_01 model HM-Sen-MDIR-WM55
attr BwMelder_TH_EG_Btn_01 peerIDs 00000000,
attr BwMelder_TH_EG_Btn_01 room CUL_HM,Treppenhaus
attr BwMelder_TH_EG_Btn_01 showtime 0

define BwMelder_TH_OG_Btn_01 CUL_HM 4E601501
attr BwMelder_TH_OG_Btn_01 alias Taste 1 Treppenhaus OG
attr BwMelder_TH_OG_Btn_01 icon taster_ch_aus_rot
attr BwMelder_TH_OG_Btn_01 model HM-Sen-MDIR-WM55
attr BwMelder_TH_OG_Btn_01 peerIDs 00000000,
attr BwMelder_TH_OG_Btn_01 room CUL_HM,Treppenhaus
attr BwMelder_TH_OG_Btn_01 showtime 0

define BwMelder_TH_UG_Btn_01 CUL_HM 4E5FCF01
attr BwMelder_TH_UG_Btn_01 alias Taste 1 Treppenhaus UG
attr BwMelder_TH_UG_Btn_01 icon taster_ch_aus_rot
attr BwMelder_TH_UG_Btn_01 model HM-Sen-MDIR-WM55
attr BwMelder_TH_UG_Btn_01 peerIDs 00000000,
attr BwMelder_TH_UG_Btn_01 room CUL_HM,Treppenhaus
attr BwMelder_TH_UG_Btn_01 showtime 0

########################################################
##  Meine HomeMatik Bewegungsmelder  Button 2
########################################################
define BwMelder_TH_EG_Btn_02 CUL_HM 4E620F02
attr BwMelder_TH_EG_Btn_02 alias Taste 2 Treppenhaus EG
attr BwMelder_TH_EG_Btn_02 icon taster_ch_an_gruen
attr BwMelder_TH_EG_Btn_02 model HM-Sen-MDIR-WM55
attr BwMelder_TH_EG_Btn_02 peerIDs 00000000,
attr BwMelder_TH_EG_Btn_02 room CUL_HM,Treppenhaus
attr BwMelder_TH_EG_Btn_02 showtime 0

define BwMelder_TH_OG_Btn_02 CUL_HM 4E601502
attr BwMelder_TH_OG_Btn_02 alias Taste 2 Treppenhaus OG
attr BwMelder_TH_OG_Btn_02 icon taster_ch_an_gruen
attr BwMelder_TH_OG_Btn_02 model HM-Sen-MDIR-WM55
attr BwMelder_TH_OG_Btn_02 room CUL_HM,Treppenhaus
attr BwMelder_TH_OG_Btn_02 showtime 0

define BwMelder_TH_UG_Btn_02 CUL_HM 4E5FCF02
attr BwMelder_TH_UG_Btn_02 alias Taste 2 Treppenhaus UG
attr BwMelder_TH_UG_Btn_02 icon taster_ch_an_gruen
attr BwMelder_TH_UG_Btn_02 model HM-Sen-MDIR-WM55
attr BwMelder_TH_UG_Btn_02 peerIDs 00000000,
attr BwMelder_TH_UG_Btn_02 room CUL_HM,Treppenhaus
attr BwMelder_TH_UG_Btn_02 showtime 0

define FileLog_BwMelder_TH_Button FileLog /opt/fhem/log/BwMelder_TH_Button-%Y-%m.log BwMelder_TH_.*_Btn.*
attr FileLog_BwMelder_TH_Button room CUL_HM,Treppenhaus

########################################################
##  Meine HomeMatik Bewegungsmelder MotionSensor
########################################################
define BwMelder_TH_EG_Motion CUL_HM 4E620F03
attr BwMelder_TH_EG_Motion alias Melder Treppenhaus EG
attr BwMelder_TH_EG_Motion icon motion_detector
attr BwMelder_TH_EG_Motion model HM-Sen-MDIR-WM55
attr BwMelder_TH_EG_Motion peerIDs 00000000,
attr BwMelder_TH_EG_Motion room CUL_HM,Treppenhaus
attr BwMelder_TH_EG_Motion showtime 0
define FileLog_BwMelder_TH_EG_Motion FileLog /opt/fhem/log/BwMelder_TH_EG_Motion-%Y-%m.log BwMelder_TH_EG_Motion
attr FileLog_BwMelder_TH_EG_Motion room CUL_HM,Treppenhaus

define BwMelder_TH_OG_Motion CUL_HM 4E601503
attr BwMelder_TH_OG_Motion alias Melder Treppenhaus OG
attr BwMelder_TH_OG_Motion icon motion_detector
attr BwMelder_TH_OG_Motion model HM-Sen-MDIR-WM55
attr BwMelder_TH_OG_Motion peerIDs 00000000,
attr BwMelder_TH_OG_Motion room Treppenhaus,CUL_HM
attr BwMelder_TH_OG_Motion showtime 0
define FileLog_BwMelder_TH_OG_Motion FileLog /opt/fhem/log/BwMelder_TH_OG_Motion-%Y-%m.log BwMelder_TH_OG_Motion
attr FileLog_BwMelder_TH_OG_Motion room CUL_HM,Treppenhaus

define BwMelder_TH_UG_Motion CUL_HM 4E5FCF03
attr BwMelder_TH_UG_Motion alias Melder Treppenhaus UG
attr BwMelder_TH_UG_Motion icon motion_detector
attr BwMelder_TH_UG_Motion model HM-Sen-MDIR-WM55
attr BwMelder_TH_UG_Motion peerIDs 00000000,
attr BwMelder_TH_UG_Motion room CUL_HM,Treppenhaus
attr BwMelder_TH_UG_Motion showtime 0
define FileLog_BwMelder_TH_UG_Motion FileLog /opt/fhem/log/BwMelder_TH_UG_Motion-%Y-%m.log BwMelder_TH_UG_Motion
attr FileLog_BwMelder_TH_UG_Motion room CUL_HM,Treppenhaus

########################################################
##  Verknüpfung von Meldern und Actor für meine HomeMatik
########################################################
define D_MotionDetectTH dummy
attr D_MotionDetectTH room CUL_HM,Treppenhaus

define D_MotionDetectTH_UG dummy
attr D_MotionDetectTH_UG room CUL_HM,Treppenhaus

define DI_BwMelder_TH_UG DOIF ([BwMelder_TH_UG_Motion] eq "motion" and [BwMelder_TH_EG_Motion:brightness] <100) (set D_MotionDetectTH on, set D_MotionDetectTH off, setreading BwMelder_TH_UG state nomotion)
attr DI_BwMelder_TH_UG do always
attr DI_BwMelder_TH_UG room CUL_HM,Treppenhaus

define DI_BwMelder_TH_UG_Single DOIF ([BwMelder_TH_UG_Motion] eq "motion") (set D_MotionDetectTH_UG on, set D_MotionDetectTH_UG off, setreading BwMelder_TH_UG state nomotion)
attr DI_BwMelder_TH_UG_Single do always
attr DI_BwMelder_TH_UG_Single room CUL_HM,Treppenhaus

define DI_BwMelder_TH_EG DOIF ([BwMelder_TH_EG_Motion] eq "motion" and [BwMelder_TH_EG_Motion:brightness] <100) (set D_MotionDetectTH on, set D_MotionDetectTH off, setreading BwMelder_TH_EG state nomotion)
attr DI_BwMelder_TH_EG do always
attr DI_BwMelder_TH_EG room CUL_HM,Treppenhaus

define DI_BwMelder_TH_OG DOIF ([BwMelder_TH_OG_Motion] eq "motion" and [BwMelder_TH_EG_Motion:brightness] <100)  (set D_MotionDetectTH on, set D_MotionDetectTH off, setreading BwMelder_TH_OG state nomotion)
attr DI_BwMelder_TH_OG do always
attr DI_BwMelder_TH_OG room CUL_HM,Treppenhaus
##
define DI_SW_Aktor_4fach_Verteilerkasten_Sw_03 DOIF ([D_MotionDetectTH] eq "on") \
     (set SW_Aktor_4fach_Verteilerkasten_Sw_03 on) \
DOELSE  \
     (set   SW_Aktor_4fach_Verteilerkasten_Sw_03 off)
attr DI_SW_Aktor_4fach_Verteilerkasten_Sw_03 room CUL_HM,Treppenhaus
attr DI_SW_Aktor_4fach_Verteilerkasten_Sw_03 wait 0:35

define DI_SW_Aktor_4fach_Verteilerkasten_Sw_01 DOIF ([D_MotionDetectTH_UG] eq "on") \
     (set SW_Aktor_4fach_Verteilerkasten_Sw_01 on) \
DOELSE  \
     (set   SW_Aktor_4fach_Verteilerkasten_Sw_01 off)
attr DI_SW_Aktor_4fach_Verteilerkasten_Sw_01 room CUL_HM,Treppenhaus
attr DI_SW_Aktor_4fach_Verteilerkasten_Sw_01 wait 0:35

########################################################
##  Verknüpfung von Tastern der Melder und Actor für meine HomeMatik
########################################################
define Notify_BwMelder_TH_UG_Btn_02 notify BwMelder_TH_UG_Btn_02:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03,SW_Aktor_4fach_Verteilerkasten_Sw_01 on-for-timer 300
attr Notify_BwMelder_TH_UG_Btn_02 room CUL_HM,Treppenhaus
define Notify_BwMelder_TH_UG_Btn_01 notify BwMelder_TH_UG_Btn_01:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03,SW_Aktor_4fach_Verteilerkasten_Sw_01 off
attr Notify_BwMelder_TH_UG_Btn_01 room CUL_HM,Treppenhaus
define Notify_BwMelder_TH_EG_Btn_02 notify BwMelder_TH_EG_Btn_02:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03 on-for-timer 300
attr Notify_BwMelder_TH_EG_Btn_02 room CUL_HM,Treppenhaus
define Notify_BwMelder_TH_EG_Btn_01 notify BwMelder_TH_EG_Btn_01:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03 off
attr Notify_BwMelder_TH_EG_Btn_01 room CUL_HM,Treppenhaus
define Notify_BwMelder_TH_OG_Btn_02 notify BwMelder_TH_OG_Btn_02:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03 on-for-timer 300
attr Notify_BwMelder_TH_OG_Btn_02 room CUL_HM,Treppenhaus
define Notify_BwMelder_TH_OG_Btn_01 notify BwMelder_TH_OG_Btn_01:.* set SW_Aktor_4fach_Verteilerkasten_Sw_03 off
attr Notify_BwMelder_TH_OG_Btn_01 room CUL_HM,Treppenhaus

########################################################
##  Meine HomeMatik Switch Actor im Verteilerkasten HM-LC-SW4-DR
########################################################
define SW_Aktor_4fach_Verteilerkasten CUL_HM 495B5C
attr SW_Aktor_4fach_Verteilerkasten IODev CUL1
attr SW_Aktor_4fach_Verteilerkasten autoReadReg 4_reqStatus
attr SW_Aktor_4fach_Verteilerkasten expert 2_raw
attr SW_Aktor_4fach_Verteilerkasten firmware 2.8
attr SW_Aktor_4fach_Verteilerkasten model HM-LC-SW4-DR
attr SW_Aktor_4fach_Verteilerkasten room CUL_HM
attr SW_Aktor_4fach_Verteilerkasten serialNr NEQ0193739
attr SW_Aktor_4fach_Verteilerkasten subType switch
attr SW_Aktor_4fach_Verteilerkasten webCmd getConfig:clear msgEvents
define FileLog_SW_Aktor_4fach_Verteilerkasten FileLog ./log/SW_Aktor_4fach_Verteilerkasten-%Y.log SW_Aktor_4fach_Verteilerkasten
attr FileLog_SW_Aktor_4fach_Verteilerkasten logtype text
attr FileLog_SW_Aktor_4fach_Verteilerkasten room CUL_HM,Treppenhaus

define SW_Aktor_4fach_Verteilerkasten_Sw_01 CUL_HM 495B5C01
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 alias Licht Treppenhaus UG
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 icon light_stairs
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 model HM-LC-SW4-DR
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 peerIDs 00000000,
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 room CUL_HM,Treppenhaus
attr SW_Aktor_4fach_Verteilerkasten_Sw_01 webCmd statusRequest:toggle:on:off
define SW_Aktor_4fach_Verteilerkasten_Sw_02 CUL_HM 495B5C02
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 alias Noch Frei
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 icon light_ceiling
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 model HM-LC-SW4-DR
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 peerIDs 00000000,
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 room CUL_HM
attr SW_Aktor_4fach_Verteilerkasten_Sw_02 webCmd statusRequest:toggle:on:off
define SW_Aktor_4fach_Verteilerkasten_Sw_03 CUL_HM 495B5C03
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 alias Licht Treppenhaus EG/OG
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 icon light_stairs
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 model HM-LC-SW4-DR
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 peerIDs 00000000,
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 room CUL_HM,Treppenhaus
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 showtime 0
attr SW_Aktor_4fach_Verteilerkasten_Sw_03 webCmd statusRequest:toggle:on:off
define SW_Aktor_4fach_Verteilerkasten_Sw_04 CUL_HM 495B5C04
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 alias Noch Frei
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 icon light_ceiling
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 model HM-LC-SW4-DR
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 peerIDs 00000000,
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 room CUL_HM
attr SW_Aktor_4fach_Verteilerkasten_Sw_04 webCmd statusRequest:toggle:on:off

define FileLog_SW_Aktor_4fach_Verteilerkasten_Sw FileLog ./log/SW_Aktor_4fach_Verteilerkasten_Sw-%Y.log SW_Aktor_4fach_Verteilerkasten_Sw_0.*
########################################################
##  Meine HomeMatik Sensoren auf aktuelle SW prüfen
########################################################
define eq3 HTTPMOD http://www.eq-3.de/ajax/downloads.php 86400
attr eq3 userattr enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
attr eq3 enableControlSet 1
attr eq3 event-on-change-reading .*
attr eq3 event-on-update-reading LAST_ERROR,MATCHED_READINGS
attr eq3 reading01AutoNumLen 2
attr eq3 reading01Format http://www.eq-3.de/%s
attr eq3 reading01Name fw_link
attr eq3 reading01RegOpt g
attr eq3 reading01Regex <a.href="(Downloads\/Software\/Firmware\/[^"]+)
attr eq3 readingMaxAge 10
attr eq3 readingMaxAgeReplacementMode delete
attr eq3 requestData.* suchtext=&suche_in=2&downloadart=11
attr eq3 room CUL_HM
attr eq3 showError 1
attr eq3 showMatched 1
attr eq3 stateFormat {eq3StateFormat}
attr eq3 userReadings newFwForDevices:MATCHED_READINGS:.* {\
  my $ret = "";;\
  my @data;;\
  my @eq3FwList = map{@data = ReadingsVal("eq3","fw_link-".$_,"?") =~ m/Firmware\/(.*?)_update_V([\d_]+)_(\d\d)(\d\d)(\d\d)/;; \
            $data[0] =~ s/_/-/g;;\
            sprintf("%s:%s:%s.%s.%s:%s",$data[0],$data[1],$data[4],$data[3],"20".$data[2],$_);;\
            } ReadingsVal("eq3","MATCHED_READINGS","?") =~ m/fw_link-(\d\d)/g;;\
\
  foreach my $dev (devspec2array("TYPE=CUL_HM:FILTER=DEF=......:FILTER=subType!=(virtual|)")) {\
    my $md = AttrVal($dev,"model","?");;\
    my $v = AttrVal($dev,"firmware","0.0");;\
    my ($h,$l) = split('\.',$v);;\
    foreach my $newFw (grep m/^${md}:/i,@eq3FwList) {\
      my ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;;\
      if(($nh > $h) || (($nh == $h) && ($nl > $l))) {\
        $ret .= "," if($ret ne "");;\
        $ret .= $dev." (".$md." | fw_".$v." => fw".$idx."_".$nh.".".$nl.($no?sprintf(".%d",$no):"")." | ".$date.")";;\
      }\
    }\
  }\
  return ($ret eq "")?"no fw-updates needed!":$ret;;\
}
attr eq3 webCmd reread


Ist der Weg den ich hier gehe überhaupt zielführend, oder gibt es hierfür einen bessern Weg?
Könnte mir bitte jemand bei meiner Realisierung weiterhelfen?

Gruß
Christian

Rossi

Kann mir hier wirklich niemand weiterhelfen?

Gesendet von meinem SM-G920F mit Tapatalk


Rossi


Beta-User

Hallo Christian,

leider habe ich keine fertige Lösung für Dich, kann aber eventuell erklären, was passiert:

Grundannahme:
Du hast die Dinge direkt miteinander gepeered (was vermutlich gut und sinnvoll ist, da es dann ohne FHEM funktioniert). Dann ist es so, dass der letzte Befehl an einen Aktor (den entsprechenden Kanal Deines HM-LC-Sw4-DR) gilt. Der Bewegungsmelder überschreibt also den "on-for-timer 300" (bzw. das Dauer-on) mit einem "on-for-timer 30"...

Lösungsansätze
- evtl. könnte ein von FHEM zu überwachendes (ein- und auszuschaltendes) "inhibit" gehen, damit habe ich aber keine Erfahrung;
ODER
- Direktes peering (teilweise?) lösen, FHEM mit einer Logik entscheiden lassen, wie lange der jeweilige Aktor an bleiben soll,
ODER
- peering belassen, aber FHEM dann dazu nutzen, den "eigentlich" gewünschten Status immer wieder neu zu setzen (also wenn der BW-Melder zuschlägt, per notify das "on-for-timer 300" (oder die Restlaufzeit bzw. das Dauer-on) wieder drüberschreiben; (ob das für ein Dauer-on intuitiv ist, wage ich aber zu bezweifeln)

Viel Spaß,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors