Yeelight bulb java API (open source)


#1

Hi,

I recently developed a simple and open-source Java API that lets you control different Yeelight devices via Wi-Fi and I would like to share this with you.
Here is the Github project
Your opinion are welcome !

PS: the project documentation is still in progress

Thanks.


#2

Nice!! Will try :slight_smile:


#3

#4

Nice :grinning:


#5

Awesome!

We plan to deliver open-source api in 2018. Are you interested to be part of that?


#6

Thank you for your messages!

@coasterli Of course, I’m interested to know more about this API. I don’t know if I’m gonna have a lot of time, but I’m curious.


#7

Looks great. Will try out soon. What are your plans with this lib? Are there features you want to implement next, a roadmap? Are contributions to your project welcomed? I am an experienced Java dev and got my first color bulbs and a light strip some days ago. I am eager to do some hacking and your lib seems to be a viable starting point. Currently I am reading http://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf about discovery of devices.


#8

Thanks for your interest!
My plans are not yet finalized, but I would say:

  • Complete and finish the “doc”
  • Make some defaults flows (like blinking, …)
  • Maybe put the API on Maven repository ?
  • Add “bg” commands
  • Improve “getProperties” method
  • Improve socket management
  • Develop a JavaFX GUI that uses this API

Of course contributions are welcomed, but I don’t have a contribution guide yet (maybe a point to add to plans).
If you have any questions, don’t hesitate!

@wla_mi if you have a GitHub account, I’d be curious to know your GitHub name


#9

Thanks for your fast reply. I am “wlami” on github. I definitely would welcome it to be published on maven central or some other public repo. For local testing I’ve created a maven pom and created a local artifact so that I can use the project as maven module from within another project.

Something worth mentioning in the documentation: one has to enable the “LAN-mode” in the Yeelight app for each device before any connection is possible. This caused some problems for me as I only enabled it for one of the lights.

How do you handle the IP addresses of your devices? Static DHCP leases in your router? I am interested in the discovery feature of the lights. If you don’t have any plans for this I would try to implement this feature during the next couple of days.


#10

@wla_mi @florian-mollin

We are planing open-source API for all Yeelight products.

Contributions are welcomed to this project, especially for those experienced developers who know yeelight well.

If you guys are interested, please let me know.

You can PM your email to me and we can talk details via email.

Thanks!


#11

Hi coasterli,
I am definitely interested in getting more information about the open source api. However I have no clue how to write a pm in this forum. Haven’t found any option for it. Maybe it’s because I am a relatively new user?
Regards.
wlami


#12

@wla_mi
Sorry for the late reply (very busy…). I’m interested if you have any tips for about maven central or other repo!
You’re right about clarification of “LAN-mode”, it’s part of my “todo” list, to clarify this point that is not always clear.
For now there is no discovery feature, it’s a missing part! If you want to implement this, it will be very cool!
For the socket management part, I’m not really satisfied, I’m looking for a simple socket library that I can use, currently it’s a “home made” socket management (YeelightSocketHolder class) but I’m not proud of this…

I’m new user too, I can PM when I’m in my profil and then click in “private message” (or something like this)

@coasterli
I’m also interested, I sen you a PM