Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert Generate Conformance Data with Alchemy" and Remove Attribute Description #36233

Merged
merged 2 commits into from
Oct 29, 2024
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
Original file line number Diff line number Diff line change
Expand Up @@ -109,33 +109,55 @@ limitations under the License.
and enforce Access Control for the Node's endpoints and their associated
cluster instances.</description>

<attribute side="server" code="0x0000" define="ACL" type="array" entryType="AccessControlEntryStruct" writable="true">
<description>ACL</description>
<attribute side="server" code="0x0000" name="ACL" define="ACL" type="array" entryType="AccessControlEntryStruct" writable="true">
jmartinez-silabs marked this conversation as resolved.
Show resolved Hide resolved
<access op="read" privilege="administer"/>
<access op="write" privilege="administer"/>
<mandatoryConform/>
</attribute>

<attribute side="server" code="0x0001" define="EXTENSION" type="array" entryType="AccessControlExtensionStruct" writable="true" optional="true">
<description>Extension</description>
<attribute side="server" code="0x0001" name="Extension" define="EXTENSION" type="array" entryType="AccessControlExtensionStruct" writable="true" optional="true">
<access op="read" privilege="administer"/>
<access op="write" privilege="administer"/>
<mandatoryConform>
<feature name="EXTS"/>
</mandatoryConform>
</attribute>

<attribute side="server" code="0x0002" define="SUBJECTS_PER_ACCESS_CONTROL_ENTRY" type="int16u" min="4" default="4">SubjectsPerAccessControlEntry</attribute>
<attribute side="server" code="0x0003" define="TARGETS_PER_ACCESS_CONTROL_ENTRY" type="int16u" min="3" default="3">TargetsPerAccessControlEntry</attribute>
<attribute side="server" code="0x0004" define="ACCESS_CONTROL_ENTRIES_PER_FABRIC" type="int16u" min="4" default="4">AccessControlEntriesPerFabric</attribute>
<attribute code="0x0005" side="server" define="COMMISSIONING_ARL" type="array" entryType="CommissioningAccessRestrictionEntryStruct" optional="true">CommissioningARL</attribute>
<attribute code="0x0006" side="server" define="ARL" type="array" entryType="AccessRestrictionEntryStruct" optional="true">ARL</attribute>

<attribute side="server" code="0x0002" name="SubjectsPerAccessControlEntry" define="SUBJECTS_PER_ACCESS_CONTROL_ENTRY" type="int16u" min="4" default="4">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0003" name="TargetsPerAccessControlEntry" define="TARGETS_PER_ACCESS_CONTROL_ENTRY" type="int16u" min="3" default="3">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0004" name="AccessControlEntriesPerFabric" define="ACCESS_CONTROL_ENTRIES_PER_FABRIC" type="int16u" min="4" default="4">
<mandatoryConform/>
</attribute>
<attribute code="0x0005" side="server" name="CommissioningARL" define="COMMISSIONING_ARL" type="array" entryType="CommissioningAccessRestrictionEntryStruct" optional="true">
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</attribute>
<attribute code="0x0006" side="server" name="ARL" define="ARL" type="array" entryType="AccessRestrictionEntryStruct" optional="true">
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</attribute>

<command code="0x00" source="client" name="ReviewFabricRestrictions" isFabricScoped="true" optional="true" response="ReviewFabricRestrictionsResponse">
<description>This command signals to the service associated with the device vendor that the fabric administrator would like a review of the current restrictions on the accessing fabric.</description>
<access op="invoke" privilege="administer"/>
<arg id="0" name="ARL" array="true" type="CommissioningAccessRestrictionEntryStruct"/>
</command>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</command>

<command code="0x01" source="server" name="ReviewFabricRestrictionsResponse" optional="true" disableDefaultResponse="true">
<description>Returns the review token for the request, which can be used to correlate with a FabricRestrictionReviewUpdate event.</description>
<arg id="0" name="Token" type="int64u"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</command>

<event side="server" code="0x0000" name="AccessControlEntryChanged" priority="info" isFabricSensitive="true">
Expand All @@ -145,6 +167,7 @@ limitations under the License.
<field id="3" name="ChangeType" type="ChangeTypeEnum" min="0x00" max="0x02"/>
<field id="4" name="LatestValue" type="AccessControlEntryStruct" isNullable="true"/>
<access op="read" privilege="administer"/>
<mandatoryConform/>
</event>

<event side="server" code="0x0001" name="AccessControlExtensionChanged" priority="info" isFabricSensitive="true" optional="true">
Expand All @@ -154,6 +177,9 @@ limitations under the License.
<field id="3" name="ChangeType" type="ChangeTypeEnum" min="0x00" max="0x02"/>
<field id="4" name="LatestValue" type="AccessControlExtensionStruct" isNullable="true"/>
<access op="read" privilege="administer"/>
<mandatoryConform>
<feature name="EXTS"/>
</mandatoryConform>
</event>

<event side="server" code="0x0002" name="FabricRestrictionReviewUpdate" priority="info" isFabricSensitive="true" optional="true">
Expand All @@ -162,6 +188,9 @@ limitations under the License.
<field id="1" name="Instruction" type="long_char_string" optional="true" length="512"/>
<field id="2" name="ARLRequestFlowUrl" type="long_char_string" optional="true" length="256"/>
<access op="read" privilege="administer"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</event>
</cluster>
</configurator>
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,36 @@ limitations under the License.

<command source="client" code="0x00" name="GetSetupPIN" isFabricScoped="true" response="GetSetupPINResponse" mustUseTimedInvoke="true" optional="false">
<description>Upon receipt, the Content App checks if the account associated with the client Temp Account Identifier Rotating ID is the same acount that is active on the given Content App. If the accounts are the same, then the Content App includes the Setup PIN in the GetSetupPIN Response.</description>
<access op="invoke" role="administer" />
<access op="invoke" role="administer"/>
<arg name="TempAccountIdentifier" minLength="16" length="100" type="char_string"/>
<mandatoryConform/>
</command>

<command source="client" code="0x02" name="Login" isFabricScoped="true" mustUseTimedInvoke="true" optional="false">
<description>Upon receipt, the Content App checks if the account associated with the client’s Temp Account Identifier (Rotating ID) has a current active Setup PIN with the given value. If the Setup PIN is valid for the user account associated with the Temp Account Identifier, then the Content App MAY make that user account active.</description>
<access op="invoke" role="administer" />
<access op="invoke" role="administer"/>
<arg name="TempAccountIdentifier" minLength="16" length="100" type="char_string"/>
<arg name="SetupPIN" minLength="8" type="char_string"/>
<arg name="Node" type="node_id" optional="true" />
<arg name="Node" type="node_id" optional="true"/>
<mandatoryConform/>
</command>

<command source="client" code="0x03" name="Logout" isFabricScoped="true" mustUseTimedInvoke="true" optional="false">
<description>The purpose of this command is to instruct the Content App to clear the current user account. This command SHOULD be used by clients of a Content App to indicate the end of a user session.</description>
<arg name="Node" type="node_id" optional="true"/>
<mandatoryConform/>
</command>

<command source="server" code="0x01" name="GetSetupPINResponse" optional="false" disableDefaultResponse="true">
<description>This message is sent in response to the GetSetupPIN Request, and contains the Setup PIN code, or null when the accounts identified in the request does not match the active account of the running Content App.</description>
<arg name="SetupPIN" type="char_string"/>
<mandatoryConform/>
</command>

<event side="server" code="0x00" priority="critical" name="LoggedOut" optional="false">
<description>This event can be used by the Content App to indicate that the current user has logged out. In response to this event, the Fabric Admin SHALL remove access to this Content App by the specified Node. If no Node is provided, then the Fabric Admin SHALL remove access to all non-Admin Nodes.</description>
<field id="0" name="Node" type="node_id" optional="true"/>
<optionalConform/>
</event>

</cluster>
Expand Down
30 changes: 19 additions & 11 deletions src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,17 @@ limitations under the License.
<code>0x0025</code>
<define>ACTIONS_CLUSTER</define>
<description>This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information.</description>

<attribute side="server" code="0x0000" define="ACTION_LIST" type="array" entryType="ActionStruct" length="256" writable="false" optional="false">ActionList</attribute>
<attribute side="server" code="0x0001" define="ENDPOINT_LIST" type="array" entryType="EndpointListStruct" length="256" writable="false" optional="false">EndpointLists</attribute>
<attribute side="server" code="0x0002" define="SETUP_URL" type="LONG_CHAR_STRING" length="512" writable="false" optional="true">SetupURL</attribute>


<attribute side="server" code="0x0000" name="ActionList" define="ACTION_LIST" type="array" entryType="ActionStruct" length="256">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0001" name="EndpointLists" define="ENDPOINT_LIST" type="array" entryType="EndpointListStruct" length="256">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0002" name="SetupURL" define="SETUP_URL" type="LONG_CHAR_STRING" length="512" optional="true">
<optionalConform/>
</attribute>

<command source="client" code="0x00" name="InstantAction" optional="true">
<description>This command triggers an action (state change) on the involved endpoints.</description>
<arg name="ActionID" type="int16u"/>
Expand Down Expand Up @@ -173,17 +179,19 @@ limitations under the License.

<event side="server" code="0x00" priority="info" name="StateChanged" optional="false">
<description>This event SHALL be generated when there is a change in the Status of an ActionID.</description>
<field id="0" name="ActionID" type="int16u" />
<field id="1" name="InvokeID" type="int32u" />
<field id="0" name="ActionID" type="int16u"/>
<field id="1" name="InvokeID" type="int32u"/>
<field id="2" name="NewState" type="ActionStateEnum" />
<mandatoryConform/>
</event>

<event side="server" code="0x01" priority="info" name="ActionFailed" optional="false">
<description>This event SHALL be generated when there is some error which prevents the action from its normal planned execution.</description>
<field id="0" name="ActionID" type="int16u" />
<field id="1" name="InvokeID" type="int32u" />
<field id="2" name="NewState" type="ActionStateEnum" />
<field id="3" name="Error" type="ActionErrorEnum" />
<field id="0" name="ActionID" type="int16u"/>
<field id="1" name="InvokeID" type="int32u"/>
<field id="2" name="NewState" type="ActionStateEnum"/>
<field id="3" name="Error" type="ActionErrorEnum"/>
<mandatoryConform/>
</event>

</cluster>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,16 @@ limitations under the License.
<optionalConform/>
</feature>
</features>
<attribute side="server" code="0x0000" define="WINDOW_STATUS" type="CommissioningWindowStatusEnum" writable="false" optional="false">WindowStatus</attribute>
<attribute side="server" code="0x0001" define="ADMIN_FABRIC_INDEX" type="fabric_idx" writable="false" isNullable="true" optional="false">AdminFabricIndex</attribute>
<attribute side="server" code="0x0002" define="ADMIN_VENDOR_ID" type="vendor_id" writable="false" isNullable="true" optional="false">AdminVendorId</attribute>

<attribute side="server" code="0x0000" name="WindowStatus" define="WINDOW_STATUS" type="CommissioningWindowStatusEnum">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0001" name="AdminFabricIndex" define="ADMIN_FABRIC_INDEX" type="fabric_idx" isNullable="true">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0002" name="AdminVendorId" define="ADMIN_VENDOR_ID" type="vendor_id" isNullable="true">
<mandatoryConform/>
</attribute>

<command source="client" code="0x00" name="OpenCommissioningWindow" mustUseTimedInvoke="true" optional="false">
<description>This command is used by a current Administrator to instruct a Node to go into commissioning mode using enhanced commissioning method.</description>
<arg name="CommissioningTimeout" type="int16u"/>
Expand All @@ -55,17 +61,22 @@ limitations under the License.
<arg name="Iterations" type="int32u"/>
<arg name="Salt" type="octet_string" length="32"/>
<access op="invoke" privilege="administer"/>
<mandatoryConform/>
</command>

<command source="client" code="0x01" name="OpenBasicCommissioningWindow" mustUseTimedInvoke="true" optional="true">
<description>This command is used by a current Administrator to instruct a Node to go into commissioning mode using basic commissioning method, if the node supports it.</description>
<arg name="CommissioningTimeout" type="int16u"/>
<access op="invoke" privilege="administer"/>
<mandatoryConform>
<feature name="BC"/>
</mandatoryConform>
</command>

<command source="client" code="0x02" name="RevokeCommissioning" mustUseTimedInvoke="true" optional="false">
<description>This command is used by a current Administrator to instruct a Node to revoke any active Open Commissioning Window or Open Basic Commissioning Window command.</description>
<access op="invoke" privilege="administer"/>
<mandatoryConform/>
</command>

</cluster>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ limitations under the License.
</features>

<!-- Attributes -->
<attribute side="server" code="0x0000" define="AIR_QUALITY" type="AirQualityEnum" min="0" max="6" writable="false" isNullable="false" default="0" optional="false">AirQuality</attribute>
<attribute side="server" code="0x0000" name="AirQuality" define="AIR_QUALITY" type="AirQualityEnum" min="0" max="6" default="0">
<mandatoryConform/>
</attribute>
</cluster>

<!-- Cluster Data Types -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,30 @@ limitations under the License.
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<description>This cluster provides information about an application running on a TV or media player device which is represented as an endpoint.</description>
<attribute side="server" code="0x0000" define="APPLICATION_VENDOR_NAME" type="char_string" default="" length="32" writable="false" optional="true">VendorName</attribute>
<attribute side="server" code="0x0001" define="APPLICATION_VENDOR_ID" type="vendor_id" default="0x0" min="0x0000" max="0xFFFF" writable="false" optional="true">VendorID</attribute>
<attribute side="server" code="0x0002" define="APPLICATION_NAME" type="long_char_string" length="256" writable="false" optional="false">ApplicationName</attribute>
<attribute side="server" code="0x0003" define="APPLICATION_PRODUCT_ID" type="int16u" default="0x0" min="0x0000" max="0xFFFF" writable="false" optional="true">ProductID</attribute>
<attribute side="server" code="0x0004" define="APPLICATION_APP" type="ApplicationStruct" writable="false" optional="false">Application</attribute>
<attribute side="server" code="0x0005" define="APPLICATION_STATUS" type="ApplicationStatusEnum" default="0x01" min="0x00" max="0xFF" writable="false" optional="false">Status</attribute>
<attribute side="server" code="0x0006" define="APPLICATION_VERSION" type="char_string" length="32" writable="false" optional="false">ApplicationVersion</attribute>
<attribute side="server" code="0x0007" define="APPLICATION_ALLOWED_VENDOR_LIST" type="array" entryType="vendor_id" length="32" writable="false" optional="false">
<description>AllowedVendorList</description>
<access op="read" role="administer"/>
<attribute side="server" code="0x0000" name="VendorName" define="APPLICATION_VENDOR_NAME" type="char_string" length="32" optional="true">
<optionalConform/>
</attribute>
<attribute side="server" code="0x0001" name="VendorID" define="APPLICATION_VENDOR_ID" type="vendor_id" optional="true">
<optionalConform/>
</attribute>
<attribute side="server" code="0x0002" name="ApplicationName" define="APPLICATION_NAME" type="long_char_string" length="256">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0003" name="ProductID" define="APPLICATION_PRODUCT_ID" type="int16u" optional="true">
<optionalConform/>
</attribute>
<attribute side="server" code="0x0004" name="Application" define="APPLICATION_APP" type="ApplicationStruct">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0005" name="Status" define="APPLICATION_STATUS" type="ApplicationStatusEnum" default="0x01" min="0x00" max="0xFF">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0006" name="ApplicationVersion" define="APPLICATION_VERSION" type="char_string" length="32">
<mandatoryConform/>
</attribute>
<attribute side="server" code="0x0007" name="AllowedVendorList" define="APPLICATION_ALLOWED_VENDOR_LIST" type="array" entryType="vendor_id" length="32">
<access op="read" role="administer"/>
<mandatoryConform/>
</attribute>

</cluster>
Expand Down
Loading
Loading