amend b8921b9a89
* customize our multipliers. accuracy is a generic multiplier, mostly
depends on the environment temperature (see datasheet). sensitivity is
a ratio between the currently set mtreg value and the default
e.g. for mtreg 31, sensitivity is .45; for mtreg 69, sensitivity is 1.
* non-blocking pre(); since we have tick(), just wait until the reading
is available instead of stopping everything else in the sensor loop
* more specific error state when we are not ready to return a value
ref. #2483, #2546 and #2554
instead of waiting for our time window, attempt to read & parse everything
discard unknown data more frequently, and attempt to store more data as well
- revert to ignoring rgb in color+white+cct case by resetting all its
inputs to minimum and only controlling white channels
- ignore ww and cw in rgb+cct case; use approximated color, thus allowing
us to set a different 'cold temperature' limit
- fix webui layout rules based on root element class(es) and consistent
order for our control elements that does not depend on the order in which
`processData` handles configuration kvs
- internal refactoring to flatten input processing funcs selection
(to possibly replace our boolean flags with a simple list)
ref. #2547, tell gpio side that we don't need any init
may do weird stuff after runtime pin changes, since we won't know our
new pins due to the order of setup() functions
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)