# 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:   IdentifyTime: 0
          [1657881584.166734][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657881584.166761][2584:2589] CHIP:TOO:   IdentifyType: 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:   IdentifyTime: 0
          [1657881729.901245][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024
          [1657881729.901273][2608:2613] CHIP:TOO:   IdentifyType: 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:   IdentifyTime: 0
          [1657881729.902556][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333
          [1657881729.902583][2608:2613] CHIP:TOO:   IdentifyType: 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:   IdentifyType: 2
          [1657881792.350845][2616:2621] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333
          [1657881792.350891][2616:2621] CHIP:TOO:   IdentifyType: 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:   IdentifyType: 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:   OccupancySensorType: 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
