Bye Bye Standby 2011 Protocol Edit
Bye Bye Standby released a new range of devices in 2011 using a new protocol. There does not appear to be any documentation available, and so I deduced the message encoding by capturing transmissions from the 3 remotes I own (and one additional remote from John Hind).
An updated version of the Arduino library is available at the google code page (needs to be updated with the latest edits to the protocol).
Device Addressing Edit
The BBSB2011 protocol has 20-bit sender (0x0001-0xFFFFF, built into the remote control) and 3-bit recipient (1-7) codes. The remotes (BBSLRC) can control 6 devices and also the group. The sockets learn the sender and recipient codes, rather than using a dial to select them.
Line Encoding Edit
Bits are encoded over the air in 2 ways. Each bit is encoded as a HIGH signal of a fixed duration followed by a corresponding LOW signal over a total duration of 1200μs.
- HIGH for 300μs followed by LOW for 900μs
- HIGH for 900μs followed by LOW for 300μs
Message Encoding Edit
The message is 25-bits long encoded as follows:
- Sender (20-bits)
- Command (1-bits)
- Recipient (3-bits)
- Message ended (1-bit)
The sender identifies which remote is sending the command, and is preset in the remote. It is a 16-bit number that appears to be allowed to be anywhere in the range 0x0001 - 0xFFFFF (I have not verified all of these, but the extremes of 0x0001 and 0xFFFF work... 0xFFFFF needs testing!).
- 0 = Off
- 1 = On
This identifies which button on the remote has been pressed. The buttons map as follows:
|Button pressed||Recipient number|
4. Message endedEdit
This is a single '0'. It is possible (even likely) that this could be part of the recipient... however as the remotes only have the ability to control 6 devices (+ group), it is always a '0'.