# 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
