# 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.17. [TC-CC-6.4] Color Temperature functionality with client as DUT

PICS:
    - CC.C

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

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

    - label: "Precondition"
      verification: |
          1. Commission DUT to TH

          2. Set DUT OnOff to On

          3. DUT supports CC.C.F04(CT)
      disabled: true

    - label:
          "* TH provides a server implementation of Color Control with
          F04(CT)=true and reasonable values of ColorTempPhysicalMinMireds (e.g.
          153 (6500K), ColorTempPhysicalMaxMireds (e.g. 454 (2200K)) * DUT might
          read attributes like ColorTempPhysicalMinMireds,
          ColorTempPhysicalMaxMireds from TH (now or in later steps) to use
          those."
      verification: |
          ./chip-tool colorcontrol read color-temp-physical-min-mireds 1 1


          Verify response contains an ColorTempPhysicalMinMireds in  TH(all-clusters-app)  Logs:
          [1658215472.478274][3413:3413] CHIP:IM: Received Read request
          [1658215472.478456][3413:3413] CHIP:DMG: ReadRequestMessage =
          [1658215472.478527][3413:3413] CHIP:DMG: {
          [1658215472.478579][3413:3413] CHIP:DMG:         AttributePathIBs =
          [1658215472.478641][3413:3413] CHIP:DMG:         [
          [1658215472.478698][3413:3413] CHIP:DMG:                 AttributePathIB =
          [1658215472.478763][3413:3413] CHIP:DMG:                 {
          [1658215472.478843][3413:3413] CHIP:DMG:                         Endpoint = 0x1,
          [1658215472.478921][3413:3413] CHIP:DMG:                         Cluster = 0x300,
          [1658215472.479000][3413:3413] CHIP:DMG:                         Attribute = 0x0000_400B,
          [1658215472.479071][3413:3413] CHIP:DMG:                 }
          [1658215472.479140][3413:3413] CHIP:DMG:
          [1658215472.479202][3413:3413] CHIP:DMG:         ],
          [1658215472.479271][3413:3413] CHIP:DMG:
          [1658215472.479335][3413:3413] CHIP:DMG:         isFabricFiltered = true,
          [1658215472.479397][3413:3413] CHIP:DMG:         InteractionModelRevision = 1
          [1658215472.479453][3413:3413] CHIP:DMG: },
          [1658215472.479633][3413:3413] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658215472.479850][3413:3413] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1658215472.479924][3413:3413] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400b is dirty
          [1658215472.479976][3413:3413] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400B (expanded=0)
          [1658215472.480044][3413:3413] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1658215472.480118][3413:3413] CHIP:DMG: AccessControl: allowed


          ./chip-tool colorcontrol read color-temp-physical-max-mireds 1 1


          Verify response contains an ColorTempPhysicalMaxMireds in  TH(all-clusters-app)  Logs:
          [1658215497.166720][3413:3413] CHIP:IM: Received Read request
          [1658215497.166886][3413:3413] CHIP:DMG: ReadRequestMessage =
          [1658215497.166949][3413:3413] CHIP:DMG: {
          [1658215497.167001][3413:3413] CHIP:DMG:         AttributePathIBs =
          [1658215497.167062][3413:3413] CHIP:DMG:         [
          [1658215497.167120][3413:3413] CHIP:DMG:                 AttributePathIB =
          [1658215497.167205][3413:3413] CHIP:DMG:                 {
          [1658215497.167273][3413:3413] CHIP:DMG:                         Endpoint = 0x1,
          [1658215497.167349][3413:3413] CHIP:DMG:                         Cluster = 0x300,
          [1658215497.167418][3413:3413] CHIP:DMG:                         Attribute = 0x0000_400C,
          [1658215497.167488][3413:3413] CHIP:DMG:                 }
          [1658215497.167559][3413:3413] CHIP:DMG:
          [1658215497.167621][3413:3413] CHIP:DMG:         ],
          [1658215497.167687][3413:3413] CHIP:DMG:
          [1658215497.167750][3413:3413] CHIP:DMG:         isFabricFiltered = true,
          [1658215497.167810][3413:3413] CHIP:DMG:         InteractionModelRevision = 1
          [1658215497.167866][3413:3413] CHIP:DMG: },
          [1658215497.168046][3413:3413] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1658215497.168296][3413:3413] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1658215497.168369][3413:3413] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400c is dirty
          [1658215497.168422][3413:3413] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400C (expanded=0)
          [1658215497.168491][3413:3413] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1658215497.168570][3413:3413] CHIP:DMG: AccessControl: allowed
      disabled: true

    - label: "DUT sends MoveToColorTemperature command to TH"
      PICS: CC.C.C0a.Tx
      verification: |
          ./chip-tool colorcontrol move-to-color-temperature 150 300 0 0 1 1


          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:
          [1657911906.102478][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657911906.102603][2977:2977] CHIP:DMG: {
          [1657911906.102633][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657911906.102674][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657911906.102703][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657911906.102744][2977:2977] CHIP:DMG:        [
          [1657911906.102814][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657911906.102853][2977:2977] CHIP:DMG:                {
          [1657911906.102885][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657911906.102923][2977:2977] CHIP:DMG:                        {
          [1657911906.102964][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657911906.103007][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657911906.103049][2977:2977] CHIP:DMG:                                CommandId = 0xa,
          [1657911906.103088][2977:2977] CHIP:DMG:                        },
          [1657911906.103129][2977:2977] CHIP:DMG:
          [1657911906.103166][2977:2977] CHIP:DMG:                        CommandFields =
          [1657911906.103205][2977:2977] CHIP:DMG:                        {
          [1657911906.103243][2977:2977] CHIP:DMG:                                0x0 = 150,
          [1657911906.103285][2977:2977] CHIP:DMG:                                0x1 = 300,
          [1657911906.103327][2977:2977] CHIP:DMG:                                0x2 = 0,
          [1657911906.103369][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657911906.103406][2977:2977] CHIP:DMG:                        },
          [1657911906.103440][2977:2977] CHIP:DMG:                },
          [1657911906.103479][2977:2977] CHIP:DMG:
          [1657911906.103506][2977:2977] CHIP:DMG:        ],
          [1657911906.103543][2977:2977] CHIP:DMG:
          [1657911906.103570][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657911906.103600][2977:2977] CHIP:DMG: },
          [1657911906.103683][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657911906.103726][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657911906.103757][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000A
      disabled: true

    - label:
          "DUT reads ColorTemperatureMired attribute from TH (potentially
          multiple times)"
      PICS: CC.C.C0a.Tx && CC.C.A0007
      verification: |
          ./chip-tool colorcontrol read color-temperature-mireds 1 1


          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:
          [1659955633.975562][2718:2718] CHIP:DMG: ReadRequestMessage =
          [1659955633.975617][2718:2718] CHIP:DMG: {
          [1659955633.975650][2718:2718] CHIP:DMG:         AttributePathIBs =
          [1659955633.975689][2718:2718] CHIP:DMG:         [
          [1659955633.975738][2718:2718] CHIP:DMG:                 AttributePathIB =
          [1659955633.975779][2718:2718] CHIP:DMG:                 {
          [1659955633.975834][2718:2718] CHIP:DMG:                         Endpoint = 0x1,
          [1659955633.975894][2718:2718] CHIP:DMG:                         Cluster = 0x300,
          [1659955633.975941][2718:2718] CHIP:DMG:                         Attribute = 0x0000_0007,
          [1659955633.975998][2718:2718] CHIP:DMG:                 }
          [1659955633.976040][2718:2718] CHIP:DMG:
          [1659955633.976090][2718:2718] CHIP:DMG:         ],
          [1659955633.976132][2718:2718] CHIP:DMG:
          [1659955633.976183][2718:2718] CHIP:DMG:         isFabricFiltered = true,
          [1659955633.976221][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955633.976268][2718:2718] CHIP:DMG: },
          [1659955633.976388][2718:2718] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1659955633.976525][2718:2718] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1659955633.976567][2718:2718] CHIP:DMG: <RE:Run> Cluster 300, Attribute 7 is dirty
          [1659955633.976610][2718:2718] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0007 (expanded=0)
          [1659955633.976650][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1659955633.976696][2718:2718] CHIP:DMG: AccessControl: allowed
      disabled: true

    - label: "DUT sends MoveColorTemperature command to TH"
      PICS: CC.C.C4b.Tx
      verification: |
          ./chip-tool colorcontrol move-color-temperature 1 16319 0 65279 0 0 1 1




          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:

          [1659955779.460043][2718:2718] CHIP:DMG: InvokeRequestMessage =
          [1659955779.460071][2718:2718] CHIP:DMG: {
          [1659955779.460095][2718:2718] CHIP:DMG:         suppressResponse = false,
          [1659955779.460122][2718:2718] CHIP:DMG:         timedRequest = false,
          [1659955779.460147][2718:2718] CHIP:DMG:         InvokeRequests =
          [1659955779.460178][2718:2718] CHIP:DMG:         [
          [1659955779.460202][2718:2718] CHIP:DMG:                 CommandDataIB =
          [1659955779.460230][2718:2718] CHIP:DMG:                 {
          [1659955779.460263][2718:2718] CHIP:DMG:                         CommandPathIB =
          [1659955779.460300][2718:2718] CHIP:DMG:                         {
          [1659955779.460334][2718:2718] CHIP:DMG:                                 EndpointId = 0x1,
          [1659955779.460372][2718:2718] CHIP:DMG:                                 ClusterId = 0x300,
          [1659955779.460409][2718:2718] CHIP:DMG:                                 CommandId = 0x4b,
          [1659955779.460444][2718:2718] CHIP:DMG:                         },
          [1659955779.460477][2718:2718] CHIP:DMG:
          [1659955779.460504][2718:2718] CHIP:DMG:                         CommandFields =
          [1659955779.460539][2718:2718] CHIP:DMG:                         {
          [1659955779.460572][2718:2718] CHIP:DMG:                                 0x0 = 1,
          [1659955779.460608][2718:2718] CHIP:DMG:                                 0x1 = 16319,
          [1659955779.460646][2718:2718] CHIP:DMG:                                 0x2 = 0,
          [1659955779.460683][2718:2718] CHIP:DMG:                                 0x3 = 65279,
          [1659955779.460717][2718:2718] CHIP:DMG:                                 0x4 = 0,
          [1659955779.460755][2718:2718] CHIP:DMG:                                 0x5 = 0,
          [1659955779.460791][2718:2718] CHIP:DMG:                         },
          [1659955779.460820][2718:2718] CHIP:DMG:                 },
          [1659955779.460851][2718:2718] CHIP:DMG:
          [1659955779.460875][2718:2718] CHIP:DMG:         ],
          [1659955779.460907][2718:2718] CHIP:DMG:
          [1659955779.460931][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955779.460954][2718:2718] CHIP:DMG: },
          [1659955779.461068][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1659955779.461110][2718:2718] CHIP:DMG: AccessControl: allowed
          [1659955779.461139][2718:2718] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_004B
          [1659955779.463159][2718:2718] CHIP:DMG: ICR moving to [ Preparing]
          [1659955779.463212][2718:2718] CHIP:DMG: ICR moving to [AddingComm]
          [1659955779.463239][2718:2718] CHIP:DMG: ICR moving to [AddedComma]
          [1659955779.463289][2718:2718] CHIP:DMG: Decreasing reference count for CommandHandler, remaining 0
      disabled: true

    - label:
          "DUT reads ColorTemperatureMired attribute from TH (potentially
          multiple times)"
      PICS: CC.C.C4b.Tx && CC.C.A0007
      verification: |
          ./chip-tool colorcontrol read color-temperature-mireds 1 1



          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:
          [1659955633.975562][2718:2718] CHIP:DMG: ReadRequestMessage =
          [1659955633.975617][2718:2718] CHIP:DMG: {
          [1659955633.975650][2718:2718] CHIP:DMG:         AttributePathIBs =
          [1659955633.975689][2718:2718] CHIP:DMG:         [
          [1659955633.975738][2718:2718] CHIP:DMG:                 AttributePathIB =
          [1659955633.975779][2718:2718] CHIP:DMG:                 {
          [1659955633.975834][2718:2718] CHIP:DMG:                         Endpoint = 0x1,
          [1659955633.975894][2718:2718] CHIP:DMG:                         Cluster = 0x300,
          [1659955633.975941][2718:2718] CHIP:DMG:                         Attribute = 0x0000_0007,
          [1659955633.975998][2718:2718] CHIP:DMG:                 }
          [1659955633.976040][2718:2718] CHIP:DMG:
          [1659955633.976090][2718:2718] CHIP:DMG:         ],
          [1659955633.976132][2718:2718] CHIP:DMG:
          [1659955633.976183][2718:2718] CHIP:DMG:         isFabricFiltered = true,
          [1659955633.976221][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955633.976268][2718:2718] CHIP:DMG: },
          [1659955633.976388][2718:2718] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1659955633.976525][2718:2718] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1659955633.976567][2718:2718] CHIP:DMG: <RE:Run> Cluster 300, Attribute 7 is dirty
          [1659955633.976610][2718:2718] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0007 (expanded=0)
          [1659955633.976650][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1659955633.976696][2718:2718] CHIP:DMG: AccessControl: allowed
      disabled: true

    - label: "DUT sends StepColorTemperature command to TH"
      PICS: CC.C.C4c.Tx
      verification: |
          ./chip-tool colorcontrol step-color-temperature 1 32639 200 0 65279 0 0 1 1



          Verify the all fields are within their allowed bounds in CommandFields on  TH(all-clusters-app)  Logs:

          [1659955888.144223][2718:2718] CHIP:DMG: InvokeRequestMessage =
          [1659955888.144251][2718:2718] CHIP:DMG: {
          [1659955888.144275][2718:2718] CHIP:DMG:         suppressResponse = false,
          [1659955888.144306][2718:2718] CHIP:DMG:         timedRequest = false,
          [1659955888.144330][2718:2718] CHIP:DMG:         InvokeRequests =
          [1659955888.144362][2718:2718] CHIP:DMG:         [
          [1659955888.144386][2718:2718] CHIP:DMG:                 CommandDataIB =
          [1659955888.144414][2718:2718] CHIP:DMG:                 {
          [1659955888.144439][2718:2718] CHIP:DMG:                         CommandPathIB =
          [1659955888.144470][2718:2718] CHIP:DMG:                         {
          [1659955888.144503][2718:2718] CHIP:DMG:                                 EndpointId = 0x1,
          [1659955888.144536][2718:2718] CHIP:DMG:                                 ClusterId = 0x300,
          [1659955888.144569][2718:2718] CHIP:DMG:                                 CommandId = 0x4c,
          [1659955888.144603][2718:2718] CHIP:DMG:                         },
          [1659955888.144636][2718:2718] CHIP:DMG:
          [1659955888.144662][2718:2718] CHIP:DMG:                         CommandFields =
          [1659955888.144693][2718:2718] CHIP:DMG:                         {
          [1659955888.144725][2718:2718] CHIP:DMG:                                 0x0 = 1,
          [1659955888.144759][2718:2718] CHIP:DMG:                                 0x1 = 32639,
          [1659955888.144791][2718:2718] CHIP:DMG:                                 0x2 = 200,
          [1659955888.144825][2718:2718] CHIP:DMG:                                 0x3 = 0,
          [1659955888.144855][2718:2718] CHIP:DMG:                                 0x4 = 65279,
          [1659955888.144888][2718:2718] CHIP:DMG:                                 0x5 = 0,
          [1659955888.144917][2718:2718] CHIP:DMG:                                 0x6 = 0,
          [1659955888.144950][2718:2718] CHIP:DMG:                         },
          [1659955888.144979][2718:2718] CHIP:DMG:                 },
          [1659955888.145012][2718:2718] CHIP:DMG:
          [1659955888.145055][2718:2718] CHIP:DMG:         ],
          [1659955888.145088][2718:2718] CHIP:DMG:
          [1659955888.145112][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955888.145135][2718:2718] CHIP:DMG: },
          [1659955888.145204][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1659955888.145240][2718:2718] CHIP:DMG: AccessControl: allowed
          [1659955888.145269][2718:2718] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_004C
          [1659955888.145332][2718:2718] CHIP:DMG: ICR moving to [ Preparing]
          [1659955888.145364][2718:2718] CHIP:DMG: ICR moving to [AddingComm]
          [1659955888.145390][2718:2718] CHIP:DMG: ICR moving to [AddedComma]
          [1659955888.145432][2718:2718] CHIP:DMG: Decreasing reference count for CommandHandler, remaining 0
          [1659955888.145463][2718:2718] CHIP:EM: Piggybacking Ack for MessageCounter:152242371 on exchange: 5785r
      disabled: true

    - label:
          "DUT reads ColorTemperatureMired attribute from TH (potentially
          multiple times)"
      PICS: CC.C.C4c.Tx & CC.C.A0007
      verification: |
          ./chip-tool colorcontrol read color-temperature-mireds 1 1
          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:
          [1659955633.975562][2718:2718] CHIP:DMG: ReadRequestMessage =
          [1659955633.975617][2718:2718] CHIP:DMG: {
          [1659955633.975650][2718:2718] CHIP:DMG:         AttributePathIBs =
          [1659955633.975689][2718:2718] CHIP:DMG:         [
          [1659955633.975738][2718:2718] CHIP:DMG:                 AttributePathIB =
          [1659955633.975779][2718:2718] CHIP:DMG:                 {
          [1659955633.975834][2718:2718] CHIP:DMG:                         Endpoint = 0x1,
          [1659955633.975894][2718:2718] CHIP:DMG:                         Cluster = 0x300,
          [1659955633.975941][2718:2718] CHIP:DMG:                         Attribute = 0x0000_0007,
          [1659955633.975998][2718:2718] CHIP:DMG:                 }
          [1659955633.976040][2718:2718] CHIP:DMG:
          [1659955633.976090][2718:2718] CHIP:DMG:         ],
          [1659955633.976132][2718:2718] CHIP:DMG:
          [1659955633.976183][2718:2718] CHIP:DMG:         isFabricFiltered = true,
          [1659955633.976221][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955633.976268][2718:2718] CHIP:DMG: },
          [1659955633.976388][2718:2718] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1659955633.976525][2718:2718] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1659955633.976567][2718:2718] CHIP:DMG: <RE:Run> Cluster 300, Attribute 7 is dirty
          [1659955633.976610][2718:2718] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0007 (expanded=0)
          [1659955633.976650][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1659955633.976696][2718:2718] CHIP:DMG: AccessControl: allowed
      disabled: true

    - label: "DUT sends StopMoveStep command to TH."
      PICS: CC.C.C47.Tx
      verification: |
          ./chip-tool colorcontrol stop-move-step 0 0 1 1

          Verify the all fields are within their allowed bounds in CommandFields on  TH(all-clusters-app)  Logs:


          [1659955999.857777][2718:2718] CHIP:DMG: InvokeRequestMessage =
          [1659955999.857804][2718:2718] CHIP:DMG: {
          [1659955999.857827][2718:2718] CHIP:DMG:         suppressResponse = false,
          [1659955999.857852][2718:2718] CHIP:DMG:         timedRequest = false,
          [1659955999.857876][2718:2718] CHIP:DMG:         InvokeRequests =
          [1659955999.857906][2718:2718] CHIP:DMG:         [
          [1659955999.857931][2718:2718] CHIP:DMG:                 CommandDataIB =
          [1659955999.857964][2718:2718] CHIP:DMG:                 {
          [1659955999.857990][2718:2718] CHIP:DMG:                         CommandPathIB =
          [1659955999.858022][2718:2718] CHIP:DMG:                         {
          [1659955999.858054][2718:2718] CHIP:DMG:                                 EndpointId = 0x1,
          [1659955999.858088][2718:2718] CHIP:DMG:                                 ClusterId = 0x300,
          [1659955999.858118][2718:2718] CHIP:DMG:                                 CommandId = 0x47,
          [1659955999.858150][2718:2718] CHIP:DMG:                         },
          [1659955999.858182][2718:2718] CHIP:DMG:
          [1659955999.858208][2718:2718] CHIP:DMG:                         CommandFields =
          [1659955999.858238][2718:2718] CHIP:DMG:                         {
          [1659955999.858270][2718:2718] CHIP:DMG:                                 0x0 = 0,
          [1659955999.858305][2718:2718] CHIP:DMG:                                 0x1 = 0,
          [1659955999.858338][2718:2718] CHIP:DMG:                         },
          [1659955999.858364][2718:2718] CHIP:DMG:                 },
          [1659955999.858393][2718:2718] CHIP:DMG:
          [1659955999.858417][2718:2718] CHIP:DMG:         ],
          [1659955999.858447][2718:2718] CHIP:DMG:
          [1659955999.858471][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955999.858494][2718:2718] CHIP:DMG: },
          [1659955999.858560][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1659955999.858598][2718:2718] CHIP:DMG: AccessControl: allowed
          [1659955999.858626][2718:2718] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0047
          [1659955999.858681][2718:2718] CHIP:DMG: ICR moving to [ Preparing]
          [1659955999.858713][2718:2718] CHIP:DMG: ICR moving to [AddingComm]
          [1659955999.858739][2718:2718] CHIP:DMG: ICR moving to [AddedComma]
          [1659955999.858776][2718:2718] CHIP:DMG: Decreasing reference count for CommandHandler, remaining 0
          [1659955999.858808][2718:2718] CHIP:EM: Piggybacking Ack for MessageCounter:92622659 on exchange: 1429r
      disabled: true

    - label:
          "DUT reads ColorTemperatureMired attribute from TH (potentially
          multiple times)"
      PICS: CC.C.C47.Tx && CC.C.A0007
      verification: |
          ./chip-tool colorcontrol read color-temperature-mireds 1 1

          Verify response contains an ColorTemperatureMireds in  TH(all-clusters-app)  Logs:
          [1659955633.975562][2718:2718] CHIP:DMG: ReadRequestMessage =
          [1659955633.975617][2718:2718] CHIP:DMG: {
          [1659955633.975650][2718:2718] CHIP:DMG:         AttributePathIBs =
          [1659955633.975689][2718:2718] CHIP:DMG:         [
          [1659955633.975738][2718:2718] CHIP:DMG:                 AttributePathIB =
          [1659955633.975779][2718:2718] CHIP:DMG:                 {
          [1659955633.975834][2718:2718] CHIP:DMG:                         Endpoint = 0x1,
          [1659955633.975894][2718:2718] CHIP:DMG:                         Cluster = 0x300,
          [1659955633.975941][2718:2718] CHIP:DMG:                         Attribute = 0x0000_0007,
          [1659955633.975998][2718:2718] CHIP:DMG:                 }
          [1659955633.976040][2718:2718] CHIP:DMG:
          [1659955633.976090][2718:2718] CHIP:DMG:         ],
          [1659955633.976132][2718:2718] CHIP:DMG:
          [1659955633.976183][2718:2718] CHIP:DMG:         isFabricFiltered = true,
          [1659955633.976221][2718:2718] CHIP:DMG:         InteractionModelRevision = 1
          [1659955633.976268][2718:2718] CHIP:DMG: },
          [1659955633.976388][2718:2718] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1659955633.976525][2718:2718] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1659955633.976567][2718:2718] CHIP:DMG: <RE:Run> Cluster 300, Attribute 7 is dirty
          [1659955633.976610][2718:2718] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0007 (expanded=0)
          [1659955633.976650][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1659955633.976696][2718:2718] CHIP:DMG: AccessControl: allowed
      disabled: true
