Handle obsolete Matter conformance in loader, GUI, and codegen. (#1731)

* Handle obsolete Matter conformance in loader, GUI, and codegen.

Parse <obsoleteConform/> as tag Z, hide obsolete attributes/commands/events from configurator views, and expose an obsolete flag so templates can skip them.

* Allow obsoleteConform in the ZCL XML schema.

The test fixture and Matter data model use <obsoleteConform/>, which xml-validate rejected because zcl.xsd only listed deprecateConform.

* Use existing conformance for obsolete elements instead of a separate flag.

Address review feedback: move the obsolete tag check into
conformance-expression-evaluator.js, drop the per-element `obsolete`
property and the `isObsolete` template helper, and rely on the stored
`Z` conformance like disallowConform does.

* Handle obsolete conformance in Matter generation

* Disable and report legacy obsolete elements

* Document obsolete element action
24 files changed
tree: 188cf9dc116fac66ccffaa7cab412cadeb8dc4d5
  1. .cursor/
  2. .github/
  3. .husky/
  4. cypress/
  5. docs/
  6. public/
  7. resource-build/
  8. src/
  9. src-electron/
  10. src-script/
  11. src-shared/
  12. test/
  13. zcl-builtin/
  14. .editorconfig
  15. .eslintignore
  16. .eslintrc.js
  17. .gitignore
  18. .gitmodules
  19. .postcssrc.js
  20. .prettierrc
  21. .stylintrc
  22. apack.json
  23. babel.config.js
  24. cypress.config.js
  25. Jenkinsfile
  26. jest.config.js
  27. jsconfig.json
  28. LICENSE.txt
  29. package-lock.json
  30. package.json
  31. quasar.conf.js
  32. quasar.extensions.json
  33. quasar.testing.json
  34. README.md
  35. sonar-project.properties
  36. tsconfig.json
  37. zap-schema.dot
  38. zap-schema.svg
README.md

ZCL Advanced Platform

ZCL Advanced Platform

Build and release packages Zigbee code regeneration Matter code regeneration

What is ZAP?

ZAP is a generic generation engine and user interface for applications and libraries based on Zigbee Cluster Library, the specification developed by the Connectivity Standards Alliance.

ZAP allows you to perform the following:

  • perform SDK-specific customized generation of all global artifacts (constants, types, IDs, etc) based on the ZCL specification
  • provide UI for the end-user to select specific application configuration (clusters, attributes, commands, etc.)
  • perform SDK-specific customized generation of all user selected configuration artifacts (application configuration, endpoint configuration, etc) based on ZCL specification and customer-provided application configuration.

ZAP is a generic templating engine. Examples are provided for how to generate artifacts for the C language environment, but one could easily add new templates for other language environments, such as C++, java, node.js, python or any other.

Quick setup

Refer to Setup Instructions

Source code

Refer to development instructions for more details.

License

This software is licensed under Apache 2.0 license.

Usage Documentation

Detailed Developer Documentation