Read multiple attributes at once during discovery #464
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 replaces #400 and resolves #399 by using a multi-attribute read request in the
ZigBeeNodePropertyDiscoverer
. I did some smaller refactorings in that class as well, and used separate commits for those to ease the review.Please note that this PR needs the new ZSS version before it can be merged (the new version that supports multi-attribute-read commands).
The basic idea is to do a multi-attribute read first, and then read each attribute separately from the ZSS layer as is already done before this PR. If the multi-attribute read succeeds, then the subsequent separate reading of each attribute will be obtained from the cache; if the multi-attribute read fails, then the subsequent separate readings serve as a fallback.
As a small additional change I added in this PR is adding a thing property for the manufacturer code obtained from the node descriptor (as I think that this is helpful in particular with the upcoming support for manufacturer-specific clusters).
Also-by: Henning Sudbrock
Signed-off-by: Chris Jackson [email protected]