If anyone is interested in using this binding, it is now ready to be used. The idea is to do all setup with the app or the webpage of WLED and only what is needed to actually automate inside your rules gets added to the binding as the Wled project is changing a lot.
Download precompiled jar from here.
It requires the Paho library which is also included in the ZIP. Just drop both JAR files into your addons folder (after stopping Openhab first) to install or if you have a binding which uses a different paho version just leave the paho lib out and the binding should work fine with a different version. You may need to restart Openhab a few times before the cache is created and everything works, so ignore issues till it is restarted a few times.
GitHub Project and readme is found here which includes example things, items and sitemap files.
The GitHub project for the firmware for a ESP device and plenty of info on how to get the hardware going:
Working features of the binding are:
- Colour, Brightness and on and off are all working from a single color item. This means that Google and Alexa can use the same name to control all these seamlessly. Only tag the colour channel to do this.
- Auto discovery finds your Leds from the MQTT broker so it can be setup without editing text files. For this to work you need to leave the MQTT topic structure to the default.
- FX (two way sync so this list changes in Openhab when you select them in the wled app / webpage)
- Palettes (two way sync so this list changes in Openhab when you select them in the wled app / webpage)
- Preset selection and a number of other controls to start and stop the presets looping.
- Adjustable transition time.
- Speed and Intensity controls
- Sleep mode (two way sync so this changes in Openhab when you select them in the wled app / webpage)
This was a quick conversion from another binding (espmilighthub) which has been used for years already so it should be very stable and has the ability to buffer, throttle and filter out the messages to and from Openhab to stop things getting flooded with data. You can drag your finger around colour wheels and not overload the esp8266 with too much data. In debug logging you will see this getting logged.
Since I never got the WLed project running with other methods it would be great to hear how this binding works compared to how people were doing it before hand. What is better? Anything work not as good and needs to be improved?