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.

Specification Edit

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:

  1. Sender (20-bits)
  2. Command (1-bits)
  3. Recipient (3-bits)
  4. Message ended (1-bit)

1. SenderEdit

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

2. CommandEdit

  • 0 = Off
  • 1 = On

3. RecipientEdit

This identifies which button on the remote has been pressed. The buttons map as follows:

Button pressed Recipient number
1 7
2 5
3 3
4 6
5 4
6 2
Group 1

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