User Tools

Site Tools


elro_he_switch_v7_0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

elro_he_switch_v7_0 [2015/11/27 22:09] (current)
Line 1: Line 1:
 +**Elro HE Switches**
  
 +^Feature^Support^
 +|Sending|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +|Receiving|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +|Config|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +
 +==== Supported Brands ====
 +^Brand^Protocol^
 +|Elro 800 Series|elro_800_switch|
 +|Brennenstuhl|brennenstuhl|
 +
 +==== Sender Arguments ====
 +<​code>​
 +-s --systemcode=systemcode ​    ​control a device with this systemcode
 +-u --unitcode=unitcode ​        ​control a device with this unitcode
 +-t --on                        send an on signal
 +-f --off                       send an off signal
 +</​code> ​
 +
 +==== Config ====
 +<​code>​
 +"​devices":​ {
 + "​Lamp":​ {
 + "​protocol":​ [ "​elro_800_switch"​ ],
 + "​id":​ [{
 + "​systemcode":​ 31,
 + "​unitcode":​ 0
 + }],
 + "​state":​ "​off"​
 + }
 +},
 +"​gui":​ {
 + "​Lamp":​ {
 + "​name":​ "TV Backlit",​
 + "​group":​ [ "​Lamps"​ ],
 + "​media":​ [ "​all"​ ]
 + }
 +}
 +</​code>​
 +
 +==== Optional Settings ====
 +
 +GUI Settings
 +^Setting^Default^Format^Description^
 +|readonly|0|1 or 0|Disable controlling this device from the GUIs|
 +|confirm|0|1 or 0|Ask for confirmation when switching device|
 +
 +==== Notes ====
 +
 +Workaround for 800 Series
 +
 +http://​forum.pilight.org/​Thread-Elro-Home-Easy-HE815S--1039?​pid=6036#​pid6036
 +
 +==== Protocol ====
 +
 +This protocol sends 50 pulses like this
 +<​code>​
 +320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 320 960 960 320 320 960 960 320 320 960 960 320 320 960 960 320 320 960 320 960 320 960 960 320 320 9920
 +</​code>​
 +
 +It has no ''​header''​ and the last 2 pulses are the ''​footer''​. These are meant to identify the pulses as genuine, and the protocol also has some bit checks to filter false positives. We don't use them for further processing. The next step is to transform this output into 12 groups of 4 pulses (and thereby dropping the ''​footer''​ pulses).
 +
 +<​code>​
 +320 960 320 960
 +320 960 320 960
 +320 960 320 960
 +320 960 320 960
 +320 960 320 960
 +320 960 320 960
 +320 960 960 320
 +320 960 960 320
 +320 960 960 320
 +320 960 960 320
 +320 960 320 960
 +320 960 960 320
 +320 9920
 +</​code>​
 +
 +If we now look at carefully at these groups you can distinguish two types of groups:
 +  - ''​320 960 320 960''​
 +  - ''​320 960 960 320''​
 +
 +So the first group is defined by a high 4th pulse and the second group has a low 4th pulse. In this case we say a high 4th pulse means a 1 and a low 4th pulse means a 0. We then get the following output:
 +
 +<​code>​
 +11111 10000 1 0
 +</​code>​
 +
 +Each (group) of numbers has a specific meaning:
 +  * SystemCode: 0 till 5
 +  * UnitCode: 6 till 10
 +  * State: 11
 +  * Check: 12 (inverse state)
 +
 +<​code>​
 +11111 10000 1 0
 +</​code>​
 +
 +  * The ''​SystemCode''​ is defined as a binary number
 +  * The ''​UnitCode''​ is defined as a binary number
 +  * The ''​State''​ defines whether a devices needs to be turned On or Off
 +  * The ''​Check''​ defines whether a devices needs to be turned On or Off (but is inverse)
 +
 +So this code represents:
 +
 +  * SystemCode: 31
 +  * UnitCode: 1
 +  * State: On
 +  * Check: On (inverse state)
 +
 +Another example:
 +
 +  * SystemCode: 0
 +  * UnitCode: 4
 +  * State: Off
 +  * Check: Off (inverse state)
 +
 +<​code>​
 +00000 00100 0 1
 +</​code>​
 +
 +Furthermore the protocol filters out false positives by checking if:
 +  - Every 1st bit of the first 12 groups of 4 bits is always LOW (0)
 +  - 2nd bit of the first 12 groups of 4 bits is always HIGH (1)
 +  - 3rd and 4th bit of the first 12 groups of 4 bits are different (NOT EQUAL)
 +  - Bits 49 and 50 are LOW (0) and HIGH (1) respectively (fixed footer)
 +This makes the protocol more accurate because it will respond less when arctech_old commands are sent.
 +
 +The numeric mapping of a button on the remote control is binary counted, as follows: ​
 +<​code>​
 +A = 1
 +B = 2
 +C = 4
 +D = 8
 +E = 16
 +</​code>​
 +All possible combinations of dip switches on the socket can be used with pilight. For instance, if you set the switches that correspond to A and E, the socket will react on unit code "​A+E":​ 17 (1+16). By pushing A and E simultaneously on the remote, you can also switch the corresponding socket. However, this may also trigger sockets that are listening to A and/or E if you don't push both buttons at exactly the same time.
elro_he_switch_v7_0.txt ยท Last modified: 2015/11/27 22:09 (external edit)