Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ jobs:
src/app/zap-templates/zcl/data-model/chip/chime-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/closure-control-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/closure-dimension-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/commissioning-proxy-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/commodity-metering-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/commodity-price-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/commodity-tariff-cluster.xml \
Expand Down
1 change: 1 addition & 0 deletions docs/ids_and_codes/zap_clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ Generally regenerate using one of:
| 1105 | 0x451 | WiFiNetworkManagement |
| 1106 | 0x452 | ThreadBorderRouterManagement |
| 1107 | 0x453 | ThreadNetworkDirectory |
| 1109 | 0x455 | CommissioningProxy |
| 1283 | 0x503 | WakeOnLan |
| 1284 | 0x504 | Channel |
| 1285 | 0x505 | TargetNavigator |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
#define MATTER_DM_WIFI_NETWORK_MANAGEMENT_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_NETWORK_DIRECTORY_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_COMMISSIONING_PROXY_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_WAKE_ON_LAN_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_CHANNEL_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_TARGET_NAVIGATOR_CLUSTER_SERVER_ENDPOINT_COUNT (0)
Expand Down Expand Up @@ -295,6 +296,7 @@
#define MATTER_DM_WIFI_NETWORK_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_NETWORK_DIRECTORY_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_COMMISSIONING_PROXY_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_WAKE_ON_LAN_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_CHANNEL_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_TARGET_NAVIGATOR_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
#define MATTER_DM_WIFI_NETWORK_MANAGEMENT_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_NETWORK_DIRECTORY_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_COMMISSIONING_PROXY_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_WAKE_ON_LAN_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_CHANNEL_CLUSTER_SERVER_ENDPOINT_COUNT (0)
#define MATTER_DM_TARGET_NAVIGATOR_CLUSTER_SERVER_ENDPOINT_COUNT (0)
Expand Down Expand Up @@ -295,6 +296,7 @@
#define MATTER_DM_WIFI_NETWORK_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_THREAD_NETWORK_DIRECTORY_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_COMMISSIONING_PROXY_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_WAKE_ON_LAN_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_CHANNEL_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
#define MATTER_DM_TARGET_NAVIGATOR_CLUSTER_CLIENT_ENDPOINT_COUNT (0)
Expand Down
1 change: 1 addition & 0 deletions src/app/common/templates/config-data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ CodeDrivenClusters:
- Closure Control
- Closure Dimension
- Commissioner Control
- Commissioning Proxy
- Descriptor
- Device Energy Management
- Device Energy Management Mode
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2026 Project CHIP Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
XML generated by Alchemy; DO NOT EDIT.
Source: src/app_clusters/CommissioningProxy.adoc
Parameters: zap attribute=hrap-proxy attribute=in-progress sdk-root=../connectedhomeip spec-root=./ ./src/app_clusters/CommissioningProxy.adoc
Git: v0.0.1-1599-g914288416
Alchemy: v1.6.12
-->
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
<domain name=""/>
<bitmap name="CapabilitiesBitmap" type="bitmap8">
<cluster code="0x0455"/>
<field name="BLE" mask="0x02"/>
<field name="WiFiPAF" mask="0x08"/>
<field name="NTL" mask="0x10"/>
</bitmap>

<bitmap name="WiFiBandBitmap" type="bitmap16">
<cluster code="0x0455"/>
<field name="2G4" mask="0x0001"/>
<field name="5G" mask="0x0004"/>
</bitmap>

<struct name="ScanResultStruct" apiMaturity="provisional">
<cluster code="0x0455"/>
<item fieldId="0" name="Address" type="octet_string" isNullable="true" length="100"/>
<item fieldId="1" name="Transport" type="CapabilitiesBitmap" max="0x1A"/>
<item fieldId="2" name="Discriminator" type="int16u" max="4095"/>
<item fieldId="3" name="VendorID" type="vendor_id"/>
<item fieldId="4" name="ProductID" type="int16u"/>
<item fieldId="5" name="ExtendedData" type="octet_string" isNullable="true" length="128"/>
<item fieldId="6" name="WiFiBand" type="WiFiBandBitmap" optional="true" max="0x0005"/>
</struct>

<cluster apiMaturity="provisional">
<domain>Network Infrastructure</domain>
<name>Commissioning Proxy</name>
<code>0x0455</code>
<define>COMMISSIONING_PROXY_CLUSTER</define>
<description>This cluster provides a proxy service allowing a Commissioner to utilize commissioning transports not supported locally, or to extend the commissioning range of the Commissioner.</description>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<globalAttribute code="0xFFFD" side="either" value="1"/>
<features>
<feature bit="0" code="WI" name="WiFiNetworkInterface" summary="Wi-Fi related features">
<optionalConform/>
</feature>
<feature bit="1" code="BGS" name="BackgroundScan" summary="Background scan">
<optionalConform/>
</feature>
</features>
<attribute code="0x0000" side="server" name="Transport" define="TRANSPORT" type="CapabilitiesBitmap" min="1"/>
<attribute code="0x0001" side="server" name="ScanMaxTime" define="SCAN_MAX_TIME" type="int8u" min="1" writable="true"/>
<attribute code="0x0002" side="server" name="MaxSessions" define="MAX_SESSIONS" type="int8u" min="1"/>
<attribute code="0x0003" side="server" name="MaxCachedResults" define="MAX_CACHED_RESULTS" type="int8u" min="1" optional="true">
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</attribute>
<attribute code="0x0004" side="server" name="NumCachedResults" define="NUM_CACHED_RESULTS" type="int8u" optional="true">
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</attribute>
<attribute code="0x0005" side="server" name="CacheTimeout" define="CACHE_TIMEOUT" type="int16u" min="1" writable="true" optional="true">
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</attribute>
<attribute code="0x0006" side="server" name="CachedResults" define="CACHED_RESULTS" type="array" entryType="ScanResultStruct" isNullable="true" length="255" optional="true">
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</attribute>
<attribute code="0x0007" side="server" name="WiFiBand" define="WI_FI_BAND" type="WiFiBandBitmap" max="0x0005" optional="true">
<optionalConform>
<feature name="WI"/>
</optionalConform>
</attribute>
<command code="0x00" source="client" name="ProxyConnectRequest" response="ProxyConnectResponse" isFabricScoped="true">
<description>This command serves to establish a transport connection to a commissionable device discovered by the proxy.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="Address" type="octet_string" isNullable="true" length="100"/>
<arg fieldId="1" name="Transport" type="CapabilitiesBitmap" max="0x1A"/>
<arg fieldId="2" name="Discriminator" type="int16u" max="4095"/>
<arg fieldId="3" name="VendorID" type="vendor_id"/>
<arg fieldId="4" name="ProductID" type="int16u"/>
<arg fieldId="5" name="Timeout" type="int16u"/>
<arg fieldId="6" name="WiFiBand" type="WiFiBandBitmap" optional="true" max="0x0005"/>
</command>

<command code="0x01" source="server" name="ProxyConnectResponse" disableDefaultResponse="true">
<description>This command provides the results of the ProxyConnectRequest Command and a unique SessionID for this proxy commissioning session.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="SessionID" type="int16u" max="65534"/>
</command>

<command code="0x02" source="client" name="ProxyDisconnectRequest" isFabricScoped="true">
<description>This disconnects a transport connection created via the ProxyConnectRequest command.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="SessionID" type="int16u" isNullable="true"/>
</command>

<command code="0x03" source="client" name="ProxyScanRequest" response="ProxyScanResponse">
<description>This command requests the proxy to provide a list of all commissionable devices found on the requested transports and bands.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="Transport" type="CapabilitiesBitmap" max="0x1A"/>
<arg fieldId="1" name="WiFiBands" type="WiFiBandBitmap" optional="true" max="0x0005"/>
</command>

<command code="0x04" source="server" name="ProxyScanResponse" disableDefaultResponse="true">
<description>This command is used to present results to the Commissioner.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="NumberOfResults" type="int8u"/>
<arg fieldId="1" name="ProxyScanResult" array="true" type="ScanResultStruct" length="255"/>
</command>

<command code="0x05" source="client" name="ProxyBackGroundScanStartRequest" optional="true">
<description>This command requests the proxy to start background scanning for commissionable devices on the selected transports.</description>
<arg fieldId="0" name="Transport" type="CapabilitiesBitmap" max="0x1A"/>
<arg fieldId="1" name="Timeout" type="int16u"/>
<arg fieldId="2" name="WiFiBands" type="WiFiBandBitmap" optional="true" max="0x0005"/>
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</command>

<command code="0x06" source="client" name="ProxyBackGroundScanStopRequest" optional="true">
<description>This command requests the proxy to stop background scanning for commissionable devices on the selected transports.</description>
<arg fieldId="0" name="Transport" type="CapabilitiesBitmap" max="0x1A"/>
<arg fieldId="1" name="WiFiBands" type="WiFiBandBitmap" optional="true" max="0x0005"/>
<mandatoryConform>
<feature name="BGS"/>
</mandatoryConform>
</command>

<command code="0x07" source="client" name="ProxyMessageRequest" response="ProxyMessageResponse" isFabricScoped="true">
<description>This command sends a message packet to the proxy.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="SessionID" type="int16u"/>
<arg fieldId="1" name="ResponseTimeout" type="int8u"/>
<arg fieldId="2" name="Message" type="long_octet_string" isNullable="true" length="1280"/>
</command>

<command code="0x08" source="server" name="ProxyMessageResponse" disableDefaultResponse="true">
<description>This command is used to transfer messages originating from the Commissionee to the Commissioner.</description>
<quality largeMessage="true"/>
<arg fieldId="0" name="SessionID" type="int16u"/>
<arg fieldId="1" name="Message" type="long_octet_string" isNullable="true" length="1280"/>
</command>

</cluster>
</configurator>
13 changes: 13 additions & 0 deletions src/app/zap-templates/zcl/data-model/chip/matter-devices.xml
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,19 @@ limitations under the License.
<include cluster="Administrator Commissioning" client="false" server="false" clientLocked="true" serverLocked="false"></include>
</clusters>
</deviceType>
<deviceType>
<name>MA-commissioning-by-proxy</name>
<domain>CHIP</domain>
<typeName>Commissioning By Proxy</typeName>
<profileId editable="false">0x0103</profileId>
<deviceId editable="false">0x0092</deviceId>
<revision editable="false">1</revision>
<class>Simple</class>
<scope>Endpoint</scope>
<clusters>
<include cluster="Commissioning Proxy" client="false" server="true" clientLocked="true" serverLocked="false"></include>
</clusters>
</deviceType>
<deviceType>
<name>MA-humidifierdehumidifier</name>
<domain>CHIP</domain>
Expand Down
11 changes: 11 additions & 0 deletions src/app/zap-templates/zcl/zcl-with-test-extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"clusters-extensions.xml",
"color-control-cluster.xml",
"commissioner-control-cluster.xml",
"commissioning-proxy-cluster.xml",
"commodity-metering-cluster.xml",
"commodity-price-cluster.xml",
"commodity-tariff-cluster.xml",
Expand Down Expand Up @@ -260,6 +261,16 @@
"FeatureMap",
"ClusterRevision"
],
"Commissioning Proxy": [
"Transport",
"ScanMaxTime",
"MaxSessions",
"MaxCachedResults",
"NumCachedResults",
"CacheTimeout",
"CachedResults",
"WiFiBand"
],
Comment thread
simonhmorris1 marked this conversation as resolved.
"Commodity Price": [
"TariffUnit",
"Currency",
Expand Down
11 changes: 11 additions & 0 deletions src/app/zap-templates/zcl/zcl.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"clusters-extensions.xml",
"color-control-cluster.xml",
"commissioner-control-cluster.xml",
"commissioning-proxy-cluster.xml",
"commodity-metering-cluster.xml",
"commodity-price-cluster.xml",
"commodity-tariff-cluster.xml",
Expand Down Expand Up @@ -259,6 +260,16 @@
"FeatureMap",
"ClusterRevision"
],
"Commissioning Proxy": [
"Transport",
"ScanMaxTime",
"MaxSessions",
"MaxCachedResults",
"NumCachedResults",
"CacheTimeout",
"CachedResults",
"WiFiBand"
],
Comment thread
simonhmorris1 marked this conversation as resolved.
"Commodity Price": [
"TariffUnit",
"Currency",
Expand Down
2 changes: 2 additions & 0 deletions src/app/zap_cluster_list.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"COLOR_CONTROL_CLUSTER": [],
"COMMISSIONER_CONTROL_CLUSTER": [],
"COMMISSIONING_CLUSTER": [],
"COMMISSIONING_PROXY_CLUSTER": [],
"COMMODITY_METERING_CLUSTER": [],
"COMMODITY_PRICE_CLUSTER": [],
"COMMODITY_TARIFF_CLUSTER": [],
Expand Down Expand Up @@ -211,6 +212,7 @@
"COLOR_CONTROL_CLUSTER": ["color-control-server"],
"COMMISSIONER_CONTROL_CLUSTER": ["commissioner-control-server"],
"COMMISSIONING_CLUSTER": [],
"COMMISSIONING_PROXY_CLUSTER": [],
"COMMODITY_METERING_CLUSTER": ["commodity-metering-server"],
"COMMODITY_PRICE_CLUSTER": ["commodity-price-server"],
"COMMODITY_TARIFF_CLUSTER": ["commodity-tariff-server"],
Expand Down
Loading
Loading