mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-04 17:36:39 +00:00
add new devices
git-svn-id: https://svn.fhem.de/fhem/trunk@3511 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ec8da5bb10
commit
156ce16261
@ -1028,7 +1028,7 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
</ul>
|
</ul>
|
||||||
and/or a filter for <b>names</b>:<br>
|
and/or a filter for <b>names</b>:<br>
|
||||||
<ul>
|
<ul>
|
||||||
<li>-f - filter :regexp to filter entity names </li>
|
<li>-f <filter> :regexp to filter entity names </li>
|
||||||
</ul>
|
</ul>
|
||||||
Example:<br>
|
Example:<br>
|
||||||
<ul><code>
|
<ul><code>
|
||||||
@ -1090,31 +1090,30 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
<li>Rssi clears all rssi counters </li>
|
<li>Rssi clears all rssi counters </li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li><a name="#HMinfosaveConfig">saveConfig</a> <a href="HMinfoFilter">[filter]</a><br>
|
||||||
|
performs a save for all HM register setting and peers. See <a href="#CUL_HMsaveConfig">CUL_HM saveConfig</a>.
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
<li><a name="#HMinfocpRegs">cpRegs <src:peer> <dst:peer> </a><br>
|
<li><a name="#HMinfocpRegs">cpRegs <src:peer> <dst:peer> </a><br>
|
||||||
allows to copy register, setting and behavior of a channel to
|
allows to copy register, setting and behavior of a channel to
|
||||||
another or for peers from the same or different channels. Copy therefore is allowed
|
another or for peers from the same or different channels. Copy therefore is allowed
|
||||||
intra/inter device and intra/inter channel.
|
intra/inter device and intra/inter channel. <br>
|
||||||
<ul>
|
<b>src:peer</b> is the source entity. Peer needs to be given if a peer behabior beeds to be copied <br>
|
||||||
<li>src:peer is the source entity. Peer needs to be given if a peer behabior beeds to be copied </li>
|
<b>dst:peer</b> is the destination entity.<br>
|
||||||
<li>dst:peer is the destination entity.</li>
|
Example<br>
|
||||||
</ul>
|
<ul><code>
|
||||||
Examples are
|
|
||||||
<code>
|
|
||||||
set hm cpRegs blindR blindL # will copy all general register (list 1)for this channel from the blindR to the blindL entity.
|
set hm cpRegs blindR blindL # will copy all general register (list 1)for this channel from the blindR to the blindL entity.
|
||||||
This includes items like drive times. It does not include peers related register (list 3/4) <br>
|
This includes items like drive times. It does not include peers related register (list 3/4) <br>
|
||||||
set hm cpRegs blindR:Btn1 blindL:Btn2 # copy behavior of Btn1/blindR relation to Btn2/blindL<br>
|
set hm cpRegs blindR:Btn1 blindL:Btn2 # copy behavior of Btn1/blindR relation to Btn2/blindL<br>
|
||||||
set hm cpRegs blindR:Btn1 blindR:Btn2 # copy behavior of Btn1/blindR relation to Btn2/blindR, i.e. inside the same Actor<br>
|
set hm cpRegs blindR:Btn1 blindR:Btn2 # copy behavior of Btn1/blindR relation to Btn2/blindR, i.e. inside the same Actor<br>
|
||||||
</code>
|
</code></ul>
|
||||||
<br>
|
<br>
|
||||||
Restrictions:<br>
|
Restrictions:<br>
|
||||||
cpRegs will not add any peers or read from the devices. It is up to the user to read register in advance<br>
|
<ul>
|
||||||
cpRegs is only allowed between identical models<br>
|
cpRegs will <u>not add any peers</u> or read from the devices. It is up to the user to read register in advance<br>
|
||||||
peerings of devices must exist. cpRegs will terminate if peers cannot be identified<br>
|
cpRegs is only allowed between <u>identical models</u><br>
|
||||||
cpRegs estimates that all readings are up-to-date. It is up to the user to ensure and check data consistancy. <br>
|
cpRegs expets that all <u>readings are up-to-date</u>. It is up to the user to ensure data consistancy.<br>
|
||||||
<br>
|
</ul>
|
||||||
</li>
|
|
||||||
<li><a name="#HMinfosaveConfig">saveConfig</a> <a href="HMinfoFilter">[filter]</a><br>
|
|
||||||
performs a save for all HM register setting and peers. See <a href="#CUL_HMsaveConfig">CUL_HM saveConfig</a>.
|
|
||||||
</li>
|
</li>
|
||||||
<li><a name="#HMinfotemplateDef">templateDef <name> <param> <desc> <reg1:val1> [<reg2:val2>] ...</a><br>
|
<li><a name="#HMinfotemplateDef">templateDef <name> <param> <desc> <reg1:val1> [<reg2:val2>] ...</a><br>
|
||||||
define a template.<br>
|
define a template.<br>
|
||||||
@ -1127,52 +1126,52 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
In case the register is from link set and can destinguist between long and short it is necessary to leave the
|
In case the register is from link set and can destinguist between long and short it is necessary to leave the
|
||||||
leading sh or lg off. <br>
|
leading sh or lg off. <br>
|
||||||
if parameter are used it is necessary to enter p. as value with p0 first, p1 second parameter
|
if parameter are used it is necessary to enter p. as value with p0 first, p1 second parameter
|
||||||
Examples <br>
|
|
||||||
<code>
|
|
||||||
set hm templateDef SwOnCond level:cond "my description" CtValLo:p0 CtDlyOn:p1 CtOn:geLo<br>
|
|
||||||
</code>
|
|
||||||
<br>
|
<br>
|
||||||
|
Example<br>
|
||||||
|
<ul><code>
|
||||||
|
set hm templateDef SwOnCond level:cond "my description" CtValLo:p0 CtDlyOn:p1 CtOn:geLo<br>
|
||||||
|
</code></ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a name="#HMinfotemplateList">templateList [<name>]</a><br>
|
<li><a name="#HMinfotemplateList">templateList [<name>]</a><br>
|
||||||
list defined templates. If no name is given all templates will be listed<br>
|
list defined templates. If no name is given all templates will be listed<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a name="#HMinfotemplateChk">templateChk <a href="HMinfoFilter">[filter]</a> <template> <peer:[long|short]> [<param1> ...]</a><br>
|
<li><a name="#HMinfotemplateChk">templateChk <a href="HMinfoFilter">[filter] <template> <peer:[long|short]> [<param1> ...]</a><br>
|
||||||
verifies if the register-readings comply to the template <br>
|
verifies if the register-readings comply to the template <br>
|
||||||
Parameter are identical to <a href="#HMinfotemplateSet">templateSet</a><br>
|
Parameter are identical to <a href="#HMinfotemplateSet">templateSet</a><br>
|
||||||
The procedure will check if the register values match the ones provided by the template<br>
|
The procedure will check if the register values match the ones provided by the template<br>
|
||||||
If no peer is necessary use <B>none</B> to skip this entry<br>
|
If no peer is necessary use <b>none</b> to skip this entry<br>
|
||||||
Examples <br>
|
Example to verify settings<br>
|
||||||
<code>
|
<ul><code>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg none 1 2 # verify RolloNord, no peer, parameter 1 and 2 given<br>
|
set hm templateChk -f RolloNord BlStopUpLg none 1 2 # RolloNord, no peer, parameter 1 and 2 given<br>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg peerName:long # verify RolloNord peerName, long match template?<br>
|
set hm templateChk -f RolloNord BlStopUpLg peerName:long # RolloNord peerName, long only<br>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg peerName # verify RolloNord peerName, long and short match template?<br>
|
set hm templateChk -f RolloNord BlStopUpLg peerName # RolloNord peerName, long and short<br>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg peerName:all # verify RolloNord peerName, long and short match template?<br>
|
set hm templateChk -f RolloNord BlStopUpLg peerName:all # RolloNord peerName, long and short<br>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg all:long # verify RolloNord all peers,long match template?<br>
|
set hm templateChk -f RolloNord BlStopUpLg all:long # RolloNord any peer, long only<br>
|
||||||
set hm templateChk -f RolloNord BlStopUpLg all # verify RolloNord all peers,long and short match template?<br>
|
set hm templateChk -f RolloNord BlStopUpLg all # RolloNord any peer,long and short<br>
|
||||||
set hm templateChk -f Rollo.* BlStopUpLg all # verify each Rollo* all peers,long and short match template?<br>
|
set hm templateChk -f Rollo.* BlStopUpLg all # each Rollo* any peer,long and short<br>
|
||||||
set hm templateChk BlStopUpLg # verify each entities against this template<br>
|
set hm templateChk BlStopUpLg # each entities<br>
|
||||||
</code>
|
</code></ul>
|
||||||
<br>
|
|
||||||
</li>
|
</li>
|
||||||
<li><a name="#HMinfotemplateSet">templateSet <entity> <template> <peer:[long|short]> [<param1> ...]</a><br>
|
<li><a name="#HMinfotemplateSet">templateSet <entity> <template> <peer:[long|short]> [<param1> ...]</a><br>
|
||||||
sets a bunch of register accroding to a given template. Parameter may be added depending on
|
sets a bunch of register accroding to a given template. Parameter may be added depending on
|
||||||
the template setup. <br>
|
the template setup. <br>
|
||||||
templateSet will collect and accumulate all changes. Finally the results are written streamlined.
|
templateSet will collect and accumulate all changes. Finally the results are written streamlined.<br>
|
||||||
<li>entity: peer is the source entity. Peer needs to be given if a peer behabior beeds to be copied <\li>
|
<b>entity:</b> peer is the source entity. Peer needs to be given if a peer behabior beeds to be copied <br>
|
||||||
<li>template: one of the programmed template<\li>
|
<b>template:</b> one of the programmed template<br>
|
||||||
<li>peer: [long|short]:if necessary a peer needs to be given. If no peer is used enter '0'.
|
<b>peer:</b> [long|short]:if necessary a peer needs to be given. If no peer is used enter '0'.
|
||||||
with a peer it should be given whether it is for long or short keypress
|
with a peer it should be given whether it is for long or short keypress<br>
|
||||||
<\li>
|
<b>param:</b> number and meaning of parameter depends on the given template<br>
|
||||||
<li>param: number and meaning of parameter depends on the given template<\li>
|
Example could be (templates not provided, just theoretical)<br>
|
||||||
Examples could be (templates not provided, just theoretical)<br>
|
<ul><code>
|
||||||
set hm templateSet Licht1 staircase FB1:short 20 <br>
|
set hm templateSet Licht1 staircase FB1:short 20 <br>
|
||||||
set hm templateSet Licht1 staircase FB1:long 100 <br>
|
set hm templateSet Licht1 staircase FB1:long 100 <br>
|
||||||
<br>
|
</code></ul>
|
||||||
Restrictions:<br>
|
Restrictions:<br>
|
||||||
|
<ul>
|
||||||
User must ensure to read configuration prior to execution.<br>
|
User must ensure to read configuration prior to execution.<br>
|
||||||
templateSet may not setup a complete register block but only a part if it. This is up to template design.<br>
|
templateSet may not setup a complete register block but only a part if it. This is up to template design.<br>
|
||||||
<br>
|
<br>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
@ -1189,10 +1188,10 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
Warnings: list of readings that shall be screend and counted based on current presence.
|
Warnings: list of readings that shall be screend and counted based on current presence.
|
||||||
I.e. counter is the number of entities with this reading and the same value.
|
I.e. counter is the number of entities with this reading and the same value.
|
||||||
Readings to be searched are separated by comma. <br>
|
Readings to be searched are separated by comma. <br>
|
||||||
Example: <br>
|
Example:<br>
|
||||||
<code>
|
<ul><code>
|
||||||
attr hm sumStatus battery,sabotageError<br>
|
attr hm sumStatus battery,sabotageError<br>
|
||||||
</code>
|
</code></ul>
|
||||||
will cause a reading like<br>
|
will cause a reading like<br>
|
||||||
W_sum_batterie ok:5 low:3<br>
|
W_sum_batterie ok:5 low:3<br>
|
||||||
W_sum_sabotageError on:1<br>
|
W_sum_sabotageError on:1<br>
|
||||||
@ -1205,15 +1204,18 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
Here user can add reading<b>values</b> that are <b>not displayed</b>. I.e. the value is the
|
Here user can add reading<b>values</b> that are <b>not displayed</b>. I.e. the value is the
|
||||||
good-condition that will not be counted.<br>
|
good-condition that will not be counted.<br>
|
||||||
This way user must not know all error values but it is sufficient to supress known non-ciritical ones.
|
This way user must not know all error values but it is sufficient to supress known non-ciritical ones.
|
||||||
Example: <br>
|
<br>
|
||||||
<code>
|
Example:<br>
|
||||||
|
<ul><code>
|
||||||
attr hm sumERROR battery:ok,sabotageError:off,overheat:off,Activity:alive:unknown<br>
|
attr hm sumERROR battery:ok,sabotageError:off,overheat:off,Activity:alive:unknown<br>
|
||||||
</code>
|
</code></ul>
|
||||||
will cause a reading like<br>
|
will cause a reading like<br>
|
||||||
|
<ul><code>
|
||||||
ERR_batterie low:3<br>
|
ERR_batterie low:3<br>
|
||||||
ERR_sabotageError on:1<br>
|
ERR_sabotageError on:1<br>
|
||||||
ERR_overheat on:3<br>
|
ERR_overheat on:3<br>
|
||||||
ERR_Activity dead:5<br>
|
ERR_Activity dead:5<br>
|
||||||
|
</code></ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
@ -1241,18 +1243,17 @@ sub HMinfo_cpRegs(@){#########################################################
|
|||||||
W_sum_<reading>: count of readings as defined in attribut
|
W_sum_<reading>: count of readings as defined in attribut
|
||||||
<a href="#HMinfosumStatus">sumStatus</a>. </li>
|
<a href="#HMinfosumStatus">sumStatus</a>. </li>
|
||||||
Example:<br>
|
Example:<br>
|
||||||
<li><code>
|
<ul><code>
|
||||||
ERR___rssiCrit LightKittchen,WindowDoor,Remote12
|
ERR___rssiCrit LightKittchen,WindowDoor,Remote12<br>
|
||||||
ERR__protocol NACK:2 ResendFail:5 CmdDel:2 CmdPend:1
|
ERR__protocol NACK:2 ResendFail:5 CmdDel:2 CmdPend:1<br>
|
||||||
ERR__protoNames LightKittchen,WindowDoor,Remote12,Ligth1,Light5
|
ERR__protoNames LightKittchen,WindowDoor,Remote12,Ligth1,Light5<br>
|
||||||
ERR_battery: low:2;
|
ERR_battery: low:2;<br>
|
||||||
ERR_names: remote1,buttonClara,
|
ERR_names: remote1,buttonClara,<br>
|
||||||
I_rssiMinLevel 99>:3 80<:0 60<:7 59<:4
|
I_rssiMinLevel 99>:3 80<:0 60<:7 59<:4<br>
|
||||||
W_sum_battery: ok:5;low:2;
|
W_sum_battery: ok:5;low:2;<br>
|
||||||
W_sum_overheat: off:7;
|
W_sum_overheat: off:7;<br>
|
||||||
C_sumDefined: entities:23 device:11 channel:16 virtual:5;
|
C_sumDefined: entities:23 device:11 channel:16 virtual:5;<br>
|
||||||
</code></li>
|
</code></ul>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
=end html
|
=end html
|
||||||
|
@ -13,24 +13,26 @@ use warnings;
|
|||||||
my $K_actDetID = '000000'; # id of actionDetector
|
my $K_actDetID = '000000'; # id of actionDetector
|
||||||
|
|
||||||
#my %culHmDevProps=(
|
#my %culHmDevProps=(
|
||||||
# "01" => { st => "AlarmControl", cl => " " }, # by peterp
|
# "01" => { st => "AlarmControl",
|
||||||
# "12" => { st => "outputUnit", cl => "receiver" }, # Test Pending
|
# "10" => { st => "switch",
|
||||||
# "10" => { st => "switch", cl => "receiver" }, # Parse,Set
|
# "12" => { st => "outputUnit",
|
||||||
# "20" => { st => "dimmer", cl => "receiver" }, # Parse,Set
|
# "20" => { st => "dimmer",
|
||||||
# "30" => { st => "blindActuator", cl => "receiver" }, # Parse,Set
|
# "30" => { st => "blindActuator",
|
||||||
# "39" => { st => "ClimateControl", cl => "sender" },
|
# "39" => { st => "ClimateControl",
|
||||||
# "40" => { st => "remote", cl => "sender" }, # Parse
|
# "40" => { st => "remote",
|
||||||
# "41" => { st => "sensor", cl => "sender" },
|
# "41" => { st => "sensor",
|
||||||
# "42" => { st => "swi", cl => "sender" }, # e.g. HM-SwI-3-FM
|
# "42" => { st => "swi",
|
||||||
# "43" => { st => "pushButton", cl => "sender" },
|
# "43" => { st => "pushButton",
|
||||||
# "58" => { st => "thermostat", cl => "receiver" },
|
# "44" => { st => "singleButton",
|
||||||
# "60" => { st => "KFM100", cl => "sender" }, # Parse,unfinished
|
# "58" => { st => "thermostat",
|
||||||
# "70" => { st => "THSensor", cl => "sender" }, # Parse,unfinished
|
# "60" => { st => "KFM100",
|
||||||
# "80" => { st => "threeStateSensor",cl => "sender" }, # e.g.HM-SEC-RHS
|
# "70" => { st => "THSensor",
|
||||||
# "81" => { st => "motionDetector", cl => "sender" },
|
# "80" => { st => "threeStateSensor"
|
||||||
# "C0" => { st => "keyMatic", cl => "receiver" },
|
# "81" => { st => "motionDetector",
|
||||||
# "C1" => { st => "winMatic", cl => "receiver" },
|
# "C0" => { st => "keyMatic",
|
||||||
# "CD" => { st => "smokeDetector", cl => "receiver" }, # Parse,set unfinished
|
# "C1" => { st => "winMatic",
|
||||||
|
# "C3" => { st => "tipTronic",
|
||||||
|
# "CD" => { st => "smokeDetector",
|
||||||
#);
|
#);
|
||||||
# chan supports autocreate of channels for the device
|
# chan supports autocreate of channels for the device
|
||||||
# Syntax <chnName>:<chnNoStart>:<chnNoEnd>
|
# Syntax <chnName>:<chnNoStart>:<chnNoEnd>
|
||||||
@ -40,6 +42,7 @@ my $K_actDetID = '000000'; # id of actionDetector
|
|||||||
# <dev>_aux1,<dev>_aux2,<dev>_aux7 as channel 5 to 7
|
# <dev>_aux1,<dev>_aux2,<dev>_aux7 as channel 5 to 7
|
||||||
# autocreate for single channel devices is possible not recommended
|
# autocreate for single channel devices is possible not recommended
|
||||||
#rxt - receivetype of the device------
|
#rxt - receivetype of the device------
|
||||||
|
# l: receive on lazy config - no idea how this works so far.....
|
||||||
# c: receive on config
|
# c: receive on config
|
||||||
# w: receive in wakeup
|
# w: receive in wakeup
|
||||||
# b: receive on burst
|
# b: receive on burst
|
||||||
@ -112,13 +115,13 @@ my %culHmModel=(
|
|||||||
"0047" => {name=>"KFM-Sensor" ,st=>'KFM100' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"0047" => {name=>"KFM-Sensor" ,st=>'KFM100' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
"0048" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",},
|
"0048" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",},
|
||||||
"0049" => {name=>"KFM-Display" ,st=>'KFM100' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"0049" => {name=>"KFM-Display" ,st=>'KFM100' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
"004A" => {name=>"HM-SEC-MDIR" ,st=>'motionDetector' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
|
"004A" => {name=>"HM-SEC-MDIR" ,st=>'motionDetector' ,cyc=>'00:10' ,rxt=>'c:w:l' ,lst=>'1,4' ,chn=>"",},
|
||||||
"004B" => {name=>"HM-Sec-Cen" ,st=>'AlarmControl' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"004B" => {name=>"HM-Sec-Cen" ,st=>'AlarmControl' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
"004C" => {name=>"HM-RC-12-SW" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:12",},
|
"004C" => {name=>"HM-RC-12-SW" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:12",},
|
||||||
"004D" => {name=>"HM-RC-19-SW" ,st=>'remote' ,cyc=>'' ,rxt=>'c:b' ,lst=>'1,4:1p.2p.3p.4p.5p.6p.7p.8p.9p.10p.11p.12p.13p.14p.15p.16p'
|
"004D" => {name=>"HM-RC-19-SW" ,st=>'remote' ,cyc=>'' ,rxt=>'c:b' ,lst=>'1,4:1p.2p.3p.4p.5p.6p.7p.8p.9p.10p.11p.12p.13p.14p.15p.16p'
|
||||||
,chn=>"Btn:1:17,Disp:18:18",},
|
,chn=>"Btn:1:17,Disp:18:18",},
|
||||||
"004E" => {name=>"HM-LC-DDC1-PCB" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, # door drive controller 1-channel (PCB)
|
"004E" => {name=>"HM-LC-DDC1-PCB" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, # door drive controller 1-channel (PCB)
|
||||||
"004F" => {name=>"HM-SEN-MDIR-SM" ,st=>'motionDetector' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
|
"004F" => {name=>"HM-SEN-MDIR-SM" ,st=>'motionDetector' ,cyc=>'' ,rxt=>'c:w:l' ,lst=>'1,4' ,chn=>"",},
|
||||||
"0050" => {name=>"HM-SEC-SFA-SM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Siren:1:1,Flash:2:2",},
|
"0050" => {name=>"HM-SEC-SFA-SM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Siren:1:1,Flash:2:2",},
|
||||||
"0051" => {name=>"HM-LC-SW1-PB-FM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",},
|
"0051" => {name=>"HM-LC-SW1-PB-FM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",},
|
||||||
"0052" => {name=>"HM-LC-SW2-PB-FM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Sw:1:2",},
|
"0052" => {name=>"HM-LC-SW2-PB-FM" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Sw:1:2",},
|
||||||
@ -130,13 +133,13 @@ my %culHmModel=(
|
|||||||
"0059" => {name=>"HM-LC-DIM1T-FM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"0059" => {name=>"HM-LC-DIM1T-FM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
"005A" => {name=>"HM-LC-DIM2T-SM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2",},#4virt- is this a faulty entry?
|
"005A" => {name=>"HM-LC-DIM2T-SM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2",},#4virt- is this a faulty entry?
|
||||||
"005C" => {name=>"HM-OU-CF-PL" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Led:1:1,Sound:2:2",},
|
"005C" => {name=>"HM-OU-CF-PL" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Led:1:1,Sound:2:2",},
|
||||||
"005D" => {name=>"HM-Sen-MDIR-O" ,st=>'motionDetector' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
|
"005D" => {name=>"HM-Sen-MDIR-O" ,st=>'motionDetector' ,cyc=>'00:10' ,rxt=>'c:w:l' ,lst=>'1,4' ,chn=>"",},
|
||||||
"005F" => {name=>"HM-SCI-3-FM" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"Sw:1:3",},
|
"005F" => {name=>"HM-SCI-3-FM" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"Sw:1:3",},
|
||||||
"0060" => {name=>"HM-PB-4DIS-WM" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:20",},
|
"0060" => {name=>"HM-PB-4DIS-WM" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:20",},
|
||||||
"0061" => {name=>"HM-LC-SW4-DR" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Sw:1:4",},
|
"0061" => {name=>"HM-LC-SW4-DR" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Sw:1:4",},
|
||||||
"0062" => {name=>"HM-LC-SW2-DR" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2",},
|
"0062" => {name=>"HM-LC-SW2-DR" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2",},
|
||||||
"0064" => {name=>"DORMA_atent" ,st=>'' ,cyc=>'' ,rxt=>'c' ,lst=>'1,3' ,chn=>"",}, # DORMA Remote 3 buttons
|
"0064" => {name=>"DORMA_atent" ,st=>'' ,cyc=>'' ,rxt=>'c' ,lst=>'1,3' ,chn=>"Btn:1:3",}, # DORMA Remote 3 buttons
|
||||||
"0065" => {name=>"DORMA_BRC-H" ,st=>'' ,cyc=>'' ,rxt=>'c' ,lst=>'1,3' ,chn=>"",}, # Dorma Remote 4 single buttons
|
"0065" => {name=>"DORMA_BRC-H" ,st=>'singleButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,3' ,chn=>"Btn:1:4",}, # Dorma Remote 4 single buttons
|
||||||
"0066" => {name=>"HM-LC-SW4-WM" ,st=>'switch' ,cyc=>'' ,rxt=>'b' ,lst=>'3' ,chn=>"Sw:1:4",},
|
"0066" => {name=>"HM-LC-SW4-WM" ,st=>'switch' ,cyc=>'' ,rxt=>'b' ,lst=>'3' ,chn=>"Sw:1:4",},
|
||||||
"0067" => {name=>"HM-LC-Dim1PWM-CV" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"0067" => {name=>"HM-LC-Dim1PWM-CV" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
"0068" => {name=>"HM-LC-Dim1TPBU-FM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
"0068" => {name=>"HM-LC-Dim1TPBU-FM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
|
||||||
@ -163,7 +166,7 @@ my %culHmModel=(
|
|||||||
"007E" => {name=>"ROTO_ZEL-STG-RM-DWT-10" ,st=>'remote' ,cyc=>'00:10' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote Display 4 buttons Roto
|
"007E" => {name=>"ROTO_ZEL-STG-RM-DWT-10" ,st=>'remote' ,cyc=>'00:10' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote Display 4 buttons Roto
|
||||||
"007F" => {name=>"ROTO_ZEL-STG-RM-FST-UP4" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Push Button Interface
|
"007F" => {name=>"ROTO_ZEL-STG-RM-FST-UP4" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Push Button Interface
|
||||||
"0080" => {name=>"ROTO_ZEL-STG-RM-HS-4" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote 4 buttons
|
"0080" => {name=>"ROTO_ZEL-STG-RM-HS-4" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote 4 buttons
|
||||||
"0081" => {name=>"ROTO_ZEL-STG-RM-FDK" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,3' ,chn=>"",}, # HM Rotary Handle Sensor
|
"0081" => {name=>"ROTO_ZEL-STG-RM-FDK" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, # HM Rotary Handle Sensor
|
||||||
"0082" => {name=>"Roto_ZEL-STG-RM-FFK" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, # HM Shutter Contact
|
"0082" => {name=>"Roto_ZEL-STG-RM-FFK" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, # HM Shutter Contact
|
||||||
"0083" => {name=>"Roto_ZEL-STG-RM-FSS-UP3" ,st=>'swi' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
|
"0083" => {name=>"Roto_ZEL-STG-RM-FSS-UP3" ,st=>'swi' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
|
||||||
"0084" => {name=>"Schueco_263-160" ,st=>'smokeDetector' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, # HM SENSOR_FOR_CARBON_DIOXIDE
|
"0084" => {name=>"Schueco_263-160" ,st=>'smokeDetector' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, # HM SENSOR_FOR_CARBON_DIOXIDE
|
||||||
@ -177,19 +180,27 @@ my %culHmModel=(
|
|||||||
"008D" => {name=>"Schueco_263-135" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,3' ,chn=>"",}, # HM Push Button 2
|
"008D" => {name=>"Schueco_263-135" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,3' ,chn=>"",}, # HM Push Button 2
|
||||||
"008E" => {name=>"Schueco_263-155" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote Display 4 buttons
|
"008E" => {name=>"Schueco_263-155" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Remote Display 4 buttons
|
||||||
"008F" => {name=>"Schueco_263-145" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Push Button Interface
|
"008F" => {name=>"Schueco_263-145" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"",}, # HM Push Button Interface
|
||||||
"0090" => {name=>"Schueco_263-162" ,st=>'motionDetector' ,cyc=>'00:30' ,rxt=>'c:w' ,lst=>'1,3' ,chn=>"",}, # HM radio-controlled motion detector
|
"0090" => {name=>"Schueco_263-162" ,st=>'motionDetector' ,cyc=>'00:30' ,rxt=>'c:w:l' ,lst=>'1,3' ,chn=>"",}, # HM radio-controlled motion detector
|
||||||
"0092" => {name=>"Schueco_263-144" ,st=>'switch' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
|
"0092" => {name=>"Schueco_263-144" ,st=>'switch' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
|
||||||
"0093" => {name=>"Schueco_263-158" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
"0093" => {name=>"Schueco_263-158" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
||||||
"0094" => {name=>"Schueco_263-157" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
"0094" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
||||||
|
"0095" => {name=>"HM-CC-RT-DN" ,st=>'thermostat' ,cyc=>'' ,rxt=>'c:w' ,lst=>'3:3p.6p,7:0' ,chn=>"Weather:1:1,Climate:2:2,WindowRec:3:3,ClimRT_tr:4:4,ClimRT_r:5:5,rCtrl:6:6"}, #
|
||||||
|
"0096" => {name=>"WDF-solar" ,st=>'blindActuatorSol' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"win:1:1,blind_2:3",}, #
|
||||||
|
"009B" => {name=>"Schueco_263-xxx" ,st=>'tipTronic' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1:1.2,3:1p.3p',chn=>"act:1:1,sen:2:2,sec:3:3",}, #
|
||||||
"009F" => {name=>"HM-Sen-Wa-Od" ,st=>'sensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, #capacitive filling level sensor
|
"009F" => {name=>"HM-Sen-Wa-Od" ,st=>'sensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, #capacitive filling level sensor
|
||||||
"00A0" => {name=>"HM-RC-4-2" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:4",},
|
"00A0" => {name=>"HM-RC-4-2" ,st=>'remote' ,cyc=>'' ,rxt=>'c:l' ,lst=>'1,4' ,chn=>"Btn:1:4",},
|
||||||
"00A1" => {name=>"HM-LC-SW1-PL2" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",}, #
|
"00A1" => {name=>"HM-LC-SW1-PL2" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",}, #
|
||||||
"00A2" => {name=>"ROTO_ZEL-STG-RM-FZS-2" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, #radio-controlled socket adapter switch actuator 1-channel
|
"00A2" => {name=>"ROTO_ZEL-STG-RM-FZS-2" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",}, #radio-controlled socket adapter switch actuator 1-channel
|
||||||
"00A3" => {name=>"HM-LC-Dim1L-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"00A3" => {name=>"HM-LC-Dim1L-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
"00A4" => {name=>"HM-LC-Dim1T-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
"00A4" => {name=>"HM-LC-Dim1T-Pl-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"",},
|
||||||
|
"00A5" => {name=>"HM-RC-Sec4-2" ,st=>'remote' ,cyc=>'' ,rxt=>'c:l' ,lst=>'1,4' ,chn=>"Btn:1:2,BTN_T:3:1,BTN_A:4:1",},#only 1 and 2 canbe peered???
|
||||||
|
"00A6" => {name=>"HM-RC-Key4-2" ,st=>'remote' ,cyc=>'' ,rxt=>'c:l' ,lst=>'1,4' ,chn=>"Btn:1:2,BTN_T:3:1,BTN_A:4:1",},#only 1 and 2 canbe peered???
|
||||||
"00A7" => {name=>"HM-Sen-RD-O" ,st=>'' ,cyc=>'' ,rxt=>'' ,lst=>'1:1,4:1' ,chn=>"Rain:1:1,Sw:2:2",},
|
"00A7" => {name=>"HM-Sen-RD-O" ,st=>'' ,cyc=>'' ,rxt=>'' ,lst=>'1:1,4:1' ,chn=>"Rain:1:1,Sw:2:2",},
|
||||||
"00A8" => {name=>"HM-WDS30-OT2-SM" ,st=>'THSensor' ,cyc=>'00:05' ,rxt=>'c:w' ,lst=>'p' ,chn=>"Th:1:2",},
|
"00A8" => {name=>"HM-WDS30-OT2-SM" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"Th:1:4,Weather:5:5",},
|
||||||
"00A9" => {name=>"HM-PB-6-WM55" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:6",},
|
"00A9" => {name=>"HM-PB-6-WM55" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:6",},
|
||||||
|
"00AB" => {name=>"HM-LC-SW4-BA-PCB" ,st=>'switch' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"Sw:1:4",},
|
||||||
|
"00AF" => {name=>"HM-OU-CM-PCB" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",},
|
||||||
|
"00B2" => {name=>"HM-SEC-WDS-2" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
|
||||||
#263 167 HM Smoke Detector Schueco
|
#263 167 HM Smoke Detector Schueco
|
||||||
#"HM-RC-Key4-2"
|
#"HM-RC-Key4-2"
|
||||||
#"HM-RC-Sec4-2"
|
#"HM-RC-Sec4-2"
|
||||||
@ -282,6 +293,9 @@ my %culHmRegDefShLg = (# register that are available for short AND long button p
|
|||||||
DimElsJtRampOn =>{a=> 41.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"else Jump from rampOn" ,lit=>{no=>0,dlyOn=>1,rampOn=>2,on=>3,dlyOff=>4,rampOff=>5,off=>6}},
|
DimElsJtRampOn =>{a=> 41.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"else Jump from rampOn" ,lit=>{no=>0,dlyOn=>1,rampOn=>2,on=>3,dlyOff=>4,rampOff=>5,off=>6}},
|
||||||
DimElsJtRampOff =>{a=> 41.4,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"else Jump from rampOff" ,lit=>{no=>0,dlyOn=>1,rampOn=>2,on=>3,dlyOff=>4,rampOff=>5,off=>6}},
|
DimElsJtRampOff =>{a=> 41.4,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"else Jump from rampOff" ,lit=>{no=>0,dlyOn=>1,rampOn=>2,on=>3,dlyOff=>4,rampOff=>5,off=>6}},
|
||||||
|
|
||||||
|
ttJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from on" ,lit=>{no=>0,on=>2,off=>5}},
|
||||||
|
ttJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,on=>2,off=>5}},
|
||||||
|
|
||||||
SwJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from on" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
SwJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from on" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
||||||
SwJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
SwJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
||||||
SwJtDlyOn =>{a=> 12.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from delayOn" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
SwJtDlyOn =>{a=> 12.0,s=>0.4,l=>3,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from delayOn" ,lit=>{no=>0,dlyOn=>1,on=>3,dlyOff=>4,off=>6}},
|
||||||
@ -290,10 +304,10 @@ my %culHmRegDefShLg = (# register that are available for short AND long button p
|
|||||||
KeyJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>7 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from on" ,lit=>{no=>0,dlyUnlock=>1,rampUnlock=>2,unLock=>3,dlyLock=>4,rampLock=>5,lock=>6,open=>8}},
|
KeyJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>7 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from on" ,lit=>{no=>0,dlyUnlock=>1,rampUnlock=>2,unLock=>3,dlyLock=>4,rampLock=>5,lock=>6,open=>8}},
|
||||||
KeyJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>7 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,dlyUnlock=>1,rampUnlock=>2,unLock=>3,dlyLock=>4,rampLock=>5,lock=>6,open=>8}},
|
KeyJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>7 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,dlyUnlock=>1,rampUnlock=>2,unLock=>3,dlyLock=>4,rampLock=>5,lock=>6,open=>8}},
|
||||||
|
|
||||||
WinJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,ramoOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
WinJtOn =>{a=> 11.0,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,rampOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
||||||
WinJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,ramoOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
WinJtOff =>{a=> 11.4,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,rampOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
||||||
WinJtRampOn =>{a=> 13.0,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,ramoOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
WinJtRampOn =>{a=> 13.0,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,rampOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
||||||
WinJtRampOff =>{a=> 13.4,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,ramoOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
WinJtRampOff =>{a=> 13.4,s=>0.4,l=>3,min=>0 ,max=>9 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jump from off" ,lit=>{no=>0,rampOnDly=>1,rampOn=>2,on=>3,rampOffDly=>4,rampOff=>5,off=>6,rampOnFast=>8,rampOffFast=>9}},
|
||||||
|
|
||||||
CtRampOn =>{a=> 1.0,s=>0.4,l=>3,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jmp on condition from rampOn" ,lit=>{geLo=>0,geHi=>1,ltLo=>2,ltHi=>3,between=>4,outside=>5}},
|
CtRampOn =>{a=> 1.0,s=>0.4,l=>3,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jmp on condition from rampOn" ,lit=>{geLo=>0,geHi=>1,ltLo=>2,ltHi=>3,between=>4,outside=>5}},
|
||||||
CtRampOff =>{a=> 1.4,s=>0.4,l=>3,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jmp on condition from rampOff" ,lit=>{geLo=>0,geHi=>1,ltLo=>2,ltHi=>3,between=>4,outside=>5}},
|
CtRampOff =>{a=> 1.4,s=>0.4,l=>3,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Jmp on condition from rampOff" ,lit=>{geLo=>0,geHi=>1,ltLo=>2,ltHi=>3,between=>4,outside=>5}},
|
||||||
@ -344,7 +358,8 @@ my %culHmRegDefine = (
|
|||||||
batDefectLimit =>{a=> 19.0,s=>1.0,l=>0,min=>0.1,max=>2 ,c=>'factor' ,f=>100 ,u=>'Ohm' ,d=>1,t=>"batterie defect detection"},
|
batDefectLimit =>{a=> 19.0,s=>1.0,l=>0,min=>0.1,max=>2 ,c=>'factor' ,f=>100 ,u=>'Ohm' ,d=>1,t=>"batterie defect detection"},
|
||||||
transmDevTryMax =>{a=> 20.0,s=>1.0,l=>0,min=>1 ,max=>10 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"max message re-transmit"},
|
transmDevTryMax =>{a=> 20.0,s=>1.0,l=>0,min=>1 ,max=>10 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"max message re-transmit"},
|
||||||
localResDis =>{a=> 24.0,s=>1.0,l=>0,min=>1 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"local reset disable" ,lit=>{off=>0,on=>1}},
|
localResDis =>{a=> 24.0,s=>1.0,l=>0,min=>1 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"local reset disable" ,lit=>{off=>0,on=>1}},
|
||||||
regL0_1b =>{a=> 27.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"unknown test on own risk"},
|
paramSel =>{a=> 27.0,s=>1.0,l=>0,min=>0 ,max=>4 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"data transfered to peer" ,lit=>{off=>0,T1=>1,T2=>2,T1_T2=>3,T2_T1=>4}},
|
||||||
|
RS485IdleTime =>{a=> 29.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'s' ,d=>0,t=>"Idle Time"},
|
||||||
#un-identified List0
|
#un-identified List0
|
||||||
# addr Dec!!
|
# addr Dec!!
|
||||||
# SEC-WM55 02:01 (AES on?)
|
# SEC-WM55 02:01 (AES on?)
|
||||||
@ -528,7 +543,6 @@ my %culHmRegType = (
|
|||||||
lgMultiExec =>1
|
lgMultiExec =>1
|
||||||
},
|
},
|
||||||
dimmer =>{transmitTryMax =>1,statusInfoMinDly=>1,statusInfoRandom=>1,powerUpAction =>1,
|
dimmer =>{transmitTryMax =>1,statusInfoMinDly=>1,statusInfoRandom=>1,powerUpAction =>1,
|
||||||
|
|
||||||
OnDly =>1,OnTime =>1,OffDly =>1,OffTime =>1,
|
OnDly =>1,OnTime =>1,OffDly =>1,OffTime =>1,
|
||||||
OffDlyBlink =>1,OnLvlPrio =>1,OnDlyMode =>1,
|
OffDlyBlink =>1,OnLvlPrio =>1,OnDlyMode =>1,
|
||||||
ActionTypeDim =>1,OnTimeMode =>1,OffTimeMode =>1,
|
ActionTypeDim =>1,OnTimeMode =>1,OffTimeMode =>1,
|
||||||
@ -569,6 +583,7 @@ my %culHmRegType = (
|
|||||||
,transmitTryMax =>1,
|
,transmitTryMax =>1,
|
||||||
peerNeedsBurst =>1,expectAES =>1
|
peerNeedsBurst =>1,expectAES =>1
|
||||||
},
|
},
|
||||||
|
tipTronic =>{cyclicInfoMsg =>1,cyclicInfoMsgDis=>1,localResDis =>1,RS485IdleTime =>1,}
|
||||||
);
|
);
|
||||||
#clones - - - - - - - - - - - - - - -
|
#clones - - - - - - - - - - - - - - -
|
||||||
$culHmRegType{pushButton} = $culHmRegType{remote};
|
$culHmRegType{pushButton} = $culHmRegType{remote};
|
||||||
@ -628,6 +643,14 @@ my %culHmRegModel = (
|
|||||||
CtOn =>1,CtDlyOn =>1,CtOff =>1,CtDlyOff =>1,
|
CtOn =>1,CtDlyOn =>1,CtOff =>1,CtDlyOff =>1,
|
||||||
ActionType =>1,ActNum =>1,lgMultiExec =>1},
|
ActionType =>1,ActNum =>1,lgMultiExec =>1},
|
||||||
"HM-OU-CF-PL" =>{ActTypeOuCf =>1,ActNum =>1},
|
"HM-OU-CF-PL" =>{ActTypeOuCf =>1,ActNum =>1},
|
||||||
|
"HM-OU-CM-PCB" =>{localResetDis =>1,
|
||||||
|
OnTime =>1,OffTime =>1,OnDly =>1,OffDly =>1,
|
||||||
|
OnTimeMode =>1,OffTimeMode =>1,
|
||||||
|
SwJtOn =>1,SwJtOff =>1,SwJtDlyOn =>1,SwJtDlyOff =>1,
|
||||||
|
CtValLo =>1,CtValHi =>1,
|
||||||
|
CtOn =>1,CtDlyOn =>1,CtOff =>1,CtDlyOff =>1,
|
||||||
|
ActionType =>1,
|
||||||
|
ActTypeMp3 =>1,ActNum =>1,Intense =>1,lgMultiExec =>1},
|
||||||
"HM-SEC-MDIR" =>{ sabotageMsg =>1},
|
"HM-SEC-MDIR" =>{ sabotageMsg =>1},
|
||||||
"HM-CC-TC" =>{backlOnTime =>1,backlOnMode =>1,btnLock =>1},
|
"HM-CC-TC" =>{backlOnTime =>1,backlOnMode =>1,btnLock =>1},
|
||||||
"HM-CC-SCD" =>{peerNeedsBurst =>1,expectAES =>1,
|
"HM-CC-SCD" =>{peerNeedsBurst =>1,expectAES =>1,
|
||||||
@ -667,9 +690,9 @@ my %culHmRegModel = (
|
|||||||
fillLvlUpThr =>1,fillLvlLoThr =>1,
|
fillLvlUpThr =>1,fillLvlLoThr =>1,
|
||||||
expectAES =>1,peerNeedsBurst =>1},
|
expectAES =>1,peerNeedsBurst =>1},
|
||||||
"HM-WDS10-TH-O" =>{burstRx =>1},
|
"HM-WDS10-TH-O" =>{burstRx =>1},
|
||||||
"HM-WDS30-OT2-SM" =>{burstRx =>1,cyclicInfoMsgDis=>1,localResDis =>1,regL0_1b =>1},
|
"HM-WDS30-OT2-SM" =>{burstRx =>1,cyclicInfoMsgDis=>1,localResDis =>1,paramSel =>1},
|
||||||
|
"HM-RC-4-2" =>{localResDis =>1},
|
||||||
);
|
);
|
||||||
|
|
||||||
#clones - - - - - - - - - - - - - - -
|
#clones - - - - - - - - - - - - - - -
|
||||||
$culHmRegModel{"HM-RC-12-B"} = $culHmRegModel{"HM-RC-12"};
|
$culHmRegModel{"HM-RC-12-B"} = $culHmRegModel{"HM-RC-12"};
|
||||||
$culHmRegModel{"HM-RC-12-SW"} = $culHmRegModel{"HM-RC-12"};
|
$culHmRegModel{"HM-RC-12-SW"} = $culHmRegModel{"HM-RC-12"};
|
||||||
@ -694,6 +717,13 @@ $culHmRegModel{"HM-WDS40-TH-I"} = $culHmRegModel{"HM-WDS10-TH-O"};
|
|||||||
$culHmRegModel{"Schueco_263-157"} = $culHmRegModel{"HM-WDS10-TH-O"};
|
$culHmRegModel{"Schueco_263-157"} = $culHmRegModel{"HM-WDS10-TH-O"};
|
||||||
$culHmRegModel{"IS-WDS-TH-OD-S-R3"}= $culHmRegModel{"HM-WDS10-TH-O"};
|
$culHmRegModel{"IS-WDS-TH-OD-S-R3"}= $culHmRegModel{"HM-WDS10-TH-O"};
|
||||||
|
|
||||||
|
$culHmRegModel{"HM-LC-Sw1PBU-FM"} = $culHmRegModel{"HM-LC-Bl1PBU-FM"};
|
||||||
|
|
||||||
|
$culHmRegModel{"HM-RC-Sec4-2"} = $culHmRegModel{"HM-RC-4-2"};
|
||||||
|
$culHmRegModel{"HM-RC-Key4-2"} = $culHmRegModel{"HM-RC-4-2"};
|
||||||
|
|
||||||
|
$culHmRegModel{"HM-LC-SW4-BA-PCB"} = $culHmRegModel{"HM-LC-SW1-BA-PCB"};
|
||||||
|
|
||||||
my %culHmRegChan = (# if channelspecific then enter them here
|
my %culHmRegChan = (# if channelspecific then enter them here
|
||||||
"HM-CC-TC02" =>{displayMode =>1,displayTemp =>1,displayTempUnit =>1,
|
"HM-CC-TC02" =>{displayMode =>1,displayTemp =>1,displayTempUnit =>1,
|
||||||
controlMode =>1,decalcDay =>1,
|
controlMode =>1,decalcDay =>1,
|
||||||
@ -714,12 +744,33 @@ my %culHmRegChan = (# if channelspecific then enter them here
|
|||||||
WinJtOn =>1,WinJtOff =>1,WinJtRampOn =>1,WinJtRampOff =>1,
|
WinJtOn =>1,WinJtOff =>1,WinJtRampOn =>1,WinJtRampOff =>1,
|
||||||
OnTime =>1,OffTime =>1,OffLevelKm =>1,
|
OnTime =>1,OffTime =>1,OffLevelKm =>1,
|
||||||
OnLevelKm =>1,OnRampOnSp =>1,OnRampOffSp =>1
|
OnLevelKm =>1,OnRampOnSp =>1,OnRampOffSp =>1
|
||||||
}
|
},
|
||||||
|
"WDF-solar01" =>{WinJtOn =>1,WinJtOff =>1,WinJtRampOn =>1,WinJtRampOff =>1,
|
||||||
|
OffLevel =>1,OnLevel =>1,
|
||||||
|
CtValLo =>1,CtValHi =>1,
|
||||||
|
CtOn =>1,CtOff =>1,CtRampOn =>1,CtRampOff =>1,
|
||||||
|
OnRampOnSp =>1,OnRampOffSp =>1,
|
||||||
|
OnTime =>1,OffTime =>1
|
||||||
|
},
|
||||||
|
"Schueco_263-xxx01" =>{statusInfoMinDly=>1,statusInfoRandom=>1,
|
||||||
|
#no long here!!!
|
||||||
|
shCtValLo =>1,shCtValHi =>1,
|
||||||
|
shCtOn =>1,shCtDlyOn =>1,shCtOff =>1,shCtDlyOff =>1,
|
||||||
|
shOnTime =>1,shOffTime =>1,shOnDly =>1,shOffDly =>1,
|
||||||
|
shActionTypeDim =>1,shOnTimeMode =>1,shOffTimeMode =>1,
|
||||||
|
shDimJtOn =>1,shDimJtOff =>1,shDimJtDlyOn =>1,
|
||||||
|
shDimJtDlyOff =>1,shDimJtRampOn =>1,shDimJtRampOff =>1,
|
||||||
|
shOnLevel =>1
|
||||||
|
},
|
||||||
|
"Schueco_263-xxx02" =>{transmitTryMax =>1,eventDlyTime =>1},
|
||||||
|
"Schueco_263-xxx03" =>{ttJtOn =>1,ttJtOff =>1},
|
||||||
);
|
);
|
||||||
#clones - - - - - - - - - - - - - - -
|
#clones - - - - - - - - - - - - - - -
|
||||||
$culHmRegChan{"HM-RC-19-B12"} = $culHmRegChan{"HM-RC-1912"};
|
$culHmRegChan{"HM-RC-19-B12"} = $culHmRegChan{"HM-RC-1912"};
|
||||||
$culHmRegChan{"HM-RC-19-SW12"} = $culHmRegChan{"HM-RC-1912"};
|
$culHmRegChan{"HM-RC-19-SW12"} = $culHmRegChan{"HM-RC-1912"};
|
||||||
|
|
||||||
|
$culHmRegChan{"WDF-solar02"} = $culHmRegType{"dimmer"};
|
||||||
|
|
||||||
##--------------- Conversion routines for register settings
|
##--------------- Conversion routines for register settings
|
||||||
|
|
||||||
##############################---get---########################################
|
##############################---get---########################################
|
||||||
@ -860,10 +911,13 @@ my %culHmChanSets = (
|
|||||||
"HM-SEC-WIN01" =>{ stop =>"",
|
"HM-SEC-WIN01" =>{ stop =>"",
|
||||||
level =>"<level> <relockDly> <speed>..."},
|
level =>"<level> <relockDly> <speed>..."},
|
||||||
"HM-OU-CFM-PL01" =>{ led => "<color>[,<color>...] [<repeat>]"},
|
"HM-OU-CFM-PL01" =>{ led => "<color>[,<color>...] [<repeat>]"},
|
||||||
"HM-OU-CFM-PL02" =>{ playTone => "<MP3No>[,<MP3No>...] [<repeat>]"}
|
"HM-OU-CFM-PL02" =>{ playTone => "<MP3No>[,<MP3No>...] [<repeat>]"},
|
||||||
|
|
||||||
|
"WDF-solar01" =>{ peerChan =>"<btnNumber> <actChn> ... single [set|unset] [actor|remote|both]"}
|
||||||
);
|
);
|
||||||
# clones- - - - - - - - - - - - - - - - -
|
# clones- - - - - - - - - - - - - - - - -
|
||||||
#$culHmChanSets{"HM-OU-CF-PL02"} = $culHmChanSets{"HM-OU-CF-PL01"};
|
#$culHmChanSets{"HM-OU-CF-PL02"} = $culHmChanSets{"HM-OU-CF-PL01"};
|
||||||
|
$culHmChanSets{"WDF-solar02"} = $culHmSubTypeSets{"blindActuator"};
|
||||||
|
|
||||||
# RC send BCAST to specific address. Is the meaning understood?
|
# RC send BCAST to specific address. Is the meaning understood?
|
||||||
my @culHmCmdFlags = ("WAKEUP", "WAKEMEUP", "CFG", "Bit3",
|
my @culHmCmdFlags = ("WAKEUP", "WAKEMEUP", "CFG", "Bit3",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user