better snooze & led flash reduction
less annoying white led on connection failure, I hope
also update ESP IDF to v5.1 and related crates to latest commit on
adjustable current limit per device & fix current reduction coloring
debug updates, only fetched by devices already running debug builds
rename server & client -> conductor & performer
better reflects their roles, as the server isn't actually a server,
except for the web ui. They are both clients to the broker, but one
acts as a controller / conductor, and the other primarily performs the
commands given by the controller. Technically, there can even be
multiple controllers at the same time.
client: move profile conf to .cargo/config.toml
identify clients & options for refreshing client list in web ui
client: subscribe to both huelia/color & huelia/client/<name>/color
Also got rid of `ringbuf` dep in favor of using just a sync_channel + AtomicBool.
The ringbufs in that crate would've needed an extra Arc<Mutex<_>>
around the Producer, and at that point the extra complexity of a
dependency & potential overhead of double Arc:s just made it feel not
client: panic & restart on task watchdog timeout
server: include hostname in mqtt client id to allow multiple
and we should really rename server to controller, because noones
actually connecting to us (except the UI), and there can be multiple
instances of us, no (big) problem.
client: sntp service to get the clock right
might be useful for future color apps based on microlisp reading vars
like current time, if we want all devices relatively in sync
config client prefix & n leds from web. fix off & cycle in web
and improve the web gui a bit in general
use generic domain as default for vars in Makefile
rename project from jojos-hue to huelia
hue + julia, get it? certainly more catchy than "jojos-hue"...