# 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.22. [TC-CC-7.5] Enhanced Hue 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: "DUT sends EnhancedMoveToHue command to TH"
      PICS: CC.C.C40.Rsp
      verification: |
          ./chip-tool colorcontrol enhanced-move-to-hue 1000 3 200 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:
          [1657912045.703432][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657912045.703462][2977:2977] CHIP:DMG: {
          [1657912045.703485][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657912045.703511][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657912045.703548][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657912045.703583][2977:2977] CHIP:DMG:        [
          [1657912045.703608][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657912045.703635][2977:2977] CHIP:DMG:                {
          [1657912045.703670][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657912045.703709][2977:2977] CHIP:DMG:                        {
          [1657912045.703737][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657912045.703791][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657912045.703830][2977:2977] CHIP:DMG:                                CommandId = 0x40,
          [1657912045.703864][2977:2977] CHIP:DMG:                        },
          [1657912045.703908][2977:2977] CHIP:DMG:
          [1657912045.703936][2977:2977] CHIP:DMG:                        CommandFields =
          [1657912045.703967][2977:2977] CHIP:DMG:                        {
          [1657912045.704009][2977:2977] CHIP:DMG:                                0x0 = 1000,
          [1657912045.704048][2977:2977] CHIP:DMG:                                0x1 = 3,
          [1657912045.704121][2977:2977] CHIP:DMG:                                0x2 = 200,
          [1657912045.704164][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657912045.704202][2977:2977] CHIP:DMG:                                0x4 = 0,
          [1657912045.704238][2977:2977] CHIP:DMG:                        },
          [1657912045.704277][2977:2977] CHIP:DMG:                },
          [1657912045.704309][2977:2977] CHIP:DMG:
          [1657912045.704333][2977:2977] CHIP:DMG:        ],
          [1657912045.704374][2977:2977] CHIP:DMG:
          [1657912045.704399][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912045.704423][2977:2977] CHIP:DMG: },
          [1657912045.704511][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912045.704551][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912045.704580][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0040
      disabled: true

    - label:
          "DUT reads EnhancedCurrentHue attribute from TH (potentially multiple
          times)"
      PICS: CC.C.C40.Rsp && CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1


          Verify response contains a EnhancedCurrentHue value in  TH(all-clusters-app)  Logs:
          [1657912064.296156][2977:2977] CHIP:IM: Received Read request
          [1657912064.296261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657912064.296295][2977:2977] CHIP:DMG: {
          [1657912064.296322][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657912064.296378][2977:2977] CHIP:DMG:        [
          [1657912064.296409][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657912064.296448][2977:2977] CHIP:DMG:                {
          [1657912064.296497][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657912064.296538][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657912064.296578][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657912064.296621][2977:2977] CHIP:DMG:                }
          [1657912064.296660][2977:2977] CHIP:DMG:
          [1657912064.296694][2977:2977] CHIP:DMG:        ],
          [1657912064.296729][2977:2977] CHIP:DMG:
          [1657912064.296774][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657912064.296808][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912064.296837][2977:2977] CHIP:DMG: },
          [1657912064.296942][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912064.297059][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912064.297109][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657912064.297136][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657912064.297171][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912064.297210][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912064.297288][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT sends EnhancedMoveHue command to TH"
      PICS: CC.C.C41.Rsp
      verification: |
          ./chip-tool colorcontrol enhanced-move-hue 0 100 0 0 1 1


          Verify success response in TH(all-clusters-app) Log:

          [1657912085.345044][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657912085.345072][2977:2977] CHIP:DMG: {
          [1657912085.345094][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657912085.345120][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657912085.345144][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657912085.345175][2977:2977] CHIP:DMG:        [
          [1657912085.345199][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657912085.345228][2977:2977] CHIP:DMG:                {
          [1657912085.345256][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657912085.345290][2977:2977] CHIP:DMG:                        {
          [1657912085.345320][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657912085.345355][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657912085.345388][2977:2977] CHIP:DMG:                                CommandId = 0x41,
          [1657912085.345418][2977:2977] CHIP:DMG:                        },
          [1657912085.345451][2977:2977] CHIP:DMG:
          [1657912085.345479][2977:2977] CHIP:DMG:                        CommandFields =
          [1657912085.345510][2977:2977] CHIP:DMG:                        {
          [1657912085.345542][2977:2977] CHIP:DMG:                                0x0 = 0,
          [1657912085.345574][2977:2977] CHIP:DMG:                                0x1 = 100,
          [1657912085.345607][2977:2977] CHIP:DMG:                                0x2 = 0,
          [1657912085.345639][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657912085.345671][2977:2977] CHIP:DMG:                        },
          [1657912085.345698][2977:2977] CHIP:DMG:                },
          [1657912085.345730][2977:2977] CHIP:DMG:
          [1657912085.345753][2977:2977] CHIP:DMG:        ],
          [1657912085.345784][2977:2977] CHIP:DMG:
          [1657912085.345807][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912085.345829][2977:2977] CHIP:DMG: },
          [1657912085.345899][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912085.345935][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912085.345962][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0041
      disabled: true

    - label:
          "DUT reads EnhancedCurrentHue attribute (potentially multiple times)"
      PICS: CC.C.C41.Rsp && CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1

          Verify response contains a EnhancedCurrentHue value in  TH(all-clusters-app)  Logs:
          [1657912064.296156][2977:2977] CHIP:IM: Received Read request
          [1657912064.296261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657912064.296295][2977:2977] CHIP:DMG: {
          [1657912064.296322][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657912064.296378][2977:2977] CHIP:DMG:        [
          [1657912064.296409][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657912064.296448][2977:2977] CHIP:DMG:                {
          [1657912064.296497][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657912064.296538][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657912064.296578][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657912064.296621][2977:2977] CHIP:DMG:                }
          [1657912064.296660][2977:2977] CHIP:DMG:
          [1657912064.296694][2977:2977] CHIP:DMG:        ],
          [1657912064.296729][2977:2977] CHIP:DMG:
          [1657912064.296774][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657912064.296808][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912064.296837][2977:2977] CHIP:DMG: },
          [1657912064.296942][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912064.297059][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912064.297109][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657912064.297136][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657912064.297171][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912064.297210][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912064.297288][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT sends EnhancedStepHue command to TH"
      PICS: CC.C.C42.Rsp
      verification: |
          ./chip-tool colorcontrol enhanced-step-hue 1 1000 200 0 0 1 1

          Verify success response in TH(all-clusters-app) Log:
          [1657912123.677693][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657912123.677720][2977:2977] CHIP:DMG: {
          [1657912123.677742][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657912123.677769][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657912123.677802][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657912123.677836][2977:2977] CHIP:DMG:        [
          [1657912123.677860][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657912123.677901][2977:2977] CHIP:DMG:                {
          [1657912123.677926][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657912123.677957][2977:2977] CHIP:DMG:                        {
          [1657912123.677996][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657912123.678030][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657912123.678061][2977:2977] CHIP:DMG:                                CommandId = 0x42,
          [1657912123.678097][2977:2977] CHIP:DMG:                        },
          [1657912123.678130][2977:2977] CHIP:DMG:
          [1657912123.678158][2977:2977] CHIP:DMG:                        CommandFields =
          [1657912123.678188][2977:2977] CHIP:DMG:                        {
          [1657912123.678229][2977:2977] CHIP:DMG:                                0x0 = 1,
          [1657912123.678304][2977:2977] CHIP:DMG:                                0x1 = 1000,
          [1657912123.678339][2977:2977] CHIP:DMG:                                0x2 = 200,
          [1657912123.678372][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657912123.678413][2977:2977] CHIP:DMG:                                0x4 = 0,
          [1657912123.678443][2977:2977] CHIP:DMG:                        },
          [1657912123.678484][2977:2977] CHIP:DMG:                },
          [1657912123.678515][2977:2977] CHIP:DMG:
          [1657912123.678538][2977:2977] CHIP:DMG:        ],
          [1657912123.678578][2977:2977] CHIP:DMG:
          [1657912123.678602][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912123.678625][2977:2977] CHIP:DMG: },
          [1657912123.678704][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912123.678741][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912123.678778][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0042
      disabled: true

    - label:
          "DUT reads EnhancedCurrentHue attribute from TH (potentially multiple
          times)"
      PICS: CC.C.C42.Rsp && CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1

          Verify response contains a EnhancedCurrentHue value in  TH(all-clusters-app)  Logs:
          [1657912064.296156][2977:2977] CHIP:IM: Received Read request
          [1657912064.296261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657912064.296295][2977:2977] CHIP:DMG: {
          [1657912064.296322][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657912064.296378][2977:2977] CHIP:DMG:        [
          [1657912064.296409][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657912064.296448][2977:2977] CHIP:DMG:                {
          [1657912064.296497][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657912064.296538][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657912064.296578][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657912064.296621][2977:2977] CHIP:DMG:                }
          [1657912064.296660][2977:2977] CHIP:DMG:
          [1657912064.296694][2977:2977] CHIP:DMG:        ],
          [1657912064.296729][2977:2977] CHIP:DMG:
          [1657912064.296774][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657912064.296808][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912064.296837][2977:2977] CHIP:DMG: },
          [1657912064.296942][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912064.297059][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912064.297109][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657912064.297136][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657912064.297171][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912064.297210][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912064.297288][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT sends EnhancedMoveToHueAndSaturation command to TH"
      PICS: CC.C.C43.Rsp
      verification: |
          ./chip-tool colorcontrol enhanced-move-to-hue-and-saturation 2500 100 200 0 0 1 1


          Verify success response in TH(all-clusters-app) Log:
          [1657912153.500024][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657912153.500080][2977:2977] CHIP:DMG: {
          [1657912153.500108][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657912153.500139][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657912153.500180][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657912153.500217][2977:2977] CHIP:DMG:        [
          [1657912153.500244][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657912153.500288][2977:2977] CHIP:DMG:                {
          [1657912153.500317][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657912153.500352][2977:2977] CHIP:DMG:                        {
          [1657912153.500398][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657912153.500437][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657912153.500472][2977:2977] CHIP:DMG:                                CommandId = 0x43,
          [1657912153.500512][2977:2977] CHIP:DMG:                        },
          [1657912153.500550][2977:2977] CHIP:DMG:
          [1657912153.500579][2977:2977] CHIP:DMG:                        CommandFields =
          [1657912153.500610][2977:2977] CHIP:DMG:                        {
          [1657912153.500656][2977:2977] CHIP:DMG:                                0x0 = 2500,
          [1657912153.500694][2977:2977] CHIP:DMG:                                0x1 = 100,
          [1657912153.500731][2977:2977] CHIP:DMG:                                0x2 = 200,
          [1657912153.500779][2977:2977] CHIP:DMG:                                0x3 = 0,
          [1657912153.500815][2977:2977] CHIP:DMG:                                0x4 = 0,
          [1657912153.500861][2977:2977] CHIP:DMG:                        },
          [1657912153.500893][2977:2977] CHIP:DMG:                },
          [1657912153.500928][2977:2977] CHIP:DMG:
          [1657912153.500964][2977:2977] CHIP:DMG:        ],
          [1657912153.501001][2977:2977] CHIP:DMG:
          [1657912153.501028][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912153.501054][2977:2977] CHIP:DMG: },
          [1657912153.501143][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912153.501195][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912153.501227][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0043
      disabled: true

    - label:
          "DUT reads EnhancedCurrentHue and CurrentSaturation attributes from TH
          (potentially multiple times)"
      PICS: CC.C.C43.Rsp && CC.C.A4000 && CC.C.A0001
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1


          Verify response contains a EnhancedCurrentHue value in  TH(all-clusters-app)  Logs:
          [1657912064.296156][2977:2977] CHIP:IM: Received Read request
          [1657912064.296261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657912064.296295][2977:2977] CHIP:DMG: {
          [1657912064.296322][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657912064.296378][2977:2977] CHIP:DMG:        [
          [1657912064.296409][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657912064.296448][2977:2977] CHIP:DMG:                {
          [1657912064.296497][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657912064.296538][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657912064.296578][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657912064.296621][2977:2977] CHIP:DMG:                }
          [1657912064.296660][2977:2977] CHIP:DMG:
          [1657912064.296694][2977:2977] CHIP:DMG:        ],
          [1657912064.296729][2977:2977] CHIP:DMG:
          [1657912064.296774][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657912064.296808][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912064.296837][2977:2977] CHIP:DMG: },
          [1657912064.296942][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912064.297059][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912064.297109][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657912064.297136][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657912064.297171][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912064.297210][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912064.297288][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

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


          Verify success response in TH(all-clusters-app) Log:
          [1657912172.988756][2977:2977] CHIP:DMG: InvokeRequestMessage =
          [1657912172.988782][2977:2977] CHIP:DMG: {
          [1657912172.988805][2977:2977] CHIP:DMG:        suppressResponse = false,
          [1657912172.988840][2977:2977] CHIP:DMG:        timedRequest = false,
          [1657912172.988864][2977:2977] CHIP:DMG:        InvokeRequests =
          [1657912172.988895][2977:2977] CHIP:DMG:        [
          [1657912172.988919][2977:2977] CHIP:DMG:                CommandDataIB =
          [1657912172.988957][2977:2977] CHIP:DMG:                {
          [1657912172.988982][2977:2977] CHIP:DMG:                        CommandPathIB =
          [1657912172.989014][2977:2977] CHIP:DMG:                        {
          [1657912172.989054][2977:2977] CHIP:DMG:                                EndpointId = 0x1,
          [1657912172.989088][2977:2977] CHIP:DMG:                                ClusterId = 0x300,
          [1657912172.989120][2977:2977] CHIP:DMG:                                CommandId = 0x47,
          [1657912172.989161][2977:2977] CHIP:DMG:                        },
          [1657912172.989193][2977:2977] CHIP:DMG:
          [1657912172.989221][2977:2977] CHIP:DMG:                        CommandFields =
          [1657912172.989250][2977:2977] CHIP:DMG:                        {
          [1657912172.989290][2977:2977] CHIP:DMG:                                0x0 = 0,
          [1657912172.989323][2977:2977] CHIP:DMG:                                0x1 = 0,
          [1657912172.989354][2977:2977] CHIP:DMG:                        },
          [1657912172.989390][2977:2977] CHIP:DMG:                },
          [1657912172.989420][2977:2977] CHIP:DMG:
          [1657912172.989443][2977:2977] CHIP:DMG:        ],
          [1657912172.989483][2977:2977] CHIP:DMG:
          [1657912172.989508][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912172.989530][2977:2977] CHIP:DMG: },
          [1657912172.989608][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
          [1657912172.989646][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912172.989682][2977:2977] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0047
      disabled: true

    - label:
          "Over TransitionTime, DUT reads EnhancedCurrentHue attribute from TH."
      PICS: CC.C.C47.Rsp && CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1


          Verify response contains a EnhancedCurrentHue value in  TH(all-clusters-app)  Logs:
          [1657912064.296156][2977:2977] CHIP:IM: Received Read request
          [1657912064.296261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657912064.296295][2977:2977] CHIP:DMG: {
          [1657912064.296322][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657912064.296378][2977:2977] CHIP:DMG:        [
          [1657912064.296409][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657912064.296448][2977:2977] CHIP:DMG:                {
          [1657912064.296497][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657912064.296538][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657912064.296578][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657912064.296621][2977:2977] CHIP:DMG:                }
          [1657912064.296660][2977:2977] CHIP:DMG:
          [1657912064.296694][2977:2977] CHIP:DMG:        ],
          [1657912064.296729][2977:2977] CHIP:DMG:
          [1657912064.296774][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657912064.296808][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657912064.296837][2977:2977] CHIP:DMG: },
          [1657912064.296942][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657912064.297059][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657912064.297109][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657912064.297136][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657912064.297171][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657912064.297210][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657912064.297288][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true
