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
Ich bräuchte ein list vom Device sowie die Ausgabe von "get deviceInfo"
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
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 ... ;)
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
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.
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
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.
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.
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...)
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
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...