diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm
index 364ee4d42..3cb02116e 100755
--- a/fhem/FHEM/10_CUL_HM.pm
+++ b/fhem/FHEM/10_CUL_HM.pm
@@ -586,12 +586,13 @@ CUL_HM_Parse($$)
my $msg;
my @days = ("Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri");
if($o1 == 1) { ### bitfield containing multiple values...
+ # MUST be IDENTICAL to the set commands assotiated
my %mode = (0 => "manual",1 => "auto",2 => "central",3 => "party");
- push @event,'displayMode:temperature '.(($v1 & 1)?" and humidity":" only");
- push @event,'displayTemp:' .(($v1 & 2)?"setpoint" :"actual");
- push @event,'displayTempUnit:' .(($v1 & 4)?"fahrenheit" :"celsius");
- push @event,'controlMode:' .($mode{(($v1 & 0x18)>>3)});
- push @event,'decalcDay:' .$days[($v1 & 0xE0)>>5];
+ push @event,'displayMode:temp-'.(($v1 & 1)?"hum" :"only");
+ push @event,'displayTemp:' .(($v1 & 2)?"setpoint" :"actual");
+ push @event,'displayTempUnit:' .(($v1 & 4)?"fahrenheit":"celsius");
+ push @event,'controlMode:' .($mode{(($v1 & 0x18)>>3)});
+ push @event,'decalcDay:' .$days[($v1 & 0xE0)>>5];
my $chnHash = $modules{CUL_HM}{defptr}{$src.$chn};
my $dTemp;
if($chnHash){
@@ -4318,8 +4319,8 @@ CUL_HM_setAttrIfCh($$$$)
but it is supported with a HMLAN. Due to the issues above I do not
recommend using Homematic encryption at all.
-
+
@@ -4370,11 +4371,9 @@ CUL_HM_setAttrIfCh($$$$)
described in devicepair is necessary to get a reading. Also note that
a proper diaplay will only be possible if define per channel (button)
was done - see define.
-
getpair
read pair information of the device. See also pair
-
getRegRaw [List0|List1|List2|List3|List4|List5|List6]
<peerChannel>
@@ -4478,7 +4477,6 @@ CUL_HM_setAttrIfCh($$$$)
set myblind regBulk 01 0B:10
set myblind regBulk 01 0C:00
-
myblind will set the max drive time up for a blind actor to 25,6sec
regSet <regName> <value> <peerChannel>
For some major register a readable version is implemented supporting
@@ -4494,21 +4492,21 @@ CUL_HM_setAttrIfCh($$$$)
Condensed register description will be printed
using
-
+
reset
Factory reset the device. You need to pair it again to use it with
fhem.
-
+
sign [on|off]
Activate or deactivate signing (also called AES encryption, see the note above). Warning: if the device is attached via
a CUL, you won't be able to switch it (or deactivate signing) from
fhem before you reset the device directly.
-
+
statusRequest
Update device status. For multichannel devices it should be issued on
an per channel base
-
+
unpair
"Unpair" the device, i.e. make it available to pair with other master
devices. See pair for description.
@@ -4524,7 +4522,8 @@ CUL_HM_setAttrIfCh($$$$)
set vRemote_Btn4 press
set vRemote_Btn5 press long
- see also press
+ see also press
+
@@ -4541,10 +4540,12 @@ CUL_HM_setAttrIfCh($$$$)
on link level.
on-till <time> - set the switch on for the given end time.
set <name> on-till 20:32:10
- Currently a max of 24h is supported with endtime.
+ Currently a max of 24h is supported with endtime.
+
toggle - toggle the switch.
-
+
+
dimmer, blindActuator
- 0 - 100 [on-time] [ramp-time]
@@ -4561,7 +4562,8 @@ CUL_HM_setAttrIfCh($$$$)
- on-till <time> - Dimmer only!
- stop - stop motion or dim ramp
-
+
+
remotes, pushButton
This class of devices does not react on requests unless they are put
to learn mode. FHEM obeys this behavior by stacking all requests until
@@ -4622,17 +4624,21 @@ CUL_HM_setAttrIfCh($$$$)
This gives the user the option to redo the pairing on the remote
channel while the settings in the actor will not be removed.
- Example:
+ Example:
+
+
set myRemote devicepair 2 mySwActChn single set # pair second button to an actuator channel
set myRmtBtn devicepair 0 mySwActChn single set #myRmtBtn is a button of the remote. '0' is not processed here
set myRemote devicepair 2 mySwActChn dual set #pair button 3 and 4
set myRemote devicepair 3 mySwActChn dual unset #remove pairing for button 5 and 6
set myRemote devicepair 3 mySwActChn dual unset aktor #remove pairing for button 5 and 6 in actor only
set myRemote devicepair 3 mySwActChn dual set remote #pair button 5 and 6 on remote only. Link settings il mySwActChn will be maintained
-
+
+
-
+
+
virtual
- devicepair see remote
@@ -4666,11 +4672,14 @@ CUL_HM_setAttrIfCh($$$$)
this set command first (or a number of them), and then choose from
the teach-in menu of the 4Dis the "Central" to transmit the data.
Example:
-
+
+
set 4Dis text 1 on On Lamp
set 4Dis text 1 off Kitchen Off
-
-
+
+
+
+
Climate-Control (HM-CC-TC)
@@ -4698,7 +4707,8 @@ CUL_HM_setAttrIfCh($$$$)
displayTempUnit [celsius|fahrenheit]
controlMode [manual|auto|central|party]
decalcDay <day>
-
+
+
OutputUnit (HM-OU-LED16)
- led [off|red|green|yellow]
@@ -4710,7 +4720,8 @@ CUL_HM_setAttrIfCh($$$$)
<brightness> [0-15] of backlight.
<duration> [0-127] in sec. 0 is permanent 'on'.
-
+
+
OutputUnit (HM-OU-CFM-PL)
- led <color>[,<color>..]
@@ -4721,7 +4732,8 @@ CUL_HM_setAttrIfCh($$$$)
- playTone <MP3No>[,<MP3No>..]
Play a series of tones. List is to be entered separated by ','. White
spaces must not be used in the list.
-
+
+
HM-RC-19xxx
- alarm <count>
@@ -4761,7 +4773,8 @@ CUL_HM_setAttrIfCh($$$$)
set FB1 display 12345 comma Watt 2 fast scene,phone,bell,clock
-
+
+
keyMatic
The Keymatic uses the AES signed communication. Therefore the control
of the Keymatic is only together with the HM-LAN adapter possible. But
@@ -4771,9 +4784,9 @@ CUL_HM_setAttrIfCh($$$$)
- lock
The lock bolt moves to the locking position
- unlock [sec]
- The lock bolt moves to the unlocking position.
[sec]: Sets the
- delay in seconds after the lock automatically locked again.
0 -
- 65535 seconds
+ The lock bolt moves to the unlocking position.
+ [sec]: Sets the delay in seconds after the lock automatically locked again.
+ 0 - 65535 seconds
open [sec]
Unlocked the door so that the door can be opened.
[sec]: Sets the delay in seconds after the lock automatically locked
@@ -4790,7 +4803,8 @@ CUL_HM_setAttrIfCh($$$$)
set keymatic unlock 60
-
+
+
winMatic
winMatic provides 2 channels, one for the window control and a second
@@ -4823,8 +4837,10 @@ CUL_HM_setAttrIfCh($$$$)
++A001F100001234560106
-
-
+
+
+
+
Get
@@ -4941,7 +4957,6 @@ CUL_HM_setAttrIfCh($$$$)
usage on devices which support wakeup-mode is usefull. But consider that execution is delayed
until the device "wakes up".
-
@@ -4949,36 +4964,87 @@ CUL_HM_setAttrIfCh($$$$)
Generated events:
- KS550/HM-WDS100-C6-O:
- T: $t H: $h W: $w R: $r IR: $ir WD: $wd WDR: $wdr S: $s B: $b
- - HM-CC-TC:
- T: $t H: $h
+ T: $t H: $h W: $w R: $r IR: $ir WD: $wd WDR: $wdr S: $s B: $b
temperature $t
humidity $h
- actuator $vp%
- desired-temp $t
- desired-temp-ack $t
- tempList$wd hh:mm $t hh:mm $t ...
- ValveErrorPosition $dname $vep%
- ValveOffset $dname $of%
- windowopentemp-$tchan $t (sensor:$tdev)
+ windSpeed $w
+ windDirection $wd
+ windDirRange $wdr
+ rain $r
+ isRaining $ir
+ sunshine $s
+ brightness $b
+ unknown $p
+
+ - HM-CC-TC:
+ T: $t H: $h
+ measured-temp $t
+ humidity $h
+ actuator $vp %
+ desired-temp $dTemp
+ desired-temp-manu $dTemp
+ windowopen-temp-%d %.1f (sensor:%s)
+ tempList$wd hh:mm $t hh:mm $t ...
+ displayMode temp-[hum|only]
+ displayTemp [setpoint|actual]
+ displayTempUnit [fahrenheit|celsius]
+ controlMode [manual|auto|central|party]
+ decalcDay [Sat|Sun|Mon|Tue|Wed|Thu|Fri]
+ tempValveMode [Auto|Closed|Open|unknown]
+ param-change offset=$o1, value=$v1
+ ValveErrorPosition_for_$dname $vep %
+ ValveOffset_for_$dname : $of %
+ ValveErrorPosition $vep %
+ ValveOffset $of %
+ time-request
+
- HM-CC-VD:
- actuator $vp%
- motor [opening|closing|blocked|loose|adjusting range too small|ok]
- battery [low|ok]
- ValveErrorPosition $vep%
- ValveOffset $dname $of%
+ $vp %
+ battery:[critical|low|ok]
+ motorErr:[ok|blocked|loose|adjusting range too small|opening|closing|stop]
+ ValvePosition:$vp %
+ ValveErrorPosition:$vep %
+ ValveOffset:$of %
+
- KFM100:
- rawValue $v
- Sequence $s
- $cv $unit
- - switch/dimmer/blindActuator:
- deviceMsg [on|off|$val %]
- poweron [on|off|$val]
- - dimmer:
- dim: [up|down|stop]
+ $v
+ $cv,$unit
+ rawValue:$v
+ Sequence:$seq
+ content:$cv,$unit
+
- HM-LC-BL1-PB-FM:
motor: [opening|closing]
- - remote/pushButton
+
+ - HM-SEC-SFA-SM:
+ powerError [on|off]
+ sabotageError [on|off]
+ battery: [critical|low|ok]
+
+ - HM-LC-SW1-BA-PCB:
+ battery: [low|ok]
+
+ - HM-OU-LED16
+ color $value # hex - for device only
+ $value # hex - for device only
+ color [off|red|green|orange] # for channel
+ [off|red|green|orange] # for channel
+
+ - HM-OU-CFM-PL
+ [on|off|$val]
+
+ - switch/dimmer/blindActuator:
+ $val
+ powerOn [on|off|$val]
+ [unknown|motor|dim] [up|down|stop]:$val
+
+ - dimmer:
+ overload [on|off]
+ overheat [on|off]
+ reduced [on|off]
+ dim: [up|down|stop]
+
+ - remote/pushButton/outputUnit
(to $dest) is added if the button is peered and does not send to broadcast
Release is provided for peered channels only
Btn$x onShort
@@ -4993,51 +5059,65 @@ CUL_HM_setAttrIfCh($$$$)
Btn$x offLong $counter (to $dest)
Btn$x onLongRelease $counter (to $dest)
Btn$x offLongRelease $counter (to $dest)
- battery: [low|ok]
+
+ - remote/pushButton
+ battery [low|ok]
+
- swi
Btn$x toggle
Btn$x toggle (to $dest)
battery: [low|ok]
+
- motionDetector
brightness:$b
alive
- motion
- cover closed
- cover open
+ motion on (to $dest)
+ motionCount $cnt _next:$nextTr"-"[0x0|0x1|0x2|0x3|15|30|60|120|240|0x9|0xa|0xb|0xc|0xd|0xe|0xf]
+ cover [closed|open]
+ battery [low|ok]
+ devState_raw.$d1 $d2
+
- smokeDetector
- state: [on|all-clear|alive]
+ [on|all-clear|alive] # for team leader
+ [off|smoke-forward|smoke-alarm] # for team members
+ SDteam [add|remove]_$dname
+ battery [low|ok]
smoke_detect on from $src
test:from $src
- battery: [low|ok]
- SDteam:[add|remove]_$name
- - threeStateSensor (all)
- sabotage
- alive
- - threeStateSensor (HM-SEC-WDS)
- contact wet
- contact damp
- contact dry
- - threeStateSensor (generic)
- contact closed
- contact open
- contact tilted
- - THSensor
- T: $t H: $h
- temperature $t
- humidity $h
- - WDC7000
+
+ - threeStateSensor
+ [open|tilted|closed]]
+ [wet|damp|dry] #HM-SEC-WDS only
+ cover [open|closed] #HM-SEC-WDS only
+ alive yes
+ battery [low|ok]
+ contact [open|tilted|closed]
+ contact [wet|damp|dry] #HM-SEC-WDS only
+
+ - THSensor and HM-WDC7000
T: $t H: $h AP: $ap
temperature $t
humidity $h
- airpress $ap
+ airpress $ap #HM-WDC7000 only
+
- winMatic
- motorError: [no|TurnError|TiltError]
- direction: [no|up|down|undefined]
- * Akku Channel
- charge: [trickleCharge|charge|dischange|unknown]
- airing: $air
- course: tilt
- course: close
+ [locked|$value]
+ motorError [no|TurnError|TiltError]
+ direction [no|up|down|undefined]
+ charge [trickleCharge|charge|dischange|unknown]
+ airing [inactiv|$air]
+ course [tilt|close]
+ airing [inactiv|$value]
+ contact tesed
+
+ - keyMatic
+ unknown:40
+ battery [low|ok]
+ uncertain [yes|no]
+ error [unknown|motor aborted|clutch failure|none']
+ lock [unlocked|locked]
+ [unlocked|locked|uncertain]
+