HmIP-SMO-2 Bewegungserkennung ein/ausschalten - Fehler

Begonnen von Prof. Dr. Peter Henning, 26 Januar 2025, 09:32:34

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Es funktioniert wunderbar, mit dem passenden FHEM-Device die Bewegungserkennung der HmIP-SMO-2 per "set xxx detection inactive" auszuschalten.
Allerdings kann man sie _nicht_ mit "set xxx detection active" wieder einschalten. Stattdessen wird nur eine Fehlermeldung angezeigt "Device disabled".

LG

pah

zap

Ich bräuchte ein list vom Device sowie die Ausgabe von "get deviceInfo"
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Prof. Dr. Peter Henning

Aber umgehend:
nternals:
   DEF        0031DF298CFAC3:1
   FUUID      65462f3f-f33f-7377-05cd-649327e596f961c4
   IODev      PCCU
   NAME       A.Hof.MD1
   NR         813
   STATE      noMotion
   TYPE       HMCCUCHN
   ccuaddr    0031DF298CFAC3:1
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    A.Hof.MD1:1
   ccurolectrl MOTIONDETECTOR_TRANSCEIVER
   ccurolestate MOTIONDETECTOR_TRANSCEIVER
   ccusubtype SMO
   ccutype    HmIP-SMO-2
   eventCount 226
   firmware   3.6.72
   readonly   no
   READINGS:
     2025-01-25 10:17:20   CURRENT_ILLUMINATION 781.3
     2025-01-25 10:17:20   CURRENT_ILLUMINATION_STATUS NORMAL
     from archivexx        D-firmware      1.6
     from archivexx        D-serialNr      NEQ1297618
     2025-01-26 16:03:14   ILLUMINATION    304.6
     2025-01-26 16:03:14   ILLUMINATION_STATUS NORMAL
     2025-01-25 10:16:21   IODev           PCCU
     2025-01-26 16:03:14   MOTION          noMotion
     2025-01-26 16:03:14   MOTION_DETECTION_ACTIVE active
     2025-01-26 16:03:13   activity        alive
     2025-01-26 16:03:13   battery         ok
     2025-01-26 16:03:14   brightness      304.6
     2025-01-26 16:03:14   control         active
     2025-01-26 16:03:14   detection       active
     2025-01-26 16:03:14   devstate        ok
     2025-01-26 16:03:14   hmstate         noMotion
     2025-01-26 16:03:14   motion          noMotion
     2025-01-26 16:03:13   rssidevice      -73
     2025-01-25 10:17:20   rssipeer        -80
     2025-01-26 16:03:14   state           noMotion
     2025-01-26 16:03:13   voltage         2.8
   helper:
     mId        no
     expert:
     peerIDsH:
     role:
   hmccu:
     channels   1
     detect     0
     devspec    0031DF298CFAC3:1
     nodefaults 1
     role       1:MOTIONDETECTOR_TRANSCEIVER
     setDefaults 0
     cmdlist:
       get       
       set        reset:noArg detection:active,inactive
     control:
       chn        1
       dpt        MOTION_DETECTION_ACTIVE
     dp:
       0.ARR_TIMEOUT:
         MASTER:
           NVAL       10
           SVAL       10
           VAL        10
         VALUES:
       0.CONFIG_PENDING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.CYCLIC_BIDI_INFO_MSG_DISCARD_FACTOR:
         MASTER:
           NVAL       1
           SVAL       1
           VAL        1
         VALUES:
       0.CYCLIC_BIDI_INFO_MSG_DISCARD_VALUE:
         MASTER:
           NVAL       57
           SVAL       57
           VAL        57
         VALUES:
       0.CYCLIC_INFO_MSG:
         MASTER:
           NVAL       1
           SVAL       1
           VAL        1
         VALUES:
       0.CYCLIC_INFO_MSG_DIS:
         MASTER:
           NVAL       1
           SVAL       1
           VAL        1
         VALUES:
       0.CYCLIC_INFO_MSG_DIS_UNCHANGED:
         MASTER:
           NVAL       20
           SVAL       20
           VAL        20
         VALUES:
       0.CYCLIC_INFO_MSG_OVERDUE_THRESHOLD:
         MASTER:
           NVAL       2
           SVAL       2
           VAL        2
         VALUES:
       0.DISABLE_MSG_TO_AC:
         MASTER:
           NVAL       0
           SVAL       false
           VAL        0
         VALUES:
       0.DUTYCYCLE_LIMIT:
         MASTER:
           NVAL       180
           SVAL       180
           VAL        180
         VALUES:
       0.DUTY_CYCLE:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.ENABLE_ROUTING:
         MASTER:
           NVAL       1
           SVAL       true
           VAL        1
         VALUES:
       0.ERROR_CODE:
         VALUES:
           NVAL       0
           SVAL       0
           VAL        0
       0.INSTALL_TEST:
         VALUES:
           NVAL       1
           SVAL       true
           VAL        1
       0.LOCAL_RESET_DISABLED:
         MASTER:
           NVAL       0
           SVAL       false
           VAL        0
         VALUES:
       0.LOW_BAT:
         VALUES:
           NVAL       0
           SVAL       ok
           VAL        0
       0.LOW_BAT_LIMIT:
         MASTER:
           NVAL       2.2
           SVAL       2.2
           VAL        2.2
         VALUES:
       0.OPERATING_VOLTAGE:
         VALUES:
           NVAL       2.8
           ONVAL      2.800000
           OVAL       2.800000
           SVAL       2.8
           VAL        2.8
       0.OPERATING_VOLTAGE_STATUS:
         VALUES:
           NVAL       0
           SVAL       NORMAL
           VAL        0
       0.RSSI_DEVICE:
         VALUES:
           NVAL       -73
           ONVAL      -74
           OSVAL      -74
           OVAL       -74
           SVAL       -73
           VAL        -73
       0.RSSI_PEER:
         VALUES:
           NVAL       -80
           SVAL       -80
           VAL        -80
       0.UNREACH:
         VALUES:
           NVAL       0
           SVAL       alive
           VAL        0
       0.UPDATE_PENDING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       1.ALARM_MODE_TYPE:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_1:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_2:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_3:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_4:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_5:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_6:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.ALARM_MODE_ZONE_7:
         MASTER:
           NVAL       0
           SVAL       0
           VAL        0
         VALUES:
       1.BRIGHTNESS_FILTER:
         MASTER:
           NVAL       7
           SVAL       7
           VAL        7
         VALUES:
       1.CAPTURE_WITHIN_INTERVAL:
         MASTER:
           NVAL       1
           SVAL       true
           VAL        1
         VALUES:
       1.COND_TX_THRESHOLD_LO:
         MASTER:
           NVAL       1000
           SVAL       1000
           VAL        1000
         VALUES:
       1.CURRENT_ILLUMINATION:
         VALUES:
           NVAL       781.300000
           SVAL       781.3
           VAL        781.300000
       1.CURRENT_ILLUMINATION_STATUS:
         VALUES:
           NVAL       0
           SVAL       NORMAL
           VAL        0
       1.EVENT_FILTER_NUMBER:
         MASTER:
           NVAL       1
           SVAL       1
           VAL        1
         VALUES:
       1.EVENT_FILTER_PERIOD:
         MASTER:
           NVAL       1.5
           SVAL       1.5
           VAL        1.5
         VALUES:
       1.ILLUMINATION:
         VALUES:
           NVAL       304.6
           ONVAL      344.9
           OSVAL      344.9
           OVAL       344.9
           SVAL       304.6
           VAL        304.6
       1.ILLUMINATION_STATUS:
         VALUES:
           NVAL       0
           SVAL       NORMAL
           VAL        0
       1.LED_DISABLE_CHANNELSTATE:
         MASTER:
           NVAL       1
           SVAL       true
           VAL        1
         VALUES:
       1.MIN_INTERVAL:
         MASTER:
           NVAL       4
           SVAL       4
           VAL        4
         VALUES:
       1.MOTION:
         VALUES:
           NVAL       0
           ONVAL      1
           OSVAL      motion
           OVAL       1
           SVAL       noMotion
           VAL        0
       1.MOTION_ACTIVE_TIME:
         MASTER:
           NVAL       4
           SVAL       4
           VAL        4
         VALUES:
       1.MOTION_DETECTION_ACTIVE:
         VALUES:
           NVAL       1
           ONVAL      0
           OSVAL      inactive
           OVAL       0
           SVAL       active
           VAL        1
       1.PIR_OPERATION_MODE:
         MASTER:
           NVAL       0
           SVAL       PIR_OPERATION_MODE_NORMAL
           VAL        0
         VALUES:
       1.PIR_SENSITIVITY:
         MASTER:
           NVAL       90
           SVAL       90
           VAL        90
         VALUES:
     roleChannels:
       MOTIONDETECTOR_TRANSCEIVER 1
     roleCmds:
       get:
       set:
         detection:
           channel    1
           ps         VALUES
           role       MOTIONDETECTOR_TRANSCEIVER
           rpc        0
           subcount   1
           syntax     V:MOTION_DETECTION_ACTIVE:#detection=inactive,active
           usage      detection {inactive,active}
           subcmd:
             000:
               args       inactive,active
               dpt        MOTION_DETECTION_ACTIVE
               fnc       
               max        1
               min        0
               parname    detection
               partype    1
               ps         VALUES
               scn        000
               type       BOOL
               unit       
               look:
                 active     1
                 inactive   0
         reset:
           channel    1
           ps         VALUES
           role       MOTIONDETECTOR_TRANSCEIVER
           rpc        0
           subcount   1
           syntax     V:RESET_MOTION:true
           usage      reset
           subcmd:
             000:
               args       true
               dpt        RESET_MOTION
               fnc       
               max        1
               min        0
               parname    RESET_MOTION
               partype    3
               ps         VALUES
               scn        000
               type       ACTION
               unit       
     state:
       chn        1
       dpt        MOTION
Attributes:
   alarmDevice Sensor
   alarmSettings alarm5,|A.Hof.MD1:motion|BM Hoftür|on
   ccureadingname MOTION_DETECTION_ACTIVE:detection
   cmdIcon    reset:rc_BACK
   devStateIcon inactive:motion_detector@black noMotion:motion_detector@blue motion:people_sensor@crimson
   group      motionDetector
   room       Alarm,Aussenbereich
   stateFormat {my $mda=(ReadingsVal("A.Hof.MD1","detection","") eq "active");
 my $mtn=ReadingsVal("A.Hof.MD1","motion","");
 if( $mda ){
  return $mtn;
 }else{
  return "inactive"
 }
}
   subType    no
   webCmd     reset

sowie

Device channels and datapoints

DEV A.Hof.MD1 0031DF298CFAC3 interface=HmIP-RF type=HmIP-SMO-2
CHN 0031DF298CFAC3:0 A.Hof.MD1:0
   0.CONFIG_PENDING = false {b} [RE]
   0.DUTY_CYCLE = false {b} [RE]
   0.ERROR_CODE = 0 {i} [RE]
   0.INSTALL_TEST = true {b} [RW]
   0.LOW_BAT = false {b} [RE]
   0.OPERATING_VOLTAGE = 2.800000 {f} [RE]
   0.OPERATING_VOLTAGE_STATUS = 0 {i} [RE]
   0.RSSI_DEVICE = -73 {i} [RE]
   0.RSSI_PEER = -80 {i} [RE]
   0.UNREACH = false {b} [RE]
   0.UPDATE_PENDING = false {b} [RE]
CHN 0031DF298CFAC3:1 A.Hof.MD1:1
   1.CURRENT_ILLUMINATION = 781.300000 {f} [RE]
   1.CURRENT_ILLUMINATION_STATUS = 0 {i} [RE]
   1.ILLUMINATION = 304.600000 {f} [RE]
   1.ILLUMINATION_STATUS = 0 {i} [RE]
   1.MOTION = false {b} [RE]
   1.MOTION_DETECTION_ACTIVE = true {b} [RWE]
   1.RESET_MOTION =  {b} [W]
   1.ON_TIME =  {f} [W]


Device detection:
StateDatapoint = 1.MOTION [MOTIONDETECTOR_TRANSCEIVER]
ControlDatapoint = 1.MOTION_DETECTION_ACTIVE [MOTIONDETECTOR_TRANSCEIVER]

Recommended module for device definition: HMCCUCHN

Current state datapoint = 1.MOTION

Current control datapoint = 1.MOTION_DETECTION_ACTIVE

Device description

Device 0031DF298CFAC3 A.Hof.MD1 [HmIP-SMO-2]
  AES_ACTIVE: 1
  AVAILABLE_FIRMWARE: 3.6.72
  CHILDREN: 0031DF298CFAC3:0,0031DF298CFAC3:1,0031DF298CFAC3:2,0031DF298CFAC3:3
  DIRECTION: NONE
  FIRMWARE: 3.6.72
  FIRMWARE_UPDATE_STATE: UP_TO_DATE
  FLAGS: Visible
  PARAMSETS: MASTER,SERVICE
  RF_ADDRESS: 7007466
  ROAMING: 0
  RX_MODE: ALWAYS,LAZY_CONFIG,BURST
  SUBTYPE: SMO
  UPDATABLE: 1
Channel 0031DF298CFAC3:0 A.Hof.MD1:0 [MAINTENANCE]
  AES_ACTIVE: 1
  DIRECTION: NONE
  FLAGS: Visible
  PARAMSETS: MASTER,VALUES,SERVICE
  PARENT: 0031DF298CFAC3
  PARENT_TYPE: HmIP-SMO-2
  RF_ADDRESS: 0
  ROAMING: 0
  RX_MODE:
  UPDATABLE: 1
Channel 0031DF298CFAC3:1 A.Hof.MD1:1 [MOTIONDETECTOR_TRANSCEIVER] known
  AES_ACTIVE: 1
  DIRECTION: SENDER
  FLAGS: Visible
  LINK_SOURCE_ROLES: CONDITIONAL_SWITCH
  PARAMSETS: MASTER,VALUES,LINK,SERVICE
  PARENT: 0031DF298CFAC3
  PARENT_TYPE: HmIP-SMO-2
  RF_ADDRESS: 0
  ROAMING: 0
  RX_MODE:
  UPDATABLE: 1

Defaults

Support for role MOTIONDETECTOR_TRANSCEIVER of device type HmIP-SMO-2 is built in.


LG

pah

zap

#3
Funktioniert das:

Einschalten:

set A.Hof.MD1 datapoint MOTION_DETECTION_ACTIVE 1
Ausschalten:

set A.Hof.MD1 datapoint MOTION_DETECTION_ACTIVE 0
Seit irgendeinem Firmware Update der CCU akzeptiert die CCU kein true/false mehr als Synonym für 1/0. Nun werden true/false als String interpretiert, der - ge-type-casted - zu einem numerischen Wert immer 0 ergibt => Ausschalten funktioniert, Einschalten nicht. Ich dachte eigentlich, dass ich das bei allen Befehlen korrigiert hätte, eigentlich ... ;)
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Prof. Dr. Peter Henning

#4
Danke für die Überprüfung.

set A.Hof.MD1 datapoint MOTION_DETECTION_ACTIVE 1
Anwort: Nein, das liefert dieselbe Fehlermeldung HMCCUCHN: A.Hof.MD1 Device disabled

set A.Hof.MD1 datapoint MOTION_DETECTION_ACTIVE inactive/active
Mit "inactive" kann man zwar ausschalten, einschalten mit "active" aber liefert dieselbe Fehlermeldung HMCCUCHN: A.Hof.MD1 Device disabled

Gleiches gilt für die Verwendung von "true"

LG

pah

zap

Habe auch einen Bewegungsmelder. Ist zwar ein anderer Typ, hat aber den gleichen Kanal. Da funktioniert alles. Sehr seltsam.
Könntest Du mal ein 2. Device für den Melder anlegen und alle Attribute weglassen. Dann mal bitte testen. Die Attribute sind der einzige Unterschied.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Prof. Dr. Peter Henning

Sieh an:

- Alle Attribute gelöscht => set detection active/inactive funktioniert problemlos
- Danach alle Attribute BIS AUF stateFormat schrittweise wieder angelegt => funktioniert immer noch.
- Attribut stateFormat wieder angelegt ==> Fehlermeldung "Device disabled" bei set detection active.

Es liegt also tatsächlich an diesem Attribut. Und zwar genauer am String "inactive" im stateFormat.

Wenn ich den durch "nodetection" oder einen anderen String ersetze, geht es auch noch.

Mit anderen Worten: Sobald der state auf "inactive" steht, gibt das Modul gar kein Kommando mehr weiter.

Sollte mindestens irgendwo dokumentiert werden.

LG

pah



marvin78

Das gilt aber, soweit ich weiß, für viele FHEM Module. Darauf bin ich auch schon reingefallen. Bei mir waren es MQTT2_DEVICE und dummy. Ggf. ist das kein Phänomen, das nur HMCCU betrifft bzw. ist es "works as designed" und wenn es dokumentiert ist, gar nicht so dumm.

zap

Ich muss mir das mal genauer anschauen. Bin mir nicht bewusst, das aktiv abzufragen ... obwohl ... der set toggle Befehl wertet state aus, um zwischen den Zuständen umzuschalten.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Beta-User

Zitat von: marvin78 am 28 Januar 2025, 19:33:28Das gilt aber, soweit ich weiß, für viele FHEM Module. Darauf bin ich auch schon reingefallen. Bei mir waren es MQTT2_DEVICE und dummy. Ggf. ist das kein Phänomen, das nur HMCCU betrifft bzw. ist es "works as designed" und wenn es dokumentiert ist, gar nicht so dumm.
Glaube nicht, dass das explizit dokumentiert ist und würde auf die Funktion "IsDisabled()" tippen (aktuelle fhem.pl#919), die das Internal abfragt:
$defs{$devname}{STATE} eq "inactive");
(Imo ist das eher ein unbeabsichtiger Seiteneffekt aus einer Zeit, in der Value() noch "in" war...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prof. Dr. Peter Henning

Zitat von: Beta-User am 28 Januar 2025, 21:49:17Imo ist das eher ein unbeabsichtiger Seiteneffekt aus einer Zeit, in der Value() noch "in" war...

So ist es, ganz sicher. Denn gerade der über stateFormat gesetzte STATE wird ja zunehmend für komplexere Anzeigen benutzt: Mehrzeilig, sogar als Tabelle.

LG

pah

Beta-User

Zitat von: Prof. Dr. Peter Henning am 29 Januar 2025, 12:58:05So ist es, ganz sicher. Denn gerade der über stateFormat gesetzte STATE wird ja zunehmend für komplexere Anzeigen benutzt: Mehrzeilig, sogar als Tabelle.
Mehrzeilig wäre ja nicht das Problem...
"Blöd" ist nur, dass "stateFormat" halt effektiv was anderes _tut_, als nur zu formatieren. Es _setzt_ STATE.

Glaube aber nicht, dass Rudi große Neigungen hätte, da was zu ändern. Das Risiko kommt mir groß vor, dass bei so einer Änderung irgendwas in der Funktionalität in einigen Installationen geändert würde...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files