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

GH-34: Expose Z-Wave Generic and Specific Device Class #35

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

silabs-borisl
Copy link
Collaborator

Forwarded: #34
Bug-SiliconLabs: UIC-3224
Bug-Github: #34

silabs-borisl added a commit to silabs-borisl/UnifySDK that referenced this pull request Mar 21, 2024
UCL precision is now always 2 whild Zwave is trying to adapt to the UCL precision.
silabs-borisl added a commit to silabs-borisl/UnifySDK that referenced this pull request Mar 21, 2024
UCL precision is now always 2 whild Zwave is trying to adapt to the UCL precision.
Copy link

@nobriot nobriot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We (used to) recommend to have a separate proprietary cluster for things specific to a technology that does not fit in the ZCL, like described in the documentation

Also it kind of feels wrong to have Z-Wave... in the shared clusters, now applications start to see some of the details that Unify is supposed to abstract.

Further, I would argue that this information is not needed for any application to achieve what they need. 😁 But you decide 😉

@silabs-borisl
Copy link
Collaborator Author

Hi @nobriot,

We didn't come to an satisfying solution to this problem.
Which approach do you recommend when we need to expose a specific Z-Wave attribute that is not mappable directly in ZCL ? A single Z-Wave proprietary cluster that contains all the data we want to expose ?

For example in this PR : https://github.com/SiliconLabs/UnifySDK/pull/33/files#diff-cf34b875af33637282939b69e5153da28622226044225d7dc32824b84254fc1c we should not add those properties into the FanControl cluster directly but in our Z-Wave proprietary cluster alongside the others attributes we could not fit anywhere ?

@nobriot
Copy link

nobriot commented Mar 26, 2024

Hi @nobriot,

We didn't come to an satisfying solution to this problem. Which approach do you recommend when we need to expose a specific Z-Wave attribute that is not mappable directly in ZCL ? A single Z-Wave proprietary cluster that contains all the data we want to expose ?

For example in this PR : https://github.com/SiliconLabs/UnifySDK/pull/33/files#diff-cf34b875af33637282939b69e5153da28622226044225d7dc32824b84254fc1c we should not add those properties into the FanControl cluster directly but in our Z-Wave proprietary cluster alongside the others attributes we could not fit anywhere ?

We also had this problem earlier, and we would recommend to have Z-Wave non-fitting functionalities be put in separate proprietary cluster, rather than extending the standard clusters.

As a IoT service developer, I would prefer not to have to understand or be exposed to Z-Wave functionalities. If I want to get started with Unify, after this change, the basic ZCL cluster would show me Z-Wave functionalities and I would have to
learn / look up all what these mean to know what I should do it with these.

Plus, the Z-Wave Device Class information is "weak", it does not tell much about the device itself.
I am not sure about the Z-Wave Fan mode thing, I did not look into details for that PR, but in general I would perhaps recommend to map what can be mapped to the standard ZCL clusters and then keep all the additional information in a separate cluster.

I hope it makes sense.

@silabs-borisl
Copy link
Collaborator Author

Ok thanks a lot for your feedback, we'll push the cluster adjustment in that direction then.

I'll update the PR.

@sohail-shareef
Copy link

Now we can get the generic and specific device type. Will this solution be a better way or not? Will you add in next release?

@silabs-borisl
Copy link
Collaborator Author

This solution have a high chance to be in the next release, but with a different MQTT topic. I'll update the PR here when things will be ready.

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