Logilink Switches
Brand | Protocol |
---|---|
Logilink EC0002, EC0004, EC0005 and EC0006 | logilink-switch |
-t --on send an on signal -f --off send an off signal -s --systemcode=system control a device with this id -u --unitcode=unit control a device with this unit code
"devices": { "Switch": { "protocol": [ "logilink_switch" ], "id": [{ "systemcode": 0, "unitcode": 0 }], "state": "closed" } }
None
This protocol sends 50 pulses like this
284 852 852 284 852 284 284 852 284 852 852 284 284 852 284 852 852 284 852 284 284 852 284 852 284 852 852 284 852 284 284 852 284 852 852 284 852 284 284 852 852 284 284 852 284 852 284 852 284 9656
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 24 groups of 2 pulses (and thereby dropping the footer
pulses).
284 852 852 284 852 284 284 852 284 852 852 284 284 852 284 852 852 284 852 284 284 852 284 852 284 852 852 284 852 284 284 852 284 852 852 284 852 284 284 852 852 284 284 852 284 852 284 852
If we now look at carefully at these groups you can distinguish two types of groups:
284 852
852 284
So the first group is defined by a high second pulse, the second group has a low second pulse. We then get the following output:
01100100110001100110 1 000
Each (group) of numbers has a specific meaning:
01100100110001100110 1 000
SystemCode
is defined as a binary numberState
defines whether a switch state is Opened or ClosedUnitCode
is defined as a binary number and represents the button pressed, e.g. A, B or ALLSo this code represents: