Feature | Support |
Sending | |
Receiving | |
Config |
Supported Brands
Brand | Protocol |
Beamish 4-AE4 | beamish_switch |
Sender Arguments
1 2 3 4 5 | -t --on send a toggle state signal to the device
-f --off send a toggle state signal to the device
-i --id=id control the device with this system id (1 ... 65535)
-u --unit=unit control the device with this unit code (1 ... 4)
-a --all send on/off command to all device units belonging to this system id
|
Config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | {
"devices": {
"dimmer": {
"protocol": [ "beamish_switch" ],
"id": [{
"id": 8,
"unit": 2
}],
"state": "off"
}
},
"gui": {
"Lamp": {
"name": "TV Backlit",
"group": [ "Living" ],
"media": [ "all" ]
}
}
}
|
Option | Value |
systemcode | 1 - 65535 |
unit | 1 - 4 |
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
323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 323 1292 1292 323 323 1292 323 1292 323 1292 323 1292 323 1292 1292 323 1292 323 323 1292 323 1292 323 1292 323 1292 323 10982
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).
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
323 1292
1292 323
323 1292
323 1292
323 1292
323 1292
323 1292
1292 323
1292 323
323 1292
323 1292
323 1292
323 1292
323 10982
If we now look at carefully at these groups you can distinguish three types of groups:
323 1292
1292 323
The 1st group is defined by a short-long sequence (logical 0) The 2nd group is defined by a long-short sequence (logical 1):
000000000000100000110000
We can group the sequence of bits into the following groups A and B:
AAAAAAAAAAAAAAAA BBBB BBBB
0000000000001000 0011 0000
Each of the groups of bits (A and B) has a specific meaning:
Group | Bit # | Config name | Range | Description |
A | 1 to 16 | id | 1 to 65535 | SystemCode id |
B | 17 to 24 | unit | 1 to 4 | ButtonCode unit |
The protocol driver creates the binary presentation as required by the device
1100 | 0000 | -u 1 | Button A Toggle device status |
0011 | 0000 | -u 2 | Button B Toggle device status |
0000 | 1100 | -u 3 | Button C Toggle device status |
0000 | 0011 | -u 4 | Button D Toggle device status |
0000 | 1111 | -a -t | Button ALL ON |
1100 | 0011 | -a -f | Button ALL OFF |
So this code represents:
{
"code": {
"id": 8,
"unit": 2
},
"origin": "receiver",
"protocol": "beamish_switch",
"uuid": "0000-00-00-00-000000",
"repeats": 2
}
Examples
CLI command:
pilight-send -p beamish_switch -i 8 -u 1
{
"code": {
"systemcode": 2,
"id": 8,
"unit": 1
},
"origin": "receiver",
"protocol": "beamish_switch",
"uuid": "0000-00-00-00-000000",
"repeats": 1
}
pilight-send -p beamish_switch -i 8 -a -t
{
"origin": "sender",
"protocol": "beamish_switch",
"code": {
"id": 8,
"all": 1,
"state": "on"
},
"repeat": 1,
"uuid": "0000-00-00-00-000000"
}