The secret message is:
CRAB

Row by row
| Row | Bulbs | Add the ‘on’ numbers | Character |
|---|---|---|---|
| 1 | 01000011 | 64 + 2 + 1 = 67 | C |
| 2 | 01010010 | 64 + 16 + 2 = 82 | R |
| 3 | 01000001 | 64 + 1 = 65 | A |
| 4 | 01000010 | 64 + 2 = 66 | B |
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 = [
"01000011",
"01010010",
"01000001",
"01000010",
]
message = ""
for code in secret:
number = int(code, 2)
message = message + chr(number)
print(message)
When you run it, it prints:
CRAB
<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!