LevelControl and other simple Cluster implementations and tests (#795)
* Return ConstraintError when enum value is invalid
* Rethrow observer errors when MatterError
... to allow handlers that e.g. return StatusResponseErrors
* Add validation for Locatilation clusters
* Adjust OnOffCluster
* Event handling in BooleanState
* Streamline IdentifyServer comments
* Enhance examples
* Implements LevelControl cluster
* Enhance readme
* Enhance chip tests
* Enhance chip tests
* rethrow MatterErrors for online reactors
* Ok offline is too static ... will not work
* [execute-chiptests-long] Changelog
* [execute-chiptests-long] remove local changes
* disable test Strigger command in DGGEN tests
* add patched OCC_1_1 file
* add TMP attributes
* tmp tests
* use old tmp tests for now
* code optimizations
* code optimizations
* code optimizations
* use getter for min/maxLevel
* adjust OnOff/LevelControl to MaybePromise
* Simulated transition -> managed
* Redesign value checks in Localization/Time Cluster
... and revert the error catch changes
* Adjust init with defaults ... still not perfect
* Adjust init with defaults ... still not perfect
* changelog
* Extend constraint DSL with "in"
TimeFormatLocalization has a value in one field that formally must be present in an array in another field. We extend
the constraint DSL with an "in" syntax so we can support this within the validation framework. Includes a test to
confirm.
* Adjust LocalizationConfiguration with override
* Constraint enforcement upgrades
- Added proper enforcement of compound (disjunct) constraints in behavior state
- Made entry constraints transitive for referencing fields with "in" constraints
- Added test coverage for behavior state constraint enforcement
* Enhance LevelControl Implementation
... after checking chip implementation
---------
Co-authored-by: Greg Lauckhart <greg@lauckhart.com>