A conversation over on the deCONZ forums (here) started out as a question about errors and evolved into a larger conversation about deCONZ role in managing simultaneous(ish) requests to perform actions across multiple groups.
Basically: I have a very large system where multiple automations happen at the same time, most problematic of which are every-90-second updates to color and brightness to all light groups that are on. This was a key reason to fill my new house with Hue bulbs.
The Phoscon folks seem to be against building any kind of busy-retry or rate limiting on their end. So I’m wondering if there was a way to rate limit all actions to the light domain from the HA side.
Or other thoughts?
Tagging @Robban because I know this is your integration and you were participating over there as well.
Thanks for any thoughts!
What is the problem you are trying to solve? What is the issue? Aren’t the requests to the lights (change colors, etc) being executed properly?
Are you sure the problem is on Zigbee side and not in Home Assistant?
Problem: deCONZ requires restarting (specifically: leaving and then re-joining the network) to restore functionality after too many simultaneous requests.
HA is doing it’s job. It’s deCONZ that isn’t able to properly handle the simultaneous requests. Suggestions were made to create larger deCONZ groups and act on them vs multiple smaller ones, which does work in some cases, but doesn’t solve the real problem.
deCONZ shouldn’t really freeze requiring a restart due to excessive signalling, that’s definitely an issue.
I don’t know how the adaptive lighting tool works and how much configuration it allows. It would have been nice if it could use a sliding window for all devices during those 90 seconds to avoid overloading the system.
A possible issue is that you send multiple commands to the same device right? I guess that’s another thing causing unnecessary strain on the system.
If you’re handy you could try to increase the retries in the pydeconz request method to see if that helps you.
Another possibility would be to rate limit parallell calls from home assistant though I would really not like to do that.
And yes, I plan on reaching out to the adaptive lighting folks to see if they could do something just like that.
Regarding the multiple commands: I do all my automations via Node-RED and I do perform checks to see if a light is already on before I send a command to turn it on “again” (like after motion, etc.). So that has probably reduced the chance for excessive signaling but only in a minor way. It’s those color temp changes that I can’t space out that’s a problem. Yes, I can (and have) build a Node-RED solution for this but it’s not nearly as elegant as the HACS Adaptive Lighting solution.
I may fiddle with pydeconz but not my specialty
Thanks for the info/thoughts.