blob: d76e212c4c62ee79b7869a4a81b85be50a5112ef [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
Verify on TH receives 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.
[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
[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
Verify on TH receives 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.
[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
[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
Verify on TH receives 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.
[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
[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
Verify on TH receives 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.
[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
[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.
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
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
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
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
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
Verify on TH receives 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.
[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 0x0008 0x0010 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
Verify on TH receives 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.
[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
[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
Verify DUT is responsds with 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
Verify DUT is responsds with 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
Verify DUT is responsds with 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
Verify DUT is responsds with 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 responsds 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 veriy 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
[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
Verify On TH, Verify DUT is responsds with attribute value
[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
./chip-tool levelcontrol write on-level 3 1 1 --data-version 0xc4c9d7ae
Veify On TH, 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
Verify on TH receives 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
Verify On TH, Verify DUT is responsds 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
Veify On TH, DUT sends a Write Response message with a 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:
./chip-tool levelcontrol write on-level 4 1 1 --data-version 0xc4c9d7af
Verify on TH, DUT is responsds with 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.
disabled: true