# Copyright (c) 2023 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:
    32.4.2. [TC-IDM-4.2] Subscription Response Messages from DUT Test Cases.
    [DUT as Server]

PICS:
    - MCORE.IDM.S

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

tests:
    - label: "Notes/Testing Considerations"
      verification: |
          1. The Cluster and Commands should be based on the cluster implementation on the DUT.
          2. The cluster used in the below test steps is an example, User can use any supported chip cluster/attribute/command.
      disabled: true

    - label: "Pre condition"
      verification: |
          Please use Interactive mode to Verify subscription test cases
          Here the command to enter interactive mode:-- ./chip-tool interactive start
      disabled: true

    - label: "Step 0a: SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT = 60 mins"
      PICS: " !ICDM.S "
      verification: |
          When the ICDM feature is not supported or enabled, the SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT is set to 60 minutes.
      disabled: true

    - label: "Step 0b: CR1 reads from the DUT the IdleModeDuration attribute."
      PICS: ICDM.S
      verification: |
          CR1 reads from the DUT the IdleModeDuration attribute by sending below mentioned command

          icdmanagement read idle-mode-interval 1 0

          Please note down the value of IdleModeDuration as SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT for use in the next step validations.

          [1692870543.225457][7160:7162] CHIP:DMG:         SuppressResponse = true,
          [1692870543.225495][7160:7162] CHIP:DMG:         InteractionModelRevision = 10
          [1692870543.225528][7160:7162] CHIP:DMG: }
          [1692870543.225723][7160:7162] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_0000 DataVersion: 4022467249
          [1692870543.225795][7160:7162] CHIP:TOO:   IdleModeDuration: 2000
          [1692870543.225992][7160:7162] CHIP:EM: <<< [E:52837i S:57653 M:52559591 (Ack:263018291)] (S) Msg TX to 1:0000000000000001 [853D] --- Type 0000:10 (SecureChannel:StandaloneAck)
      disabled: true

    - label:
          "Step 1: CR1 sends a subscription message to the DUT with
          MaxIntervalCeiling set to a value greater than
          SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. DUT sends a report data
          action to the TH. CR1 sends a success status response to the DUT. DUT
          sends a Subscribe Response Message to the CR1 to activate the
          subscription."
      verification: |
          Please run the following command on the TH to test the subscription feature and verify that the value of MaxIntervalCeiling is set correctly(set the value greater than SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT)

          onoff subscribe on-off  100 600 1 1 --keepSubscriptions true

          On the CR1( chip-tool), verify a report data message is received and verify it contains the following data :
          1. Verify Report Data Message Received:
            Check if a report data message is received on the CR1.

          2. Verify Report Data Contents:
            Confirm that the received report data message contains the data of the attribute/event that was previously requested.

          3. Verify Subscribe Response Fields:
            Examine the Subscribe Response to ensure it includes the following fields:
            SubscriptionId: Verify that it is of type uint32.
            Verify MaxInterval Field:

          4. Check for an additional field in the Subscribe Response:
            MaxInterval: Verify that it is of type uint32.

          5. Verify MaxInterval against MaxIntervalCeiling:
            Compare the MaxInterval value received in the Subscribe Response to the MaxIntervalCeiling value to verify that MaxInterval is less than or equal to      MaxIntervalCeiling.

          [1693221742.765461][22261:22263] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 523169586
          [1693221742.765473][22261:22263] CHIP:TOO:   OnOff: FALSE
          [1693221742.765495][22261:22263] CHIP:DMG: MoveToState ReadClient[0x7f6070027e40]: Moving to [AwaitingSu]
          [1693221742.765530][22261:22263] CHIP:EM: <<< [E:26388i S:13043 M:192043500 (Ack:11734613)] (S) Msg TX to 1:0000000000000001 [3DC0] --- Type 0001:01 (IM:StatusResponse)
          [1693221742.765542][22261:22263] CHIP:IN: (S) Sending msg 192043500 on secure session with LSID: 13043
          [1693221742.765587][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
          [1693221742.765594][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
          [1693221742.765981][22261:22263] CHIP:EM: >>> [E:26388i S:13043 M:11734614 (Ack:192043500)] (S) Msg RX from 1:0000000000000001 [3DC0] --- Type 0001:04 (IM:SubscribeResponse)
          [1693221742.765991][22261:22263] CHIP:EM: Found matching exchange: 26388i, Delegate: 0x7f6070027e50
          [1693221742.766002][22261:22263] CHIP:EM: Rxd Ack; Removing MessageCounter:192043500 from Retrans Table on exchange 26388i
          [1693221742.766012][22261:22263] CHIP:DMG: SubscribeResponse is received
          [1693221742.766025][22261:22263] CHIP:DMG: SubscribeResponseMessage =
          [1693221742.766031][22261:22263] CHIP:DMG: {
          [1693221742.766038][22261:22263] CHIP:DMG:         SubscriptionId = 0x15e2f82f,
          [1693221742.766045][22261:22263] CHIP:DMG:         MaxInterval = 0x64,
          [1693221742.766051][22261:22263] CHIP:DMG:         InteractionModelRevision = 10
          [1693221742.766057][22261:22263] CHIP:DMG: }
          [1693221742.766068][22261:22263] CHIP:DMG: Subscription established with SubscriptionID = 0x15e2f82f MinInterval = 100s MaxInterval = 100s Peer = 01:0000000000000001
      disabled: true

    - label:
          "Step 2: CR1 sends a subscription message to the DUT with
          MaxIntervalCeiling set to a value less than
          SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. DUT sends a report data
          action to the CR1. CR1 sends a success status response to the DUT. DUT
          sends a Subscribe Response Message to the CR1 to activate the
          subscription."
      verification: |
          Please run the following command on the TH to test the subscription feature and verify that the value of MaxIntervalCeiling is set correctly( set the value less than SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT)


          basicinformation subscribe location 10 400 1 0 --keepSubscriptions true

          On the CR1(chip-tool), verify a report data message is received and verify it contains the following data :
          1. Verify Report Data Message Received:
                Check if a report data message is received on the CR1 (target hardware).

          2. Verify Report Data Contents:
                Confirm that the received report data message contains the data of the attribute/event that was previously requested.

          3. Verify Subscribe Response Fields:
              Examine the Subscribe Response to ensure it includes the following fields:
              SubscriptionId: Verify that it is of type uint32.
              MaxInterval: Verify that it is of type uint32.

          4. Verify MaxInterval against SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT:
              Compare the MaxInterval value received in the Subscribe Response to the value of SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT.
                Verify that the MaxInterval value is less than or equal to SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT.

          [1693221766.862968][22261:22263] CHIP:DMG: }
          [1693221766.863028][22261:22263] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 1552486032
          [1693221766.863045][22261:22263] CHIP:TOO:   Location: XX
          [1693221766.863068][22261:22263] CHIP:DMG: MoveToState ReadClient[0x7f6070027b50]: Moving to [AwaitingSu]
          [1693221766.863114][22261:22263] CHIP:EM: <<< [E:26389i S:13043 M:192043503 (Ack:11734615)] (S) Msg TX to 1:0000000000000001 [3DC0] --- Type 0001:01 (IM:StatusResponse)
          [1693221766.863130][22261:22263] CHIP:IN: (S) Sending msg 192043503 on secure session with LSID: 13043
          [1693221766.863196][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
          [1693221766.863207][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
          [1693221766.863559][22261:22263] CHIP:EM: >>> [E:26389i S:13043 M:11734616 (Ack:192043503)] (S) Msg RX from 1:0000000000000001 [3DC0] --- Type 0001:04 (IM:SubscribeResponse)
          [1693221766.863569][22261:22263] CHIP:EM: Found matching exchange: 26389i, Delegate: 0x7f6070027b60
          [1693221766.863584][22261:22263] CHIP:EM: Rxd Ack; Removing MessageCounter:192043503 from Retrans Table on exchange 26389i
          [1693221766.863603][22261:22263] CHIP:DMG: SubscribeResponse is received
          [1693221766.863620][22261:22263] CHIP:DMG: SubscribeResponseMessage =
          [1693221766.863629][22261:22263] CHIP:DMG: {
          [1693221766.863639][22261:22263] CHIP:DMG:         SubscriptionId = 0x83e461d9,
          [1693221766.863651][22261:22263] CHIP:DMG:         MaxInterval = 0xa,
          [1693221766.863661][22261:22263] CHIP:DMG:         InteractionModelRevision = 10
          [1693221766.863667][22261:22263] CHIP:DMG: }
          [1693221766.863677][22261:22263] CHIP:DMG: Subscription established with SubscriptionID = 0x83e461d9 MinInterval = 10s MaxInterval = 10s Peer = 01:0000000000000001
      disabled: true

    - label:
          "Step 3: Setup CR2 such that it does not have access to a specific
          cluster. CR2 sends a subscription message to subscribe to an attribute
          on that cluster for which it does not have access. AttributePath =
          [[Attribute = Attribute, Cluster = ClusterID, Endpoint = EndpointID
          ]]."
      verification: |
          To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure TH2 without access to a specific cluster, we send the ACL command, allowing access only to the Level Control cluster (cluster ID: 8); any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION

          accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":8, "endpoint":null, "deviceType":null}]}]' 1 0

          [1689933254.566655][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:156974239 from Retrans Table on exchange 6316i
          [1689933254.566660][48781:48783] CHIP:DMG: WriteClient moving to [ResponseRe]
          [1689933254.566671][48781:48783] CHIP:DMG: WriteResponseMessage =
          [1689933254.566675][48781:48783] CHIP:DMG: {
          [1689933254.566677][48781:48783] CHIP:DMG:         AttributeStatusIBs =
          [1689933254.566682][48781:48783] CHIP:DMG:         [
          [1689933254.566684][48781:48783] CHIP:DMG:                 AttributeStatusIB =
          [1689933254.566688][48781:48783] CHIP:DMG:                 {
          [1689933254.566691][48781:48783] CHIP:DMG:                         AttributePathIB =
          [1689933254.566695][48781:48783] CHIP:DMG:                         {
          [1689933254.566698][48781:48783] CHIP:DMG:                                 Endpoint = 0x0,
          [1689933254.566702][48781:48783] CHIP:DMG:                                 Cluster = 0x1f,
          [1689933254.566705][48781:48783] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1689933254.566708][48781:48783] CHIP:DMG:                         }
          [1689933254.566713][48781:48783] CHIP:DMG:
          [1689933254.566716][48781:48783] CHIP:DMG:                         StatusIB =
          [1689933254.566720][48781:48783] CHIP:DMG:                         {
          [1689933254.566723][48781:48783] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1689933254.566726][48781:48783] CHIP:DMG:                         },
          [1689933254.566730][48781:48783] CHIP:DMG:
          [1689933254.566732][48781:48783] CHIP:DMG:                 },
          [1689933254.566739][48781:48783] CHIP:DMG:
          [1689933254.566741][48781:48783] CHIP:DMG:                 AttributeStatusIB =
          [1689933254.566744][48781:48783] CHIP:DMG:                 {
          [1689933254.566747][48781:48783] CHIP:DMG:                         AttributePathIB =
          [1689933254.566750][48781:48783] CHIP:DMG:                         {
          [1689933254.566752][48781:48783] CHIP:DMG:                                 Endpoint = 0x0,
          [1689933254.566756][48781:48783] CHIP:DMG:                                 Cluster = 0x1f,
          [1689933254.566760][48781:48783] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1689933254.566763][48781:48783] CHIP:DMG:                                 ListIndex = Null,
          [1689933254.566766][48781:48783] CHIP:DMG:                         }
          [1689933254.566770][48781:48783] CHIP:DMG:
          [1689933254.566773][48781:48783] CHIP:DMG:                         StatusIB =
          [1689933254.566776][48781:48783] CHIP:DMG:                         {
          [1689933254.566779][48781:48783] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1689933254.566782][48781:48783] CHIP:DMG:                         },
          [1689933254.566786][48781:48783] CHIP:DMG:
          [1689933254.566789][48781:48783] CHIP:DMG:                 },
          [1689933254.566794][48781:48783] CHIP:DMG:
          [1689933254.566797][48781:48783] CHIP:DMG:                 AttributeStatusIB =
          [1689933254.566800][48781:48783] CHIP:DMG:                 {
          [1689933254.566802][48781:48783] CHIP:DMG:                         AttributePathIB =
          [1689933254.566805][48781:48783] CHIP:DMG:                         {
          [1689933254.566808][48781:48783] CHIP:DMG:                                 Endpoint = 0x0,
          [1689933254.566811][48781:48783] CHIP:DMG:                                 Cluster = 0x1f,
          [1689933254.566815][48781:48783] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1689933254.566818][48781:48783] CHIP:DMG:                                 ListIndex = Null,
          [1689933254.566821][48781:48783] CHIP:DMG:                         }
          [1689933254.566825][48781:48783] CHIP:DMG:
          [1689933254.566828][48781:48783] CHIP:DMG:                         StatusIB =
          [1689933254.566831][48781:48783] CHIP:DMG:                         {
          [1689933254.566834][48781:48783] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1689933254.566837][48781:48783] CHIP:DMG:                         },
          [1689933254.566840][48781:48783] CHIP:DMG:
          [1689933254.566843][48781:48783] CHIP:DMG:                 },
          [1689933254.566847][48781:48783] CHIP:DMG:
          [1689933254.566849][48781:48783] CHIP:DMG:         ],
          [1689933254.566857][48781:48783] CHIP:DMG:
          [1689933254.566859][48781:48783] CHIP:DMG:         InteractionModelRevision = 1
          [1689933254.566862][48781:48783] CHIP:DMG: }
          [1689933254.566897][48781:48783] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1689933254.566916][48781:48783] CHIP:EM: <<< [E:6316i S:13964 M:156974240 (Ack:46397313)] (S) Msg TX to 1:0000000000000001 [B15F] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1689933254.566922][48781:48783] CHIP:IN: (S) Sending msg 156974240 on secure session with LSID: 13964

          If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form [[Attribute = AttributeName, Cluster = ClusterID, Endpoint = EndpointID]], but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.

          below provided the  example command used to subscribe location attribute from basicinformation cluster from node id(4) that have access to the “levelcontrol” cluster

           basicinformation subscribe location 10 2400 1 0  --commissioner-nodeid  4
          [1689933387.304826][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:42350588 from Retrans Table on exchange 6319i
          [1689933387.304834][48781:48783] CHIP:DMG: StatusResponseMessage =
          [1689933387.304838][48781:48783] CHIP:DMG: {
          [1689933387.304841][48781:48783] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1689933387.304845][48781:48783] CHIP:DMG:         InteractionModelRevision = 1
          [1689933387.304846][48781:48783] CHIP:DMG: }
          [1689933387.304850][48781:48783] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
          [1689933387.304864][48781:48783] CHIP:EM: <<< [E:6319i S:13965 M:42350589 (Ack:227168589)] (S) Msg TX to 2:0000000000000001 [B15F] --- Type 0001:01 (IM:StatusResponse)
          [1689933387.304869][48781:48783] CHIP:IN: (S) Sending msg 42350589 on secure session with LSID: 13965
          [1689933387.304882][48781:48783] CHIP:DMG: MoveToState ReadClient[0x7fd404019110]: Moving to [      Idle]

          With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.
          accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
      disabled: true

    - label:
          "Step 4: Setup CR2 such that it does not have access to all attributes
          on a specific cluster and endpoint. CR2 sends a subscription request
          to subscribe to all attributes for which it does not have access.
          AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]."
      verification: |
          To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will  configure CR2 without access to a specific cluster on Specific endpoint, we send the ACL command, allowing access only to the Level Control cluster (cluster ID: 8) on endpoint 1 ; any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION

          accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":8, "endpoint":1, "deviceType":null}]}]' 1 0

          [1687418564.590285][167960:167962] CHIP:DMG: WriteResponseMessage =
          [1687418564.590290][167960:167962] CHIP:DMG: {
          [1687418564.590294][167960:167962] CHIP:DMG:         AttributeStatusIBs =
          [1687418564.590304][167960:167962] CHIP:DMG:         [
          [1687418564.590313][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418564.590321][167960:167962] CHIP:DMG:                 {
          [1687418564.590327][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418564.590336][167960:167962] CHIP:DMG:                         {
          [1687418564.590346][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418564.590355][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418564.590366][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418564.590374][167960:167962] CHIP:DMG:                         }
          [1687418564.590385][167960:167962] CHIP:DMG:
          [1687418564.590392][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418564.590406][167960:167962] CHIP:DMG:                         {
          [1687418564.590415][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418564.590423][167960:167962] CHIP:DMG:                         },
          [1687418564.590433][167960:167962] CHIP:DMG:
          [1687418564.590444][167960:167962] CHIP:DMG:                 },
          [1687418564.590462][167960:167962] CHIP:DMG:
          [1687418564.590469][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418564.590477][167960:167962] CHIP:DMG:                 {
          [1687418564.590484][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418564.590493][167960:167962] CHIP:DMG:                         {
          [1687418564.590502][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418564.590512][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418564.590521][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418564.590530][167960:167962] CHIP:DMG:                                 ListIndex = Null,
          [1687418564.590539][167960:167962] CHIP:DMG:                         }
          [1687418564.590552][167960:167962] CHIP:DMG:
          [1687418564.590559][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418564.590567][167960:167962] CHIP:DMG:                         {
          [1687418564.590576][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418564.590584][167960:167962] CHIP:DMG:                         },
          [1687418564.590593][167960:167962] CHIP:DMG:
          [1687418564.590601][167960:167962] CHIP:DMG:                 },
          [1687418564.590616][167960:167962] CHIP:DMG:
          [1687418564.590623][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418564.590631][167960:167962] CHIP:DMG:                 {
          [1687418564.590638][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418564.590647][167960:167962] CHIP:DMG:                         {
          [1687418564.590656][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418564.590665][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418564.590675][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418564.590683][167960:167962] CHIP:DMG:                                 ListIndex = Null,
          [1687418564.590691][167960:167962] CHIP:DMG:                         }
          [1687418564.590704][167960:167962] CHIP:DMG:
          [1687418564.590712][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418564.590720][167960:167962] CHIP:DMG:                         {
          [1687418564.590729][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418564.590738][167960:167962] CHIP:DMG:                         },
          [1687418564.590747][167960:167962] CHIP:DMG:
          [1687418564.590754][167960:167962] CHIP:DMG:                 },
          [1687418564.590768][167960:167962] CHIP:DMG:
          [1687418564.590776][167960:167962] CHIP:DMG:         ],
          [1687418564.590796][167960:167962] CHIP:DMG:
          [1687418564.590804][167960:167962] CHIP:DMG:         InteractionModelRevision = 1
          [1687418564.590811][167960:167962] CHIP:DMG: }
          [1687418564.590882][167960:167962] CHIP:DMG: WriteClient moving to [AwaitingDe]

           If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]., but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.

          below provided the  example command to subscribe all attributes onto endpoint 1 for  onoff cluster from node id(4) that have access to the “levelcontrol” cluster onto endpoint 1



          onoff subscribe-by-id 0xFFFFFFFF 5 100 1 1  --commissioner-nodeid  4
          [1687418591.903193][167960:167962] CHIP:EM: Found matching exchange: 3641i, Delegate: 0x7fc81c00bbd0
          [1687418591.903197][167960:167962] CHIP:EM: Rxd Ack; Removing MessageCounter:104560060 from Retrans Table on exchange 3641i
          [1687418591.903206][167960:167962] CHIP:DMG: StatusResponseMessage =
          [1687418591.903209][167960:167962] CHIP:DMG: {
          [1687418591.903211][167960:167962] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1687418591.903213][167960:167962] CHIP:DMG:         InteractionModelRevision = 1
          [1687418591.903215][167960:167962] CHIP:DMG: }
          [1687418591.903220][167960:167962] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
          [1687418591.903236][167960:167962] CHIP:EM: <<< [E:3641i S:26604 M:104560061 (Ack:37058090)] (S) Msg TX to 2:0000000000000001 [2DB4] --- Type 0001:01 (IM:StatusResponse)
          [1687418591.903241][167960:167962] CHIP:IN: (S) Sending msg 104560061 on secure session with LSID: 26604
          [1687418591.903262][167960:167962] CHIP:DMG: MoveToState ReadClient[0x7fc81c00bbc0]: Moving to

          With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.

          accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
      disabled: true

    - label:
          "Step 5: Setup CR2 such that it does not have access to an Endpoint.
          CR2 sends a subscription request to subscribe to all attributes on all
          clusters on a specific Endpoint for which it does not have access.
          AttributePath = [[ Endpoint = EndpointID ]]."
      verification: |
          To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure CR2 without access to a specific endpoint, we send the ACL command, allowing access only to the endpoint 1 ; any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION

           accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":null, "endpoint":1, "deviceType":null}]}]' 1 0

          [1687418943.852982][167960:167962] CHIP:DMG: WriteResponseMessage =
          [1687418943.852989][167960:167962] CHIP:DMG: {
          [1687418943.852996][167960:167962] CHIP:DMG:         AttributeStatusIBs =
          [1687418943.853006][167960:167962] CHIP:DMG:         [
          [1687418943.853012][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418943.853018][167960:167962] CHIP:DMG:                 {
          [1687418943.853024][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418943.853034][167960:167962] CHIP:DMG:                         {
          [1687418943.853042][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418943.853053][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418943.853060][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418943.853067][167960:167962] CHIP:DMG:                         }
          [1687418943.853080][167960:167962] CHIP:DMG:
          [1687418943.853087][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418943.853095][167960:167962] CHIP:DMG:                         {
          [1687418943.853103][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418943.853109][167960:167962] CHIP:DMG:                         },
          [1687418943.853117][167960:167962] CHIP:DMG:
          [1687418943.853123][167960:167962] CHIP:DMG:                 },
          [1687418943.853136][167960:167962] CHIP:DMG:
          [1687418943.853142][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418943.853148][167960:167962] CHIP:DMG:                 {
          [1687418943.853154][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418943.853161][167960:167962] CHIP:DMG:                         {
          [1687418943.853167][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418943.853175][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418943.853182][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418943.853189][167960:167962] CHIP:DMG:                                 ListIndex = Null,
          [1687418943.853196][167960:167962] CHIP:DMG:                         }
          [1687418943.853205][167960:167962] CHIP:DMG:
          [1687418943.853211][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418943.853218][167960:167962] CHIP:DMG:                         {
          [1687418943.853227][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418943.853233][167960:167962] CHIP:DMG:                         },
          [1687418943.853240][167960:167962] CHIP:DMG:
          [1687418943.853246][167960:167962] CHIP:DMG:                 },
          [1687418943.853258][167960:167962] CHIP:DMG:
          [1687418943.853264][167960:167962] CHIP:DMG:                 AttributeStatusIB =
          [1687418943.853274][167960:167962] CHIP:DMG:                 {
          [1687418943.853280][167960:167962] CHIP:DMG:                         AttributePathIB =
          [1687418943.853290][167960:167962] CHIP:DMG:                         {
          [1687418943.853296][167960:167962] CHIP:DMG:                                 Endpoint = 0x0,
          [1687418943.853304][167960:167962] CHIP:DMG:                                 Cluster = 0x1f,
          [1687418943.853311][167960:167962] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1687418943.853318][167960:167962] CHIP:DMG:                                 ListIndex = Null,
          [1687418943.853323][167960:167962] CHIP:DMG:                         }
          [1687418943.853332][167960:167962] CHIP:DMG:
          [1687418943.853338][167960:167962] CHIP:DMG:                         StatusIB =
          [1687418943.853345][167960:167962] CHIP:DMG:                         {
          [1687418943.853352][167960:167962] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1687418943.853359][167960:167962] CHIP:DMG:                         },
          [1687418943.853368][167960:167962] CHIP:DMG:
          [1687418943.853374][167960:167962] CHIP:DMG:                 },
          [1687418943.853383][167960:167962] CHIP:DMG:
          [1687418943.853389][167960:167962] CHIP:DMG:         ],
          [1687418943.853405][167960:167962] CHIP:DMG:
          [1687418943.853411][167960:167962] CHIP:DMG:         InteractionModelRevision = 1
          [1687418943.853418][167960:167962] CHIP:DMG: }
          [1687418943.853488][167960:167962] CHIP:DMG: WriteClient moving to [AwaitingDe]

           If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form AttributePath = [[ Endpoint = EndpointID ]], but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.

          below provided the  example command to subscribe to all attributes onto endpoint 0 for cluster 6 from a node id that have access to everything onto endpoint 1


           onoff subscribe-by-id 0xFFFFFFFF 5 100 1 0  --commissioner-nodeid  4
          [1687418974.537572][167960:167962] CHIP:EM: Rxd Ack; Removing MessageCounter:104560062 from Retrans Table on exchange 3650i
          [1687418974.537610][167960:167962] CHIP:DMG: StatusResponseMessage =
          [1687418974.537622][167960:167962] CHIP:DMG: {
          [1687418974.537631][167960:167962] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1687418974.537640][167960:167962] CHIP:DMG:         InteractionModelRevision = 1
          [1687418974.537648][167960:167962] CHIP:DMG: }
          [1687418974.537658][167960:167962] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
          [1687418974.537725][167960:167962] CHIP:EM: <<< [E:3650i S:26604 M:104560063 (Ack:37058092)] (S) Msg TX to 2:0000000000000001 [2DB4] --- Type 0001:01 (IM:StatusResponse)
          [1687418974.537743][167960:167962] CHIP:IN: (S) Sending msg 104560063 on secure session with LSID: 26604


          With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.
          accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
      disabled: true

    - label:
          "Step 6: Setup CR2 such that it does not have access to the Node. CR2
          sends a subscription request to subscribe to all attributes on all
          clusters on all endpoints on a Node for which it does not have access.
          AttributePath = [[ ]]."
      verification: |
          sending a command along with unregistered commissioner node id (5)

          any subscribe-by-id 0xFFFFFFFF 0xFFFFFFFF 10 100 1 0XFFFF --commissioner-nodeid 5
          On CR2, Verify that the DUT returns a "INVALID_ACTION" status response.

          [1695815340.162063][2522:2524] CHIP:EM: Rxd Ack; Removing MessageCounter:187875065 from Retrans Table on exchange 10455i
          [1695815340.162181][2522:2524] CHIP:DMG: StatusResponseMessage =
          [1695815340.162244][2522:2524] CHIP:DMG: {
          [1695815340.162298][2522:2524] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1695815340.162357][2522:2524] CHIP:DMG:         InteractionModelRevision = 11
          [1695815340.162412][2522:2524] CHIP:DMG: }
          [1695815340.162501][2522:2524] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
      disabled: true

    - label:
          "Step 7: CR1 sends a subscription request action for an attribute with
          an empty DataVersionFilters field. DUT sends a report data action with
          the data of the attribute along with the data version. Tear down the
          subscription for that attribute. Start another subscription with the
          DataVersionFilter field set to the data version received above."
      verification: |
          Chip-Tool support required to validate this step : SDK Issue - https://github.com/project-chip/connectedhomeip/issues/28363

          Not Testable
      disabled: true

    - label:
          "Step 8: CR1 sends a subscription request action for an attribute and
          sets the MinIntervalFloor value to be same as MaxIntervalCeiling.
          Activate the Subscription between CR1 and DUT. Modify the attribute
          which has been subscribed to on the DUT."
      verification: |
          Please send the following command from CR1 (the subscription requester) to DUT (the device under test) to activate the subscription for the "on-time" attribute, setting the MinIntervalFloor and MaxIntervalCeiling values to be the same (in this case, 100 seconds):

          onoff subscribe on-time 100 100 1 1 --keepSubscriptions true
          On the CR1(chip-tool) verify the  SubscribeResponse is received successfully
          [1690540281.061350][9488:9490] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3310786904
          [1690540281.061363][9488:9490] CHIP:TOO:   OnTime: 0
          [1690540281.061379][9488:9490] CHIP:DMG: MoveToState ReadClient[0x7faef8013880]: Moving to [AwaitingSu]
          [1690540281.061427][9488:9490] CHIP:EM: <<< [E:49945i S:38251 M:151709012 (Ack:20807554)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
          [1690540281.061441][9488:9490] CHIP:IN: (S) Sending msg 151709012 on secure session with LSID: 38251
          [1690540281.061758][9488:9490] CHIP:EM: >>> [E:49945i S:38251 M:20807555 (Ack:151709012)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:04 (IM:SubscribeResponse)
          [1690540281.061771][9488:9490] CHIP:EM: Found matching exchange: 49945i, Delegate: 0x7faef8013890
          [1690540281.061786][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709012 from Retrans Table on exchange 49945i
          [1690540281.061800][9488:9490] CHIP:DMG: SubscribeResponse is received
          [1690540281.061816][9488:9490] CHIP:DMG: SubscribeResponseMessage =
          [1690540281.061825][9488:9490] CHIP:DMG: {
          [1690540281.061833][9488:9490] CHIP:DMG:         SubscriptionId = 0x3ef5dc34,
          [1690540281.061844][9488:9490] CHIP:DMG:         MaxInterval = 0x64,
          [1690540281.061853][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690540281.061862][9488:9490] CHIP:DMG: }
          [1690540281.061875][9488:9490] CHIP:DMG: Subscription established with SubscriptionID = 0x3ef5dc34 MinInterval = 100s MaxInterval = 100s Peer = 01:0000000000000001



          After activating the subscription between TH and DUT, please send the following command to modify the 'on-time' attribute value:

          >>> onoff write on-time 1 1 1
          On CR1(chip-tool), verify that the DUT sends a report data containing the current 'ontime' attribute value after the MinIntervalFloor time has elapsed

          [1690540304.761997][9488:9488] CHIP:TOO: Command: onoff write on-time 1 1 1
          [1690540304.762298][9488:9490] CHIP:TOO: Sending command to node 0x1
          [1690540304.762462][9488:9490] CHIP:CSM: FindOrEstablishSession: PeerId = [1:0000000000000001]
          [1690540304.762474][9488:9490] CHIP:CSM: FindOrEstablishSession: No existing OperationalSessionSetup instance found
          [1690540304.762493][9488:9490] CHIP:DIS: Found an existing secure session to [1:0000000000000001]!
          [1690540304.762501][9488:9490] CHIP:DIS: OperationalSessionSetup[1:0000000000000001]: State change 1 --> 5
          [1690540304.762534][9488:9490] CHIP:TOO:         cluster 0x0000_0006, attribute: 0x0000_4001, endpoint 1
          [1690540304.762585][9488:9490] CHIP:DMG: WriteClient moving to [AddAttribu]
          [1690540304.762673][9488:9490] CHIP:EM: <<< [E:49946i S:38251 M:151709014] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:06 (IM:WriteRequest)
          [1690540304.762693][9488:9490] CHIP:IN: (S) Sending msg 151709014 on secure session with LSID: 38251
          [1690540304.762788][9488:9490] CHIP:DMG: WriteClient moving to [AwaitingRe]
          [1690540304.763448][9488:9490] CHIP:EM: >>> [E:49946i S:38251 M:20807556 (Ack:151709014)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:07 (IM:WriteResponse)
          [1690540304.763464][9488:9490] CHIP:EM: Found matching exchange: 49946i, Delegate: 0x7faef800a5e0
          [1690540304.763478][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709014 from Retrans Table on exchange 49946i
          [1690540304.763493][9488:9490] CHIP:DMG: WriteClient moving to [ResponseRe]
          [1690540304.763518][9488:9490] CHIP:DMG: WriteResponseMessage =
          [1690540304.763527][9488:9490] CHIP:DMG: {
          [1690540304.763534][9488:9490] CHIP:DMG:         AttributeStatusIBs =
          [1690540304.763546][9488:9490] CHIP:DMG:         [
          [1690540304.763553][9488:9490] CHIP:DMG:                 AttributeStatusIB =
          [1690540304.763562][9488:9490] CHIP:DMG:                 {
          [1690540304.763570][9488:9490] CHIP:DMG:                         AttributePathIB =
          [1690540304.763579][9488:9490] CHIP:DMG:                         {
          [1690540304.763589][9488:9490] CHIP:DMG:                                 Endpoint = 0x1,
          [1690540304.763597][9488:9490] CHIP:DMG:                                 Cluster = 0x6,
          [1690540304.763606][9488:9490] CHIP:DMG:                                 Attribute = 0x0000_4001,
          [1690540304.763614][9488:9490] CHIP:DMG:                         }
          [1690540304.763626][9488:9490] CHIP:DMG:
          [1690540304.763634][9488:9490] CHIP:DMG:                         StatusIB =
          [1690540304.763646][9488:9490] CHIP:DMG:                         {
          [1690540304.763654][9488:9490] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1690540304.763662][9488:9490] CHIP:DMG:                         },
          [1690540304.763671][9488:9490] CHIP:DMG:
          [1690540304.763677][9488:9490] CHIP:DMG:                 },
          [1690540304.763688][9488:9490] CHIP:DMG:
          [1690540304.763694][9488:9490] CHIP:DMG:         ],
          [1690540304.763706][9488:9490] CHIP:DMG:
          [1690540304.763713][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690540304.763719][9488:9490] CHIP:DMG: }
          [1690540304.763753][9488:9490] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1690540304.763793][9488:9490] CHIP:EM: <<< [E:49946i S:38251 M:151709015 (Ack:20807556)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1690540304.763810][9488:9490] CHIP:IN: (S) Sending msg 151709015 on secure session with LSID: 38251
          [1690540304.763846][9488:9490] CHIP:EM: Flushed pending ack for MessageCounter:20807556 on exchange 49946i
          [1690540325.496486][9488:9490] CHIP:EM: >>> [E:48664r S:38251 M:20807557] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:05 (IM:ReportData)
          [1690540325.496520][9488:9490] CHIP:EM: Handling via exchange: 48664r, Delegate: 0x5639a50ebc68
          [1690540325.496552][9488:9490] CHIP:DMG: ReportDataMessage =
          [1690540325.496565][9488:9490] CHIP:DMG: {
          [1690540325.496576][9488:9490] CHIP:DMG:         SubscriptionId = 0x3a11136b,
          [1690540325.496587][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690540325.496595][9488:9490] CHIP:DMG: }
          [1690540325.496632][9488:9490] CHIP:DMG: Refresh LivenessCheckTime for 804224 milliseconds with SubscriptionId = 0x3a11136b Peer = 01:0000000000000001
          [1690540325.496682][9488:9490] CHIP:EM: <<< [E:48664r S:38251 M:151709016 (Ack:20807557)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
          [1690540325.496697][9488:9490] CHIP:IN: (S) Sending msg 151709016 on secure session with LSID: 38251
          [1690540325.497211][9488:9490] CHIP:EM: >>> [E:48664r S:38251 M:20807558 (Ack:151709016)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1690540325.497237][9488:9490] CHIP:EM: Found matching exchange: 48664r, Delegate: (nil)
          [1690540325.497258][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709016 from Retrans Table on exchange 48664r
          [1690540381.062201][9488:9490] CHIP:EM: >>> [E:48665r S:38251 M:20807559] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:05 (IM:ReportData)
          [1690540381.062234][9488:9490] CHIP:EM: Handling via exchange: 48665r, Delegate: 0x5639a50ebc68
          [1690540381.062272][9488:9490] CHIP:DMG: ReportDataMessage =
          [1690540381.062281][9488:9490] CHIP:DMG: {
          [1690540381.062289][9488:9490] CHIP:DMG:         SubscriptionId = 0x3ef5dc34,
          [1690540381.062296][9488:9490] CHIP:DMG:         AttributeReportIBs =
          [1690540381.062308][9488:9490] CHIP:DMG:         [
          [1690540381.062315][9488:9490] CHIP:DMG:                 AttributeReportIB =
          [1690540381.062325][9488:9490] CHIP:DMG:                 {
          [1690540381.062332][9488:9490] CHIP:DMG:                         AttributeDataIB =
          [1690540381.062338][9488:9490] CHIP:DMG:                         {
          [1690540381.062346][9488:9490] CHIP:DMG:                                 DataVersion = 0xc5569959,
          [1690540381.062354][9488:9490] CHIP:DMG:                                 AttributePathIB =
          [1690540381.062367][9488:9490] CHIP:DMG:                                 {
          [1690540381.062375][9488:9490] CHIP:DMG:                                         Endpoint = 0x1,
          [1690540381.062383][9488:9490] CHIP:DMG:                                         Cluster = 0x6,
          [1690540381.062392][9488:9490] CHIP:DMG:                                         Attribute = 0x0000_4001,
          [1690540381.062399][9488:9490] CHIP:DMG:                                 }
          [1690540381.062409][9488:9490] CHIP:DMG:
          [1690540381.062417][9488:9490] CHIP:DMG:                                 Data = 1,
          [1690540381.062423][9488:9490] CHIP:DMG:                         },
          [1690540381.062433][9488:9490] CHIP:DMG:
          [1690540381.062439][9488:9490] CHIP:DMG:                 },
          [1690540381.062447][9488:9490] CHIP:DMG:
          [1690540381.062453][9488:9490] CHIP:DMG:         ],
          [1690540381.062463][9488:9490] CHIP:DMG:
          [1690540381.062470][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690540381.062476][9488:9490] CHIP:DMG: }
          [1690540381.062543][9488:9490] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3310786905
          [1690540381.062558][9488:9490] CHIP:TOO:   OnTime: 1
          [1690540381.062580][9488:9490] CHIP:DMG: Refresh LivenessCheckTime for 104224 milliseconds with SubscriptionId = 0x3ef5dc34 Peer = 01:0000000000000001
          [1690540381.062627][9488:9490] CHIP:EM: <<< [E:48665r S:38251 M:151709017 (Ack:20807559)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
          [1690540381.062641][9488:9490] CHIP:IN: (S) Sending msg 151709017 on secure session with LSID: 38251
          [1690540381.063237][9488:9490] CHIP:EM: >>> [E:48665r S:38251 M:20807560 (Ack:151709017)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
          [1690540381.063261][9488:9490] CHIP:EM: Found matching exchange: 48665r, Delegate: (nil)
          [1690540381.063276][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709017 from Retrans Table on exchange 48665r
      disabled: true

    - label:
          "Step 9: CR1 sends a subscription request action for an attribute and
          set the MinIntervalFloor value to be greater than MaxIntervalCeiling."
      verification: |
          Please send the following command from CR1 (the subscription requester) to DUT (the device under test) to activate the subscription for the "on-time" attribute, setting the MinIntervalFloor value to be greater than MaxIntervalCeiling:


           onoff subscribe on-time 500 100 1 1 --keepSubscriptions true

          On CR1 (chip-tool), verify that the DUT sends an error message, confirming that the subscription is not established successfully

          [1661754615.089845][103654:103659] CHIP:DMG: StatusResponseMessage =
          [1661754615.089857][103654:103659] CHIP:DMG: {
          [1661754615.089868][103654:103659] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1661754615.089879][103654:103659] CHIP:DMG:         InteractionModelRevision = 1
          [1661754615.089889][103654:103659] CHIP:DMG: }
          [1661754615.089901][103654:103659] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
          [1661754615.089927][103654:103659] CHIP:EM: Piggybacking Ack for MessageCounter:223396916 on exchange: 6193i
      disabled: true

    - label:
          "Step 10: CR1 sends a subscription request to subscribe to a specific
          global attribute from all clusters on all endpoints. AttributePath =
          [[Attribute = Global Attribute]]. +"
      verification: |
          any subscribe-by-id 0xFFFFFFFF 0xFFFD  10 300 1 0xFFFF --keepSubscriptions true

          The following log is an example of the output obtained for Attribute 0x0000_FFFD on Endpoint 0
          Pls repeat this for every cluster on every endpoint. The log represents the attributes of clusters found on different endpoints.

           Verify the presence of  mandatory global attribute ClusterRevision for every cluster on every endpoint:


          Verification Instructions:
          Please use the provided example log as a guide to verify the attributes for other clusters and endpoints in a similar manner.
          [1690541617.461279][9488:9490] CHIP:DMG: }
          [1690541617.461374][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 124546948
          [1690541617.461379][9488:9490] CHIP:TOO:   ClusterRevision: 4
          [1690541617.461388][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 1468663600
          [1690541617.461391][9488:9490] CHIP:TOO:   ClusterRevision: 4
          [1690541617.461399][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2536415407
          [1690541617.461402][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461410][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 1723648967
          [1690541617.461413][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461421][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 659240739
          [1690541617.461424][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461432][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 3950349597
          [1690541617.461435][9488:9490] CHIP:TOO:   ClusterRevision: 2
          [1690541617.461443][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 1224601682
          [1690541617.461446][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461454][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2744454868
          [1690541617.461456][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461464][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 463823876
          [1690541617.461467][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461475][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 115397017
          [1690541617.461477][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690541617.461485][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 85684249
          [1690541617.461488][9488:9490] CHIP:TOO:   ClusterRevision: 2
          [1690541617.461496][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 75615160
          [1690541617.461498][9488:9490] CHIP:TOO:   ClusterRevision: 1
      disabled: true

    - label:
          "Step 11: CR1 sends a subscription request to subscribe to a global
          attribute on an endpoint on all clusters. AttributePath = [[Attribute
          = Global Attribute, Endpoint = EndpointID ]]. +"
      verification: |
          any subscribe-by-id 0xFFFFFFFF 0xFFFD  10 300 1 0 --keepSubscriptions true
          The following log is an example of the output obtained for Attribute 0x0000_FFFD on Endpoint 0
          Pls repeat this for every cluster on endpoint 0. The log represents the attribute of clusters found on endpoint 0.

           Verify the presence of  mandatory global attribute ClusterRevision for every cluster on every endpoint:


          Verification Instructions:
          Please use the provided example log as a guide to verify the attributes for other clusters and endpoints in a similar manner.

          [1690542041.905545][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690542041.905546][9488:9490] CHIP:DMG: }
          [1690542041.905621][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 124546948
          [1690542041.905625][9488:9490] CHIP:TOO:   ClusterRevision: 4
          [1690542041.905634][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 1468663600
          [1690542041.905637][9488:9490] CHIP:TOO:   ClusterRevision: 4
          [1690542041.905646][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2536415407
          [1690542041.905649][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905657][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 1723648967
          [1690542041.905659][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905667][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 659240739
          [1690542041.905670][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905678][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 3950349597
          [1690542041.905680][9488:9490] CHIP:TOO:   ClusterRevision: 2
          [1690542041.905688][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 1224601682
          [1690542041.905691][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905699][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2744454868
          [1690542041.905701][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905710][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 463823876
          [1690542041.905712][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905720][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 115397017
          [1690542041.905722][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905730][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 85684249
          [1690542041.905733][9488:9490] CHIP:TOO:   ClusterRevision: 2
          [1690542041.905741][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 75615160
          [1690542041.905743][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905751][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 1962336111
          [1690542041.905753][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905761][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 465381371
          [1690542041.905763][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905772][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 2781452270
          [1690542041.905774][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905782][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3343308905
          [1690542041.905784][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905792][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 1933667935
          [1690542041.905794][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905803][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 1917440631
          [1690542041.905806][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905814][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2059544742
          [1690542041.905816][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905824][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFFD DataVersion: 292367345
          [1690542041.905826][9488:9490] CHIP:TOO:   ClusterRevision: 2
          [1690542041.905835][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 4275836516
          [1690542041.905837][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905845][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 2334789054
          [1690542041.905848][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905856][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 2215403935
          [1690542041.905858][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905866][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 1171006049
          [1690542041.905868][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905877][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 1339481925
          [1690542041.905879][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905887][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFFD DataVersion: 2155717858
          [1690542041.905889][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.905897][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 2620361579
          [1690542041.906830][9488:9490] CHIP:TOO:   ClusterRevision: 3
          [1690542041.906854][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0xFFF1_FC06 Attribute 0x0000_FFFD DataVersion: 2161647034
          [1690542041.906860][9488:9490] CHIP:TOO:   ClusterRevision: 1
          [1690542041.906886][9488:9490] CHIP:DMG: MoveToState ReadClient[0x7faef801d0f0]: Moving to [AwaitingSu]
          [1690542041.906910][9488:9490] CHIP:EM: <<< [E:49949i S:38251 M:151709045 (Ack:20807605)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
          [1690542041.906915][9488:9490] CHIP:IN: (S) Sending msg 151709045 on secure session with LSID: 38251
          [1690542041.907098][9488:9490] CHIP:EM: >>> [E:49949i S:38251 M:20807606 (Ack:151709045)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:04 (IM:SubscribeResponse)
          [1690542041.907107][9488:9490] CHIP:EM: Found matching exchange: 49949i, Delegate: 0x7faef801d100
          [1690542041.907113][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709045 from Retrans Table on exchange 49949i
          [1690542041.907119][9488:9490] CHIP:DMG: SubscribeResponse is received
          [1690542041.907126][9488:9490] CHIP:DMG: SubscribeResponseMessage =
          [1690542041.907128][9488:9490] CHIP:DMG: {
          [1690542041.907131][9488:9490] CHIP:DMG:         SubscriptionId = 0x9488dc04,
          [1690542041.907134][9488:9490] CHIP:DMG:         MaxInterval = 0x12c,
          [1690542041.907137][9488:9490] CHIP:DMG:         InteractionModelRevision = 1
          [1690542041.907139][9488:9490] CHIP:DMG: }
          [1690542041.907144][9488:9490] CHIP:DMG: Subscription established with SubscriptionID = 0x9488dc04 MinInterval = 10s MaxInterval = 300s Peer = 01:0000000000000001
      disabled: true

    - label:
          "Step 12: CR1 sends a subscription request to the DUT with both
          AttributeRequests and EventRequests as empty"
      verification: |
          Please send the following command from TH (the subscription requester) to DUT (the device under test) to activate the subscription  with both AttributeRequests and EventRequests as empty

          any subscribe-none 10 100 1 --keepSubscriptions 1

          On CR1 (chip-tool), verify that the DUT sends an error message, confirming that the subscription is not established successfully
          [1690884829.708780][84191:84193] CHIP:EM: Rxd Ack; Removing MessageCounter:136461510 from Retrans Table on exchange 23099i
          [1690884829.708861][84191:84193] CHIP:DMG: StatusResponseMessage =
          [1690884829.708907][84191:84193] CHIP:DMG: {
          [1690884829.708947][84191:84193] CHIP:DMG:         Status = 0x80 (INVALID_ACTION),
          [1690884829.708988][84191:84193] CHIP:DMG:         InteractionModelRevision = 1
          [1690884829.709026][84191:84193] CHIP:DMG: }
          [1690884829.709064][84191:84193] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
          [1690884829.709196][84191:84193] CHIP:EM: <<< [E:23099i S:5058 M:136461511 (Ack:90075666)] (S) Msg TX to 1:0000000000000001 [EAE3] --- Type 0001:01 (IM:StatusResponse)
          [1690884829.709252][84191:84193] CHIP:IN: (S) Sending msg 136461511 on secure session with LSID: 5058
          [1690884829.709420][84191:84193] CHIP:DMG: MoveToState ReadClient[0xffff9c005e90]: Moving to [      Idle]
      disabled: true
