project-chip / connectedhomeip

Matter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.
https://buildwithmatter.com
Apache License 2.0
7.46k stars 2k forks source link

Make the Semantic tag struct global #34702

Open hicklin opened 2 months ago

hicklin commented 2 months ago

This issue depends on issue #34700.

According to the spec, the SemanticTagStruct type should be a globally defined type. See here.

Given that now there is a way to represent global structs, we should

hicklin commented 2 months ago

There may be an issue here due to the fact that the Mode Select cluster has a struct with the same name. There are a couple of options to consider here

  1. Deprecate Mode Select. Mode Base should be an equivalent replacement.
  2. Choose a different name. This will cause even more API changes.
  3. Fix ZAP to allow for a global and a cluster specific structure with the same name.

On point 3, @bzbarsky-apple did a quick analyses and found that because ZAP selects the "global" name in preference to the cluster-specific one, we'll need an update to zap.

bzbarsky-apple commented 2 months ago

Well, and the spec will need to define how these name collisions are handled..

github-actions[bot] commented 3 weeks ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Remove stale label or comment or this will be closed in 30 days.