Very erudite discussion, @John. Having not heard of Weber-Fechner law before, I found the additional background reading useful in considering the implementation of the use case you discuss.
Flooding the Z-Wave network is something I’ve been mulling here for other reasons–mainly responsiveness and missed asynchronous events (which I shared earlier). Clearly this could be a source of the flood! At present I have only indoor lux sensors and don’t use ‘em for much, so it clues me to look into how much chatter they are producing–thank you!
My first reaction to your observations was some kind of “low pass filter” or running average filter on the hub, perhaps implemented as a weighted bucket brigade filter. But your point about flooding the network makes that argument moot: it won’t relieve the (perhaps) already too busy Z-Wave network.
However, it may be practical–assuming no firmware changes are made to this or other lux-reporting devices–to adjust the sensor report sensitivity, e.g., how much of a lux delta triggers a report, “on the fly.” In other words, crank up the sensitivity for lower light values and decrease it for higher ambient brightness. Implemented with some hysteresis, it might be possible to do this on hubs that allow adjusting parameters from scenes.
For example: using your numbers, if lux is reported above, say 100, move from sensitivity setting for “low” light levels to that for “medium” levels. Conversely, when lux reports fall below, say 40, switch back to low-light report sensitivity. Do the same for transitioning between the “medium” and “high” lux levels. Note that it may require some sort of low-pass filter to knock out the extremes and keep the switching between levels to a manageable level, but that could accommodate–or at least mediate–what you are observing as far as flooding the Z-Wave network.
On Z-Box, that could be done in a Lua scene, I suppose. For other platforms, YMMV. ![]()
Thoughts on this approach, @John ? (And @getoffmylawn loves a good mystery–what do you think, Darren?) Anyone else care to chime in?