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

Extra clusters incorrectly added to a Matter device configuration #1125

Open
hicklin opened this issue Sep 6, 2023 · 5 comments
Open

Extra clusters incorrectly added to a Matter device configuration #1125

hicklin opened this issue Sep 6, 2023 · 5 comments
Assignees
Labels
matter Important to Matter SDK

Comments

@hicklin
Copy link

hicklin commented Sep 6, 2023

Reproduction steps

  1. Starting a new ZAP configuration from template.zap
  2. Change the device on Endpoint 1 to the Matter Robotic Vacuum Cleaner device.
  3. Filter the enabled clusters on this endpoint and notice that the Groups and Scenes clusters are enabled.

The expectation here in that the Groups and Scenes clusters should not be enabled as these are not part of the Matter Robotic Vacuum Cleaner device as described in the spec.

@brdandu
Copy link
Collaborator

brdandu commented Sep 7, 2023

@hicklin this is by design. ZAP generally stores all the configurations made by the user into the .zap file in order to retrieve user settings back easily if they want to go back to all the edits made. For eg. user edits a cluster for attributes, commands, etc then by mistake disables the cluster then the user can enable the cluster back and retrieve the changes made. In this case updating the device type on an endpoint does not disable the existing clusters which have been enabled previously since the user may want all those changes. I believe that before you updated the device type to Matter Robotic Vacuum Cleaner, the previous device type had Groups and scenes enabled. I recommend that you delete the endpoint to loose all the configuration on that endpoint and recreate the endpoint with Matter Robotic Vacuum Cleaner device type.

@brdandu brdandu self-assigned this Sep 7, 2023
@brdandu brdandu added the matter Important to Matter SDK label Sep 7, 2023
@brdandu brdandu moved this from To Do to In Progress in Silicon Labs - internal work Sep 7, 2023
@bzbarsky-apple
Copy link
Contributor

@brdandu But should the invalid config not at least be flagged as a warning?

@brdandu
Copy link
Collaborator

brdandu commented Sep 12, 2023

@brdandu But should the invalid config not at least be flagged as a warning?

I do not see this to be an invalid config for every use case. I always thought a user can select a device type as a baseline and then add on to the list of clusters coming from the device type for their specific purpose but I see how one could be warned with having a cluster that does not come from your selected device types on that endpoint.

@bzbarsky-apple
Copy link
Contributor

I always thought a user can select a device type as a baseline and then add on to the list of clusters coming from the device type for their specific purpose

Matter is moving away from that, because that's not very interoperable. So in general, anything that's not allowed by the device type should be flagged (though perhaps not prevented for now).

@jvmahon
Copy link

jvmahon commented Sep 27, 2023

Matter is moving away from that, because that's not very interoperable. So in general, anything that's not allowed by the device type should be flagged (though perhaps not prevented for now).

Just noticed this thread. This is related to the Feature Request I posted here: #1150 though I have a stronger view that there should be an enforced conformance to the specs.

My view is that there should be no cluster that are not either Mandatory or Optional for the device type. If this isn't the case, then "Optional" in the standard has no meaning as everything becomes Optional and, as prior post pointed out, its an interoperability nightmare that is best avoided. Until Matter controllers have the basics 100% right, less choice can be a benefit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
matter Important to Matter SDK
Projects
Development

No branches or pull requests

4 participants