The secret message is:
Keep trying

Row by row
| Row | Bulbs | Add the ‘on’ numbers | Character |
|---|---|---|---|
| 1 | 01001011 | 64 + 8 + 2 + 1 = 75 | K |
| 2 | 01100101 | 64 + 32 + 4 + 1 = 101 | e |
| 3 | 01100101 | 64 + 32 + 4 + 1 = 101 | e |
| 4 | 01110000 | 64 + 32 + 16 = 112 | p |
| 5 | 00100000 | 32 = 32 | a space |
| 6 | 01110100 | 64 + 32 + 16 + 4 = 116 | t |
| 7 | 01110010 | 64 + 32 + 16 + 2 = 114 | r |
| 8 | 01111001 | 64 + 32 + 16 + 8 + 1 = 121 | y |
| 9 | 01101001 | 64 + 32 + 8 + 1 = 105 | i |
| 10 | 01101110 | 64 + 32 + 8 + 4 + 2 = 110 | n |
| 11 | 01100111 | 64 + 32 + 4 + 2 + 1 = 103 | g |
Crack it with Python
Python can do the adding for you. int(code, 2) reads a string of 1s and 0s as a binary number. Then chr() turns the number into its character.
secret = [
"01001011",
"01100101",
"01100101",
"01110000",
"00100000",
"01110100",
"01110010",
"01111001",
"01101001",
"01101110",
"01100111",
]
message = ""
for code in secret:
number = int(code, 2)
message = message + chr(number)
print(message)
When you run it, it prints:
Keep trying
<strong>Beep says:</strong> Want to write your own secret message? Turn it around: ord() turns a character into its number, and format(number, “08b”) writes the number as 8 binary digits. Beep boop!