Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zigbee Congestion - Spread Change Over Time #939

Open
thk-socal opened this issue Feb 29, 2024 · 5 comments
Open

Zigbee Congestion - Spread Change Over Time #939

thk-socal opened this issue Feb 29, 2024 · 5 comments

Comments

@thk-socal
Copy link

I have a large Zigbee network and I am utilizing ZHA on Home Assistant. I have a lot of lights and many groups. Adaptive Lighting has been fabulous, but there are some cases where I have 15 Zigbee groups that need to change with the same light adaptation settings. To accomplish this I have created multiple adaptive light settings that are just duplicates of each other and then limit the amount of light groups in those settings and have them have different adjustment times.

So I have two propositions for helping reduce congestion of Zigbee broadcasts:

  1. Allow for an option calld "spread_change" which takes the lights/groups for the light changes and spreads that change across the list. Now of course you will want certain lights to always be in sync so perhaps a format like:
spread_change: evenly (or randomly)
al_change_groups:
  group1:
    light.zigbee_group_masterbedroom_sconces
    light.zigbee_group_masterbedroom_lights
  group2:
    light.zigbee_group_kitchen_main
    light.zigbee_group_kitchen_window
  group3:
    light.zigbee_group_family_room_sconces
    light.zigbee_group_family_room_lights
  1. In the situation that there are multiple groups of lights, and you want to avoid network overload with changes allow for an offset for each light in the AL settings. So if there is an offset setting, then the system adds the offset to the change window. So below the Master Bedroom always changes at 300 second interval and the Kitchen always changes 10 seconds after the Master Bedroom etc...
interval: 300
lights:
  light.zigbee_group_masterbedroom_sconces:
    offset: 0
  light.zigbee_group_masterbedroom_lights:
    offset: 0
  light.zigbee_group_kitchen_main
    offset: 10
  light_zigbee_group_kitchen_window
    offset: 10
@basnijholt
Copy link
Owner

This is a great suggestion. I think we do not even need to make this configurable but just add a random offset to each Adaptive Lighting switch.

@basnijholt
Copy link
Owner

[Copy pasting this message in a few recent open issues]

I just wanted to take a moment to express my heartfelt thanks to everyone that is active in this repo. Your contributions, from answering questions to addressing issues, have been invaluable. It's amazing to see how supportive and helpful our community is!

Adaptive Lighting is all about enhancing your living spaces with smart, sunlight-responsive lighting. We've had quite a few discussions and open issues recently, and I see this as a positive sign of our community's engagement and growth. If you come across anything in the documentation that's unclear or if you have suggestions for improvement, please don't hesitate to share!. Your feedback is crucial for making Adaptive Lighting better for everyone.

On a personal note, I've recently welcomed twin boys into my family, which has been an incredible and life-changing experience. As you can imagine, my time is now more limited, and while I'm doing my best to keep up with the project, there may be delays in my responses. I appreciate your understanding and patience during this time.

Rest assured, I'm fully committed to addressing any bugs, especially those related to new Home Assistant updates, as swiftly as possible. I understand that many issues may stem from hardware limitations or misunderstandings about things like Zigbee groups. Your continued support and collaboration in helping each other out not only strengthen our community but also enhance the Adaptive Lighting experience for all.

Thank you once again for your understanding, patience, and support. Let's keep our houses well lit and adaptive for maximal enjoyment of life! 🌞🏠🌙

@thk-socal
Copy link
Author

This is a great suggestion. I think we do not even need to make this configurable but just add a random offset to each Adaptive Lighting switch.

While I see why you would think that it should not be configurable, I would argue that in some cases the transition time will be short enough that a random offset would be noticeable if you have multiple groups to dim in the same room. How about it is random unless you include something that groups the lights? That was for specific scenarios the option is there to keep groups in sync if you have a short transition.

Also, congrats on the twins! Hope you and the family are well and enjoying this very special time!

@thk-socal
Copy link
Author

As I have been working with this in Node-RED, while waiting for an adjustment, I have found the best option is to have a queue that allows 1 message every 1.5 seconds. The queue can build up and continue to function as the messages are sent and the queue empties. So I would love the option to have an "Messages Allowed" and "Message Time Window" setting.

"Messages Alowed": 1
"Message Time Window": 1.5 seconds

That would stop overloads on the Zigbee networks for me as I can send 8 group broadcasts per 10 second window.

@itssimon
Copy link
Contributor

I'm having the exact same problem and am intrigued about the Node-RED queue you mentioned @thk-socal. Would you mind sharing more details about it?

Globally limiting the rate at which AL adapts lights across all switches sounds like the right solution to me, e.g. at most one adjustment every 2 seconds.

Random intervals/delays may improve things, but can still lead to overloading the network occasionally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants