- Communicates on a raw socket to the TP-Link Smart Bulb IP address on port 9999
- No authentication needed
Preset Smart Bulb Commands:
- on - turn light bulb on
- off - turn light bulb off
- gettime - set time of light bulb
- reboot - reboot light bulb
- tz - timezone of light bulb
- getstate - status of light bulb
- sysinfo - information of light bulb
- bright - set light bulb brightness at 50%
- cldfwinfo - information of light bulb firmware
- Kyle O'Meara
- Created during GeekWeek 2017
- No dependencies
$ lightitup.py --help
Pass IP Address of Smart Light Bulb and command
$ lightitup.py -t ipaddress -c command
- Tested on TP-Link Light Bulb Model LB-110
- Light It Up was tested on Kali Linux with Python 2.7
- TP-Link Smart Home Protocol encryption XOR key (171 or 0xab), see References.
- Reserve engineered the payloads of the light bulb communication to determine the commands accepted by light bulb (not-exhaustive).
- Key discovery, for light bulb, the first 4 bytes of the payload are 3 null bytes followed by the 4th byte being the length of the command.