Hacking TechLife Pro bulbs

send this request to the cloud mqtt server. Since your device most likely communicates with the cloud (this is the default setting), you must send the payload to there. They will deliver it to your device which then tries to reconnect to your local mqtt server hosted by .1.132.
Please note, the mqtt server must be running on your computer whenever you turn the light on.
A further IP change command should be published to your .1.132 mqtt server (then obviously to the new IP you set in the last IP change command)

Stillā€¦ with the one I have I managed to replace the entire wifi module. It may apply to your bulb too. If/when I will put my hands on such a bulb, I will give that t try tooā€¦

Some further details:

http://diy.viktak.com/2020/05/broadlink-smart-bulb-conversion-to-open.html

1 Like

To tell the truth I donā€™t know MQTTā€¦ as far as I understand, I should open the command line and write this:

echo -en ā€œ\xaf\xc0\xa8\x01\x84\x5b\x07\xf0\x00\x00\x00\x00\x00\x00\x41\xb0ā€ | mosquitto_pub -h cloud.qh-tek.com -t ā€˜dev_sub_Bulb's-MAC-ADDRESSā€™ -s -u testuser -P testpassword

And after this, something will change inside the bulb to control it locally. But I still control the bulb on the app (it means, still connected to the cloud) and no answer when i try locally (Iā€™m trying to control it by Home Assistant running on 192.168.1.132).
Maybe Iā€™m writting the wrong command ?

PS: The computer and the bulb have the same IP always (IP binding by router), so this is one less problem.

I started a simple Python GUI app project to control these bulbs: https://github.com/sergachev/techlife_control

Hi people,

First, thanks a lot for all you work. It helped me a lot figuring how were my leds were working.
I made a python script : gist:113246128adaa49fbbe61061d6c8fc6f Ā· GitHub
You can do the followings :

  • set on and off
  • change color (multiple formats are accepted thanks to pydantic Color class)
  • change brightness
  • start a color animation and set its speed
  • ask the leds to download the firmware

I tried to make the most pythonic code. I donā€™t rely on byte moves but simply on the struct class which is more efficient and readable. I also used map and reduce for more concise code. We can talk about it.

Hello Everyone,

Thanks for the great job so far !

Does anyone have an unpacked firmware in order to reflash my bulb ? Iā€™ve tried to reflash using the packed03.bin and bricked it. File seems to be compressed and has a 36 bytes header. Iā€™ve tried to remove the header and reflash, no success. tried also to find a compressed payload on file bin and no success also.

Thanks,
Carlos