register channels with their respective tags, instead of using count
both on backend and frontend
revert to useCCT mireds slider rule, disallow white channels with useWhite
resolve#2554
make use of cse7766 calculation for factor, too
thanks to @Kaan88
remove reactive power ratio from base sensor as well, since it does not
seem to be used anywhere else (...and does not really make sense in most
situations when sensor inputs are using common gain)
* clean-up useless stream read() / flush(), rely on timer and internal state
avoids wdt reset with sensors looping on available()
* fix some instances of `available()` in boolean context to use `>0`
(not everything returns sign, but if it does - we are in trouble)
* util func to read available bytes from the stream using buffered
interface instead of 1 byte at a time
color temperature applies to input values as and / or
- rgb channels scale, when cct mode is enabled w/ color
- white channel(s), moving between warm and cold
remove two rgb scalers applied one after the other in favour of two
distinct variants - we either subtract common value from rgb or use
mireds as a scale for both rgb and ww+cw
restore brightness control as well
* error code is not buffered through our handler object.
while espasync code does strlen, what it returns is mostly random.
(old request parts, weird data, etc.)
* reworked buffer class to avoid an extra allocation on top of the
existing vector data buffer. plus, simple function pointer as well
* correct id=... and element references, partial changes to element
order were not using the new global 'light' container
* separate block for picker, does not seem consistent to depend on json
key order when processing device cfg
* visibility != display; make sure color picker is hidden when there is
no color control, but not visible when color is on but state is off
disarm is *required* by the underlying API, don't miss it on start()
while the func uses a resource lock internally, it does not seem to be the
source of system lock-ups encountered so far
prioritize hw instead of straight up removing the choice to create a sw
object. for example, allow to use either of the swapped UART0 pins when
we already use the main ones