Elro HE (300 Series)

Feature Support
Sending yes
Receiving yes
Config yes

Supported Brands

Brand Protocol
Elro 400 Series elro_400_switch

Sender Arguments

1
2
3
4
-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

Config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "devices": {
    "dimmer": {
      "protocol": [ "elro_400_switch" ],
      "id": [{
        "systemcode": 31,
        "unitcode": 0
      }],
      "state": "off"
    }
  },
  "gui": {
    "Lamp": {
      "name": "TV Backlit",
      "group": [ "Living" ],
      "media": [ "all" ]
    }
  }
}
Option Value
systemcode 0 - 31
unitcode 0 - 31
state on / off

Optional Settings

GUI Settings

Setting Default Format Description
readonly 1 1 or 0 Disable controlling this device from the GUIs
confirm 1 1 or 0 Ask for confirmation when switching device

Protocol

This protocol sends 50 pulses like this

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

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).

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

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 0 and a low 4th pulse means a 1. We then get the following output:

Each (group) of numbers has a specific meaning:

  • SystemCode: 0 till 5
  • UnitCode: 6 till 10
  • State: 11 (inverse state)
  • Check: 12
  • 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 (inversed)
  • UnitCode: 1 (inversed)
  • State: On (inverse state)
  • Check: On

Another example:

  • SystemCode: 0 (inversed)
  • UnitCode: 4 (inversed)
  • State: Off (inverse state)
  • Check: Off
11111 11011 1 0