Thanks to tony-fav, the latest version of Tasmota now includes DDP support. The DDP protocol is designed for controlling a network of lights in real-time. This may sound very cryptic, but it unlocks some very cool lighting effects on light strips and light bulbs running Tasmota, including our CloudFree Smart Bulb.
What You’ll Need
- CloudFree Smart Bulb or other lighting device running Tasmota, configured on your network
- An ESP-based development board, preferably an ESP32 Board
- A Micro-USB cable to flash the ESP board with WLED
Getting Started with WLED
WLED is an ESP firmware, like Tasmota, that is designed for directly controlling LED light strips. However, it also has the ability to communicate and sync up other lights over your network using DDP.
On an ESP8266 board you are limited to controlling 3 devices, whereas an ESP32 board will allow you to control up to 10 devices using the standard WLED build.
Flashing WLED is a very simple process and instructions are available in the WLED documentation.
You’ll need to update your light bulbs to a custom build of Tasmota that includes the DDP capabilities as the default build does not. We have custom builds ready to use, just paste link into the “OTA URL” page in Tasmota and upgrade.
For the CloudFree Smart Bulb: http://tasmota.cloudfree.io/tasmota-lbc.bin.gz
For other devices: http://tasmota.cloudfree.io/tasmota-ddp.bin.gz
To enable DDP control on your Tasmota devices, go to the console and run the following
For lights, run Scheme 5
For WS2812 light strip controllers, run Scheme 15
Now that our Tasmota devices are listening for DDP commands, we just need to configure WLED to control them.
On your WLED page (accessible at the IP address of your ESP development board), go to Config -> LED Preferences
Input the IP addresses of your Tasmota bulbs in positional order on this page with a length of 1. If you have an individually addressable LED strip, then set the length to the number of pixels on the strip.
When finished hit save at the bottom of the page.
Try it out!
Go back to your WLED homepage and see what it can do!
I have an bulb with an esp32c3, is there a build of tasmota with ddp for the esp32c3?
Yes, the C3 official Tasmota version supports DDP
Does the tasmota device need to be ESP32 or can it be ESP8266?
The Tasmota device can be either ESP8266 (as in our smart bulbs currently) or ESP32, doesn’t matter.
Does Tasmota DDP support RGBW bulbs? When I connect WLED to a bulb flashed with the tasmota-ddp.bin the light works completely (RGB and separate White channel), but when I set Schema 5 and control it through WLED, WLED doesn’t have the White channel.
This is so cool for integrating bulbs into simple outdoor “light shows” that use pixels/strips. One issue I have though is that my bulb is in a garage light that I use for normal lighting – when holiday lights are in use I want to use DDP – I have that working. But then after 10pm I want to use it as a normal bulb – what scheme or command do I use to return the bulb to “normal use” ? I tried the command “Scheme 0” and that didnt work – I basically need to be able to swap back and forth (over MQTT) from “Holiday / DDP” Mode and “Normal Use” Mode.
After you set
Scheme 0, reboot the bulb with
Restart 1. Then you should be able to use the bulb normally.
Thanks for the quick response. Now when I set
Scheme 5the bulb reboots and I get a State that says Scheme:0 – same thing happens every time I try that.
Full Json is:
Ignore the above – seems to be working correctly now and I dont need to do a
Restart 1after swapping to Scheme 5
After trying to update firmware to tasmota-ddp.bin, I have 2 lights not accessible now. I have installed this on a few lights already a few days ago with no issues, its very cool feature to use. But for some reason this morning when I tried to install it on a couple more lights, there are totally not accessible now. I have tried to use tasmota device recovery, power cycle 7 times, but im not getting anything from these bulbs now.
Is there anything else I can try to get access to these again?
thanks for you work!