Yeelight with Domoticz

I’ve written a plugin to integrate Yeelights with Domoticz home automation software. If you want to try it out, the source code is https://github.com/corbinmunce/domoticz - you will need to compile it for your platform, and I’ve only done that for Windows https://1drv.ms/f/s!AiVyh7yRnMKPgT1s4nzWDgJX7UaO

It’s really amazing!! The UI looks very cool! We will definitely try it.

Please let me know if you have any problems running it - I’ll be happy to help.

Thank you so much. No bugs for me so far but I will definitely let you know if I encounter any.

Now working under Linux on my test VM, needs to be compiled - https://github.com/corbinmunce/domoticz

and now included in the Domoticz beta at https://www.domoticz.com/downloads/

Tried it on Linux and it’s great!! The only issue I found is that it’s a little bit slow sometimes ( I think it should be caused by my bad network… 2.4G LEDs all around). Will try it back at home and provide any feedback.

a

Thanks Weiwei, any feedback is welcome, I’m working on more features and improvements!

I have a question with the Androi app, I have noticed that it will update the status of the light very quickly when I turn the light on or off with Domoticz. Would you be able to describe how the app detects this change?

Regarding the status change detection. The mechanism is just like what’s described in the inter-operation spec (see section 4.3 Notification). Any property change on the device will cause a “props” method being sent to cloud server, the parameters field describes the new value of property. Android app just subscribes to the server (on it’s interesting topic or channel) and get notification as soon as there are some value changes.

It’s a typical pub-sub mechanism or you can think it as a observer design pattern.

Aha, I just need to keep the tcp socket open and now I can see the notification coming through - thank you!

Yes, keep the socket and waiting for any status update. Detect the lost of contact by socket error, read 0 and TCP keep alive mechanism.