blob: 213433aa363da77bbacbffda7b3921721ee28b52 [file] [log] [blame]
# Copyright (c) 2021 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.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name: 3.3.2. [TC-IDM-3.2] Write Response Action from DUT to TH. [{DUT_Server}]
PICS:
- MCORE.IDM.S
config:
nodeId: 0x12344321
cluster: "Basic"
endpoint: 0
tests:
- label:
"TH sends the WriteRequestMessage to the DUT to write one attribute on
a given cluster and endpoint. On receipt of this message, DUT should
send a write response action."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool levelcontrol write on-level 2 1 1
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1653026683.396666][6229:6234] CHIP:DMG: WriteResponseMessage =
[1653026683.396685][6229:6234] CHIP:DMG: {
[1653026683.396703][6229:6234] CHIP:DMG: AttributeStatusIBs =
[1653026683.396732][6229:6234] CHIP:DMG: [
[1653026683.396749][6229:6234] CHIP:DMG: AttributeStatusIB =
[1653026683.396773][6229:6234] CHIP:DMG: {
[1653026683.396790][6229:6234] CHIP:DMG: AttributePathIB =
[1653026683.396813][6229:6234] CHIP:DMG: {
[1653026683.396835][6229:6234] CHIP:DMG: Endpoint = 0x1,
[1653026683.396858][6229:6234] CHIP:DMG: Cluster = 0x8,
[1653026683.396881][6229:6234] CHIP:DMG: Attribute = 0x0000_0011,
[1653026683.396900][6229:6234] CHIP:DMG: }
[1653026683.396929][6229:6234] CHIP:DMG:
[1653026683.396947][6229:6234] CHIP:DMG: StatusIB =
[1653026683.396970][6229:6234] CHIP:DMG: {
[1653026683.396991][6229:6234] CHIP:DMG: status = 0x00 (SUCCESS),
[1653026683.397011][6229:6234] CHIP:DMG: },
[1653026683.397034][6229:6234] CHIP:DMG:
[1653026683.397052][6229:6234] CHIP:DMG: },
[1653026683.397078][6229:6234] CHIP:DMG:
[1653026683.397093][6229:6234] CHIP:DMG: ],
[1653026683.397121][6229:6234] CHIP:DMG:
[1653026683.397138][6229:6234] CHIP:DMG: InteractionModelRevision = 1
[1653026683.397155][6229:6234] CHIP:DMG: }
./chip-tool levelcontrol read on-level 1 1
On TH, verify the attribute value that was modified in above step
[1655200943.824948][3523:3528] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3958539601
[1655200943.825056][3523:3528] CHIP:TOO: on level: 2
[1655200943.825157][3523:3528] CHIP:EM: Sending Standalone Ack for MessageCounter:244110098 on exchange 12829i
disabled: true
- label:
"TH sends a WriteRequestMessage to the DUT to write to an attribute on
all endpoints. On receipt of this message, DUT should send a Write
Response action"
verification: |
Out of Scope for V1.0
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type bool. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_Bool
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool basic write local-config-disabled 1 1 0
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1655201045.952849][3550:3555] CHIP:DMG: WriteResponseMessage =
[1655201045.952886][3550:3555] CHIP:DMG: {
[1655201045.952916][3550:3555] CHIP:DMG: AttributeStatusIBs =
[1655201045.952960][3550:3555] CHIP:DMG: [
[1655201045.952996][3550:3555] CHIP:DMG: AttributeStatusIB =
[1655201045.953036][3550:3555] CHIP:DMG: {
[1655201045.953076][3550:3555] CHIP:DMG: AttributePathIB =
[1655201045.953122][3550:3555] CHIP:DMG: {
[1655201045.953170][3550:3555] CHIP:DMG: Endpoint = 0x0,
[1655201045.953217][3550:3555] CHIP:DMG: Cluster = 0x28,
[1655201045.953270][3550:3555] CHIP:DMG: Attribute = 0x0000_0010,
[1655201045.953315][3550:3555] CHIP:DMG: }
[1655201045.953365][3550:3555] CHIP:DMG:
[1655201045.953408][3550:3555] CHIP:DMG: StatusIB =
[1655201045.953458][3550:3555] CHIP:DMG: {
[1655201045.953503][3550:3555] CHIP:DMG: status = 0x00 (SUCCESS),
[1655201045.953553][3550:3555] CHIP:DMG: },
[1655201045.953601][3550:3555] CHIP:DMG:
[1655201045.953663][3550:3555] CHIP:DMG: },
[1655201045.953711][3550:3555] CHIP:DMG:
[1655201045.953745][3550:3555] CHIP:DMG: ],
[1655201045.953786][3550:3555] CHIP:DMG:
[1655201045.953821][3550:3555] CHIP:DMG: InteractionModelRevision = 1
[1655201045.953857][3550:3555] CHIP:DMG: }
[1655201045.953951][3550:3555] CHIP:DMG: WriteClient moving to [AwaitingDe]
./chip-tool basic read local-config-disabled 1 0
On TH, verify the attribute value that was modified in above step
[1655201064.564646][3556:3561] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1458477847
[1655201064.564696][3556:3561] CHIP:TOO: LocalConfigDisabled: TRUE
[1655201064.564812][3556:3561] CHIP:EM: Sending Standalone Ack for MessageCounter:57487809 on exchange 1016i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type string. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_String
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool basic write node-label new 1 0
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and veriffy by sending a ReadRequestMessage to read the value that was modified.
[1655806131.663097][7241:7246] CHIP:DMG: WriteClient moving to [ResponseRe]
[1655806131.663177][7241:7246] CHIP:DMG: WriteResponseMessage =
[1655806131.663215][7241:7246] CHIP:DMG: {
[1655806131.663259][7241:7246] CHIP:DMG: AttributeStatusIBs =
[1655806131.663305][7241:7246] CHIP:DMG: [
[1655806131.663353][7241:7246] CHIP:DMG: AttributeStatusIB =
[1655806131.663402][7241:7246] CHIP:DMG: {
[1655806131.663453][7241:7246] CHIP:DMG: AttributePathIB =
[1655806131.663511][7241:7246] CHIP:DMG: {
[1655806131.663561][7241:7246] CHIP:DMG: Endpoint = 0x0,
[1655806131.663621][7241:7246] CHIP:DMG: Cluster = 0x28,
[1655806131.663672][7241:7246] CHIP:DMG: Attribute = 0x0000_0005,
[1655806131.663735][7241:7246] CHIP:DMG: }
[1655806131.663791][7241:7246] CHIP:DMG:
[1655806131.663839][7241:7246] CHIP:DMG: StatusIB =
[1655806131.663889][7241:7246] CHIP:DMG: {
[1655806131.663935][7241:7246] CHIP:DMG: status = 0x00 (SUCCESS),
[1655806131.663980][7241:7246] CHIP:DMG: },
[1655806131.664024][7241:7246] CHIP:DMG:
[1655806131.664063][7241:7246] CHIP:DMG: },
[1655806131.664106][7241:7246] CHIP:DMG:
[1655806131.664141][7241:7246] CHIP:DMG: ],
[1655806131.664208][7241:7246] CHIP:DMG:
[1655806131.664243][7241:7246] CHIP:DMG: InteractionModelRevision = 1
[1655806131.664278][7241:7246] CHIP:DMG: }
[1655806131.664372][7241:7246] CHIP:DMG: WriteClient moving to [AwaitingDe]
./chip-tool basic read node-label 1 0
On TH, verify the attribute value that was modified in above step
[1655806189.835517][7250:7255] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1238808428
[1655806189.835566][7250:7255] CHIP:TOO: NodeLabel: new
[1655806189.835689][7250:7255] CHIP:EM: Sending Standalone Ack for MessageCounter:194887570 on exchange 10216i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type unsigned integer. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_UnsignedInteger
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool any write-by-id 0x0008 0x0010 1 1 1
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1649152567.635323][16212:16217] CHIP:DMG: WriteResponseMessage =
[1649152567.635361][16212:16217] CHIP:DMG: {
[1649152567.635394][16212:16217] CHIP:DMG: AttributeStatusIBs =
[1649152567.635441][16212:16217] CHIP:DMG: [
[1649152567.635479][16212:16217] CHIP:DMG: AttributeStatusIB =
[1649152567.635524][16212:16217] CHIP:DMG: {
[1649152567.635565][16212:16217] CHIP:DMG: AttributePathIB =
[1649152567.635612][16212:16217] CHIP:DMG: {
[1649152567.635659][16212:16217] CHIP:DMG: Endpoint = 0x1,
[1649152567.635710][16212:16217] CHIP:DMG: Cluster = 0x8,
[1649152567.635761][16212:16217] CHIP:DMG: Attribute = 0x0000_0010,
[1649152567.635812][16212:16217] CHIP:DMG: }
[1649152567.635868][16212:16217] CHIP:DMG:
[1649152567.635911][16212:16217] CHIP:DMG: StatusIB =
[1649152567.635963][16212:16217] CHIP:DMG: {
[1649152567.636009][16212:16217] CHIP:DMG: status = 0x00 (SUCCESS),
[1649152567.636056][16212:16217] CHIP:DMG: },
[1649152567.636103][16212:16217] CHIP:DMG:
[1649152567.636145][16212:16217] CHIP:DMG: },
[1649152567.636193][16212:16217] CHIP:DMG:
[1649152567.636229][16212:16217] CHIP:DMG: ],
[1649152567.636274][16212:16217] CHIP:DMG:
[1649152567.636309][16212:16217] CHIP:DMG: InteractionModelRevision = 1
[1649152567.636344][16212:16217] CHIP:DMG: }
./chip-tool any read-by-id 0x0008 0x0010 1 1
On TH, verify the attribute value that was modified in above step
[1655201286.054743][3608:3613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 3958539602
[1655201286.054836][3608:3613] CHIP:TOO: on off transition time: 1
[1655201286.054941][3608:3613] CHIP:EM: Sending Standalone Ack for MessageCounter:21225916 on exchange 58998i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type signed integer. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_SignedInteger
verification: |
DUT implementation required to verify write an attribute of data type signed integer.
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type floating point. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_FloatingPoint
verification: |
DUT implementation required to verify write an attribute of data type float
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type Octet String. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_OctetString
verification: |
DUT implementation required to verify write an attribute of data type Octet String
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type Struct. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_Struct
verification: |
DUT implementation required to verify write an attribute ofdata type Struct
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type List. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_List
verification: |
DUT implementation required to verify write an attribute of data type List
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type enum. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_Enum
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool any write-by-id 0x0204 0 1 1 1
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1649152707.514290][16226:16231] CHIP:DMG: WriteResponseMessage =
[1649152707.514324][16226:16231] CHIP:DMG: {
[1649152707.514354][16226:16231] CHIP:DMG: AttributeStatusIBs =
[1649152707.514396][16226:16231] CHIP:DMG: [
[1649152707.514429][16226:16231] CHIP:DMG: AttributeStatusIB =
[1649152707.514476][16226:16231] CHIP:DMG: {
[1649152707.514511][16226:16231] CHIP:DMG: AttributePathIB =
[1649152707.514553][16226:16231] CHIP:DMG: {
[1649152707.514600][16226:16231] CHIP:DMG: Endpoint = 0x1,
[1649152707.514646][16226:16231] CHIP:DMG: Cluster = 0x204,
[1649152707.514691][16226:16231] CHIP:DMG: Attribute = 0x0000_0000,
[1649152707.514734][16226:16231] CHIP:DMG: }
[1649152707.514781][16226:16231] CHIP:DMG:
[1649152707.514820][16226:16231] CHIP:DMG: StatusIB =
[1649152707.514867][16226:16231] CHIP:DMG: {
[1649152707.514908][16226:16231] CHIP:DMG: status = 0x00 (SUCCESS),
[1649152707.514995][16226:16231] CHIP:DMG: },
[1649152707.515038][16226:16231] CHIP:DMG:
[1649152707.515072][16226:16231] CHIP:DMG: },
[1649152707.515113][16226:16231] CHIP:DMG:
[1649152707.515145][16226:16231] CHIP:DMG: ],
[1649152707.515186][16226:16231] CHIP:DMG:
[1649152707.515218][16226:16231] CHIP:DMG: InteractionModelRevision = 1
[1649152707.515250][16226:16231] CHIP:DMG: }
[1649152707.515374][16226:16231] CHIP:DMG: WriteClient moving to [AwaitingDe]
./chip-tool any read-by-id 0x0204 0 1 1
[1655201353.941835][3634:3639] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 263686993
[1655201353.941926][3634:3639] CHIP:TOO: temperature display mode: 1
[1655201353.942030][3634:3639] CHIP:EM: Sending Standalone Ack for MessageCounter:58103180 on exchange 16578i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute of
data type bitmap. +"
PICS: MCORE.IDM.S.Attribute_W.DataType_Bitmap
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool colorcontrol write-by-id 0x000f 1 1 1
On TH, verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1649152768.817940][16237:16242] CHIP:DMG: WriteResponseMessage =
[1649152768.817971][16237:16242] CHIP:DMG: {
[1649152768.817999][16237:16242] CHIP:DMG: AttributeStatusIBs =
[1649152768.818038][16237:16242] CHIP:DMG: [
[1649152768.818068][16237:16242] CHIP:DMG: AttributeStatusIB =
[1649152768.818111][16237:16242] CHIP:DMG: {
[1649152768.818146][16237:16242] CHIP:DMG: AttributePathIB =
[1649152768.818188][16237:16242] CHIP:DMG: {
[1649152768.818230][16237:16242] CHIP:DMG: Endpoint = 0x1,
[1649152768.818275][16237:16242] CHIP:DMG: Cluster = 0x300,
[1649152768.818317][16237:16242] CHIP:DMG: Attribute = 0x0000_000F,
[1649152768.818358][16237:16242] CHIP:DMG: }
[1649152768.818405][16237:16242] CHIP:DMG:
[1649152768.818443][16237:16242] CHIP:DMG: StatusIB =
[1649152768.818485][16237:16242] CHIP:DMG: {
[1649152768.818521][16237:16242] CHIP:DMG: status = 0x00 (SUCCESS),
[1649152768.818559][16237:16242] CHIP:DMG: },
[1649152768.818602][16237:16242] CHIP:DMG:
[1649152768.818640][16237:16242] CHIP:DMG: },
[1649152768.818681][16237:16242] CHIP:DMG:
[1649152768.818710][16237:16242] CHIP:DMG: ],
[1649152768.818747][16237:16242] CHIP:DMG:
[1649152768.818777][16237:16242] CHIP:DMG: InteractionModelRevision = 1
[1649152768.818806][16237:16242] CHIP:DMG: }
[1649152768.818890][16237:16242] CHIP:DMG: WriteClient moving to [AwaitingDe]
./chip-tool colorcontrol read-by-id 0x000f 1 1
On TH, verify the attribute value that was modified in above step
[1655201495.606584][3665:3670] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_000F DataVersion: 1452005257
[1655201495.606671][3665:3670] CHIP:TOO: Options: 1
[1655201495.606772][3665:3670] CHIP:EM: Sending Standalone Ack for MessageCounter:247256099 on exchange 33946i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write any attribute on
an unsupported node. DUT responds with the Write Response action"
verification: |
Out of Scope for V1.0
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write any attribute on
an unsupported Endpoint. DUT responds with the Write Response action"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool levelcontrol write on-level 2 1 20
On TH, Verify that the DUT sends the status code UNSUPPORTED_ENDPOINT for the data sent in the above command
1649153009.582466][16268:16273] CHIP:DMG: WriteResponseMessage =
[1649153009.582507][16268:16273] CHIP:DMG: {
[1649153009.582557][16268:16273] CHIP:DMG: AttributeStatusIBs =
[1649153009.582610][16268:16273] CHIP:DMG: [
[1649153009.582667][16268:16273] CHIP:DMG: AttributeStatusIB =
[1649153009.582723][16268:16273] CHIP:DMG: {
[1649153009.582779][16268:16273] CHIP:DMG: AttributePathIB =
[1649153009.582831][16268:16273] CHIP:DMG: {
[1649153009.582899][16268:16273] CHIP:DMG: Endpoint = 0x14,
[1649153009.582970][16268:16273] CHIP:DMG: Cluster = 0x8,
[1649153009.583031][16268:16273] CHIP:DMG: Attribute = 0x0000_0011,
[1649153009.583087][16268:16273] CHIP:DMG: }
[1649153009.583166][16268:16273] CHIP:DMG:
[1649153009.583221][16268:16273] CHIP:DMG: StatusIB =
[1649153009.583291][16268:16273] CHIP:DMG: {
[1649153009.583362][16268:16273] CHIP:DMG: status = 0x7f (UNSUPPORTED_ENDPOINT),
[1649153009.583415][16268:16273] CHIP:DMG: },
[1649153009.583481][16268:16273] CHIP:DMG:
[1649153009.583527][16268:16273] CHIP:DMG: },
[1649153009.583594][16268:16273] CHIP:DMG:
[1649153009.583634][16268:16273] CHIP:DMG: ],
[1649153009.583697][16268:16273] CHIP:DMG:
[1649153009.583751][16268:16273] CHIP:DMG: InteractionModelRevision = 1
[1649153009.583790][16268:16273] CHIP:DMG: }
[1649153009.583903][16268:16273] CHIP:TOO: Response Failure: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT)
[1649152811.554055][16246:16251] CHIP:DMG: },
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write any attribute on
an unsupported cluster. DUT responds with the Write Response action"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 0
On TH, Verify that the DUT sends the status code UNSUPPORTED_CLUSTER for the data sent in the above command
[1650618880.286103][2741:2746] CHIP:DMG: WriteResponseMessage =
[1650618880.286161][2741:2746] CHIP:DMG: {
[1650618880.286210][2741:2746] CHIP:DMG: AttributeStatusIBs =
[1650618880.286280][2741:2746] CHIP:DMG: [
[1650618880.286334][2741:2746] CHIP:DMG: AttributeStatusIB =
[1650618880.286399][2741:2746] CHIP:DMG: {
[1650618880.286456][2741:2746] CHIP:DMG: AttributePathIB =
[1650618880.286540][2741:2746] CHIP:DMG: {
[1650618880.286598][2741:2746] CHIP:DMG: Endpoint = 0x0,
[1650618880.286670][2741:2746] CHIP:DMG: Cluster = 0x201,
[1650618880.286736][2741:2746] CHIP:DMG: Attribute = 0x0000_0014,
[1650618880.286809][2741:2746] CHIP:DMG: }
[1650618880.286892][2741:2746] CHIP:DMG:
[1650618880.286955][2741:2746] CHIP:DMG: StatusIB =
[1650618880.287015][2741:2746] CHIP:DMG: {
[1650618880.287080][2741:2746] CHIP:DMG: status = 0xc3 (UNSUPPORTED_CLUSTER),
[1650618880.287144][2741:2746] CHIP:DMG: },
[1650618880.287208][2741:2746] CHIP:DMG:
[1650618880.287267][2741:2746] CHIP:DMG: },
[1650618880.287328][2741:2746] CHIP:DMG:
[1650618880.287377][2741:2746] CHIP:DMG: ],
[1650618880.287440][2741:2746] CHIP:DMG:
[1650618880.287489][2741:2746] CHIP:DMG: InteractionModelRevision = 1
[1650618880.287538][2741:2746] CHIP:DMG: }
[1650618880.287657][2741:2746] CHIP:TOO: Response Failure: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER)
[1650618880.287735][2741:2746] CHIP:DMG: WriteClient moving to [AwaitingDe]
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an unsupported
attribute DUT responds with the Write Response action"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 1
On TH, Verify that the DUT sends the status code UNSUPPORTED_ATTRIBUTE for the data sent in the above command
[1650618819.921180][2730:2735] CHIP:DMG: WriteResponseMessage =
[1650618819.921212][2730:2735] CHIP:DMG: {
[1650618819.921237][2730:2735] CHIP:DMG: AttributeStatusIBs =
[1650618819.921273][2730:2735] CHIP:DMG: [
[1650618819.921303][2730:2735] CHIP:DMG: AttributeStatusIB =
[1650618819.921334][2730:2735] CHIP:DMG: {
[1650618819.921364][2730:2735] CHIP:DMG: AttributePathIB =
[1650618819.921400][2730:2735] CHIP:DMG: {
[1650618819.921436][2730:2735] CHIP:DMG: Endpoint = 0x1,
[1650618819.921473][2730:2735] CHIP:DMG: Cluster = 0x201,
[1650618819.921508][2730:2735] CHIP:DMG: Attribute = 0x0000_0014,
[1650618819.921543][2730:2735] CHIP:DMG: }
[1650618819.921586][2730:2735] CHIP:DMG:
[1650618819.921619][2730:2735] CHIP:DMG: StatusIB =
[1650618819.921654][2730:2735] CHIP:DMG: {
[1650618819.921692][2730:2735] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE),
[1650618819.921733][2730:2735] CHIP:DMG: },
[1650618819.921773][2730:2735] CHIP:DMG:
[1650618819.921806][2730:2735] CHIP:DMG: },
[1650618819.921843][2730:2735] CHIP:DMG:
[1650618819.921870][2730:2735] CHIP:DMG: ],
[1650618819.921905][2730:2735] CHIP:DMG:
[1650618819.921932][2730:2735] CHIP:DMG: InteractionModelRevision = 1
[1650618819.921961][2730:2735] CHIP:DMG: }
[1650618819.922034][2730:2735] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
[1650618819.922076][2730:2735] CHIP:DMG: WriteClient moving to [AwaitingDe]
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write an attribute
which is not writable. DUT responds with the Write Response action"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool basic write-by-id 0x7 2 1 0
On TH, Verify that the DUT sends the status code UNSUPPORTED_WRITE for the data sent in the above command
[1655201693.989436][3767:3772] CHIP:DMG: WriteResponseMessage =
[1655201693.989472][3767:3772] CHIP:DMG: {
[1655201693.989504][3767:3772] CHIP:DMG: AttributeStatusIBs =
[1655201693.989548][3767:3772] CHIP:DMG: [
[1655201693.989584][3767:3772] CHIP:DMG: AttributeStatusIB =
[1655201693.989673][3767:3772] CHIP:DMG: {
[1655201693.989715][3767:3772] CHIP:DMG: AttributePathIB =
[1655201693.989762][3767:3772] CHIP:DMG: {
[1655201693.989810][3767:3772] CHIP:DMG: Endpoint = 0x0,
[1655201693.989859][3767:3772] CHIP:DMG: Cluster = 0x28,
[1655201693.989912][3767:3772] CHIP:DMG: Attribute = 0x0000_0007,
[1655201693.989962][3767:3772] CHIP:DMG: }
[1655201693.990012][3767:3772] CHIP:DMG:
[1655201693.990058][3767:3772] CHIP:DMG: StatusIB =
[1655201693.990105][3767:3772] CHIP:DMG: {
[1655201693.990149][3767:3772] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE),
[1655201693.990196][3767:3772] CHIP:DMG: },
[1655201693.990240][3767:3772] CHIP:DMG:
[1655201693.990277][3767:3772] CHIP:DMG: },
[1655201693.990320][3767:3772] CHIP:DMG:
[1655201693.990355][3767:3772] CHIP:DMG: ],
[1655201693.990398][3767:3772] CHIP:DMG:
[1655201693.990433][3767:3772] CHIP:DMG: InteractionModelRevision = 1
[1655201693.990467][3767:3772] CHIP:DMG: }
[1655201693.990561][3767:3772] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1655201693.990608][3767:3772] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE)
[1655201693.990677][3767:3772] CHIP:EM: Sending Standalone Ack for MessageCounter:106116162 on exchange 12372i
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write to an attribute
in the path that requires a privilege that is not granted for the
cluster in the path. DUT responds with the Write Response action"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command
Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except identify cluster command if try to send any other command will get status as unsupported access.
./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]' 1 0
[1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage =
[1659419722.669657][1915:1920] CHIP:DMG: {
[1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs =
[1659419722.669727][1915:1920] CHIP:DMG: [
[1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.669796][1915:1920] CHIP:DMG: {
[1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.669871][1915:1920] CHIP:DMG: {
[1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670034][1915:1920] CHIP:DMG: }
[1659419722.670077][1915:1920] CHIP:DMG:
[1659419722.670114][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670153][1915:1920] CHIP:DMG: {
[1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670229][1915:1920] CHIP:DMG: },
[1659419722.670266][1915:1920] CHIP:DMG:
[1659419722.670300][1915:1920] CHIP:DMG: },
[1659419722.670343][1915:1920] CHIP:DMG:
[1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB =
[1659419722.670405][1915:1920] CHIP:DMG: {
[1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB =
[1659419722.670471][1915:1920] CHIP:DMG: {
[1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0,
[1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f,
[1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000,
[1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null,
[1659419722.670700][1915:1920] CHIP:DMG: }
[1659419722.670740][1915:1920] CHIP:DMG:
[1659419722.670776][1915:1920] CHIP:DMG: StatusIB =
[1659419722.670813][1915:1920] CHIP:DMG: {
[1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS),
[1659419722.670888][1915:1920] CHIP:DMG: },
[1659419722.670925][1915:1920] CHIP:DMG:
[1659419722.670958][1915:1920] CHIP:DMG: },
[1659419722.670994][1915:1920] CHIP:DMG:
[1659419722.671022][1915:1920] CHIP:DMG: ],
[1659419722.671062][1915:1920] CHIP:DMG:
[1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1
[1659419722.671120][1915:1920] CHIP:DMG: }
[1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on
./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 2 1 1
On TH, verify DUT responds as UNSUPPORTED_ACCESS for the data sent in the above command
[1659422521.638063][2076:2081] CHIP:DMG: }
[1659422521.638147][2076:2081] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1659422521.638185][2076:2081] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
[1659422521.638246][2076:2081] CHIP:EM: Sending Standalone Ack for MessageCounter:223304501 on exchange 20701i
With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again.
./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]' 1 0
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to write one attribute on
a given cluster and endpoint. Repeat the above steps 3 times."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
sudo ./chip-tool levelcontrol write on-level 2 1 1
Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified.
[1653028376.099679][6518:6523] CHIP:DMG: WriteResponseMessage =
[1653028376.099696][6518:6523] CHIP:DMG: {
[1653028376.099710][6518:6523] CHIP:DMG: AttributeStatusIBs =
[1653028376.099814][6518:6523] CHIP:DMG: [
[1653028376.099831][6518:6523] CHIP:DMG: AttributeStatusIB =
[1653028376.099849][6518:6523] CHIP:DMG: {
[1653028376.099864][6518:6523] CHIP:DMG: AttributePathIB =
[1653028376.099882][6518:6523] CHIP:DMG: {
[1653028376.099900][6518:6523] CHIP:DMG: Endpoint = 0x1,
[1653028376.099917][6518:6523] CHIP:DMG: Cluster = 0x8,
[1653028376.099935][6518:6523] CHIP:DMG: Attribute = 0x0000_0011,
[1653028376.099952][6518:6523] CHIP:DMG: }
[1653028376.099983][6518:6523] CHIP:DMG:
[1653028376.099999][6518:6523] CHIP:DMG: StatusIB =
[1653028376.100014][6518:6523] CHIP:DMG: {
[1653028376.100031][6518:6523] CHIP:DMG: status = 0x00 (SUCCESS),
[1653028376.100047][6518:6523] CHIP:DMG: },
[1653028376.100065][6518:6523] CHIP:DMG:
[1653028376.100080][6518:6523] CHIP:DMG: },
[1653028376.100101][6518:6523] CHIP:DMG:
[1653028376.100115][6518:6523] CHIP:DMG: ],
[1653028376.100137][6518:6523] CHIP:DMG:
[1653028376.100152][6518:6523] CHIP:DMG: InteractionModelRevision = 1
[1653028376.100167][6518:6523] CHIP:DMG: }
./chip-tool levelcontrol read on-level 1 1
On TH, verify the attribute value that was modified in above step
[1653028474.240088][6540:6545] CHIP:DMG: ReportDataMessage =
[1653028474.240100][6540:6545] CHIP:DMG: {
[1653028474.240110][6540:6545] CHIP:DMG: AttributeReportIBs =
[1653028474.240126][6540:6545] CHIP:DMG: [
[1653028474.240136][6540:6545] CHIP:DMG: AttributeReportIB =
[1653028474.240152][6540:6545] CHIP:DMG: {
[1653028474.240162][6540:6545] CHIP:DMG: AttributeDataIB =
[1653028474.240175][6540:6545] CHIP:DMG: {
[1653028474.240187][6540:6545] CHIP:DMG: DataVersion = 0xc4c9d7ad,
[1653028474.240198][6540:6545] CHIP:DMG: AttributePathIB =
[1653028474.240211][6540:6545] CHIP:DMG: {
[1653028474.240223][6540:6545] CHIP:DMG: Endpoint = 0x1,
[1653028474.240235][6540:6545] CHIP:DMG: Cluster = 0x8,
[1653028474.240249][6540:6545] CHIP:DMG: Attribute = 0x0000_0011,
[1653028474.240260][6540:6545] CHIP:DMG: }
[1653028474.240274][6540:6545] CHIP:DMG:
[1653028474.240287][6540:6545] CHIP:DMG: Data = 2,
[1653028474.240298][6540:6545] CHIP:DMG: },
[1653028474.240312][6540:6545] CHIP:DMG:
[1653028474.240322][6540:6545] CHIP:DMG: },
[1653028474.240337][6540:6545] CHIP:DMG:
[1653028474.240346][6540:6545] CHIP:DMG: ],
[1653028474.240361][6540:6545] CHIP:DMG:
[1653028474.240372][6540:6545] CHIP:DMG: SuppressResponse = true,
[1653028474.240383][6540:6545] CHIP:DMG: InteractionModelRevision = 1
[1653028474.240393][6540:6545] CHIP:DMG: }
[1653028474.240473][6540:6545] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562285
[1653028474.240815][6540:6545] CHIP:TOO: on level: 2
./chip-tool levelcontrol write on-level 3 1 1
./chip-tool levelcontrol write on-level 1 1 1
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to modify the value of
one attribute on a given cluster and endpoint to null. +"
verification: |
Out of Scope for V1.0
https://github.com/project-chip/connectedhomeip/issues/8043
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to append an attribute
value +"
verification: |
Out of Scope for V1.0
https://github.com/project-chip/connectedhomeip/issues/8043
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to delete an attribute
value +"
verification: |
Out of Scope for V1.0
https://github.com/project-chip/connectedhomeip/issues/8043
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to modify the value of
one attribute and Set SuppressResponse to True. +"
verification: |
Out of Scope for V1.0
https://github.com/project-chip/connectedhomeip/issues/8043
disabled: true
- label:
"TH sends a ReadRequest message to the DUT to read any attribute on
any cluster. DUT returns with a report data action with the attribute
values and the dataversion of the cluster. TH sends a
WriteRequestMessage to the DUT to modify the value of one attribute
with the DataVersion field set to the one received in the prior step.
+"
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool levelcontrol read on-level 1 1
On TH, Verify the attribute value which is received from DUT
[1653028897.525838][6605:6611] CHIP:DMG: ReportDataMessage =
[1653028897.525863][6605:6611] CHIP:DMG: {
[1653028897.525885][6605:6611] CHIP:DMG: AttributeReportIBs =
[1653028897.525919][6605:6611] CHIP:DMG: [
[1653028897.525940][6605:6611] CHIP:DMG: AttributeReportIB =
[1653028897.525975][6605:6611] CHIP:DMG: {
[1653028897.525997][6605:6611] CHIP:DMG: AttributeDataIB =
[1653028897.526025][6605:6611] CHIP:DMG: {
[1653028897.526051][6605:6611] CHIP:DMG: DataVersion = 0xc4c9d7ae,
[1653028897.526075][6605:6611] CHIP:DMG: AttributePathIB =
[1653028897.526102][6605:6611] CHIP:DMG: {
[1653028897.526128][6605:6611] CHIP:DMG: Endpoint = 0x1,
[1653028897.526153][6605:6611] CHIP:DMG: Cluster = 0x8,
[1653028897.526181][6605:6611] CHIP:DMG: Attribute = 0x0000_0011,
[1653028897.526211][6605:6611] CHIP:DMG: }
[1653028897.526239][6605:6611] CHIP:DMG:
[1653028897.526268][6605:6611] CHIP:DMG: Data = 2,
[1653028897.526295][6605:6611] CHIP:DMG: },
[1653028897.526326][6605:6611] CHIP:DMG:
[1653028897.526347][6605:6611] CHIP:DMG: },
[1653028897.526378][6605:6611] CHIP:DMG:
[1653028897.526397][6605:6611] CHIP:DMG: ],
[1653028897.526432][6605:6611] CHIP:DMG:
[1653028897.526459][6605:6611] CHIP:DMG: SuppressResponse = true,
[1653028897.526483][6605:6611] CHIP:DMG: InteractionModelRevision = 1
[1653028897.526503][6605:6611] CHIP:DMG: }
[1653028897.526687][6605:6611] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562286
[1653028897.526763][6605:6611] CHIP:TOO: on level: 2
TH sends below mentioned WriteRequestMessage to the DUT to modify the value of one attribute with the DataVersion field set to the one received in the prior step.
./chip-tool levelcontrol write on-level 3 1 1 --data-version 0xc4c9d7ae
On TH, verify that DUT sends a Write Response message with a success
[1653028938.426783][6617:6622] CHIP:DMG: WriteResponseMessage =
[1653028938.426797][6617:6622] CHIP:DMG: {
[1653028938.426806][6617:6622] CHIP:DMG: AttributeStatusIBs =
[1653028938.426821][6617:6622] CHIP:DMG: [
[1653028938.426829][6617:6622] CHIP:DMG: AttributeStatusIB =
[1653028938.426840][6617:6622] CHIP:DMG: {
[1653028938.426849][6617:6622] CHIP:DMG: AttributePathIB =
[1653028938.426860][6617:6622] CHIP:DMG: {
[1653028938.426871][6617:6622] CHIP:DMG: Endpoint = 0x1,
[1653028938.426881][6617:6622] CHIP:DMG: Cluster = 0x8,
[1653028938.426893][6617:6622] CHIP:DMG: Attribute = 0x0000_0011,
[1653028938.426903][6617:6622] CHIP:DMG: }
[1653028938.426917][6617:6622] CHIP:DMG:
[1653028938.426925][6617:6622] CHIP:DMG: StatusIB =
[1653028938.426936][6617:6622] CHIP:DMG: {
[1653028938.426944][6617:6622] CHIP:DMG: status = 0x00 (SUCCESS),
[1653028938.426952][6617:6622] CHIP:DMG: },
[1653028938.426961][6617:6622] CHIP:DMG:
[1653028938.426968][6617:6622] CHIP:DMG: },
[1653028938.426978][6617:6622] CHIP:DMG:
[1653028938.426996][6617:6622] CHIP:DMG: ],
[1653028938.427009][6617:6622] CHIP:DMG:
[1653028938.427017][6617:6622] CHIP:DMG: InteractionModelRevision = 1
[1653028938.427024][6617:6622] CHIP:DMG: }
./chip-tool levelcontrol read on-level 1 1
on TH verify that TH receives the WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified.
[1655201977.366318][3837:3842] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3958539604
[1655201977.366411][3837:3842] CHIP:TOO: on level: 3
[1655201977.366511][3837:3842] CHIP:EM: Sending Standalone Ack for MessageCounter:237652616 on exchange 15939i
disabled: true
- label:
"TH sends a ReadRequest message to the DUT to read any attribute on
any cluster. DUT returns with a report data action with the attribute
values and the dataversion of the cluster. TH sends a
WriteRequestMessage to the DUT to modify the value of one attribute no
DataVersion indicated. TH sends a second WriteRequestMessage to the
DUT to modify the value of an attribute with the dataversion field set
to the value received earlier."
verification: |
The cluster used in the below command is an example, User can use any supported chip cluster.
./chip-tool levelcontrol read on-level 1 1
On TH, Verify that DUT is responds with attribute value
[1653029048.535610][6634:6639] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562287
[1653029048.535653][6634:6639] CHIP:TOO: on level: 3
./chip-tool levelcontrol write on-level 4 1 1
On TH, DUT send a Write Response message with status code as success
[1653029055.885156][6643:6648] CHIP:DMG: }
[1653029055.885169][6643:6648] CHIP:DMG:
[1653029055.885178][6643:6648] CHIP:DMG: StatusIB =
[1653029055.885189][6643:6648] CHIP:DMG: {
[1653029055.885199][6643:6648] CHIP:DMG: status = 0x00 (SUCCESS),
[1653029055.885209][6643:6648] CHIP:DMG: },
[1653029055.885219][6643:6648] CHIP:DMG:
TH sends below mentioned second WriteRequestMessage to the DUT to modify the value of an attribute with the dataversion field set to the value received earlier.
./chip-tool levelcontrol write on-level 4 1 1 --data-version 0xc4c9d7af
on TH, verify that DUT responds as DATA_VERSION_MISMATCH for the second Write request.
[1653029088.401601][6655:6660] CHIP:DMG: WriteResponseMessage =
[1653029088.401614][6655:6660] CHIP:DMG: {
[1653029088.401623][6655:6660] CHIP:DMG: AttributeStatusIBs =
[1653029088.401638][6655:6660] CHIP:DMG: [
[1653029088.401647][6655:6660] CHIP:DMG: AttributeStatusIB =
[1653029088.401657][6655:6660] CHIP:DMG: {
[1653029088.401668][6655:6660] CHIP:DMG: AttributePathIB =
[1653029088.401682][6655:6660] CHIP:DMG: {
[1653029088.401694][6655:6660] CHIP:DMG: Endpoint = 0x1,
[1653029088.401712][6655:6660] CHIP:DMG: Cluster = 0x8,
[1653029088.401823][6655:6660] CHIP:DMG: Attribute = 0x0000_0011,
[1653029088.401836][6655:6660] CHIP:DMG: }
[1653029088.401855][6655:6660] CHIP:DMG:
[1653029088.401869][6655:6660] CHIP:DMG: StatusIB =
[1653029088.401884][6655:6660] CHIP:DMG: {
[1653029088.401899][6655:6660] CHIP:DMG: status = 0x92 (DATA_VERSION_MISMATCH),
[1653029088.401912][6655:6660] CHIP:DMG: },
[1653029088.401928][6655:6660] CHIP:DMG:
[1653029088.401940][6655:6660] CHIP:DMG: },
[1653029088.401956][6655:6660] CHIP:DMG:
[1653029088.401967][6655:6660] CHIP:DMG: ],
[1653029088.401984][6655:6660] CHIP:DMG:
[1653029088.401997][6655:6660] CHIP:DMG: InteractionModelRevision = 1
[1653029088.402009][6655:6660] CHIP:DMG: }
[1653029088.402059][6655:6660] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1653029088.402079][6655:6660] CHIP:TOO: Response Failure: IM Error 0x00000592: General error: 0x92 (DATA_VERSION_MISMATCH)
disabled: true
- label:
"TH sends the WriteRequestMessage to the DUT to modify the value of a
specific attribute data that needs Timed Write transaction to write
and this action is not part of a Timed Write transaction."
verification: |
DUT implementation required to verify write an attribute which need NEEDS_TIMED_INTERACTION.
If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
disabled: true