# 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.1.3. [TC-CC-2.2]  Attributes with client as DUT

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

tests:
    - label: "Commission TH to DUT"
      verification: |

      disabled: true

    - label:
          "DUT reads from the TH the (0x0000) CurrentHue attribute if
          CC.S.F00(HS) is true"
      PICS: CC.C.A0000
      verification: |
          ./chip-tool colorcontrol read current-hue 1 1

          Verify in DUT as client side log:

          [1657908705.581609][2861:2861] CHIP:IM: Received Read request
          [1657908705.581752][2861:2861] CHIP:DMG: ReadRequestMessage =
          [1657908705.581807][2861:2861] CHIP:DMG: {
          [1657908705.581874][2861:2861] CHIP:DMG:        AttributePathIBs =
          [1657908705.581941][2861:2861] CHIP:DMG:        [
          [1657908705.581993][2861:2861] CHIP:DMG:                AttributePathIB =
          [1657908705.582069][2861:2861] CHIP:DMG:                {
          [1657908705.582128][2861:2861] CHIP:DMG:                        Endpoint = 0x1,
          [1657908705.582193][2861:2861] CHIP:DMG:                        Cluster = 0x300,
          [1657908705.582279][2861:2861] CHIP:DMG:                        Attribute = 0x0000_0000,
          [1657908705.582341][2861:2861] CHIP:DMG:                }
          [1657908705.582399][2861:2861] CHIP:DMG:
          [1657908705.582456][2861:2861] CHIP:DMG:        ],
          [1657908705.582513][2861:2861] CHIP:DMG:
          [1657908705.582569][2861:2861] CHIP:DMG:        isFabricFiltered = true,
          [1657908705.582622][2861:2861] CHIP:DMG:        InteractionModelRevision = 1
          [1657908705.582671][2861:2861] CHIP:DMG: },
          [1657908705.582814][2861:2861] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657908705.582973][2861:2861] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657908705.583034][2861:2861] CHIP:DMG: <RE:Run> Cluster 300, Attribute 0 is dirty
          [1657908705.583079][2861:2861] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0000 (expanded=0)
          [1657908705.583133][2861:2861] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657908705.583195][2861:2861] CHIP:DMG: AccessControl: allowed
          [1657908705.583290][2861:2861] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x0001) CurrentSaturation attribute if
          CC.S.F00(HS) is true"
      PICS: CC.C.A0001
      verification: |
          ./chip-tool colorcontrol read current-saturation 1 1

          Verify in DUT as client side log:
          [1657908593.710273][2861:2861] CHIP:IM: Received Read request
          [1657908593.710359][2861:2861] CHIP:DMG: ReadRequestMessage =
          [1657908593.710389][2861:2861] CHIP:DMG: {
          [1657908593.710438][2861:2861] CHIP:DMG:        AttributePathIBs =
          [1657908593.710469][2861:2861] CHIP:DMG:        [
          [1657908593.710496][2861:2861] CHIP:DMG:                AttributePathIB =
          [1657908593.710540][2861:2861] CHIP:DMG:                {
          [1657908593.710572][2861:2861] CHIP:DMG:                        Endpoint = 0x1,
          [1657908593.710607][2861:2861] CHIP:DMG:                        Cluster = 0x300,
          [1657908593.710653][2861:2861] CHIP:DMG:                        Attribute = 0x0000_0001,
          [1657908593.710686][2861:2861] CHIP:DMG:                }
          [1657908593.710718][2861:2861] CHIP:DMG:
          [1657908593.710757][2861:2861] CHIP:DMG:        ],
          [1657908593.710790][2861:2861] CHIP:DMG:
          [1657908593.710820][2861:2861] CHIP:DMG:        isFabricFiltered = true,
          [1657908593.710861][2861:2861] CHIP:DMG:        InteractionModelRevision = 1
          [1657908593.710888][2861:2861] CHIP:DMG: },
          [1657908593.710983][2861:2861] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657908593.711095][2861:2861] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657908593.711129][2861:2861] CHIP:DMG: <RE:Run> Cluster 300, Attribute 1 is dirty
          [1657908593.711154][2861:2861] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0002) RemainingTime attribute"
      PICS: CC.C.A0002
      verification: |
          ./chip-tool colorcontrol read remaining-time 1 1

          Verify in DUT as client side log:
          [1657908803.102070][2933:2933] CHIP:IM: Received Read request
          [1657908803.102154][2933:2933] CHIP:DMG: ReadRequestMessage =
          [1657908803.102182][2933:2933] CHIP:DMG: {
          [1657908803.102204][2933:2933] CHIP:DMG:        AttributePathIBs =
          [1657908803.102230][2933:2933] CHIP:DMG:        [
          [1657908803.102254][2933:2933] CHIP:DMG:                AttributePathIB =
          [1657908803.102282][2933:2933] CHIP:DMG:                {
          [1657908803.102310][2933:2933] CHIP:DMG:                        Endpoint = 0x1,
          [1657908803.102344][2933:2933] CHIP:DMG:                        Cluster = 0x300,
          [1657908803.102376][2933:2933] CHIP:DMG:                        Attribute = 0x0000_0002,
          [1657908803.102405][2933:2933] CHIP:DMG:                }
          [1657908803.102433][2933:2933] CHIP:DMG:
          [1657908803.102459][2933:2933] CHIP:DMG:        ],
          [1657908803.102493][2933:2933] CHIP:DMG:
          [1657908803.102521][2933:2933] CHIP:DMG:        isFabricFiltered = true,
          [1657908803.102546][2933:2933] CHIP:DMG:        InteractionModelRevision = 1
          [1657908803.102568][2933:2933] CHIP:DMG: },
          [1657908803.102647][2933:2933] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657908803.102755][2933:2933] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657908803.102790][2933:2933] CHIP:DMG: <RE:Run> Cluster 300, Attribute 2 is dirty
          [1657908803.102812][2933:2933] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0002 (expanded=0)
          [1657908803.102841][2933:2933] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657908803.102875][2933:2933] CHIP:DMG: AccessControl: allowed
          [1657908803.102936][2933:2933] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x0003) CurrentX attribute if CC.S.F03(XY)
          is true"
      PICS: CC.C.A0003
      verification: |
          ./chip-tool colorcontrol read current-x 1 1

          Verify in DUT as client side log:
          [1657908856.780574][2933:2933] CHIP:IM: Received Read request
          [1657908856.780702][2933:2933] CHIP:DMG: ReadRequestMessage =
          [1657908856.780750][2933:2933] CHIP:DMG: {
          [1657908856.780790][2933:2933] CHIP:DMG:        AttributePathIBs =
          [1657908856.780837][2933:2933] CHIP:DMG:        [
          [1657908856.780881][2933:2933] CHIP:DMG:                AttributePathIB =
          [1657908856.780930][2933:2933] CHIP:DMG:                {
          [1657908856.780981][2933:2933] CHIP:DMG:                        Endpoint = 0x1,
          [1657908856.781112][2933:2933] CHIP:DMG:                        Cluster = 0x300,
          [1657908856.781177][2933:2933] CHIP:DMG:                        Attribute = 0x0000_0003,
          [1657908856.781230][2933:2933] CHIP:DMG:                }
          [1657908856.781283][2933:2933] CHIP:DMG:
          [1657908856.781330][2933:2933] CHIP:DMG:        ],
          [1657908856.781441][2933:2933] CHIP:DMG:
          [1657908856.781492][2933:2933] CHIP:DMG:        isFabricFiltered = true,
          [1657908856.781539][2933:2933] CHIP:DMG:        InteractionModelRevision = 1
          [1657908856.781581][2933:2933] CHIP:DMG: },
          [1657908856.781710][2933:2933] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657908856.781911][2933:2933] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657908856.781965][2933:2933] CHIP:DMG: <RE:Run> Cluster 300, Attribute 3 is dirty
          [1657908856.782004][2933:2933] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0003 (expanded=0)
          [1657908856.782053][2933:2933] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657908856.782108][2933:2933] CHIP:DMG: AccessControl: allowed
          [1657908856.782247][2933:2933] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x0004) CurrentY attribute if CC.S.F03(XY)
          is true"
      PICS: CC.C.A0004
      verification: |
          ./chip-tool colorcontrol read current-y 1 1

          Verify in DUT as client side log:
          [1657909305.413625][2933:2933] CHIP:IM: Received Read request
          [1657909305.413743][2933:2933] CHIP:DMG: ReadRequestMessage =
          [1657909305.413786][2933:2933] CHIP:DMG: {
          [1657909305.413822][2933:2933] CHIP:DMG:        AttributePathIBs =
          [1657909305.413864][2933:2933] CHIP:DMG:        [
          [1657909305.413903][2933:2933] CHIP:DMG:                AttributePathIB =
          [1657909305.413946][2933:2933] CHIP:DMG:                {
          [1657909305.413991][2933:2933] CHIP:DMG:                        Endpoint = 0x1,
          [1657909305.414039][2933:2933] CHIP:DMG:                        Cluster = 0x300,
          [1657909305.414089][2933:2933] CHIP:DMG:                        Attribute = 0x0000_0004,
          [1657909305.414136][2933:2933] CHIP:DMG:                }
          [1657909305.414181][2933:2933] CHIP:DMG:
          [1657909305.414223][2933:2933] CHIP:DMG:        ],
          [1657909305.414268][2933:2933] CHIP:DMG:
          [1657909305.414311][2933:2933] CHIP:DMG:        isFabricFiltered = true,
          [1657909305.414352][2933:2933] CHIP:DMG:        InteractionModelRevision = 1
          [1657909305.414387][2933:2933] CHIP:DMG: },
          [1657909305.414502][2933:2933] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909305.414634][2933:2933] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909305.414682][2933:2933] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4 is dirty
          [1657909305.414717][2933:2933] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0004 (expanded=0)
          [1657909305.414761][2933:2933] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909305.414812][2933:2933] CHIP:DMG: AccessControl: allowed
          [1657909305.414892][2933:2933] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0005) DriftCompensation
          attribute"
      PICS: CC.C.A0005
      verification: |
          ./chip-tool colorcontrol read drift-compensation 1 1

          Verify in DUT as client side log:
          [1657909433.948649][2933:2933] CHIP:IM: Received Read request
          [1657909433.948766][2933:2933] CHIP:DMG: ReadRequestMessage =
          [1657909433.948809][2933:2933] CHIP:DMG: {
          [1657909433.948844][2933:2933] CHIP:DMG:        AttributePathIBs =
          [1657909433.948885][2933:2933] CHIP:DMG:        [
          [1657909433.948923][2933:2933] CHIP:DMG:                AttributePathIB =
          [1657909433.948966][2933:2933] CHIP:DMG:                {
          [1657909433.949010][2933:2933] CHIP:DMG:                        Endpoint = 0x1,
          [1657909433.949063][2933:2933] CHIP:DMG:                        Cluster = 0x300,
          [1657909433.949113][2933:2933] CHIP:DMG:                        Attribute = 0x0000_0005,
          [1657909433.949158][2933:2933] CHIP:DMG:                }
          [1657909433.949207][2933:2933] CHIP:DMG:
          [1657909433.949248][2933:2933] CHIP:DMG:        ],
          [1657909433.949292][2933:2933] CHIP:DMG:
          [1657909433.949334][2933:2933] CHIP:DMG:        isFabricFiltered = true,
          [1657909433.949375][2933:2933] CHIP:DMG:        InteractionModelRevision = 1
          [1657909433.949413][2933:2933] CHIP:DMG: },
          [1657909433.949528][2933:2933] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909433.949656][2933:2933] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909433.949702][2933:2933] CHIP:DMG: <RE:Run> Cluster 300, Attribute 5 is dirty
          [1657909433.949738][2933:2933] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0005 (expanded=0)
          [1657909433.949786][2933:2933] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909433.949836][2933:2933] CHIP:DMG: AccessControl: allowed
          [1657909433.949917][2933:2933] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0006) CompensationText
          attribute"
      PICS: CC.C.A0006
      verification: |
          ./chip-tool colorcontrol read compensation-text 1 1

          Verify in DUT as client side log:
          [1657909470.827379][2933:2933] CHIP:IM: Received Read request
          [1657909470.827505][2933:2933] CHIP:DMG: ReadRequestMessage =
          [1657909470.827553][2933:2933] CHIP:DMG: {
          [1657909470.827593][2933:2933] CHIP:DMG:        AttributePathIBs =
          [1657909470.827639][2933:2933] CHIP:DMG:        [
          [1657909470.827683][2933:2933] CHIP:DMG:                AttributePathIB =
          [1657909470.827732][2933:2933] CHIP:DMG:                {
          [1657909470.827782][2933:2933] CHIP:DMG:                        Endpoint = 0x1,
          [1657909470.827834][2933:2933] CHIP:DMG:                        Cluster = 0x300,
          [1657909470.827904][2933:2933] CHIP:DMG:                        Attribute = 0x0000_0006,
          [1657909470.827956][2933:2933] CHIP:DMG:                }
          [1657909470.828008][2933:2933] CHIP:DMG:
          [1657909470.828088][2933:2933] CHIP:DMG:        ],
          [1657909470.828145][2933:2933] CHIP:DMG:
          [1657909470.828192][2933:2933] CHIP:DMG:        isFabricFiltered = true,
          [1657909470.828238][2933:2933] CHIP:DMG:        InteractionModelRevision = 1
          [1657909470.828280][2933:2933] CHIP:DMG: },
          [1657909470.828411][2933:2933] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909470.828560][2933:2933] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909470.828614][2933:2933] CHIP:DMG: <RE:Run> Cluster 300, Attribute 6 is dirty
          [1657909470.828654][2933:2933] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0006 (expanded=0)
          [1657909470.828703][2933:2933] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909470.828757][2933:2933] CHIP:DMG: AccessControl: allowed
          [1657909470.828845][2933:2933] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x0007) ColorTemperatureMireds attribute
          if CC.S.F04(CT) is true"
      PICS: CC.C.A0007
      verification: |
          ./chip-tool colorcontrol read color-temperature 1 1

          Verify in DUT as client side log:

          [1657909522.420348][2977:2977] CHIP:IM: Received Read request
          [1657909522.420471][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909522.420518][2977:2977] CHIP:DMG: {
          [1657909522.420579][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909522.420627][2977:2977] CHIP:DMG:        [
          [1657909522.420670][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909522.420726][2977:2977] CHIP:DMG:                {
          [1657909522.420806][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909522.420872][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909522.420931][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0007,
          [1657909522.420984][2977:2977] CHIP:DMG:                }
          [1657909522.421051][2977:2977] CHIP:DMG:
          [1657909522.421104][2977:2977] CHIP:DMG:        ],
          [1657909522.421156][2977:2977] CHIP:DMG:
          [1657909522.421204][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909522.421266][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909522.421310][2977:2977] CHIP:DMG: },
          [1657909522.421455][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909522.421605][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909522.421674][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 7 is dirty
          [1657909522.421714][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0007 (expanded=0)
          [1657909522.421762][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909522.421816][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909522.421923][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0008) ColorMode attribute"
      PICS: CC.C.A0008
      verification: |
          ./chip-tool colorcontrol read color-mode 1 1

          Verify in DUT as client side log:
          [1657909555.028998][2977:2977] CHIP:IM: Received Read request
          [1657909555.029124][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909555.029171][2977:2977] CHIP:DMG: {
          [1657909555.029227][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909555.029278][2977:2977] CHIP:DMG:        [
          [1657909555.029322][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909555.029392][2977:2977] CHIP:DMG:                {
          [1657909555.029445][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909555.029502][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909555.029575][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0008,
          [1657909555.029631][2977:2977] CHIP:DMG:                }
          [1657909555.029682][2977:2977] CHIP:DMG:
          [1657909555.029744][2977:2977] CHIP:DMG:        ],
          [1657909555.029797][2977:2977] CHIP:DMG:
          [1657909555.029844][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909555.029890][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909555.029949][2977:2977] CHIP:DMG: },
          [1657909555.030093][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909555.030253][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909555.030306][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 8 is dirty
          [1657909555.030346][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0008 (expanded=0)
          [1657909555.030394][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909555.030465][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909555.030553][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x000f) Options attribute"
      PICS: CC.C.A000f
      verification: |
          ./chip-tool colorcontrol read options 1 1

          Verify in DUT as client side log:
          [1657909576.774655][2977:2977] CHIP:IM: Received Read request
          [1657909576.774796][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909576.774850][2977:2977] CHIP:DMG: {
          [1657909576.774915][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909576.774968][2977:2977] CHIP:DMG:        [
          [1657909576.775017][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909576.775094][2977:2977] CHIP:DMG:                {
          [1657909576.775151][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909576.775237][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909576.775303][2977:2977] CHIP:DMG:                        Attribute = 0x0000_000F,
          [1657909576.775362][2977:2977] CHIP:DMG:                }
          [1657909576.775443][2977:2977] CHIP:DMG:
          [1657909576.775502][2977:2977] CHIP:DMG:        ],
          [1657909576.775560][2977:2977] CHIP:DMG:
          [1657909576.775615][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909576.775687][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909576.775735][2977:2977] CHIP:DMG: },
          [1657909576.775896][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909576.776099][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909576.776178][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute f is dirty
          [1657909576.776223][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_000F (expanded=0)
          [1657909576.776273][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909576.776352][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909576.776452][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4000) EnhancedCurrentHue attribute if
          CC.S.F01(EHue) is true"
      PICS: CC.C.A4000
      verification: |
          ./chip-tool colorcontrol read enhanced-current-hue 1 1

          Verify in DUT as client side log:
          [1657909627.086489][2977:2977] CHIP:IM: Received Read request
          [1657909627.086602][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909627.086641][2977:2977] CHIP:DMG: {
          [1657909627.086671][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909627.086706][2977:2977] CHIP:DMG:        [
          [1657909627.086753][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909627.086800][2977:2977] CHIP:DMG:                {
          [1657909627.086842][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909627.086898][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909627.086948][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4000,
          [1657909627.086994][2977:2977] CHIP:DMG:                }
          [1657909627.087049][2977:2977] CHIP:DMG:
          [1657909627.087085][2977:2977] CHIP:DMG:        ],
          [1657909627.087118][2977:2977] CHIP:DMG:
          [1657909627.087181][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909627.087217][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909627.087248][2977:2977] CHIP:DMG: },
          [1657909627.087363][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909627.087508][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909627.087569][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4000 is dirty
          [1657909627.087601][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4000 (expanded=0)
          [1657909627.087639][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909627.087694][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909627.087768][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4001) EnhancedColorMode attribute if
          CC.S.F02(CL) is true"
      PICS: CC.C.A4001
      verification: |
          ./chip-tool colorcontrol read enhanced-color-mode 1 1

          Verify in DUT as client side log:
          [1657909652.217887][2977:2977] CHIP:IM: Received Read request
          [1657909652.218015][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909652.218064][2977:2977] CHIP:DMG: {
          [1657909652.218104][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909652.218173][2977:2977] CHIP:DMG:        [
          [1657909652.218219][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909652.218269][2977:2977] CHIP:DMG:                {
          [1657909652.218320][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909652.218399][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909652.218456][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4001,
          [1657909652.218509][2977:2977] CHIP:DMG:                }
          [1657909652.218578][2977:2977] CHIP:DMG:
          [1657909652.218629][2977:2977] CHIP:DMG:        ],
          [1657909652.218680][2977:2977] CHIP:DMG:
          [1657909652.218744][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909652.218791][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909652.218832][2977:2977] CHIP:DMG: },
          [1657909652.218978][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909652.219145][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909652.219198][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4001 is dirty
          [1657909652.219254][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4001 (expanded=0)
          [1657909652.219305][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909652.219360][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909652.219467][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4002) ColorLoopActive attribute if
          CC.S.F02(CL) is true"
      PICS: CC.C.A4002
      verification: |
          ./chip-tool colorcontrol read color-loop-active 1 1

          Verify in DUT as client side log:
          [1657909711.352753][2977:2977] CHIP:IM: Received Read request
          [1657909711.352915][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909711.352973][2977:2977] CHIP:DMG: {
          [1657909711.353019][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909711.353095][2977:2977] CHIP:DMG:        [
          [1657909711.353146][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909711.353209][2977:2977] CHIP:DMG:                {
          [1657909711.353285][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909711.353354][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909711.353419][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4002,
          [1657909711.353497][2977:2977] CHIP:DMG:                }
          [1657909711.353558][2977:2977] CHIP:DMG:
          [1657909711.353616][2977:2977] CHIP:DMG:        ],
          [1657909711.353692][2977:2977] CHIP:DMG:
          [1657909711.353749][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909711.353801][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909711.353849][2977:2977] CHIP:DMG: },
          [1657909711.354014][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909711.354197][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909711.354275][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4002 is dirty
          [1657909711.354321][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4002 (expanded=0)
          [1657909711.354371][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909711.354448][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909711.354550][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4003) ColorLoopDirection attribute if
          CC.S.F02(CL) is true"
      PICS: CC.C.A4003
      verification: |
          ./chip-tool colorcontrol read color-loop-direction 1 1

          Verify in DUT as client side log:
          [1657909741.232136][2977:2977] CHIP:IM: Received Read request
          [1657909741.232261][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909741.232310][2977:2977] CHIP:DMG: {
          [1657909741.232367][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909741.232416][2977:2977] CHIP:DMG:        [
          [1657909741.232460][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909741.232509][2977:2977] CHIP:DMG:                {
          [1657909741.232578][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909741.232632][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909741.232705][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4003,
          [1657909741.232775][2977:2977] CHIP:DMG:                }
          [1657909741.232827][2977:2977] CHIP:DMG:
          [1657909741.232878][2977:2977] CHIP:DMG:        ],
          [1657909741.232947][2977:2977] CHIP:DMG:
          [1657909741.232995][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909741.233041][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909741.233105][2977:2977] CHIP:DMG: },
          [1657909741.233240][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909741.233409][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909741.233463][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4003 is dirty
          [1657909741.233502][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4003 (expanded=0)
          [1657909741.233552][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909741.233623][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909741.233711][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4004) ColorLoopTime attribute if
          CC.S.F02(CL) is true"
      PICS: CC.C.A4004
      verification: |
          ./chip-tool colorcontrol read color-loop-time 1 1

          Verify in DUT as client side log:
          [1657909771.649273][2977:2977] CHIP:IM: Received Read request
          [1657909771.649413][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909771.649468][2977:2977] CHIP:DMG: {
          [1657909771.649542][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909771.649600][2977:2977] CHIP:DMG:        [
          [1657909771.649650][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909771.649725][2977:2977] CHIP:DMG:                {
          [1657909771.649784][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909771.649853][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909771.649936][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4004,
          [1657909771.649997][2977:2977] CHIP:DMG:                }
          [1657909771.650055][2977:2977] CHIP:DMG:
          [1657909771.650128][2977:2977] CHIP:DMG:        ],
          [1657909771.650188][2977:2977] CHIP:DMG:
          [1657909771.650243][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909771.650316][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909771.650365][2977:2977] CHIP:DMG: },
          [1657909771.650530][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909771.650710][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909771.650770][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4004 is dirty
          [1657909771.650814][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4004 (expanded=0)
          [1657909771.650888][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909771.650954][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909771.651052][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4005) ColorLoopStartEnhancedHue
          attribute if CC.S.F02(CL) is true"
      PICS: CC.C.A4005
      verification: |
          ./chip-tool colorcontrol read color-loop-start-enhanced-hue 1 1

          Verify in DUT as client side log:
          [1657909997.529812][2977:2977] CHIP:IM: Received Read request
          [1657909997.530002][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657909997.530053][2977:2977] CHIP:DMG: {
          [1657909997.530093][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657909997.530145][2977:2977] CHIP:DMG:        [
          [1657909997.530189][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657909997.530243][2977:2977] CHIP:DMG:                {
          [1657909997.530298][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657909997.530358][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657909997.530416][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4005,
          [1657909997.530470][2977:2977] CHIP:DMG:                }
          [1657909997.530521][2977:2977] CHIP:DMG:
          [1657909997.530571][2977:2977] CHIP:DMG:        ],
          [1657909997.530677][2977:2977] CHIP:DMG:
          [1657909997.530708][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657909997.530737][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657909997.530821][2977:2977] CHIP:DMG: },
          [1657909997.530943][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657909997.531048][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657909997.531081][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4005 is dirty
          [1657909997.531105][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4005 (expanded=0)
          [1657909997.531139][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657909997.531175][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657909997.531238][2977:2977] CHIP:DMG: <RE> Sending report (payload has 39 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4006) ColorLoopStoredEnhancedHue
          attribute if CC.S.F02(CL) is true"
      PICS: CC.C.A4006
      verification: |
          ./chip-tool colorcontrol read color-loop-stored-enhanced-hue 1 1

          Verify in DUT as client side log:
          [1657910020.977065][2977:2977] CHIP:IM: Received Read request
          [1657910020.977155][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910020.977187][2977:2977] CHIP:DMG: {
          [1657910020.977213][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910020.977249][2977:2977] CHIP:DMG:        [
          [1657910020.977277][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910020.977313][2977:2977] CHIP:DMG:                {
          [1657910020.977349][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910020.977390][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910020.977432][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4006,
          [1657910020.977470][2977:2977] CHIP:DMG:                }
          [1657910020.977499][2977:2977] CHIP:DMG:
          [1657910020.977524][2977:2977] CHIP:DMG:        ],
          [1657910020.977556][2977:2977] CHIP:DMG:
          [1657910020.977587][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910020.977619][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910020.977646][2977:2977] CHIP:DMG: },
          [1657910020.977738][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910020.977852][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910020.977889][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4006 is dirty
          [1657910020.977913][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4006 (expanded=0)
          [1657910020.977947][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910020.977985][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910020.978052][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x400a) ColorCapabilities attribute"
      PICS: CC.C.A400a
      verification: |
          ./chip-tool colorcontrol read color-capabilities 1 1

          Verify in DUT as client side log:
          [1657910072.897195][2977:2977] CHIP:IM: Received Read request
          [1657910072.897323][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910072.897371][2977:2977] CHIP:DMG: {
          [1657910072.897411][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910072.897459][2977:2977] CHIP:DMG:        [
          [1657910072.897502][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910072.897552][2977:2977] CHIP:DMG:                {
          [1657910072.897604][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910072.897662][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910072.897718][2977:2977] CHIP:DMG:                        Attribute = 0x0000_400A,
          [1657910072.897766][2977:2977] CHIP:DMG:                }
          [1657910072.897818][2977:2977] CHIP:DMG:
          [1657910072.897865][2977:2977] CHIP:DMG:        ],
          [1657910072.897916][2977:2977] CHIP:DMG:
          [1657910072.897963][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910072.898010][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910072.898053][2977:2977] CHIP:DMG: },
          [1657910072.898187][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910072.898330][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910072.898381][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400a is dirty
          [1657910072.898420][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400A (expanded=0)
          [1657910072.898470][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910072.898525][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910072.898615][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x400b) ColorTempPhysicalMinMireds
          attribute if CC.S.F04(CT) is true"
      PICS: CC.C.A400b
      verification: |
          ./chip-tool colorcontrol read color-temp-physical-min-mireds  1 1

          Verify in DUT as client side log:
          [1657910109.902989][2977:2977] CHIP:IM: Received Read request
          [1657910109.903095][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910109.903134][2977:2977] CHIP:DMG: {
          [1657910109.903161][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910109.903199][2977:2977] CHIP:DMG:        [
          [1657910109.903234][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910109.903274][2977:2977] CHIP:DMG:                {
          [1657910109.903315][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910109.903367][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910109.903413][2977:2977] CHIP:DMG:                        Attribute = 0x0000_400B,
          [1657910109.903455][2977:2977] CHIP:DMG:                }
          [1657910109.903496][2977:2977] CHIP:DMG:
          [1657910109.903533][2977:2977] CHIP:DMG:        ],
          [1657910109.903574][2977:2977] CHIP:DMG:
          [1657910109.903612][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910109.903649][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910109.903683][2977:2977] CHIP:DMG: },
          [1657910109.903792][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910109.903912][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910109.903956][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400b is dirty
          [1657910109.903989][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400B (expanded=0)
          [1657910109.904030][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910109.904110][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910109.904190][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x400c) ColorTempPhysicalMaxMireds
          attribute if CC.S.F04(CT) is true"
      PICS: CC.C.A400c
      verification: |
          ./chip-tool colorcontrol read color-temp-physical-max-mireds 1 1

          Verify in DUT as client side log:
          [1657910176.514563][2977:2977] CHIP:IM: Received Read request
          [1657910176.514690][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910176.514738][2977:2977] CHIP:DMG: {
          [1657910176.514779][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910176.514826][2977:2977] CHIP:DMG:        [
          [1657910176.514869][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910176.514919][2977:2977] CHIP:DMG:                {
          [1657910176.514970][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910176.515028][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910176.515084][2977:2977] CHIP:DMG:                        Attribute = 0x0000_400C,
          [1657910176.515137][2977:2977] CHIP:DMG:                }
          [1657910176.515188][2977:2977] CHIP:DMG:
          [1657910176.515238][2977:2977] CHIP:DMG:        ],
          [1657910176.515289][2977:2977] CHIP:DMG:
          [1657910176.515336][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910176.515382][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910176.515418][2977:2977] CHIP:DMG: },
          [1657910176.515548][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910176.515692][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910176.515743][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400c is dirty
          [1657910176.515782][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400C (expanded=0)
          [1657910176.515828][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910176.515881][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910176.515971][2977:2977] CHIP:DMG: <RE> Sending report (payload has 39 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x400d) CoupleColorTempToLevelMinMireds
          attribute if CC.S.F04(CT) or ColorTemperatureMireds is true"
      PICS: CC.C.A400d
      verification: |
          ./chip-tool colorcontrol read couple-color-temp-to-level-min-mireds 1 1

          Verify in DUT as client side log:
          [1657910205.278279][2977:2977] CHIP:IM: Received Read request
          [1657910205.278421][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910205.278474][2977:2977] CHIP:DMG: {
          [1657910205.278520][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910205.278578][2977:2977] CHIP:DMG:        [
          [1657910205.278628][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910205.278684][2977:2977] CHIP:DMG:                {
          [1657910205.278743][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910205.278809][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910205.278874][2977:2977] CHIP:DMG:                        Attribute = 0x0000_400D,
          [1657910205.279008][2977:2977] CHIP:DMG:                }
          [1657910205.279068][2977:2977] CHIP:DMG:
          [1657910205.279122][2977:2977] CHIP:DMG:        ],
          [1657910205.279180][2977:2977] CHIP:DMG:
          [1657910205.279234][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910205.279328][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910205.279380][2977:2977] CHIP:DMG: },
          [1657910205.279527][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910205.279685][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910205.279920][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 400d is dirty
          [1657910205.279968][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_400D (expanded=0)
          [1657910205.280139][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910205.280211][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910205.280314][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label:
          "DUT reads from the TH the (0x4010) StartUpColorTemperatureMireds
          attribute if CC.S.F04(CT) or ColorTemperatureMireds is true"
      PICS: CC.C.A4010
      verification: |
          ./chip-tool colorcontrol read start-up-color-temperature-mireds 1 1

          Verify in DUT as client side log:
          [1657910246.097315][2977:2977] CHIP:IM: Received Read request
          [1657910246.097460][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910246.097516][2977:2977] CHIP:DMG: {
          [1657910246.097562][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910246.097616][2977:2977] CHIP:DMG:        [
          [1657910246.097666][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910246.097728][2977:2977] CHIP:DMG:                {
          [1657910246.097790][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910246.097852][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910246.097916][2977:2977] CHIP:DMG:                        Attribute = 0x0000_4010,
          [1657910246.097982][2977:2977] CHIP:DMG:                }
          [1657910246.098045][2977:2977] CHIP:DMG:
          [1657910246.098099][2977:2977] CHIP:DMG:        ],
          [1657910246.098158][2977:2977] CHIP:DMG:
          [1657910246.098213][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910246.098266][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910246.098315][2977:2977] CHIP:DMG: },
          [1657910246.098461][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910246.098624][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910246.098684][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 4010 is dirty
          [1657910246.098728][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_4010 (expanded=0)
          [1657910246.098785][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910246.098846][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910246.098946][2977:2977] CHIP:DMG: <RE> Sending report (payload has 38 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0010) NumberOfPrimaries attribute"
      PICS: CC.C.A0010
      verification: |
          ./chip-tool colorcontrol read number-of-primaries 1 1

          Verify in DUT as client side log:
          [1657910445.890552][2977:2977] CHIP:IM: Received Read request
          [1657910445.890635][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910445.890664][2977:2977] CHIP:DMG: {
          [1657910445.890686][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910445.890713][2977:2977] CHIP:DMG:        [
          [1657910445.890737][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910445.890764][2977:2977] CHIP:DMG:                {
          [1657910445.890792][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910445.890830][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910445.890867][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0010,
          [1657910445.890896][2977:2977] CHIP:DMG:                }
          [1657910445.890924][2977:2977] CHIP:DMG:
          [1657910445.890950][2977:2977] CHIP:DMG:        ],
          [1657910445.890978][2977:2977] CHIP:DMG:
          [1657910445.891006][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910445.891031][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910445.891054][2977:2977] CHIP:DMG: },
          [1657910445.891135][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910445.891242][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910445.891275][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 10 is dirty
          [1657910445.891297][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0010 (expanded=0)
          [1657910445.891327][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910445.891361][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910445.891422][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0011) Primary1X attribute"
      PICS: CC.C.A0011
      verification: |
          ./chip-tool colorcontrol read  primary1x 1 1

          Verify in DUT as client side log:
          [1657910568.808716][2977:2977] CHIP:IM: Received Read request
          [1657910568.808876][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910568.809073][2977:2977] CHIP:DMG: {
          [1657910568.809131][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910568.809193][2977:2977] CHIP:DMG:        [
          [1657910568.809243][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910568.809308][2977:2977] CHIP:DMG:                {
          [1657910568.809375][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910568.809461][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910568.809539][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0011,
          [1657910568.809621][2977:2977] CHIP:DMG:                }
          [1657910568.809691][2977:2977] CHIP:DMG:
          [1657910568.809754][2977:2977] CHIP:DMG:        ],
          [1657910568.809823][2977:2977] CHIP:DMG:
          [1657910568.809886][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910568.809950][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910568.810007][2977:2977] CHIP:DMG: },
          [1657910568.810175][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910568.810365][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910568.810433][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 11 is dirty
          [1657910568.810484][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0011 (expanded=0)
          [1657910568.810548][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910568.810618][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910568.810719][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0012) Primary1Y attribute"
      PICS: CC.C.A0012
      verification: |
          ./chip-tool colorcontrol read  primary1y 1 1

          Verify in DUT as client side log:
          [1657910588.961223][2977:2977] CHIP:IM: Received Read request
          [1657910588.961366][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910588.961422][2977:2977] CHIP:DMG: {
          [1657910588.961468][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910588.961522][2977:2977] CHIP:DMG:        [
          [1657910588.961572][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910588.961633][2977:2977] CHIP:DMG:                {
          [1657910588.961692][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910588.961757][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910588.961828][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0012,
          [1657910588.961895][2977:2977] CHIP:DMG:                }
          [1657910588.961955][2977:2977] CHIP:DMG:
          [1657910588.962012][2977:2977] CHIP:DMG:        ],
          [1657910588.962070][2977:2977] CHIP:DMG:
          [1657910588.962125][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910588.962177][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910588.962226][2977:2977] CHIP:DMG: },
          [1657910588.962370][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910588.962529][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910588.962715][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 12 is dirty
          [1657910588.962764][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0012 (expanded=0)
          [1657910588.962822][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910588.962885][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910588.962985][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0013) Primary1Intensity attribute"
      PICS: CC.C.A0013
      verification: |
          ./chip-tool colorcontrol read primary1intensity 1 1

          Verify in DUT as client side log:
          [1657910622.925613][2977:2977] CHIP:IM: Received Read request
          [1657910622.925739][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910622.925788][2977:2977] CHIP:DMG: {
          [1657910622.925827][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910622.925874][2977:2977] CHIP:DMG:        [
          [1657910622.925918][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910622.925973][2977:2977] CHIP:DMG:                {
          [1657910622.926028][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910622.926088][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910622.926144][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0013,
          [1657910622.926197][2977:2977] CHIP:DMG:                }
          [1657910622.926249][2977:2977] CHIP:DMG:
          [1657910622.926359][2977:2977] CHIP:DMG:        ],
          [1657910622.926413][2977:2977] CHIP:DMG:
          [1657910622.926572][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910622.926623][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910622.926718][2977:2977] CHIP:DMG: },
          [1657910622.926850][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910622.926998][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910622.927049][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 13 is dirty
          [1657910622.927137][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0013 (expanded=0)
          [1657910622.927192][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910622.927246][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910622.927384][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0015) Primary2X attribute"
      PICS: CC.C.A0015
      verification: |
          ./chip-tool colorcontrol read primary2x 1 1

          Verify in DUT as client side log:
          [1657910659.885682][2977:2977] CHIP:IM: Received Read request
          [1657910659.885821][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910659.885876][2977:2977] CHIP:DMG: {
          [1657910659.885922][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910659.885976][2977:2977] CHIP:DMG:        [
          [1657910659.886027][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910659.886089][2977:2977] CHIP:DMG:                {
          [1657910659.886151][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910659.886215][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910659.886287][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0015,
          [1657910659.886354][2977:2977] CHIP:DMG:                }
          [1657910659.886414][2977:2977] CHIP:DMG:
          [1657910659.886467][2977:2977] CHIP:DMG:        ],
          [1657910659.886526][2977:2977] CHIP:DMG:
          [1657910659.886581][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910659.886633][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910659.886803][2977:2977] CHIP:DMG: },
          [1657910659.886955][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910659.887119][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910659.887178][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 15 is dirty
          [1657910659.887222][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0015 (expanded=0)
          [1657910659.887278][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910659.887339][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910659.887439][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0016) Primary2Y attribute"
      PICS: CC.C.A0016
      verification: |
          ./chip-tool colorcontrol read primary2y 1 1

          Verify in DUT as client side log:
          [1657910687.168648][2977:2977] CHIP:IM: Received Read request
          [1657910687.168754][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910687.168793][2977:2977] CHIP:DMG: {
          [1657910687.168825][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910687.168863][2977:2977] CHIP:DMG:        [
          [1657910687.168898][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910687.168937][2977:2977] CHIP:DMG:                {
          [1657910687.168979][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910687.169032][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910687.169078][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0016,
          [1657910687.169114][2977:2977] CHIP:DMG:                }
          [1657910687.169157][2977:2977] CHIP:DMG:
          [1657910687.169196][2977:2977] CHIP:DMG:        ],
          [1657910687.169237][2977:2977] CHIP:DMG:
          [1657910687.169275][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910687.169312][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910687.169346][2977:2977] CHIP:DMG: },
          [1657910687.169453][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910687.169572][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910687.169613][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 16 is dirty
          [1657910687.169645][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0016 (expanded=0)
          [1657910687.169685][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910687.169731][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910687.169804][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0017) Primary2Intensity attribute"
      PICS: CC.C.A0017
      verification: |
          ./chip-tool colorcontrol read primary2intensity 1 1

          Verify in DUT as client side log:
          [1657910837.125032][2977:2977] CHIP:IM: Received Read request
          [1657910837.125157][2977:2977] CHIP:DMG: ReadRequestMessage =
          [1657910837.125206][2977:2977] CHIP:DMG: {
          [1657910837.125246][2977:2977] CHIP:DMG:        AttributePathIBs =
          [1657910837.125293][2977:2977] CHIP:DMG:        [
          [1657910837.125337][2977:2977] CHIP:DMG:                AttributePathIB =
          [1657910837.125387][2977:2977] CHIP:DMG:                {
          [1657910837.125438][2977:2977] CHIP:DMG:                        Endpoint = 0x1,
          [1657910837.125502][2977:2977] CHIP:DMG:                        Cluster = 0x300,
          [1657910837.125559][2977:2977] CHIP:DMG:                        Attribute = 0x0000_0017,
          [1657910837.125613][2977:2977] CHIP:DMG:                }
          [1657910837.125664][2977:2977] CHIP:DMG:
          [1657910837.125711][2977:2977] CHIP:DMG:        ],
          [1657910837.125762][2977:2977] CHIP:DMG:
          [1657910837.125810][2977:2977] CHIP:DMG:        isFabricFiltered = true,
          [1657910837.125856][2977:2977] CHIP:DMG:        InteractionModelRevision = 1
          [1657910837.125898][2977:2977] CHIP:DMG: },
          [1657910837.126026][2977:2977] CHIP:DMG: IM RH moving to [GeneratingReports]
          [1657910837.126169][2977:2977] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
          [1657910837.126221][2977:2977] CHIP:DMG: <RE:Run> Cluster 300, Attribute 17 is dirty
          [1657910837.126259][2977:2977] CHIP:DMG: Reading attribute: Cluster=0x0000_0300 Endpoint=1 AttributeId=0x0000_0017 (expanded=0)
          [1657910837.126309][2977:2977] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v
          [1657910837.126365][2977:2977] CHIP:DMG: AccessControl: allowed
          [1657910837.126452][2977:2977] CHIP:DMG: <RE> Sending report (payload has 37 bytes)...
      disabled: true

    - label: "DUT reads from the TH the (0x0019) Primary3X attribute"
      PICS: CC.C.A0019
      verification: |
          ./chip-tool colorcontrol read primary3x 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0019,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x001a) Primary3Y attribute"
      PICS: CC.C.A001a
      verification: |
          ./chip-tool colorcontrol read primary3y 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300
          CHIP:DMG:                        Attribute = 0x0000_001A,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x001b) Primary3Intensity attribute"
      PICS: CC.C.A001b
      verification: |
          ./chip-tool colorcontrol read primary3intensity 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_001B,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0020) Primary4X attribute"
      PICS: CC.C.A0020
      verification: |
          ./chip-tool colorcontrol read primary4x 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0020,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0021) Primary4Y attribute"
      PICS: CC.C.A0021
      verification: |
          ./chip-tool colorcontrol read primary4y 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0021,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0022) Primary4Intensity attribute"
      PICS: CC.C.A0022
      verification: |
          ./chip-tool colorcontrol read primary4intensity 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0022,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0024) Primary5X attribute"
      PICS: CC.C.A0024
      verification: |
          ./chip-tool colorcontrol read primary5x 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0024,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0025) Primary5Y attribute"
      PICS: CC.C.A0025
      verification: |
          ./chip-tool colorcontrol read primary5y 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0025,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0026) Primary5Intensity attribute"
      PICS: CC.C.A0026
      verification: |
          ./chip-tool colorcontrol read primary5intensity 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0026,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0028) Primary6X attribute"
      PICS: CC.C.A0028
      verification: |
          ./chip-tool colorcontrol read primary6x 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0028,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x0029) Primary6Y attribute"
      PICS: CC.C.A0029
      verification: |
          ./chip-tool colorcontrol read primary6y 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0029,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the (0x002a) Primary6Intensity attribute"
      PICS: CC.C.A002a
      verification: |
          ./chip-tool colorcontrol read primary6intensity 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_002a,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the Optional (0x0030) WhitePointX attribute"
      PICS: CC.C.A0030
      verification: |
          ./chip-tool colorcontrol read white-point-x   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0030,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label: "DUT reads from the TH the Optional (0x0031) WhitePointY attribute"
      PICS: CC.C.A0031
      verification: |
          ./chip-tool colorcontrol read white-point-y 1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0031,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0032) ColorPointRX attribute"
      PICS: CC.C.A0032
      verification: |
          ./chip-tool colorcontrol read color-point-rx   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0032,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0033) ColorPointRY attribute"
      PICS: CC.C.A0033
      verification: |
          ./chip-tool colorcontrol read color-point-ry   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0033,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0034) ColorPointRIntensity
          attribute"
      PICS: CC.C.A0034
      verification: |
          ./chip-tool colorcontrol read color-point-rintensity   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0034,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0036) ColorPointGX attribute"
      PICS: CC.C.A0036
      verification: |
          ./chip-tool colorcontrol read color-point-gx   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0036,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0037) ColorPointGY attribute"
      PICS: CC.C.A0037
      verification: |
          ./chip-tool colorcontrol read color-point-gy   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0037,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x0038) ColorPointGIntensity
          attribute"
      PICS: CC.C.A0038
      verification: |
          ./chip-tool colorcontrol read color-point-gintensity   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_0038,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x003a) ColorPointBX attribute"
      PICS: CC.C.A003a
      verification: |
          ./chip-tool colorcontrol read color-point-bx   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_003a,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x003b) ColorPointBY attribute"
      PICS: CC.C.A003b
      verification: |
          ./chip-tool colorcontrol read color-point-by   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_003b,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true

    - label:
          "DUT reads from the TH the Optional (0x003c) ColorPointBIntensity
          attribute"
      PICS: CC.C.A003c
      verification: |
          ./chip-tool colorcontrol read color-point-bintensity   1 1

          Verify in DUT as client side log:
          CHIP:IM: Received Read request
          CHIP:DMG: ReadRequestMessage =
          CHIP:DMG: {
          CHIP:DMG:        AttributePathIBs =
          CHIP:DMG:        [
          CHIP:DMG:                AttributePathIB =
          CHIP:DMG:                {
          CHIP:DMG:                        Endpoint = 0x1,
          CHIP:DMG:                        Cluster = 0x300,
          CHIP:DMG:                        Attribute = 0x0000_003c,
          CHIP:DMG:                }
          CHIP:DMG:
          CHIP:DMG:        ],
          CHIP:DMG:
          CHIP:DMG:        isFabricFiltered = true,
          CHIP:DMG:        InteractionModelRevision = 1
          CHIP:DMG: },
      disabled: true
