I’ve got a couple of Pixelblaze controllers running lighting in my kitchen and bar, and I wanted an easy way to control them without needing a web browser. I’ve also got Philips Hue lights, and a raspberry Pi in my network box. I’ve built a system that can cycle through playlists from the hue switches, turn the lights on and off, and set brightness.
You configure the switch as normal in the hue app, but don’t use it to control normal hue lights), then need to run a few docker containers (a Hue to MQTT bridge, an MQTT server, and my MQTT to Pixelblaze code), which needs a bit of configuration and somewhere running docker to actually host things, but then you can map between lights and pixelblaze instances with a bit of YAML configuration, and set the actual playlists to use in the pixelblaze UI as normal (but don’t run them, the switch will cycle through them but gets very confused if the playlist is already doing that!)
The container is up on the docker registry, including an example docker-compose.yml file to get the three containers up and running on a Pi or similar, I’ve not tried any other platforms and my docker knowledge is extremely limited, but I imagine it’d work elsewhere.
Docker has more information, hopefully it’s useful to someone else!
I’ve made use of the excellent python library to do the pixelblaze communication, just pushed everything to github (although it’s not complicated particularly it might be useful as an example if you’re trying to do something similar?) GitHub - tomoinn/bifrost: Bridge from MQTT to Pixelblaze
Right now it’s in C++ on an esp32 breakout. I’m still fighting with the websocket client. My hope is to build something necklace-ish that packs a PB with a sensor board, a seeeduino xiao esp32, and a potentiometer to control brightness. The idea is that the packaged PB would act as an AP for a sync network that controlled whatever wearables you were doing that night and fed them audio data. I’ll probably try to build in a small amp for a connected mic.
Thanks for writing the python library, certainly simplified what I had to do! I did find I had to be quite careful with managing how the pixelblaze objects were instantiated to avoid some kind of stale state, but once that was done it was plain sailing.
Those bottle shelves are IKEA bookcases, I routed out a channel for the pixels on each one and connected power rails on the top and bottom, the power supply and controller are in one of the opaque sections. I’ve got a mapping defined for each shelf so I can do patterns that light up depending on the shelf index which works really nicely too.