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

PICS:
    - MCORE.IDM.C.ReadRequest

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.
          The Cluster and Commands should be based on the cluster implementation on the DUT.
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read one attribute on
          a given cluster and endpoint. AttributePath = [[Endpoint = Specific
          Endpoint, Cluster = Specific ClusterID, Attribute = Specific
          Attribute]] On receipt of this message, TH should send a report data
          action with the attribute value to the DUT."
      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 identify read identify-time 1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655720917.720293][10909:10909] CHIP:IM: Received Read request
          [1655720917.720414][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655720917.720461][10909:10909] CHIP:DMG: {
          [1655720917.720501][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655720917.720548][10909:10909] CHIP:DMG:         [
          [1655720917.720592][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655720917.720642][10909:10909] CHIP:DMG:                 {
          [1655720917.720694][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655720917.720752][10909:10909] CHIP:DMG:                         Cluster = 0x3,
          [1655720917.720805][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1655720917.720858][10909:10909] CHIP:DMG:                 }
          [1655720917.720909][10909:10909] CHIP:DMG:
          [1655720917.720956][10909:10909] CHIP:DMG:         ],
          [1655720917.721006][10909:10909] CHIP:DMG:
          [1655720917.721055][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655720917.721101][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655720917.721144][10909:10909] CHIP:DMG: },
          [1655720917.721267][10909:10909] 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

          [1657881522.001890][2575:2580] CHIP:DMG: }
          [1657881522.002053][2575:2580] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3999381333
          [1657881522.002133][2575:2580] CHIP:TOO:   identify time: 0
          [1657881522.002227][2575:2580] CHIP:EM: Sending Standalone Ack for MessageCounter:54477998 on exchange 6586i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read all attributes
          on a given cluster and Endpoint AttributePath = [[Endpoint = Specific
          Endpoint, Cluster = Specific ClusterID]] On receipt of this message,
          TH should send a report data action with the attribute value to the
          DUT."
      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 read-by-id 0x3 0xFFFFFFFF 1 0

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          On TH
          [1655721163.411757][10909:10909] CHIP:EM: Handling via exchange: 9428r, Delegate: 0xaaaac37ce418
          [1655721163.411801][10909:10909] CHIP:IM: Received Read request
          [1655721163.411878][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721163.411905][10909:10909] CHIP:DMG: {
          [1655721163.411927][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721163.411950][10909:10909] CHIP:DMG:         [
          [1655721163.411970][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721163.411994][10909:10909] CHIP:DMG:                 {
          [1655721163.412018][10909:10909] CHIP:DMG:                         Endpoint = 0x0,
          [1655721163.412051][10909:10909] CHIP:DMG:                         Cluster = 0x3,
          [1655721163.412078][10909:10909] CHIP:DMG:                 }
          [1655721163.412107][10909:10909] CHIP:DMG:
          [1655721163.412132][10909:10909] CHIP:DMG:         ],
          [1655721163.412160][10909:10909] CHIP:DMG:
          [1655721163.412187][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721163.412212][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721163.412236][10909:10909] CHIP:DMG: },
          [1655721163.412312][10909:10909] 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

          [1657881584.166241][2584:2589] CHIP:DMG: }
          [1657881584.166599][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 4079829024
          [1657881584.166672][2584:2589] CHIP:TOO:   identify time: 0
          [1657881584.166734][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657881584.166761][2584:2589] CHIP:TOO:   identify type: 2
          [1657881584.166817][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 4079829024
          [1657881584.166844][2584:2589] CHIP:TOO:   FeatureMap: 0
          [1657881584.166900][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024
          [1657881584.166940][2584:2589] CHIP:TOO:   ClusterRevision: 4
          [1657881584.167054][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 4079829024
          [1657881584.167101][2584:2589] CHIP:TOO:   GeneratedCommandList: 0 entries
          [1657881584.167276][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 4079829024
          [1657881584.167309][2584:2589] CHIP:TOO:   AcceptedCommandList: 2 entries
          [1657881584.167337][2584:2589] CHIP:TOO:     [1]: 0
          [1657881584.167362][2584:2589] CHIP:TOO:     [2]: 64
          [1657881584.167690][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 4079829024
          [1657881584.167725][2584:2589] CHIP:TOO:   AttributeList: 7 entries
          [1657881584.167752][2584:2589] CHIP:TOO:     [1]: 0
          [1657881584.167777][2584:2589] CHIP:TOO:     [2]: 1
          [1657881584.167801][2584:2589] CHIP:TOO:     [3]: 65528
          [1657881584.167825][2584:2589] CHIP:TOO:     [4]: 65529
          [1657881584.167850][2584:2589] CHIP:TOO:     [5]: 65531
          [1657881584.167874][2584:2589] CHIP:TOO:     [6]: 65532
          [1657881584.167898][2584:2589] CHIP:TOO:     [7]: 65533
          [1657881584.168029][2584:2589] CHIP:EM: Sending Standalone Ack for MessageCounter:84499870 on exchange 45190i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read all attributes
          in all clusters and all endpoints Path = [[ ]] On receipt of this
          message, TH should send a report data action with the attribute values
          to the DUT."
      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 read-by-id 0xFFFFFFFF 0xFFFFFFFF  1 0xFFFF

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command and
          If the DUT has to provision to verify the logs, verify that TH all-clusters-app sent success response with attribute values
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read a specific
          attribute from all endpoints and all clusters. AttributePath = [[
          Attribute = Specific Attribute]] On receipt of this message, TH should
          send a report data action with the attribute value to the DUT."
      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 read-by-id 0xFFFFFFFF 0xFFFD  1 0xFFFF

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655721447.462511][10909:10909] CHIP:EM: Handling via exchange: 28866r, Delegate: 0xaaaac37ce418
          [1655721447.462589][10909:10909] CHIP:IM: Received Read request
          [1655721447.462717][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721447.462770][10909:10909] CHIP:DMG: {
          [1655721447.462817][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721447.462908][10909:10909] CHIP:DMG:         [
          [1655721447.462961][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721447.463014][10909:10909] CHIP:DMG:                 {
          [1655721447.463066][10909:10909] CHIP:DMG:                 }
          [1655721447.463121][10909:10909] CHIP:DMG:
          [1655721447.463173][10909:10909] CHIP:DMG:         ],
          [1655721447.463228][10909:10909] CHIP:DMG:
          [1655721447.463282][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721447.463334][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721447.463382][10909:10909] CHIP:DMG: },
          [1655721447.463503][10909:10909] 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 with attribute values
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read all attributes
          from a specific cluster on all endpoints AttributePath = [[ Cluster =
          Specific ClusterID]] On receipt of this message, TH should send a
          report data action with the attribute value to the DUT."
      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 read-by-id 0x03 0xFFFFFFFF  1 0xFFFF

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655721586.587649][10909:10909] CHIP:EM: Handling via exchange: 14559r, Delegate: 0xaaaac37ce418
          [1655721586.587708][10909:10909] CHIP:IM: Received Read request
          [1655721586.587805][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721586.587843][10909:10909] CHIP:DMG: {
          [1655721586.587876][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721586.587914][10909:10909] CHIP:DMG:         [
          [1655721586.587949][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721586.587998][10909:10909] CHIP:DMG:                 {
          [1655721586.588041][10909:10909] CHIP:DMG:                         Cluster = 0x3,
          [1655721586.588085][10909:10909] CHIP:DMG:                 }
          [1655721586.588125][10909:10909] CHIP:DMG:
          [1655721586.588162][10909:10909] CHIP:DMG:         ],
          [1655721586.588201][10909:10909] CHIP:DMG:
          [1655721586.588239][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721586.588276][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721586.588310][10909:10909] CHIP:DMG: },
          [1655721586.588403][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1655721586.588510][10909:10909] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0

          If the DUT has to provision to verify the logs, verify that TH all-clusters-app sent success response with attribute values
          [1657881729.900518][2608:2613] CHIP:DMG: }
          [1657881729.901108][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 4079829024
          [1657881729.901182][2608:2613] CHIP:TOO:   identify time: 0
          [1657881729.901245][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657881729.901273][2608:2613] CHIP:TOO:   identify type: 2
          [1657881729.901331][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 4079829024
          [1657881729.901359][2608:2613] CHIP:TOO:   FeatureMap: 0
          [1657881729.901431][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024
          [1657881729.901472][2608:2613] CHIP:TOO:   ClusterRevision: 4
          [1657881729.901586][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 4079829024
          [1657881729.901632][2608:2613] CHIP:TOO:   GeneratedCommandList: 0 entries
          [1657881729.901806][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 4079829024
          [1657881729.901840][2608:2613] CHIP:TOO:   AcceptedCommandList: 2 entries
          [1657881729.901868][2608:2613] CHIP:TOO:     [1]: 0
          [1657881729.901893][2608:2613] CHIP:TOO:     [2]: 64
          [1657881729.902242][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 4079829024
          [1657881729.902279][2608:2613] CHIP:TOO:   AttributeList: 7 entries
          [1657881729.902305][2608:2613] CHIP:TOO:     [1]: 0
          [1657881729.902329][2608:2613] CHIP:TOO:     [2]: 1
          [1657881729.902354][2608:2613] CHIP:TOO:     [3]: 65528
          [1657881729.902378][2608:2613] CHIP:TOO:     [4]: 65529
          [1657881729.902402][2608:2613] CHIP:TOO:     [5]: 65531
          [1657881729.902426][2608:2613] CHIP:TOO:     [6]: 65532
          [1657881729.902451][2608:2613] CHIP:TOO:     [7]: 65533
          [1657881729.902474][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3999381333
          [1657881729.902500][2608:2613] CHIP:TOO:   identify time: 0
          [1657881729.902556][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333
          [1657881729.902583][2608:2613] CHIP:TOO:   identify type: 2
          [1657881729.902640][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 3999381333
          [1657881729.902665][2608:2613] CHIP:TOO:   FeatureMap: 0
          [1657881729.902721][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3999381333
          [1657881729.902746][2608:2613] CHIP:TOO:   ClusterRevision: 4
          [1657881729.902843][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3999381333
          [1657881729.902872][2608:2613] CHIP:TOO:   GeneratedCommandList: 0 entries
          [1657881729.903021][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3999381333
          [1657881729.903053][2608:2613] CHIP:TOO:   AcceptedCommandList: 2 entries
          [1657881729.903079][2608:2613] CHIP:TOO:     [1]: 0
          [1657881729.903104][2608:2613] CHIP:TOO:     [2]: 64
          [1657881729.903427][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3999381333
          [1657881729.903462][2608:2613] CHIP:TOO:   AttributeList: 7 entries
          [1657881729.903488][2608:2613] CHIP:TOO:     [1]: 0
          [1657881729.903513][2608:2613] CHIP:TOO:     [2]: 1
          [1657881729.903537][2608:2613] CHIP:TOO:     [3]: 65528
          [1657881729.903561][2608:2613] CHIP:TOO:     [4]: 65529
          [1657881729.903586][2608:2613] CHIP:TOO:     [5]: 65531
          [1657881729.903610][2608:2613] CHIP:TOO:     [6]: 65532
          [1657881729.903634][2608:2613] CHIP:TOO:     [7]: 65533
          [1657881729.903843][2608:2613] CHIP:EM: Sending Standalone Ack for MessageCounter:174033086 on exchange 10540i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read a specific
          attribute from a given cluster on all endpoints. AttributePath = [[
          Cluster = Specific Cluster, Attribute = specific attribute]] On
          receipt of this message, TH should send a report data action with the
          attribute value to the DUT."
      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 read-by-id 0x03 0x01  1 0xFFFF
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655721699.304979][10909:10909] CHIP:IM: Received Read request
          [1655721699.305100][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721699.305170][10909:10909] CHIP:DMG: {
          [1655721699.305211][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721699.305277][10909:10909] CHIP:DMG:         [
          [1655721699.305322][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721699.305391][10909:10909] CHIP:DMG:                 {
          [1655721699.305442][10909:10909] CHIP:DMG:                         Cluster = 0x3,
          [1655721699.305516][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1655721699.305568][10909:10909] CHIP:DMG:                 }
          [1655721699.305635][10909:10909] CHIP:DMG:
          [1655721699.305682][10909:10909] CHIP:DMG:         ],
          [1655721699.305733][10909:10909] CHIP:DMG:
          [1655721699.305780][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721699.305827][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721699.305870][10909:10909] CHIP:DMG: },
          [1655721699.305990][10909:10909] 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 with attribute values
          [1657881792.350417][2616:2621] CHIP:DMG: }
          [1657881792.350641][2616:2621] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657881792.350742][2616:2621] CHIP:TOO:   identify type: 2
          [1657881792.350845][2616:2621] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333
          [1657881792.350891][2616:2621] CHIP:TOO:   identify type: 2
          [1657881792.351000][2616:2621] CHIP:EM: Sending Standalone Ack for MessageCounter:222990264 on exchange 23721i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read all attributes
          from all clusters at a given endpoint. AttributePath = [[ Endpoint =
          Specific Endpoint]] On receipt of this message, TH should send a
          report data action with the attribute value to the DUT."
      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 read-by-id 0xFFFFFFFF 0xFFFFFFFF  1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655721846.893983][10909:10909] CHIP:EM: Handling via exchange: 50021r, Delegate: 0xaaaac37ce418
          [1655721846.894041][10909:10909] CHIP:IM: Received Read request
          [1655721846.894136][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721846.894174][10909:10909] CHIP:DMG: {
          [1655721846.894206][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721846.894245][10909:10909] CHIP:DMG:         [
          [1655721846.894280][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721846.894320][10909:10909] CHIP:DMG:                 {
          [1655721846.894360][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655721846.894403][10909:10909] CHIP:DMG:                 }
          [1655721846.894443][10909:10909] CHIP:DMG:
          [1655721846.894479][10909:10909] CHIP:DMG:         ],
          [1655721846.894519][10909:10909] CHIP:DMG:
          [1655721846.894557][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721846.894594][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721846.894628][10909:10909] CHIP:DMG: },
          [1655721846.894724][10909:10909] 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 with attribute values
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to a specific endpoint
          to read a particular attribute from all the clusters at that endpoint
          AttributePath = [[ Endpoint = Specific Endpoint, Attribute = specific
          attribute]] On receipt of this message, TH should send a report data
          action with the attribute value to the DUT."
      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 read-by-id 0xFFFFFFFF 0xFFFD  1 0

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

          [1655721935.483404][10909:10909] CHIP:EM: Handling via exchange: 59853r, Delegate: 0xaaaac37ce418
          [1655721935.483474][10909:10909] CHIP:IM: Received Read request
          [1655721935.483595][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655721935.483660][10909:10909] CHIP:DMG: {
          [1655721935.483701][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655721935.483767][10909:10909] CHIP:DMG:         [
          [1655721935.483813][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655721935.483881][10909:10909] CHIP:DMG:                 {
          [1655721935.483934][10909:10909] CHIP:DMG:                         Endpoint = 0x0,
          [1655721935.484022][10909:10909] CHIP:DMG:                         Attribute = 0x0000_FFFD,
          [1655721935.484095][10909:10909] CHIP:DMG:                 }
          [1655721935.484156][10909:10909] CHIP:DMG:
          [1655721935.484225][10909:10909] CHIP:DMG:         ],
          [1655721935.484279][10909:10909] CHIP:DMG:
          [1655721935.484344][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655721935.484392][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655721935.484450][10909:10909] CHIP:DMG: },
          [1655721935.484595][10909:10909] 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 with attribute values
          [1657881935.225146][2631:2636] CHIP:DMG: }
          [1657881935.225620][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024
          [1657881935.225700][2631:2636] CHIP:TOO:   ClusterRevision: 4
          [1657881935.225763][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 130355893
          [1657881935.225790][2631:2636] CHIP:TOO:   ClusterRevision: 4
          [1657881935.225846][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2043826222
          [1657881935.225872][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.225928][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 539126375
          [1657881935.225954][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226010][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 821022762
          [1657881935.226037][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226093][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 745595402
          [1657881935.226120][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226175][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 2914015802
          [1657881935.226201][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226258][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2733214794
          [1657881935.226284][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226340][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3273895737
          [1657881935.226365][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226420][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 2449855749
          [1657881935.226447][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226504][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2597243070
          [1657881935.226530][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226586][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 714742425
          [1657881935.226611][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226667][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3643421834
          [1657881935.226693][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226747][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 3610511831
          [1657881935.226773][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226831][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 3399712075
          [1657881935.226857][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226916][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 4165139953
          [1657881935.226941][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.226996][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3623073226
          [1657881935.227022][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227077][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 3137436487
          [1657881935.227103][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227159][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 1172053040
          [1657881935.227185][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227241][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 3832336232
          [1657881935.227267][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227325][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 4072501061
          [1657881935.227350][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227407][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 1112172817
          [1657881935.227433][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227488][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 2917149142
          [1657881935.227515][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227572][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 1676181270
          [1657881935.227611][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227669][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 4002139741
          [1657881935.227695][2631:2636] CHIP:TOO:   ClusterRevision: 1
          [1657881935.227752][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 2945088432
          [1657881935.227778][2631:2636] CHIP:TOO:   ClusterRevision: 3
          [1657881935.227936][2631:2636] CHIP:EM: Sending Standalone Ack for MessageCounter:199380325 on exchange 6370i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type bool."
      PICS: MCORE.IDM.C.ReadRequest.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 onoff read on-off 1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655722298.458183][10909:10909] CHIP:EM: Handling via exchange: 9588r, Delegate: 0xaaaac37ce418
          [1655722298.458279][10909:10909] CHIP:IM: Received Read request
          [1655722298.458481][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655722298.458544][10909:10909] CHIP:DMG: {
          [1655722298.458617][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655722298.458680][10909:10909] CHIP:DMG:         [
          [1655722298.458740][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655722298.458827][10909:10909] CHIP:DMG:                 {
          [1655722298.458936][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655722298.459034][10909:10909] CHIP:DMG:                         Cluster = 0x6,
          [1655722298.459114][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1655722298.459208][10909:10909] CHIP:DMG:                 }
          [1655722298.459283][10909:10909] CHIP:DMG:
          [1655722298.459366][10909:10909] CHIP:DMG:         ],
          [1655722298.459435][10909:10909] CHIP:DMG:
          [1655722298.459519][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655722298.459581][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655722298.459659][10909:10909] CHIP:DMG: },
          [1655722298.459820][10909:10909] 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 with attribute values
          [1657881978.415828][2640:2645] CHIP:DMG: }
          [1657881978.416014][2640:2645] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 4019194565
          [1657881978.416091][2640:2645] CHIP:TOO:   OnOff: FALSE
          [1657881978.416245][2640:2645] CHIP:EM: Sending Standalone Ack for MessageCounter:144208215 on exchange 38107i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type string."
      PICS: MCORE.IDM.C.ReadRequest.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 modeselect read description  1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655722750.452237][10909:10909] CHIP:EM: Handling via exchange: 31886r, Delegate: 0xaaaac37ce418
          [1655722750.452324][10909:10909] CHIP:IM: Received Read request
          [1655722750.452462][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655722750.452515][10909:10909] CHIP:DMG: {
          [1655722750.452560][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655722750.452614][10909:10909] CHIP:DMG:         [
          [1655722750.452664][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655722750.452729][10909:10909] CHIP:DMG:                 {
          [1655722750.452789][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655722750.452854][10909:10909] CHIP:DMG:                         Cluster = 0x50,
          [1655722750.452926][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1655722750.452986][10909:10909] CHIP:DMG:                 }
          [1655722750.453049][10909:10909] CHIP:DMG:
          [1655722750.453102][10909:10909] CHIP:DMG:         ],
          [1655722750.453160][10909:10909] CHIP:DMG:
          [1655722750.453215][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655722750.453268][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655722750.453316][10909:10909] CHIP:DMG: },
          [1655722750.453457][10909:10909] 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 with attribute values
          [1657882077.867099][2655:2660] CHIP:DMG: }
          [1657882077.867278][2655:2660] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 321966114
          [1657882077.867352][2655:2660] CHIP:TOO:   Description: Coffee
          [1657882077.867466][2655:2660] CHIP:EM: Sending Standalone Ack for MessageCounter:62608362 on exchange 57811i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type unsigned integer."
      PICS: MCORE.IDM.C.ReadRequest.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 read-by-id 0x3 0x1 1 0

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655722980.956846][10909:10909] CHIP:IM: Received Read request
          [1655722980.956933][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655722980.956978][10909:10909] CHIP:DMG: {
          [1655722980.957006][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655722980.957037][10909:10909] CHIP:DMG:         [
          [1655722980.957078][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655722980.957112][10909:10909] CHIP:DMG:                 {
          [1655722980.957157][10909:10909] CHIP:DMG:                         Endpoint = 0x0,
          [1655722980.957207][10909:10909] CHIP:DMG:                         Cluster = 0x3,
          [1655722980.957245][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1655722980.957282][10909:10909] CHIP:DMG:                 }
          [1655722980.957328][10909:10909] CHIP:DMG:
          [1655722980.957359][10909:10909] CHIP:DMG:         ],
          [1655722980.957404][10909:10909] CHIP:DMG:
          [1655722980.957436][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655722980.957477][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655722980.957506][10909:10909] CHIP:DMG: },
          [1655722980.957605][10909:10909] 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 with attribute values
          [1657882043.053353][2648:2653] CHIP:DMG: }
          [1657882043.053561][2648:2653] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657882043.053662][2648:2653] CHIP:TOO:   identify type: 2
          [1657882043.053774][2648:2653] CHIP:EM: Sending Standalone Ack for MessageCounter:228608905 on exchange 11019i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type signed integer."
      PICS: MCORE.IDM.C.ReadRequest.Attribute.DataType_SignedInteger
      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 pressuremeasurement read measured-value 1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723021.112808][10909:10909] CHIP:IM: Received Read request
          [1655723021.112912][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723021.112942][10909:10909] CHIP:DMG: {
          [1655723021.112963][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723021.112990][10909:10909] CHIP:DMG:         [
          [1655723021.113013][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723021.113038][10909:10909] CHIP:DMG:                 {
          [1655723021.113068][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655723021.113096][10909:10909] CHIP:DMG:                         Cluster = 0x403,
          [1655723021.113125][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1655723021.113166][10909:10909] CHIP:DMG:                 }
          [1655723021.113195][10909:10909] CHIP:DMG:
          [1655723021.113228][10909:10909] CHIP:DMG:         ],
          [1655723021.113257][10909:10909] CHIP:DMG:
          [1655723021.113292][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723021.113318][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723021.113349][10909:10909] CHIP:DMG: },
          [1655723021.113441][10909:10909] 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 with attribute values
          [1657882152.821695][2665:2670] CHIP:DMG: }
          [1657882152.821886][2665:2670] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_0000 DataVersion: 1184750328
          [1657882152.821981][2665:2670] CHIP:TOO:   MeasuredValue: 0
          [1657882152.822099][2665:2670] CHIP:EM: Sending Standalone Ack for MessageCounter:178527554 on exchange 52092i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type floating point."
      PICS: MCORE.IDM.C.ReadRequest.Attribute.DataType_FloatingPoint
      verification: |
          DUT implementation required to verify read 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 Read Request Message to the TH to read an attribute of
          data type Octet String."
      PICS: MCORE.IDM.C.ReadRequest.Attribute.DataType_OctetString
      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 operationalcredentials read trusted-root-certificates 1 0

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723062.690255][10909:10909] CHIP:EM: Handling via exchange: 36548r, Delegate: 0xaaaac37ce418
          [1655723062.690334][10909:10909] CHIP:IM: Received Read request
          [1655723062.690471][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723062.690549][10909:10909] CHIP:DMG: {
          [1655723062.690596][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723062.690667][10909:10909] CHIP:DMG:         [
          [1655723062.690719][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723062.690792][10909:10909] CHIP:DMG:                 {
          [1655723062.690888][10909:10909] CHIP:DMG:                         Endpoint = 0x0,
          [1655723062.690980][10909:10909] CHIP:DMG:                         Cluster = 0x3e,
          [1655723062.691047][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0004,
          [1655723062.691123][10909:10909] CHIP:DMG:                 }
          [1655723062.691186][10909:10909] CHIP:DMG:
          [1655723062.691257][10909:10909] CHIP:DMG:         ],
          [1655723062.691317][10909:10909] CHIP:DMG:
          [1655723062.691389][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723062.691441][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723062.691494][10909:10909] CHIP:DMG: },
          [1655723062.691635][10909:10909] 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 with attribute values
          [1657882197.831561][2673:2678] CHIP:DMG: }
          [1657882197.831802][2673:2678] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 1112172817
          [1657882197.831892][2673:2678] CHIP:TOO:   TrustedRootCertificates: 1 entries
          [1657882197.831940][2673:2678] CHIP:TOO:     [1]: 1530010100240201370324140018260480228127260580254D3A37062414001824070124080130094104EC98F1D5F8E4FF3B2B1B23B154C016A02843600C0D3073EFA38123BBFC62056CA4C90C591C80D1D66206DB31F3C0FA2E2A3B11377C28D1A2D5E3ED9C79B3DD75370A3501290118240260300414D3A7631B0D05BF3D059263A09502826A7E02768F300514D3A7631B0D05BF3D059263A09502826A7E02768F18300B401A2FD4DAE286A0C0E7F2A54014D19C3AA7F8A814664B14D4EDFE6D6366746B5EF86A677807BCCE30A71A1C112FF843B88044D4212197281859CED7D21D39A42418
          [1657882197.832044][2673:2678] CHIP:EM: Sending Standalone Ack for MessageCounter:182457329 on exchange 8706i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type Struct."
      PICS: MCORE.IDM.C.ReadRequest.Attribute.DataType_Struct
      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  generalcommissioning read  basic-commissioning-info   1 0

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723112.901814][10909:10909] CHIP:EM: Handling via exchange: 47730r, Delegate: 0xaaaac37ce418
          [1655723112.901870][10909:10909] CHIP:IM: Received Read request
          [1655723112.901972][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723112.902025][10909:10909] CHIP:DMG: {
          [1655723112.902057][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723112.902106][10909:10909] CHIP:DMG:         [
          [1655723112.902136][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723112.902187][10909:10909] CHIP:DMG:                 {
          [1655723112.902229][10909:10909] CHIP:DMG:                         Endpoint = 0x0,
          [1655723112.902291][10909:10909] CHIP:DMG:                         Cluster = 0x30,
          [1655723112.902339][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1655723112.902395][10909:10909] CHIP:DMG:                 }
          [1655723112.902437][10909:10909] CHIP:DMG:
          [1655723112.902487][10909:10909] CHIP:DMG:         ],
          [1655723112.902529][10909:10909] CHIP:DMG:
          [1655723112.902580][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723112.902618][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723112.902664][10909:10909] CHIP:DMG: },
          [1655723112.902782][10909:10909] 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 with attribute values
          [1657882247.469521][2681:2686] CHIP:DMG:         InteractionModelRevision = 1
          [1657882247.469553][2681:2686] CHIP:DMG: }
          [1657882247.469732][2681:2686] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0001 DataVersion: 3643421834
          [1657882247.469825][2681:2686] CHIP:TOO:   BasicCommissioningInfo: {
          [1657882247.469886][2681:2686] CHIP:TOO:     FailSafeExpiryLengthSeconds: 60
          [1657882247.469921][2681:2686] CHIP:TOO:     MaxCumulativeFailsafeSeconds: 900
          [1657882247.469952][2681:2686] CHIP:TOO:    }
          [1657882247.470043][2681:2686] CHIP:EM: Sending Standalone Ack for MessageCounter:52322886 on exchange 1487i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type List."
      PICS: MCORE.IDM.C.ReadRequest.Attribute.DataType_List
      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 modeselect read  supported-modes 1 1

          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723151.159473][10909:10909] CHIP:EM: Handling via exchange: 9349r, Delegate: 0xaaaac37ce418
          [1655723151.159520][10909:10909] CHIP:IM: Received Read request
          [1655723151.159615][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723151.159646][10909:10909] CHIP:DMG: {
          [1655723151.159670][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723151.159697][10909:10909] CHIP:DMG:         [
          [1655723151.159731][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723151.159764][10909:10909] CHIP:DMG:                 {
          [1655723151.159808][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655723151.159847][10909:10909] CHIP:DMG:                         Cluster = 0x50,
          [1655723151.159892][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0002,
          [1655723151.159934][10909:10909] CHIP:DMG:                 }
          [1655723151.159967][10909:10909] CHIP:DMG:
          [1655723151.160007][10909:10909] CHIP:DMG:         ],
          [1655723151.160039][10909:10909] CHIP:DMG:
          [1655723151.160081][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723151.160110][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723151.160147][10909:10909] CHIP:DMG: },
          [1655723151.160243][10909:10909] 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 with attribute values

          [1657882339.679133][2701:2706] CHIP:DMG: }
          [1657882339.679605][2701:2706] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 321966114
          [1657882339.679722][2701:2706] CHIP:TOO:   SupportedModes: 3 entries
          [1657882339.679786][2701:2706] CHIP:TOO:     [1]: {
          [1657882339.679813][2701:2706] CHIP:TOO:       Label: Black
          [1657882339.679852][2701:2706] CHIP:TOO:       Mode: 0
          [1657882339.679883][2701:2706] CHIP:TOO:       SemanticTags: 1 entries
          [1657882339.679918][2701:2706] CHIP:TOO:         [1]: {
          [1657882339.679943][2701:2706] CHIP:TOO:           MfgCode: 0
          [1657882339.679966][2701:2706] CHIP:TOO:           Value: 0
          [1657882339.679986][2701:2706] CHIP:TOO:          }
          [1657882339.680006][2701:2706] CHIP:TOO:      }
          [1657882339.680040][2701:2706] CHIP:TOO:     [2]: {
          [1657882339.680065][2701:2706] CHIP:TOO:       Label: Cappuccino
          [1657882339.680088][2701:2706] CHIP:TOO:       Mode: 4
          [1657882339.680131][2701:2706] CHIP:TOO:       SemanticTags: 1 entries
          [1657882339.680163][2701:2706] CHIP:TOO:         [1]: {
          [1657882339.680188][2701:2706] CHIP:TOO:           MfgCode: 0
          [1657882339.680212][2701:2706] CHIP:TOO:           Value: 0
          [1657882339.680236][2701:2706] CHIP:TOO:          }
          [1657882339.680261][2701:2706] CHIP:TOO:      }
          [1657882339.680296][2701:2706] CHIP:TOO:     [3]: {
          [1657882339.680320][2701:2706] CHIP:TOO:       Label: Espresso
          [1657882339.680344][2701:2706] CHIP:TOO:       Mode: 7
          [1657882339.680371][2701:2706] CHIP:TOO:       SemanticTags: 1 entries
          [1657882339.680402][2701:2706] CHIP:TOO:         [1]: {
          [1657882339.680427][2701:2706] CHIP:TOO:           MfgCode: 0
          [1657882339.680451][2701:2706] CHIP:TOO:           Value: 0
          [1657882339.680474][2701:2706] CHIP:TOO:          }
          [1657882339.680499][2701:2706] CHIP:TOO:      }
          [1657882339.680600][2701:2706] CHIP:EM: Sending Standalone Ack for MessageCounter:207994304 on exchange 48282i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type enum."
      PICS: MCORE.IDM.C.ReadRequest.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  occupancysensing read   occupancy-sensor-type 1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723234.547912][10909:10909] CHIP:EM: Handling via exchange: 21800r, Delegate: 0xaaaac37ce418
          [1655723234.547981][10909:10909] CHIP:IM: Received Read request
          [1655723234.548103][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723234.548168][10909:10909] CHIP:DMG: {
          [1655723234.548209][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723234.548270][10909:10909] CHIP:DMG:         [
          [1655723234.548323][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723234.548387][10909:10909] CHIP:DMG:                 {
          [1655723234.548439][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655723234.548510][10909:10909] CHIP:DMG:                         Cluster = 0x406,
          [1655723234.548566][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0001,
          [1655723234.548634][10909:10909] CHIP:DMG:                 }
          [1655723234.548687][10909:10909] CHIP:DMG:
          [1655723234.548749][10909:10909] CHIP:DMG:         ],
          [1655723234.548800][10909:10909] CHIP:DMG:
          [1655723234.548988][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723234.549038][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723234.549097][10909:10909] CHIP:DMG: },
          [1655723234.549241][10909:10909] 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 with attribute values
          [1657882403.876372][2715:2720] CHIP:DMG: }
          [1657882403.876514][2715:2720] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 737072536
          [1657882403.876595][2715:2720] CHIP:TOO:   occupancy sensor type: 0
          [1657882403.876679][2715:2720] CHIP:EM: Sending Standalone Ack for MessageCounter:153370776 on exchange 37640i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute of
          data type bitmap."
      PICS: MCORE.IDM.C.ReadRequest.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 levelcontrol read options 1 1

          verify TH(Reference app) receives the right Read Request Message for the data sent in the above command

          [1655723282.097665][10909:10909] CHIP:IM: Received Read request
          [1655723282.097741][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723282.097767][10909:10909] CHIP:DMG: {
          [1655723282.097789][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723282.097814][10909:10909] CHIP:DMG:         [
          [1655723282.097838][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723282.097865][10909:10909] CHIP:DMG:                 {
          [1655723282.097893][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655723282.097923][10909:10909] CHIP:DMG:                         Cluster = 0x8,
          [1655723282.097954][10909:10909] CHIP:DMG:                         Attribute = 0x0000_000F,
          [1655723282.097982][10909:10909] CHIP:DMG:                 }
          [1655723282.098009][10909:10909] CHIP:DMG:
          [1655723282.098034][10909:10909] CHIP:DMG:         ],
          [1655723282.098061][10909:10909] CHIP:DMG:
          [1655723282.098087][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723282.098112][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723282.098134][10909:10909] CHIP:DMG: },
          [1655723282.098206][10909:10909] 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 with attribute values
          [1657882440.996840][2725:2730] CHIP:DMG:         InteractionModelRevision = 1
          [1657882440.996862][2725:2730] CHIP:DMG: }
          [1657882440.997003][2725:2730] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 3900213102
          [1657882440.997084][2725:2730] CHIP:TOO:   options: 0
          [1657882440.997170][2725:2730] CHIP:EM: Sending Standalone Ack for MessageCounter:250919190 on exchange 53994i
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read an attribute
          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  occupancysensing read occupancy    1 1
          verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command
          [1655723372.328144][10909:10909] CHIP:EM: Handling via exchange: 10813r, Delegate: 0xaaaac37ce418
          [1655723372.328201][10909:10909] CHIP:IM: Received Read request
          [1655723372.328305][10909:10909] CHIP:DMG: ReadRequestMessage =
          [1655723372.328360][10909:10909] CHIP:DMG: {
          [1655723372.328392][10909:10909] CHIP:DMG:         AttributePathIBs =
          [1655723372.328431][10909:10909] CHIP:DMG:         [
          [1655723372.328480][10909:10909] CHIP:DMG:                 AttributePathIB =
          [1655723372.328530][10909:10909] CHIP:DMG:                 {
          [1655723372.328588][10909:10909] CHIP:DMG:                         Endpoint = 0x1,
          [1655723372.328644][10909:10909] CHIP:DMG:                         Cluster = 0x406,
          [1655723372.328707][10909:10909] CHIP:DMG:                         Attribute = 0x0000_0000,
          [1655723372.328763][10909:10909] CHIP:DMG:                 }
          [1655723372.328808][10909:10909] CHIP:DMG:
          [1655723372.328861][10909:10909] CHIP:DMG:         ],
          [1655723372.328903][10909:10909] CHIP:DMG:
          [1655723372.328954][10909:10909] CHIP:DMG:         isFabricFiltered = true,
          [1655723372.328994][10909:10909] CHIP:DMG:         InteractionModelRevision = 1
          [1655723372.329041][10909:10909] CHIP:DMG: },
          [1655723372.329162][10909:10909] 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 with attribute values
          [1657883628.582877][2780:2785] CHIP:DMG:         InteractionModelRevision = 1
          [1657883628.582909][2780:2785] CHIP:DMG: }
          [1657883628.583066][2780:2785] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 737072536
          [1657883628.583146][2780:2785] CHIP:TOO:   occupancy: 0
          [1657883628.583225][2780:2785] CHIP:EM: Sending Standalone Ack for MessageCounter:68376422 on exchange 7437i


           ./chip-tool  occupancysensing read occupancy    1 1
          verify TH receives the right Read Request Message for the data sent in the above command

           ./chip-tool  occupancysensing read occupancy    1 1
          verify TH receives the right Read Request Message for the data sent in the above command
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH to read
          something(Attribute) which is larger than 1 MTU(1280 bytes) and per
          spec can be chunked. For every chunked data message received, except
          the last one, DUT sends a status response."
      verification: |
          DUT implementation required to verify read an attribute which is is larger than 1 MTU(1280 bytes)
          Below sample wildcard read command will read all the attributes from the all-clusters-app and generates 1 MTU size of data.
          If the dut doesn't support generating the large chunk data, then this test step can be skipped.

          ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF


          From TH(all-clusters-app) will send read request to DUT(chip-tool), Then DUT(chip-tool) will send the report data message for the request which sent from TH(All-clusters-app), this report message keep on generating  the report data until it reaches the last chuck message and for last chunk message TH(all-clusters-app) will not receive any status response.

          [1663148506.794519][39604:39604] CHIP:EM: Removed CHIP MessageCounter:119127068 from RetransTable on exchange 23857r
          [1663148506.794525][39604:39604] CHIP:DMG: StatusResponseMessage =
          [1663148506.794527][39604:39604] CHIP:DMG: {
          [1663148506.794530][39604:39604] CHIP:DMG:         Status = 0x00 (SUCCESS),
          [1663148506.794533][39604:39604] CHIP:DMG:         InteractionModelRevision = 1
          [1663148506.794535][39604:39604] CHIP:DMG: }
          [1663148506.794538][39604:39604] CHIP:IM: Received status response, status is 0x00 (SUCCESS)
          [1663148506.794542][39604:39604] CHIP:DMG: <RE> OnReportConfirm: NumReports = 0
          [1663148506.794544][39604:39604] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1663148506.794550][39604:39604] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1663148506.794553][39604:39604] CHIP:DMG: <RE:Run> Cluster 2f, Attribute fffb is dirty
          [1663148506.794554][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_002F Endpoint=2 AttributeId=0x0000_FFFB (expanded=1)
          [1663148506.794558][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_002F e=2 p=v
          [1663148506.794561][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794570][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute 0 is dirty
          [1663148506.794572][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_0000 (expanded=1)
          [1663148506.794575][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794578][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794583][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute 1 is dirty
          [1663148506.794585][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_0001 (expanded=1)
          [1663148506.794588][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794591][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794595][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute 2 is dirty
          [1663148506.794597][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_0002 (expanded=1)
          [1663148506.794600][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794603][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794607][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute fffc is dirty
          [1663148506.794609][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_FFFC (expanded=1)
          [1663148506.794613][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794615][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794620][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute fffd is dirty
          [1663148506.794622][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_FFFD (expanded=1)
          [1663148506.794624][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794626][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794630][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute fff8 is dirty
          [1663148506.794632][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_FFF8 (expanded=1)
          [1663148506.794635][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794638][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794642][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute fff9 is dirty
          [1663148506.794644][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_FFF9 (expanded=1)
          [1663148506.794647][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794650][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794653][39604:39604] CHIP:DMG: <RE:Run> Cluster 406, Attribute fffb is dirty
          [1663148506.794655][39604:39604] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=2 AttributeId=0x0000_FFFB (expanded=1)
          [1663148506.794657][39604:39604] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=2 p=v
          [1663148506.794660][39604:39604] CHIP:DMG: AccessControl: allowed
          [1663148506.794671][39604:39604] CHIP:DMG: <RE> Sending report (payload has 626 bytes)...
          [1663148506.794675][39604:39604] CHIP:EM: Piggybacking Ack for MessageCounter:219862429 on exchange: 23857r
          [1663148506.794682][39604:39604] CHIP:IN: Prepared secure message 0x56076c430da8 to 0x000000000001B669 (1)  of type 0x5 and protocolId (0, 1) on exchange 23857r with MessageCounter:119127069.
          [1663148506.794686][39604:39604] CHIP:IN: Sending encrypted msg 0x56076c430da8 with MessageCounter:119127069 to 0x000000000001B669 (1) at monotonic time: 000000000279FAAD msec
          [1663148506.794700][39604:39604] CHIP:DMG: <RE> OnReportConfirm: NumReports = 0
          [1663148506.794703][39604:39604] CHIP:DMG: <RE> ReportsInFlight = 0 with readHandler 0, RE has no more messages
          [1663148506.794705][39604:39604] CHIP:DMG: IM RH moving to [AwaitingDestruction]
          [1663148506.794710][39604:39604] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet
          [1663148506.796418][39604:39604] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:219862430 on exchange 23857r
          [1663148506.796422][39604:39604] CHIP:EM: Found matching exchange: 23857r, Delegate: (nil)
          [1663148506.796427][39604:39604] CHIP:EM: Rxd Ack; Removing MessageCounter:119127069 from Retrans Table on exchange 23857r
          [1663148506.796429][39604:39604] CHIP:EM: Removed CHIP MessageCounter:119127069 from RetransTable on exchange 23857r
      disabled: true

    - label:
          "DUT sends the Read Request Message to the TH with Manufacturer
          specific clusters and attributes to read all attributes in all
          clusters and all endpoints Path = [[ ]]. On receipt of this message,
          TH should send a report data action with the attribute values to the
          DUT."
      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 read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF --timeout 40
          On TH(Reference app) verify that Read Request Message received from DUT(chip-tool)
      disabled: true
