From 492250d3d8a82b5b8b22e623c8105184032c1efd Mon Sep 17 00:00:00 2001 From: "tennessee.carmelveilleux@gmail.com" Date: Fri, 14 Jun 2024 11:29:14 -0400 Subject: [PATCH 1/3] Add AS feature to switch cluster XML --- .../zcl/data-model/chip/switch-cluster.xml | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml index c5e69b3c51ff39..a1b2966d0fbebe 100644 --- a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml @@ -37,27 +37,45 @@ Interactions with the switch device are exposed as attributes (for the latching - - - - - - + - + + + - + - + + + + + + + + + + + + + + + + + + + + + + NumberOfPositions From 0775a15e152990b8413d0fa1983a59834a50ad57 Mon Sep 17 00:00:00 2001 From: "tennessee.carmelveilleux@gmail.com" Date: Fri, 14 Jun 2024 11:30:03 -0400 Subject: [PATCH 2/3] ZAP regen --- .../all-clusters-common/all-clusters-app.matter | 1 + .../all-clusters-common/all-clusters-minimal-app.matter | 1 + examples/bridge-app/bridge-common/bridge-app.matter | 1 + examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter | 1 + examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter | 1 + .../light-switch-common/light-switch-app.matter | 1 + examples/light-switch-app/qpg/zap/switch.matter | 1 + examples/lighting-app/lighting-common/lighting-app.matter | 1 + examples/placeholder/linux/apps/app1/config.matter | 2 ++ examples/placeholder/linux/apps/app2/config.matter | 2 ++ scripts/py_matter_idl/matter_idl/generators/__init__.py | 1 + src/controller/data_model/controller-clusters.matter | 1 + src/controller/python/chip/clusters/Objects.py | 1 + src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h | 1 + .../app-common/app-common/zap-generated/cluster-enums.h | 1 + 15 files changed, 17 insertions(+) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 0a90e6ede55272..5400a81d0fb902 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -2257,6 +2257,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index f430a91801c93d..962eed946b905a 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -1989,6 +1989,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 4eef9b016d5ac7..ec5d045647a4bd 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -1574,6 +1574,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter index 475d0ae790a5e7..bd71d94f7c871b 100644 --- a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter +++ b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter @@ -954,6 +954,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter index 5c7a4531ed49d4..4088d0b741a03e 100644 --- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter +++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter @@ -954,6 +954,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index 62dc3dc53baae6..c4f73e4b338685 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -1600,6 +1600,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter index 14f56afc277234..d105fdea187f0a 100644 --- a/examples/light-switch-app/qpg/zap/switch.matter +++ b/examples/light-switch-app/qpg/zap/switch.matter @@ -1397,6 +1397,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 8024088db91c4c..190744f68aa6c3 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1506,6 +1506,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index a4012f93a9d461..39f6a4b3894475 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -2375,6 +2375,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { @@ -2430,6 +2431,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 0375e33fe3d25d..d3ec0ea0e26723 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -2332,6 +2332,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { @@ -2387,6 +2388,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/scripts/py_matter_idl/matter_idl/generators/__init__.py b/scripts/py_matter_idl/matter_idl/generators/__init__.py index 131d8e38ccbeba..7cb9d54b947ef3 100644 --- a/scripts/py_matter_idl/matter_idl/generators/__init__.py +++ b/scripts/py_matter_idl/matter_idl/generators/__init__.py @@ -168,6 +168,7 @@ def internal_render_one_output(self, template_path: str, output_file_name: str, if self.dry_run: return + logging.info(f"Template path: {template_path}, CWD: {os.getcwd()}") rendered = self.jinja_env.get_template(template_path).render(vars) # Report regardless if it has changed or not. This is because even if diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 14f6587b5461d0..2b21d4b4a4e708 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -2280,6 +2280,7 @@ cluster Switch = 59 { kMomentarySwitchRelease = 0x4; kMomentarySwitchLongPress = 0x8; kMomentarySwitchMultiPress = 0x10; + kActionSwitch = 0x20; } info event SwitchLatched = 0 { diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 1a3bb036add4b7..8dc1fad59e2591 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -11900,6 +11900,7 @@ class Feature(IntFlag): kMomentarySwitchRelease = 0x4 kMomentarySwitchLongPress = 0x8 kMomentarySwitchMultiPress = 0x10 + kActionSwitch = 0x20 class Attributes: @dataclass diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 35f0a1d1b0e18f..4c81148a2b6c40 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -17585,6 +17585,7 @@ typedef NS_OPTIONS(uint32_t, MTRSwitchFeature) { MTRSwitchFeatureMomentarySwitchRelease MTR_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x4, MTRSwitchFeatureMomentarySwitchLongPress MTR_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x8, MTRSwitchFeatureMomentarySwitchMultiPress MTR_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x10, + MTRSwitchFeatureActionSwitch MTR_PROVISIONALLY_AVAILABLE = 0x20, } MTR_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)); typedef NS_ENUM(uint8_t, MTRAdministratorCommissioningCommissioningWindowStatus) { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index 7c669e16a747cc..40d73a3fade401 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -1492,6 +1492,7 @@ enum class Feature : uint32_t kMomentarySwitchRelease = 0x4, kMomentarySwitchLongPress = 0x8, kMomentarySwitchMultiPress = 0x10, + kActionSwitch = 0x20, }; } // namespace Switch From 0bc66fe4c665c12ebbf71c1f2a9cbeda27dd9b1c Mon Sep 17 00:00:00 2001 From: "tennessee.carmelveilleux@gmail.com" Date: Fri, 14 Jun 2024 11:35:01 -0400 Subject: [PATCH 3/3] Force push forcer --- src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml index a1b2966d0fbebe..72630933a26479 100644 --- a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml @@ -114,5 +114,4 @@ Interactions with the switch device are exposed as attributes (for the latching -