# 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}]

PICS:
    - MCORE.IDM.C.WriteRequest

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

tests:
    - label: "Note"
      verification: |
          Chip-tool command used below are an example to verify the  DUT as client test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label:
          "DUT sends the WriteRequestMessage to the TH to modify one attribute
          data"
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)


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

          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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: },

          If the DUT has to provision to verify the logs,, 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


           ./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]

          If the DUT has to provision to verify the logs,, 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 53763iOn TH(reference app) Verify that the correct WriteRequestMessage has been received for the data sent in the above command
      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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type bool."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.DataType_Bool
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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


          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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



          If the DUT has to provision to verify the logs,  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  basicinformation 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: },


          If the DUT has to provision to verify the logs, 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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type string."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.DataType_String
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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


          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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
          If the DUT has to provision to verify the logs, 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: },


          If the DUT has to provision to verify the logs, 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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type unsigned integer."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.DataType_UnsignedInteger
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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

          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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


          If the DUT has to provision to verify the logs, 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]

          If the DUT has to provision to verify the logs, 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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type signed integer."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type floating point."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type Octet String."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type Struct."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type List."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.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:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type enum."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.DataType_Enum
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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


          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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

          If the DUT has to provision to verify the logs, 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:   TemperatureDisplayMode: 1
          [1657884282.303862][2898:2903] CHIP:EM: Sending Standalone Ack for MessageCounter:147756485 on exchange 42871i

          If the DUT has to provision to verify the logs,, 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:   TemperatureDisplayMode: 1
          [1655796341.132973][6946:6951] CHIP:EM: Sending Standalone Ack for MessageCounter:245498041 on exchange 51992i
      disabled: true

    - label:
          "DUT sends the WriteRequestMessage to the TH to write an attribute of
          data type bitmap."
      PICS: MCORE.IDM.C.WriteRequest.Attribute.DataType_Bitmap
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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


          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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


          If the DUT has to provision to verify the logs, 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]

          If the DUT has to provision to verify the logs, 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 is larger than 1 MTU(1280 bytes), that 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  basicinformation write node-label node 1 0

          If the Vendor DUT doesn"t implement/supported this attribute, Please mark the test step as "Not Applicable"
      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: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

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

          On TH(reference app) Verify that the correct WriteRequestMessage has been received 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

          If the DUT has to provision to verify the logs, 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]

          If the DUT has to provision to verify the logs, 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:   TemperatureDisplayMode: 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:
          "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
