Skip to content

Commit c462d1e

Browse files
doc: matter: Fix Matter Light Switch groupcast guide
There is no `tests TestGroupDemoConfig` command in Chiptool anymore. We must wrtite a new guide for the group binding. Signed-off-by: Arkadiusz Balys <[email protected]>
1 parent 71c33b8 commit c462d1e

File tree

3 files changed

+63
-58
lines changed

3 files changed

+63
-58
lines changed

doc/nrf/releases_and_maturity/known_issues.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,13 @@ The issues in this section are related to the :ref:`ug_matter` protocol.
580580

581581
.. rst-class:: v3-0-2 v3-0-1 v3-0-0 v2-9-0-nRF54H20-1 v2-9-2 v2-9-1 v2-9-0 v2-8-0 v2-7-0
582582

583+
KRKNWK-19277: Invalid testing steps in the Light Switch README file
584+
The testing steps for groupcast binding are invalid in the :ref:`matter_light_switch_sample` sample documentation.
585+
586+
**Workaround:** For groupcast binding, refer to the :ref:`ug_matter_group_communication` user guide instead of the sample documentation.
587+
588+
.. rst-class:: v3-0-2 v3-0-1 v3-0-0 v2-9-0-nRF54H20-1 v2-9-2 v2-9-1 v2-9-0 v2-8-0 v2-7-0
589+
583590
KRKNWK-20019: The identify time does not update for the endpoint 1 in the Matter Bridge application
584591
The identify cluster is enabled in the :file:`.zap` file, but not in the application.
585592

doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,11 @@ Matter samples
578578
* :kconfig:option:`CONFIG_CHIP_ICD_ACTIVE_MODE_THRESHOLD` from ``300`` to ``0`` ms for SIT devices.
579579
* :kconfig:option:`CONFIG_CHIP_ICD_FAST_POLLING_INTERVAL` from ``200`` to ``500`` ms.
580580

581+
* :ref:`matter_light_switch_sample`:
582+
583+
* Updated the testing steps to use the proper commands for groupcast binding.
584+
This resolves the :ref:`known issue <known_issues>` KRKNWK-19277.
585+
581586
Networking samples
582587
------------------
583588

samples/matter/light_switch/README.rst

Lines changed: 51 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -339,99 +339,92 @@ After building this and the :ref:`Matter Light Bulb <matter_light_bulb_sample>`
339339

340340
.. matter_light_switch_sample_prepare_to_testing_start
341341
342-
.. tabs::
343-
344-
.. group-tab:: nRF52, nRF53 and nRF70 DKs
345-
346-
1. |connect_kit|
347-
#. |connect_terminal_ANSI|
348-
#. If the devices were not erased during the programming, press and hold **Button 1** on each device until the factory reset takes place.
349-
#. On each device, press **Button 1** to start the Bluetooth LE advertising.
350-
#. Commission devices to the Matter network.
351-
See `Commissioning the device`_ for more information.
352-
353-
During the commissioning process, write down the values for the light switch node ID and the light bulb node ID (or IDs, if you are using more than one light bulb).
354-
These IDs are going to be used in the next steps (*<light_switch_node_ID>* and *<light_bulb_node_ID>*, respectively).
355-
#. Use the :doc:`CHIP Tool <matter:chip_tool_guide>` ("Writing ACL to the ``accesscontrol`` cluster" section) to add proper ACL for the light bulb device.
356-
Depending on the number of the light bulb devices you are using, use one of the following commands, with *<light_switch_node_ID>* and *<light_bulb_node_ID>* values from the previous step about commissioning:
357-
358-
* If you are using only one light bulb device, run the following command for the light bulb device:
359-
360-
.. parsed-literal::
361-
:class: highlight
362-
363-
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [<light_switch_node_ID>], "targets": [{"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}]' <light_bulb_node_ID> 0
342+
1. |connect_kit|
343+
#. |connect_terminal_ANSI|
344+
#. If the devices were not erased during the programming, press and hold **Button 1** (**Button 0** for nRF54 Series device kits) on each device until the factory reset takes place.
345+
#. On each device, press **Button 1** (**Button 0** for nRF54 Series device kits) to start the Bluetooth LE advertising.
346+
#. Commission the devices to the Matter network.
347+
See `Commissioning the device`_ for more information.
364348

365-
* If you are using more than one light bulb device, connect all devices to the multicast group by running the following command for each device, including the light switch:
349+
During the commissioning process, write down the values for the light switch node ID and the light bulb node ID (or IDs, if you are using more than one light bulb).
350+
These IDs are used in the next steps (*<light_switch_node_ID>* and *<light_bulb_node_ID>*, respectively).
351+
#. Use the :doc:`CHIP Tool <matter:chip_tool_guide>` ("Writing ACL to the ``accesscontrol`` cluster" section) to add proper ACL for the light bulb devices, establish a group for groupcast and bind the light switch.
352+
Depending on the number of the light bulb devices you are using, use one of the following commands, with *<light_switch_node_ID>* and *<light_bulb_node_ID>* values from the previous step about commissioning.
366353

367-
.. parsed-literal::
368-
:class: highlight
354+
If you are using only one light bulb device, follow the instructions in the **unicast** tab to bind the light switch with the light bulb device.
355+
If you are using more than one light bulb device, follow the instructions in the **groupcast** tab to connect all devices to the multicast group
369356

370-
chip-tool tests TestGroupDemoConfig --nodeId <node_ID>
357+
.. tabs::
371358

372-
Use the *<node_ID>* values from the commissioning step.
359+
.. group-tab:: unicast
373360

374-
#. Write a binding table to the light switch to inform the device about all endpoints by running this command (only for light switch):
361+
The unicast binding is used to bind the light switch with only one light bulb device.
362+
Run the following commands to bind the light switch with the light bulb device:
375363

376-
* For unicast binding to bind the light switch with only one light Bulb:
364+
1. Write ACL to the ``accesscontrol`` cluster:
377365

378366
.. parsed-literal::
379367
:class: highlight
380368
381-
chip-tool binding write binding '[{"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 6}, {"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 8}]' <light switch node id> 1
369+
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [<light_switch_node_ID>], "targets": [{"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}]' <light_bulb_node_ID> 0
382370
383-
* For groupcast binding to bind the light switch with multiple light bulbs:
371+
#. Write a binding table to the light switch to inform the device about all endpoints by running this command (only for light switch):
384372

385373
.. parsed-literal::
386374
:class: highlight
387375
388-
chip-tool binding write binding '[{"fabricIndex": 1, "group": 257}]' <light_switch_node_ID> 1
389-
390-
.. group-tab:: nRF54 DKs
376+
chip-tool binding write binding '[{"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 6}, {"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 8}]' <light switch node id> 1
391377
392-
1. |connect_kit|
393-
#. |connect_terminal_ANSI|
394-
#. If the devices were not erased during the programming, press and hold **Button 0** on each device until the factory reset takes place.
395-
#. On each device, press **Button 0** to start the Bluetooth LE advertising.
396-
#. Commission devices to the Matter network.
397-
See `Commissioning the device`_ for more information.
398378
399-
During the commissioning process, write down the values for the light switch node ID and the light bulb node ID (or IDs, if you are using more than one light bulb).
400-
These IDs are going to be used in the next steps (*<light_switch_node_ID>* and *<light_bulb_node_ID>*, respectively).
401-
#. Use the :doc:`CHIP Tool <matter:chip_tool_guide>` ("Writing ACL to the ``accesscontrol`` cluster" section) to add proper ACL for the light bulb device.
402-
Depending on the number of the light bulb devices you are using, use one of the following commands, with *<light_switch_node_ID>* and *<light_bulb_node_ID>* values from the previous step about commissioning:
379+
.. group-tab:: groupcast
403380

404-
* If you are using only one light bulb device, run the following command for the light bulb device:
381+
The groupcast binding is used to bind the light switch with multiple light bulb devices.
382+
The following example shows how to estabilish a new group communication with the following parameters:
405383

406-
.. parsed-literal::
407-
:class: highlight
384+
* Group ID: 258
385+
* Group Name: Test_Group
386+
* Group Key Set ID: 349
387+
* Group Key Set Security Policy: 0
388+
* Epoch Key 0: a0a1a2a3a4a5a6a7a8a9aaabacad7531
389+
* Epoch Start Time 0: 1110000
390+
* Epoch Key 1: b0b1b2b3b4b5b6b7b8b9babbbcbd7531
391+
* Epoch Start Time 1: 1110001
392+
* Epoch Key 2: c0c1c2c3c4c5c6c7c8c9cacbcccd7531
393+
* Epoch Start Time 2: 1110002
408394

409-
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [<light_switch_node_ID>], "targets": [{"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}]}]' <light_bulb_node_ID> 0
395+
To learn more about groups in Matter, see the :ref:`ug_matter_group_communication` user guide.
410396

411-
* If you are using more than one light bulb device, connect all devices to the multicast group by running the following command for each device, including the light switch:
397+
Run the following commands to bind the light switch with all light bulb devices:
412398

413-
.. parsed-literal::
414-
:class: highlight
399+
1. Set up a new group in the doc:`CHIP Tool <matter:chip_tool_guide>`:
415400

416-
chip-tool tests TestGroupDemoConfig --nodeId <node_ID>
401+
.. parsed-literal::
402+
:class: highlight
417403
418-
Use the *<node_ID>* values from the commissioning step.
404+
chip-tool groupsettings add-keysets 349 0 2220000 hex:a0a1a2a3a4a5a6a7a8a9aaabacad7531
405+
chip-tool groupsettings bind-keyset 258 349
419406
420-
#. Write a binding table to the light switch to inform the device about all endpoints by running this command (only for light switch):
421407
422-
* For unicast binding to bind the light switch with only one light Bulb:
408+
#. Set up all light bulb devices:
423409

424410
.. parsed-literal::
425411
:class: highlight
426412
427-
chip-tool binding write binding '[{"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 6}, {"fabricIndex": 1, "node": <light bulb node id>, "endpoint": 1, "cluster": 8}]' <light switch node id> 1
413+
chip-tool groupkeymanagement key-set-write {"groupKeySetID": 349, "groupKeySecurityPolicy": 0, "epochKey0": "a0a1a2a3a4a5a6a7a8a9aaabacad7531", "epochStartTime0": 1110000, "epochKey1": "b0b1b2b3b4b5b6b7b8b9babbbcbd7531", "epochStartTime1": 1110001, "epochKey2": "c0c1c2c3c4c5c6c7c8c9cacbcccd7531", "epochStartTime2": 1110002} <light bulb node id> 0
414+
chip-tool groupkeymanagement write group-key-map [{"groupId": 258, "groupKeySetID": 349, "fabricIndex": 1}] <light bulb node id> 0
415+
chip-tool groups add-group 258 Test_Group <light bulb node id> 1
416+
417+
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [258], "targets": [{"cluster": null, "endpoint": 1, "deviceType": null}]}]' <light bulb node id> 0
428418
429-
* For groupcast binding to bind the light switch with multiple light bulbs:
419+
#. Set up the light switch device:
430420

431421
.. parsed-literal::
432422
:class: highlight
433423
434-
chip-tool binding write binding '[{"fabricIndex": 1, "group": 257}]' <light_switch_node_ID> 1
424+
chip-tool groupkeymanagement key-set-write {"groupKeySetID": 349, "groupKeySecurityPolicy": 0, "epochKey0": "a0a1a2a3a4a5a6a7a8a9aaabacad7531", "epochStartTime0": 1110000, "epochKey1": "b0b1b2b3b4b5b6b7b8b9babbbcbd7531", "epochStartTime1": 1110001, "epochKey2": "c0c1c2c3c4c5c6c7c8c9cacbcccd7531", "epochStartTime2": 1110002} <light_switch_node_ID> 0
425+
chip-tool groupkeymanagement write group-key-map [{"groupId": 258, "groupKeySetID": 349, "fabricIndex": 1}] <light_switch_node_ID> 0
426+
chip-tool accesscontrol write acl [{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [258], "targets": null}] <light_switch_node_ID> 0
427+
chip-tool binding write binding [{"fabricIndex": 1, "group": 258}] <light_switch_node_ID> 1
435428
436429
.. matter_light_switch_sample_prepare_to_testing_end
437430

0 commit comments

Comments
 (0)