Claim cluster handlers during device configuration #399
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This bug was introduced in #365.
Cluster handlers were not being claimed during device configuration (after join), only during device initialization (on integration startup), because we did not try to add new entities.
In the future, there needs to be a better way to have entities themselves specify the reporting configuration they require to function. The ZHA device or endpoint object then would figure out the correct binding and reporting config. This would allow entities deriving from the same attribute to all independently be able to specify reporting config and to continue to be reusable. It would also allow prospective entities to be aggregated during device join and for their corresponding attributes/commands to be read. This would eliminate the need for cluster handlers.
Related: home-assistant/core#140880