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

Add TC feature definitions to General Commissioning Cluster XML files #34604

Merged
Merged
Show file tree
Hide file tree
Changes from 3 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
93 changes: 62 additions & 31 deletions data_model/master/clusters/GeneralCommissioningCluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Davis, CA 95616, USA
</clusterIds>
<classification hierarchy="base" role="utility" picsCode="CGEN" scope="Node"/>
<features>
<feature bit="0" code="TC" name="Terms" summary="Supports Terms &amp; Conditions acknowledgement">
<feature bit="0" code="TC" name="Terms and Conditions" summary="Supports Terms and Conditions acknowledgement">
swan-amazon marked this conversation as resolved.
Show resolved Hide resolved
<optionalConform/>
</feature>
</features>
Expand All @@ -87,19 +87,28 @@ Davis, CA 95616, USA
<mandatoryConform/>
</item>
<item value="5" name="RequiredTCNotAccepted" summary="[[ref_RequiredTCNotAccepted]] One or more required TC features from the Enhanced Setup Flow were not accepted.">
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</item>
<item value="6" name="TCAcknowledgementsNotReceived" summary="[[ref_TCAcknowledgementsNotReceived]] No acknowledgements from the user for the TC features were received.">
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</item>
<item value="7" name="TCMinVersionNotMet" summary="[[ref_TCMinVersionNotMet]] The version of the TC features acknowledged by the user did not meet the minimum required version.">
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</item>
</enum>
<enum name="RegulatoryLocationTypeEnum">
Expand Down Expand Up @@ -150,27 +159,43 @@ Davis, CA 95616, USA
</attribute>
<attribute id="0x0005" name="TCAcceptedVersion" type="uint16">
<access read="true" readPrivilege="admin"/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</attribute>
<attribute id="0x0006" name="TCMinRequiredVersion" type="uint16">
<access read="true" readPrivilege="admin"/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</attribute>
<attribute id="0x0007" name="TCAcknowledgements" type="map16">
<access read="true" readPrivilege="admin"/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</attribute>
<attribute id="0x0008" name="TCAcknowledgementsRequired" type="bool" default="true">
<access read="true" readPrivilege="admin"/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
</attribute>
</attributes>
<commands>
Expand Down Expand Up @@ -231,24 +256,30 @@ Davis, CA 95616, USA
</field>
</command>
<command id="0x06" name="SetTCAcknowledgements" direction="commandToServer" response="SetTCAcknowledgementsResponse">
<access invokePrivilege="admin"/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<access invokePrivilege="admin" fabricScoped="true"/>
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
<field id="0" name="TCVersion" type="uint16">
<mandatoryConform/>
</field>
<field id="1" name="TCUserResponse" type="map16">
<mandatoryConform/>
</field>
</command>
<command id="0x07" name="SetTCAcknowledgementsResponse" direction="responseFromServer">
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
<command id="0x05" name="SetTCAcknowledgementsResponse" direction="responseFromServer">
<otherwiseConform>
<provisionalConform/>
<mandatoryConform>
<feature name="TC"/>
</mandatoryConform>
</otherwiseConform>
<field id="0" name="ErrorCode" type="CommissioningErrorEnum" default="OK">
<mandatoryConform/>
</field>
</command>
</commands>
</cluster>
</cluster>
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -445,6 +448,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -455,6 +462,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -488,12 +499,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -445,6 +448,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -455,6 +462,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -488,12 +499,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1375,6 +1375,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -1383,6 +1386,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -1393,6 +1400,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -1426,12 +1437,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -1263,6 +1266,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -1273,6 +1280,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -1306,12 +1317,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Loading
Loading