This part of the code is a mess and grown over time.
The PR tries to:
Break up looping over all sensors and lights by only processing up to 5 from each per idle timer call.
Fetch modelid/manufacturer name from parent Device instead of looping over sibling lights and sensors.
Control pacing of legacy poll manager via DDF device tick to not schedule things in parallel.
Over time the legacy idle timer and poll manager code needs to go, it will take some iterations to do this and even break legacy devices in the process, which needs to be converted to DDF.
This part of the code is a mess and grown over time.
The PR tries to:
Over time the legacy idle timer and poll manager code needs to go, it will take some iterations to do this and even break legacy devices in the process, which needs to be converted to DDF.