Generic Wifi RGB Bulb groovy

I am developing a color desk lamp (wifi) for myself using an esp32 device. It will have http endpoints for on/off , color and level settings.
Since I didn't write the endpoints yet, I would like it to follow some standard to make it at least compatible with a ready driver on Hubitat. (so I don't have to write Hubitat part from scratch)
Is there any simple RGB wifi bulb driver that I can use ?

There is no standard for Wi-Fi at this level; that's what standards like Matter that include an application layer are trying to address. That's probably outside the ability to do with just that chip, and probably a significant undertaking for an individual regardless.

So your best option is probably just a sensible "API" you create yourself. You could model it after a well known API like Hue (though it would still not be directly compatible with such drivers) or just whatever makes sense to you. A human-friendly format like JSON is probably easiest for driver writers, and using things like the HSB color model so it lines up neatly with Hubitat's model (and one of Zigbee's where this undoubtedly came from) will make a driver easier for things that might otherwise be tricky, but pretty much anything is possible--and attested in the real world. That's why there is no "Generic WiFi RGBW Bulb" driver for Hubitat like there is for protocols that are more standardized across all levels.

2 Likes

well I was just looking for a driver using simple http endpoints.
like:
/on
/off
/level=X (0-100)
/color=RGB (#ffffff)

and maybe some other generic commands for a color bulb.
if there is nothing close to that, I can do it myself. but it's weird that nobody has published such a thing yet.

Looks like an easy enough API to me!

I don't think so since there is no standard for how Wi-Fi bulbs work; for a smart device, Wi-Fi is only the phyiscal layer and doesn't tell you anything about the application layer (as, say, Matter over Wi-Fi does -- or Z-Wave and Zigbee handle by standardizing the full stack). You're usually lucky if there is any API and particularly a local, documented one; and any manufacturer I'm aware of who has one (or where it's apparent from unofficial reverse engineering) has just made their own.

1 Like