-
Notifications
You must be signed in to change notification settings - Fork 14
Description
I have a LIFX A19 bulb with an unknown history - it is at least 4 years old. I performed a reset procedure on to get it back to onboarding mode - 5 power cycles, which it confirms by cycling through R G B W stages.
Once connected to the bulb's embedded AP, it is reachable by ping.
tim@Tethys-Lx64:~/git-dev/lifx-onboarding-gui$ ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=64 time=64.8 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=64 time=3.60 ms
64 bytes from 172.16.0.1: icmp_seq=3 ttl=64 time=4.42 ms
64 bytes from 172.16.0.1: icmp_seq=4 ttl=64 time=5.44 ms
However the onboard.py script always results in "Error: [Errno 110] Connection timed out"
I also tried the similar GUI version at https://github.com/10bn/lifx-onboarding-gui and get the same result.
Basic telnet fails also:
$ telnet 172.16.0.1 56700
Trying 172.16.0.1...
telnet: Unable to connect to remote host: Connection timed out
From the comments, I tried modifying the code to use UDP broadcast. Given the bulb gives my system an IP of 172.16.0.2.
ip = '172.16.0.2'
try:
print(f'sending on local interface with IP {ip}')
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.bind((ip,0))
print("Sending to LIFX bulb at broadcast...\n")
sock.sendto(onboard_packet, ("255.255.255.255", 56700))
sock.close()
except Exception as e:
print("Error: " + str(e) + "\n")
This does not work either. No errors, but the bulb is not onboarded (No DHCP lease on the network it is being onboarded to)
This is not necessarily an issue with the code, but possibly further variations in the LIFX bulbs?