# 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.1. [TC-IDM-3.1] Write Request Action from DUT to TH. [{DUT_Client}]

config:
    nodeId: 0x12344321
    cluster: "Basic"
    endpoint: 0

tests:
    - label:
          "DUT sends the WriteRequestMessage to the TH to modify one attribute
          data"
      verification: |
          In case of chip tool, here is an example command to use


          sudo ./chip-tool levelcontrol write on-level 2 1 1

          verify on TH(reference app) receives the right write Request Message for the data sent in the above command

          [1655795552.551487][7331:7331] CHIP:EM: Handling via exchange: 41640r, Delegate: 0xaaaad9aed418
          [1655795552.551552][7331:7331] CHIP:IM: Received Write request
          [1655795552.551589][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655795552.551669][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655795552.551710][7331:7331] CHIP:DMG: {
          [1655795552.551747][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655795552.551791][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655795552.551832][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655795552.551882][7331:7331] CHIP:DMG:         [
          [1655795552.551921][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655795552.551966][7331:7331] CHIP:DMG:                 {
          [1655795552.552009][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655795552.552072][7331:7331] CHIP:DMG:                         {
          [1655795552.552125][7331:7331] CHIP:DMG:                                 Endpoint = 0x1,
          [1655795552.552180][7331:7331] CHIP:DMG:                                 Cluster = 0x8,
          [1655795552.552234][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0011,
          [1655795552.552275][7331:7331] CHIP:DMG:                         }
          [1655795552.552327][7331:7331] CHIP:DMG:
          [1655795552.552381][7331:7331] CHIP:DMG:                         Data = 2,
          [1655795552.552428][7331:7331] CHIP:DMG:                 },
          [1655795552.552478][7331:7331] CHIP:DMG:
          [1655795552.552517][7331:7331] CHIP:DMG:         ],
          [1655795552.552564][7331:7331] CHIP:DMG:
          [1655795552.552605][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655795552.552647][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655795552.552686][7331:7331] CHIP:DMG: },

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1657883782.721742][2796:2801] CHIP:DMG: WriteResponseMessage =
          [1657883782.721783][2796:2801] CHIP:DMG: {
          [1657883782.721819][2796:2801] CHIP:DMG:         AttributeStatusIBs =
          [1657883782.721874][2796:2801] CHIP:DMG:         [
          [1657883782.721914][2796:2801] CHIP:DMG:                 AttributeStatusIB =
          [1657883782.721959][2796:2801] CHIP:DMG:                 {
          [1657883782.722002][2796:2801] CHIP:DMG:                         AttributePathIB =
          [1657883782.722054][2796:2801] CHIP:DMG:                         {
          [1657883782.722112][2796:2801] CHIP:DMG:                                 Endpoint = 0x1,
          [1657883782.722172][2796:2801] CHIP:DMG:                                 Cluster = 0x8,
          [1657883782.722227][2796:2801] CHIP:DMG:                                 Attribute = 0x0000_0011,
          [1657883782.722278][2796:2801] CHIP:DMG:                         }
          [1657883782.722335][2796:2801] CHIP:DMG:
          [1657883782.722384][2796:2801] CHIP:DMG:                         StatusIB =
          [1657883782.722435][2796:2801] CHIP:DMG:                         {
          [1657883782.722493][2796:2801] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657883782.722547][2796:2801] CHIP:DMG:                         },
          [1657883782.722605][2796:2801] CHIP:DMG:
          [1657883782.722648][2796:2801] CHIP:DMG:                 },
          [1657883782.722697][2796:2801] CHIP:DMG:
          [1657883782.722736][2796:2801] CHIP:DMG:         ],
          [1657883782.722783][2796:2801] CHIP:DMG:
          [1657883782.722823][2796:2801] CHIP:DMG:         InteractionModelRevision = 1
          [1657883782.722860][2796:2801] CHIP:DMG: }
          [1657883782.722967][2796:2801] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657883782.723047][2796:2801] CHIP:EM: Sending Standalone Ack for MessageCounter:76592104 on exchange 56753i


          sudo ./chip-tool levelcontrol read on-level 1 1
          verify on TH(reference app) receives the right write Request Message for the data sent in the above command
          [1657883808.062792][2457:2457] CHIP:IM: Received Read request
          [1657883808.062871][2457:2457] CHIP:DMG: ReadRequestMessage =
          [1657883808.062900][2457:2457] CHIP:DMG: {
          [1657883808.062922][2457:2457] CHIP:DMG:         AttributePathIBs =
          [1657883808.062949][2457:2457] CHIP:DMG:         [
          [1657883808.062972][2457:2457] CHIP:DMG:                 AttributePathIB =
          [1657883808.063000][2457:2457] CHIP:DMG:                 {
          [1657883808.063028][2457:2457] CHIP:DMG:                         Endpoint = 0x1,
          [1657883808.063068][2457:2457] CHIP:DMG:                         Cluster = 0x8,
          [1657883808.063105][2457:2457] CHIP:DMG:                         Attribute = 0x0000_0011,
          [1657883808.063138][2457:2457] CHIP:DMG:                 }
          [1657883808.063167][2457:2457] CHIP:DMG:
          [1657883808.063192][2457:2457] CHIP:DMG:         ],
          [1657883808.063221][2457:2457] CHIP:DMG:
          [1657883808.063247][2457:2457] CHIP:DMG:         isFabricFiltered = true,
          [1657883808.063272][2457:2457] CHIP:DMG:         InteractionModelRevision = 1
          [1657883808.063295][2457:2457] CHIP:DMG: },
          [1657883808.063369][2457:2457] CHIP:DMG: IM RH moving to [GeneratingReports]

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655795604.755214][6880:6885] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 737039636
          [1655795604.755363][6880:6885] CHIP:TOO:   on level: 2
          [1655795604.755460][6880:6885] CHIP:EM: Sending Standalone Ack for MessageCounter:83198098 on exchange 53763i
      disabled: true

    - label:
          "DUT sends the WriteRequestMessage to the TH to modify one attribute
          on all Endpoints. On receipt of this message, TH should modify the
          attribute and send a WriteResponseMessage to the DUT."
      verification: |
          Out of Scope for V1.0
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type bool."
      verification: |
          In case of chip tool, here is an example command to use

           ./chip-tool basic write local-config-disabled 1 1 0

          verify on TH(reference app) receives the right write Request Message for the data sent in the above command

          [1655795795.033946][7331:7331] CHIP:EM: Handling via exchange: 11668r, Delegate: 0xaaaad9aed418
          [1655795795.034011][7331:7331] CHIP:IM: Received Write request
          [1655795795.034050][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655795795.034127][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655795795.034168][7331:7331] CHIP:DMG: {
          [1655795795.034206][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655795795.034250][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655795795.034290][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655795795.034340][7331:7331] CHIP:DMG:         [
          [1655795795.034380][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655795795.034425][7331:7331] CHIP:DMG:                 {
          [1655795795.034467][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655795795.034515][7331:7331] CHIP:DMG:                         {
          [1655795795.034568][7331:7331] CHIP:DMG:                                 Endpoint = 0x0,
          [1655795795.034625][7331:7331] CHIP:DMG:                                 Cluster = 0x28,
          [1655795795.034680][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0010,
          [1655795795.034737][7331:7331] CHIP:DMG:                         }
          [1655795795.034784][7331:7331] CHIP:DMG:
          [1655795795.034834][7331:7331] CHIP:DMG:                         Data = true,
          [1655795795.034880][7331:7331] CHIP:DMG:                 },
          [1655795795.034929][7331:7331] CHIP:DMG:
          [1655795795.034968][7331:7331] CHIP:DMG:         ],
          [1655795795.035015][7331:7331] CHIP:DMG:
          [1655795795.035056][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655795795.035099][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655795795.035138][7331:7331] CHIP:DMG: },
          [1655795795.035259][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m



          On DUT as a client side, verify that TH all-clusters-app sent success response

          [1657883938.394965][2822:2827] CHIP:DMG: WriteResponseMessage =
          [1657883938.394995][2822:2827] CHIP:DMG: {
          [1657883938.395022][2822:2827] CHIP:DMG:         AttributeStatusIBs =
          [1657883938.395060][2822:2827] CHIP:DMG:         [
          [1657883938.395090][2822:2827] CHIP:DMG:                 AttributeStatusIB =
          [1657883938.395127][2822:2827] CHIP:DMG:                 {
          [1657883938.395158][2822:2827] CHIP:DMG:                         AttributePathIB =
          [1657883938.395196][2822:2827] CHIP:DMG:                         {
          [1657883938.395241][2822:2827] CHIP:DMG:                                 Endpoint = 0x0,
          [1657883938.395283][2822:2827] CHIP:DMG:                                 Cluster = 0x28,
          [1657883938.395324][2822:2827] CHIP:DMG:                                 Attribute = 0x0000_0010,
          [1657883938.395363][2822:2827] CHIP:DMG:                         }
          [1657883938.395406][2822:2827] CHIP:DMG:
          [1657883938.395446][2822:2827] CHIP:DMG:                         StatusIB =
          [1657883938.395485][2822:2827] CHIP:DMG:                         {
          [1657883938.395522][2822:2827] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657883938.395561][2822:2827] CHIP:DMG:                         },
          [1657883938.395603][2822:2827] CHIP:DMG:
          [1657883938.395636][2822:2827] CHIP:DMG:                 },
          [1657883938.395672][2822:2827] CHIP:DMG:
          [1657883938.395700][2822:2827] CHIP:DMG:         ],
          [1657883938.395735][2822:2827] CHIP:DMG:
          [1657883938.395765][2822:2827] CHIP:DMG:         InteractionModelRevision = 1
          [1657883938.395794][2822:2827] CHIP:DMG: }
          [1657883938.395875][2822:2827] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657883938.395940][2822:2827] CHIP:EM: Sending Standalone Ack for MessageCounter:157043526 on exchange 18989i


           ./chip-tool basic read local-config-disabled 1 0

          verify on TH(reference app) receives the right write Request Message for the data sent in the above command
          [1657884119.522809][2748:2748] CHIP:IM: Received Read request
          [1657884119.522885][2748:2748] CHIP:DMG: ReadRequestMessage =
          [1657884119.522911][2748:2748] CHIP:DMG: {
          [1657884119.522933][2748:2748] CHIP:DMG:         AttributePathIBs =
          [1657884119.522959][2748:2748] CHIP:DMG:         [
          [1657884119.522982][2748:2748] CHIP:DMG:                 AttributePathIB =
          [1657884119.523009][2748:2748] CHIP:DMG:                 {
          [1657884119.523037][2748:2748] CHIP:DMG:                         Endpoint = 0x0,
          [1657884119.523067][2748:2748] CHIP:DMG:                         Cluster = 0x28,
          [1657884119.523097][2748:2748] CHIP:DMG:                         Attribute = 0x0000_0010,
          [1657884119.523126][2748:2748] CHIP:DMG:                 }
          [1657884119.523153][2748:2748] CHIP:DMG:
          [1657884119.523179][2748:2748] CHIP:DMG:         ],
          [1657884119.523207][2748:2748] CHIP:DMG:
          [1657884119.523233][2748:2748] CHIP:DMG:         isFabricFiltered = true,
          [1657884119.523257][2748:2748] CHIP:DMG:         InteractionModelRevision = 1
          [1657884119.523280][2748:2748] CHIP:DMG: },



          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655795843.336042][6902:6907] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1263909562
          [1655795843.336093][6902:6907] CHIP:TOO:   LocalConfigDisabled: TRUE
          [1655795843.336251][6902:6907] CHIP:EM: Sending Standalone Ack for MessageCounter:108030495 on exchange 43207i
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type string."
      verification: |
          In case of chip tool, here is an example command to use


           ./chip-tool basic write node-label node 1 0


          verify on TH(reference app) receives the right write Request Message for the data sent in the above command

          [1655796035.022296][7331:7331] CHIP:EM: Handling via exchange: 64908r, Delegate: 0xaaaad9aed418
          [1655796035.022365][7331:7331] CHIP:IM: Received Write request
          [1655796035.022407][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655796035.022494][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655796035.022541][7331:7331] CHIP:DMG: {
          [1655796035.022584][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655796035.022633][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655796035.022679][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655796035.022735][7331:7331] CHIP:DMG:         [
          [1655796035.022780][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655796035.022831][7331:7331] CHIP:DMG:                 {
          [1655796035.022879][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655796035.022939][7331:7331] CHIP:DMG:                         {
          [1655796035.022999][7331:7331] CHIP:DMG:                                 Endpoint = 0x0,
          [1655796035.023067][7331:7331] CHIP:DMG:                                 Cluster = 0x28,
          [1655796035.023134][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1655796035.023192][7331:7331] CHIP:DMG:                         }
          [1655796035.023252][7331:7331] CHIP:DMG:
          [1655796035.023313][7331:7331] CHIP:DMG:                         Data = "node",
          [1655796035.023366][7331:7331] CHIP:DMG:                 },
          [1655796035.023421][7331:7331] CHIP:DMG:
          [1655796035.023466][7331:7331] CHIP:DMG:         ],
          [1655796035.023519][7331:7331] CHIP:DMG:
          [1655796035.023565][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655796035.023613][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655796035.023656][7331:7331] CHIP:DMG: },
          [1655796035.023791][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m
          [1655796035.023851][7331:7331] CHIP:DMG: AccessControl: allowed

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1657884155.221193][2865:2870] CHIP:DMG: WriteResponseMessage =
          [1657884155.221246][2865:2870] CHIP:DMG: {
          [1657884155.221292][2865:2870] CHIP:DMG:         AttributeStatusIBs =
          [1657884155.221356][2865:2870] CHIP:DMG:         [
          [1657884155.221406][2865:2870] CHIP:DMG:                 AttributeStatusIB =
          [1657884155.221464][2865:2870] CHIP:DMG:                 {
          [1657884155.221518][2865:2870] CHIP:DMG:                         AttributePathIB =
          [1657884155.221588][2865:2870] CHIP:DMG:                         {
          [1657884155.221635][2865:2870] CHIP:DMG:                                 Endpoint = 0x0,
          [1657884155.221673][2865:2870] CHIP:DMG:                                 Cluster = 0x28,
          [1657884155.221710][2865:2870] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1657884155.221798][2865:2870] CHIP:DMG:                         }
          [1657884155.221837][2865:2870] CHIP:DMG:
          [1657884155.221868][2865:2870] CHIP:DMG:                         StatusIB =
          [1657884155.221900][2865:2870] CHIP:DMG:                         {
          [1657884155.221932][2865:2870] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657884155.221965][2865:2870] CHIP:DMG:                         },
          [1657884155.221996][2865:2870] CHIP:DMG:
          [1657884155.222022][2865:2870] CHIP:DMG:                 },
          [1657884155.222052][2865:2870] CHIP:DMG:
          [1657884155.222077][2865:2870] CHIP:DMG:         ],
          [1657884155.222108][2865:2870] CHIP:DMG:
          [1657884155.222132][2865:2870] CHIP:DMG:         InteractionModelRevision = 1
          [1657884155.222157][2865:2870] CHIP:DMG: }
          [1657884155.222229][2865:2870] CHIP:DMG: WriteClient moving to [AwaitingDe]


          ./chip-tool basic read node-label 1 0
          verify on TH(reference app) receives the right write Request Message for the data sent in the above command
          [1657884173.738798][2748:2748] CHIP:IM: Received Read request
          [1657884173.738877][2748:2748] CHIP:DMG: ReadRequestMessage =
          [1657884173.738904][2748:2748] CHIP:DMG: {
          [1657884173.738926][2748:2748] CHIP:DMG:         AttributePathIBs =
          [1657884173.738952][2748:2748] CHIP:DMG:         [
          [1657884173.738975][2748:2748] CHIP:DMG:                 AttributePathIB =
          [1657884173.739009][2748:2748] CHIP:DMG:                 {
          [1657884173.739041][2748:2748] CHIP:DMG:                         Endpoint = 0x0,
          [1657884173.739073][2748:2748] CHIP:DMG:                         Cluster = 0x28,
          [1657884173.739105][2748:2748] CHIP:DMG:                         Attribute = 0x0000_0005,
          [1657884173.739134][2748:2748] CHIP:DMG:                 }
          [1657884173.739162][2748:2748] CHIP:DMG:
          [1657884173.739188][2748:2748] CHIP:DMG:         ],
          [1657884173.739215][2748:2748] CHIP:DMG:
          [1657884173.739241][2748:2748] CHIP:DMG:         isFabricFiltered = true,
          [1657884173.739266][2748:2748] CHIP:DMG:         InteractionModelRevision = 1
          [1657884173.739288][2748:2748] CHIP:DMG: },



          On DUT as a client side, verify that TH all-clusters-app sent success response

          [1655796082.079468][6918:6923] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1263909563
          [1655796082.079509][6918:6923] CHIP:TOO:   NodeLabel: node
          [1655796082.079608][6918:6923] CHIP:EM: Sending Standalone Ack for MessageCounter:256008218 on exchange 23185i
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type unsigned integer."
      verification: |
          In case of chip tool, here is an example command to use


          ./chip-tool any write-by-id  0x0008 0x0010 1 1 1

          verify on TH(reference app) receives the right write Request Message for the data sent in the above command

          [1655796141.166846][7331:7331] CHIP:IM: Received Write request
          [1655796141.166889][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655796141.166973][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655796141.167019][7331:7331] CHIP:DMG: {
          [1655796141.167062][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655796141.167111][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655796141.167155][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655796141.167211][7331:7331] CHIP:DMG:         [
          [1655796141.167255][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655796141.167311][7331:7331] CHIP:DMG:                 {
          [1655796141.167362][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655796141.167421][7331:7331] CHIP:DMG:                         {
          [1655796141.167479][7331:7331] CHIP:DMG:                                 Endpoint = 0x1,
          [1655796141.167542][7331:7331] CHIP:DMG:                                 Cluster = 0x8,
          [1655796141.167603][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0010,
          [1655796141.167660][7331:7331] CHIP:DMG:                         }
          [1655796141.167719][7331:7331] CHIP:DMG:
          [1655796141.167782][7331:7331] CHIP:DMG:                         Data = 1,
          [1655796141.167836][7331:7331] CHIP:DMG:                 },
          [1655796141.167890][7331:7331] CHIP:DMG:
          [1655796141.167933][7331:7331] CHIP:DMG:         ],
          [1655796141.167987][7331:7331] CHIP:DMG:
          [1655796141.168032][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655796141.168079][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655796141.168121][7331:7331] CHIP:DMG: },
          [1655796141.168253][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o
          [1655796141.168313][7331:7331] CHIP:DMG: AccessControl: allowed

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1657884204.951658][2878:2883] CHIP:DMG: WriteResponseMessage =
          [1657884204.951700][2878:2883] CHIP:DMG: {
          [1657884204.951736][2878:2883] CHIP:DMG:         AttributeStatusIBs =
          [1657884204.951786][2878:2883] CHIP:DMG:         [
          [1657884204.951826][2878:2883] CHIP:DMG:                 AttributeStatusIB =
          [1657884204.951871][2878:2883] CHIP:DMG:                 {
          [1657884204.951913][2878:2883] CHIP:DMG:                         AttributePathIB =
          [1657884204.951965][2878:2883] CHIP:DMG:                         {
          [1657884204.952018][2878:2883] CHIP:DMG:                                 Endpoint = 0x1,
          [1657884204.952075][2878:2883] CHIP:DMG:                                 Cluster = 0x8,
          [1657884204.952173][2878:2883] CHIP:DMG:                                 Attribute = 0x0000_0010,
          [1657884204.952226][2878:2883] CHIP:DMG:                         }
          [1657884204.952286][2878:2883] CHIP:DMG:
          [1657884204.952340][2878:2883] CHIP:DMG:                         StatusIB =
          [1657884204.952396][2878:2883] CHIP:DMG:                         {
          [1657884204.952449][2878:2883] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657884204.952500][2878:2883] CHIP:DMG:                         },
          [1657884204.952552][2878:2883] CHIP:DMG:
          [1657884204.952597][2878:2883] CHIP:DMG:                 },
          [1657884204.952645][2878:2883] CHIP:DMG:
          [1657884204.952684][2878:2883] CHIP:DMG:         ],
          [1657884204.952731][2878:2883] CHIP:DMG:
          [1657884204.952770][2878:2883] CHIP:DMG:         InteractionModelRevision = 1
          [1657884204.952808][2878:2883] CHIP:DMG: }
          [1657884204.952914][2878:2883] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657884204.952998][2878:2883] CHIP:EM: Sending Standalone Ack for MessageCounter:264044678


           ./chip-tool any read-by-id  0x0008 0x0010 1 1

          verify on TH(reference app) receives the read Request Message for the data sent in the above command
          [1657884227.859836][2748:2748] CHIP:IM: Received Read request
          [1657884227.859916][2748:2748] CHIP:DMG: ReadRequestMessage =
          [1657884227.859942][2748:2748] CHIP:DMG: {
          [1657884227.859964][2748:2748] CHIP:DMG:         AttributePathIBs =
          [1657884227.859989][2748:2748] CHIP:DMG:         [
          [1657884227.860012][2748:2748] CHIP:DMG:                 AttributePathIB =
          [1657884227.860045][2748:2748] CHIP:DMG:                 {
          [1657884227.860076][2748:2748] CHIP:DMG:                         Endpoint = 0x1,
          [1657884227.860112][2748:2748] CHIP:DMG:                         Cluster = 0x8,
          [1657884227.860147][2748:2748] CHIP:DMG:                         Attribute = 0x0000_0010,
          [1657884227.860181][2748:2748] CHIP:DMG:                 }
          [1657884227.860211][2748:2748] CHIP:DMG:
          [1657884227.860239][2748:2748] CHIP:DMG:         ],
          [1657884227.860266][2748:2748] CHIP:DMG:
          [1657884227.860292][2748:2748] CHIP:DMG:         isFabricFiltered = true,
          [1657884227.860316][2748:2748] CHIP:DMG:         InteractionModelRevision = 1
          [1657884227.860339][2748:2748] CHIP:DMG: },
          [1657884227.860413][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports]


          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655796192.032715][6931:6936] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 737039637
          [1655796192.032807][6931:6936] CHIP:TOO:   on off transition time: 1
          [1655796192.032908][6931:6936] CHIP:EM: Sending Standalone Ack for MessageCounter:249349258 on exchange 7433i
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type signed integer."
      verification: |
          DUT implementation required to verify write an attribute of data type signed integer.
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type floating point."
      verification: |
          DUT implementation required to verify write an attribute of data type float
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type Octet String."
      verification: |
          DUT implementation required to verify write an attribute of data type Octet String
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type Struct."
      verification: |
          DUT implementation required to verify write an attribute ofdata type Struct
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type List."
      verification: |
          DUT implementation required to verify write an attribute of  data type List
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type enum."
      verification: |
          In case of chip tool, here is an example command to use

           ./chip-tool any write-by-id 0x0204 0  1  1 1

          verify on TH (reference app) receives the right write Request Message for the data sent in the above command

          [1655796297.607841][7331:7331] CHIP:EM: Handling via exchange: 37495r, Delegate: 0xaaaad9aed418
          [1655796297.607911][7331:7331] CHIP:IM: Received Write request
          [1655796297.607954][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655796297.608038][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655796297.608086][7331:7331] CHIP:DMG: {
          [1655796297.608128][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655796297.608178][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655796297.608222][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655796297.608278][7331:7331] CHIP:DMG:         [
          [1655796297.608323][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655796297.608383][7331:7331] CHIP:DMG:                 {
          [1655796297.608431][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655796297.608491][7331:7331] CHIP:DMG:                         {
          [1655796297.608549][7331:7331] CHIP:DMG:                                 Endpoint = 0x1,
          [1655796297.608618][7331:7331] CHIP:DMG:                                 Cluster = 0x204,
          [1655796297.608685][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1655796297.608749][7331:7331] CHIP:DMG:                         }
          [1655796297.608810][7331:7331] CHIP:DMG:
          [1655796297.608869][7331:7331] CHIP:DMG:                         Data = 1,
          [1655796297.608923][7331:7331] CHIP:DMG:                 },
          [1655796297.608981][7331:7331] CHIP:DMG:
          [1655796297.609025][7331:7331] CHIP:DMG:         ],
          [1655796297.609078][7331:7331] CHIP:DMG:
          [1655796297.609124][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655796297.609171][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655796297.609214][7331:7331] CHIP:DMG: },
          [1655796297.609342][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=o
          [1655796297.609403][7331:7331] CHIP:DMG: AccessControl: allowed

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1657884258.383116][2892:2897] CHIP:DMG: WriteResponseMessage =
          [1657884258.383157][2892:2897] CHIP:DMG: {
          [1657884258.383192][2892:2897] CHIP:DMG:         AttributeStatusIBs =
          [1657884258.383255][2892:2897] CHIP:DMG:         [
          [1657884258.383295][2892:2897] CHIP:DMG:                 AttributeStatusIB =
          [1657884258.383339][2892:2897] CHIP:DMG:                 {
          [1657884258.383381][2892:2897] CHIP:DMG:                         AttributePathIB =
          [1657884258.383431][2892:2897] CHIP:DMG:                         {
          [1657884258.383482][2892:2897] CHIP:DMG:                                 Endpoint = 0x1,
          [1657884258.383538][2892:2897] CHIP:DMG:                                 Cluster = 0x204,
          [1657884258.383592][2892:2897] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1657884258.383647][2892:2897] CHIP:DMG:                         }
          [1657884258.383703][2892:2897] CHIP:DMG:
          [1657884258.383750][2892:2897] CHIP:DMG:                         StatusIB =
          [1657884258.383800][2892:2897] CHIP:DMG:                         {
          [1657884258.383851][2892:2897] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657884258.383905][2892:2897] CHIP:DMG:                         },
          [1657884258.383955][2892:2897] CHIP:DMG:
          [1657884258.383996][2892:2897] CHIP:DMG:                 },
          [1657884258.384043][2892:2897] CHIP:DMG:
          [1657884258.384081][2892:2897] CHIP:DMG:         ],
          [1657884258.384170][2892:2897] CHIP:DMG:
          [1657884258.384212][2892:2897] CHIP:DMG:         InteractionModelRevision = 1
          [1657884258.384249][2892:2897] CHIP:DMG: }
          [1657884258.384358][2892:2897] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657884258.384441][2892:2897] CHIP:EM: Sending Standalone Ack for MessageCounter:255796912 on exchange 26584i


           ./chip-tool any read-by-id 0x0204 0  1 1
          verify on TH (reference app) receives the right write Request Message for the data sent in the above command
          [1657884282.303557][2898:2903] CHIP:DMG: }
          [1657884282.303695][2898:2903] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 2387607084
          [1657884282.303778][2898:2903] CHIP:TOO:   temperature display mode: 1
          [1657884282.303862][2898:2903] CHIP:EM: Sending Standalone Ack for MessageCounter:147756485 on exchange 42871i

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655796341.132655][6946:6951] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 3165945391
          [1655796341.132864][6946:6951] CHIP:TOO:   temperature display mode: 1
          [1655796341.132973][6946:6951] CHIP:EM: Sending Standalone Ack for MessageCounter:245498041 on exchange 51992i
      disabled: true

    - label:
          "[Optional] DUT sends the WriteRequestMessage to the TH to write an
          attribute of data type bitmap."
      verification: |
          In case of chip tool, here is an example command to use



           ./chip-tool colorcontrol write-by-id 0x000f 1 1 1

          verify on TH(reference app) receives the right write Request Message for the data sent in the above command

          [1655796429.696904][7331:7331] CHIP:IM: Received Write request
          [1655796429.696947][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655796429.697031][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655796429.697078][7331:7331] CHIP:DMG: {
          [1655796429.697121][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655796429.697170][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655796429.697215][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655796429.697270][7331:7331] CHIP:DMG:         [
          [1655796429.697315][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655796429.697370][7331:7331] CHIP:DMG:                 {
          [1655796429.697422][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655796429.697487][7331:7331] CHIP:DMG:                         {
          [1655796429.697582][7331:7331] CHIP:DMG:                                 Endpoint = 0x1,
          [1655796429.697650][7331:7331] CHIP:DMG:                                 Cluster = 0x300,
          [1655796429.697718][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_000F,
          [1655796429.697781][7331:7331] CHIP:DMG:                         }
          [1655796429.697843][7331:7331] CHIP:DMG:
          [1655796429.697910][7331:7331] CHIP:DMG:                         Data = 1,
          [1655796429.697963][7331:7331] CHIP:DMG:                 },
          [1655796429.698021][7331:7331] CHIP:DMG:
          [1655796429.698065][7331:7331] CHIP:DMG:         ],
          [1655796429.698118][7331:7331] CHIP:DMG:
          [1655796429.698163][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655796429.698210][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655796429.698252][7331:7331] CHIP:DMG: },
          [1655796429.698386][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1655796429.698446][7331:7331] CHIP:DMG: AccessControl: allowed


          On DUT as a client side, verify that TH all-clusters-app sent success response

          [1657884309.994598][2907:2912] CHIP:DMG: WriteResponseMessage =
          [1657884309.994627][2907:2912] CHIP:DMG: {
          [1657884309.994652][2907:2912] CHIP:DMG:         AttributeStatusIBs =
          [1657884309.994688][2907:2912] CHIP:DMG:         [
          [1657884309.994715][2907:2912] CHIP:DMG:                 AttributeStatusIB =
          [1657884309.994754][2907:2912] CHIP:DMG:                 {
          [1657884309.994787][2907:2912] CHIP:DMG:                         AttributePathIB =
          [1657884309.994823][2907:2912] CHIP:DMG:                         {
          [1657884309.994861][2907:2912] CHIP:DMG:                                 Endpoint = 0x1,
          [1657884309.994902][2907:2912] CHIP:DMG:                                 Cluster = 0x300,
          [1657884309.994941][2907:2912] CHIP:DMG:                                 Attribute = 0x0000_000F,
          [1657884309.994977][2907:2912] CHIP:DMG:                         }
          [1657884309.995021][2907:2912] CHIP:DMG:
          [1657884309.995057][2907:2912] CHIP:DMG:                         StatusIB =
          [1657884309.995096][2907:2912] CHIP:DMG:                         {
          [1657884309.995132][2907:2912] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657884309.995168][2907:2912] CHIP:DMG:                         },
          [1657884309.995203][2907:2912] CHIP:DMG:
          [1657884309.995234][2907:2912] CHIP:DMG:                 },
          [1657884309.995268][2907:2912] CHIP:DMG:
          [1657884309.995295][2907:2912] CHIP:DMG:         ],
          [1657884309.995329][2907:2912] CHIP:DMG:
          [1657884309.995356][2907:2912] CHIP:DMG:         InteractionModelRevision = 1
          [1657884309.995383][2907:2912] CHIP:DMG: }
          [1657884309.995461][2907:2912] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657884309.995524][2907:2912] CHIP:EM: Sending Standalone Ack for MessageCounter:243574725 on exchange 27981i



            ./chip-tool colorcontrol read-by-id 0x000f  1 1

          verify on TH (reference app) receives the right write Request Message for the data sent in the above command
          [1657884334.613535][2748:2748] CHIP:IM: Received Read request
          [1657884334.613615][2748:2748] CHIP:DMG: ReadRequestMessage =
          [1657884334.613641][2748:2748] CHIP:DMG: {
          [1657884334.613663][2748:2748] CHIP:DMG:         AttributePathIBs =
          [1657884334.613685][2748:2748] CHIP:DMG:         [
          [1657884334.613746][2748:2748] CHIP:DMG:                 AttributePathIB =
          [1657884334.613775][2748:2748] CHIP:DMG:                 {
          [1657884334.613803][2748:2748] CHIP:DMG:                         Endpoint = 0x1,
          [1657884334.613834][2748:2748] CHIP:DMG:                         Cluster = 0x300,
          [1657884334.613869][2748:2748] CHIP:DMG:                         Attribute = 0x0000_000F,
          [1657884334.613898][2748:2748] CHIP:DMG:                 }
          [1657884334.613926][2748:2748] CHIP:DMG:
          [1657884334.613952][2748:2748] CHIP:DMG:         ],
          [1657884334.613980][2748:2748] CHIP:DMG:
          [1657884334.614005][2748:2748] CHIP:DMG:         isFabricFiltered = true,
          [1657884334.614030][2748:2748] CHIP:DMG:         InteractionModelRevision = 1
          [1657884334.614053][2748:2748] CHIP:DMG: },
          [1657884334.614128][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports]


          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655796493.233673][6961:6966] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_000F DataVersion: 2788050502
          [1655796493.233761][6961:6966] CHIP:TOO:   Options: 1
          [1655796493.233865][6961:6966] CHIP:EM: Sending Standalone Ack for MessageCounter:185730221 on exchange 37136i
      disabled: true

    - label:
          "DUT sends a WriteRequestMessage to the TH with a large list of
          attribute data which has to be sent in multiple messages."
      verification: |
          DUT implementation required to verify write an attribute which is is larger than 1 MTU(1280 bytes)
          Here is an example command to verify the write functionality. User must choose an attribute which has large list of attribute data.
           ./chip-tool basic write node-label node 1 0
      disabled: true

    - label:
          "DUT sends the WriteRequestMessage to the TH to write one attribute on
          a given cluster and endpoint. Repeat the above steps 3 times."
      verification: |
          In case of chip tool, here is an example command to use

          ./chip-tool any write-by-id 0x0204 0  1  1 1


          verify on TH(reference  app) receives the right write Request Message for the data sent in the above command

          [1655796724.510633][7331:7331] CHIP:EM: Handling via exchange: 51058r, Delegate: 0xaaaad9aed418
          [1655796724.510711][7331:7331] CHIP:IM: Received Write request
          [1655796724.510759][7331:7331] CHIP:DMG: IM WH moving to [Initialized]
          [1655796724.510853][7331:7331] CHIP:DMG: WriteRequestMessage =
          [1655796724.510907][7331:7331] CHIP:DMG: {
          [1655796724.510955][7331:7331] CHIP:DMG:         suppressResponse = false,
          [1655796724.511023][7331:7331] CHIP:DMG:         timedRequest = false,
          [1655796724.511076][7331:7331] CHIP:DMG:         AttributeDataIBs =
          [1655796724.511140][7331:7331] CHIP:DMG:         [
          [1655796724.511191][7331:7331] CHIP:DMG:                 AttributeDataIB =
          [1655796724.511253][7331:7331] CHIP:DMG:                 {
          [1655796724.511312][7331:7331] CHIP:DMG:                         AttributePathIB =
          [1655796724.511379][7331:7331] CHIP:DMG:                         {
          [1655796724.511446][7331:7331] CHIP:DMG:                                 Endpoint = 0x1,
          [1655796724.511520][7331:7331] CHIP:DMG:                                 Cluster = 0x204,
          [1655796724.511592][7331:7331] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1655796724.511659][7331:7331] CHIP:DMG:                         }
          [1655796724.511731][7331:7331] CHIP:DMG:
          [1655796724.511801][7331:7331] CHIP:DMG:                         Data = 1,
          [1655796724.511864][7331:7331] CHIP:DMG:                 },
          [1655796724.511930][7331:7331] CHIP:DMG:
          [1655796724.511980][7331:7331] CHIP:DMG:         ],
          [1655796724.512041][7331:7331] CHIP:DMG:
          [1655796724.512093][7331:7331] CHIP:DMG:         moreChunkedMessages = false,
          [1655796724.512146][7331:7331] CHIP:DMG:         InteractionModelRevision = 1
          [1655796724.512195][7331:7331] CHIP:DMG: },
          [1655796724.512344][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=o

          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1657884369.932192][2923:2928] CHIP:DMG: WriteResponseMessage =
          [1657884369.932226][2923:2928] CHIP:DMG: {
          [1657884369.932255][2923:2928] CHIP:DMG:         AttributeStatusIBs =
          [1657884369.932297][2923:2928] CHIP:DMG:         [
          [1657884369.932329][2923:2928] CHIP:DMG:                 AttributeStatusIB =
          [1657884369.932366][2923:2928] CHIP:DMG:                 {
          [1657884369.932400][2923:2928] CHIP:DMG:                         AttributePathIB =
          [1657884369.932446][2923:2928] CHIP:DMG:                         {
          [1657884369.932490][2923:2928] CHIP:DMG:                                 Endpoint = 0x1,
          [1657884369.932534][2923:2928] CHIP:DMG:                                 Cluster = 0x204,
          [1657884369.932579][2923:2928] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1657884369.932621][2923:2928] CHIP:DMG:                         }
          [1657884369.932667][2923:2928] CHIP:DMG:
          [1657884369.932711][2923:2928] CHIP:DMG:                         StatusIB =
          [1657884369.932753][2923:2928] CHIP:DMG:                         {
          [1657884369.932794][2923:2928] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657884369.932835][2923:2928] CHIP:DMG:                         },
          [1657884369.932876][2923:2928] CHIP:DMG:
          [1657884369.932912][2923:2928] CHIP:DMG:                 },
          [1657884369.932952][2923:2928] CHIP:DMG:
          [1657884369.932983][2923:2928] CHIP:DMG:         ],
          [1657884369.933022][2923:2928] CHIP:DMG:
          [1657884369.933054][2923:2928] CHIP:DMG:         InteractionModelRevision = 1
          [1657884369.933085][2923:2928] CHIP:DMG: }
          [1657884369.933178][2923:2928] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1657884369.933244][2923:2928] CHIP:EM: Sending Standalone Ack for MessageCounter:101663641 on exchange 44315i




          ./chip-tool any read-by-id 0x0204 0    1 1
          verify on TH (reference app) receives the right write Request Message for the data sent in the above command
          [1657884399.502355][2748:2748] CHIP:IM: Received Read request
          [1657884399.502442][2748:2748] CHIP:DMG: ReadRequestMessage =
          [1657884399.502473][2748:2748] CHIP:DMG: {
          [1657884399.502497][2748:2748] CHIP:DMG:         AttributePathIBs =
          [1657884399.502530][2748:2748] CHIP:DMG:         [
          [1657884399.502558][2748:2748] CHIP:DMG:                 AttributePathIB =
          [1657884399.502589][2748:2748] CHIP:DMG:                 {
          [1657884399.502621][2748:2748] CHIP:DMG:                         Endpoint = 0x1,
          [1657884399.502658][2748:2748] CHIP:DMG:                         Cluster = 0x204,
          [1657884399.502693][2748:2748] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1657884399.502730][2748:2748] CHIP:DMG:                 }
          [1657884399.502762][2748:2748] CHIP:DMG:
          [1657884399.502791][2748:2748] CHIP:DMG:         ],
          [1657884399.502822][2748:2748] CHIP:DMG:
          [1657884399.502852][2748:2748] CHIP:DMG:         isFabricFiltered = true,
          [1657884399.502881][2748:2748] CHIP:DMG:         InteractionModelRevision = 1
          [1657884399.502907][2748:2748] CHIP:DMG: },
          [1657884399.502989][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports]


          On DUT as a client side, verify that TH all-clusters-app sent success response
          [1655796786.513406][6976:6981] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 3165945392
          [1655796786.513496][6976:6981] CHIP:TOO:   temperature display mode: 1
          [1655796786.513593][6976:6981] CHIP:EM: Sending Standalone Ack for MessageCounter:190446058 on exchange 28240i



           Repeat the above steps 3 times.
      disabled: true

    - label:
          "[Optional] DUT sends a ReadRequest message to the TH to read any
          attribute on two clusters. TH returns with a report data action with
          the attribute values and the dataversions of the clusters. DUT sends a
          WriteRequestMessage to the DUT to both the clusters with the
          appropriate dataversions(received in the previous step) to modify the
          value of an attribute"
      verification: |
          Out of Scope for V1.0
      disabled: true
