Skip to content

Commit 2001e6d

Browse files
markaj-nordicrlubos
authored andcommitted
samples: matter: extend the door lock readme with TimeSync cluster
Added description on how to enable Time Synchronization cluster with all required types. Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
1 parent 82f2f0d commit 2001e6d

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

samples/matter/lock/README.rst

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -568,21 +568,56 @@ To enable the scheduled timed access feature, complete the following steps:
568568
* For the ``Year-day`` schedule support set the ``11th`` bit of the feature map bit map.
569569
* For the ``Holiday`` schedule support set the ``12th`` bit of the feature map bit map.
570570

571+
#. Enable Time Synchronization cluster with all needed types in the ZAP file:
572+
573+
#. In ZAP Tool GUI, select the endpoint 0 and enable the ``Time Synchronization`` cluster, with both server and client roles, for that endpoint.
574+
575+
#. Click the :guilabel:`Configure` symbol for the ``Time Synchronization`` cluster entry.
576+
#. In the **Time Synchronization** context window, go to the **Attributes** tab and enable all required attributes:
577+
578+
* ``UTCTime``.
579+
* ``Granularity``.
580+
* ``TimeZone``.
581+
* ``DSTOffset``.
582+
* ``LocalTime``.
583+
* ``TimeZoneDatabase``.
584+
* ``TimeZoneListMaxSize``.
585+
* ``DSTOffsetListMaxSize``.
586+
* ``TrustedTimeSource``.
587+
588+
#. In the **Time Synchronization** context window, go to the **Attribute Reporting** page and enable all available attribute reporting entries.
589+
590+
#. In the **Time Synchronization** context window, go to the **Commands** page and enable all required command entries:
591+
592+
* ``SetUTCTime``.
593+
* ``SetTimeZone``.
594+
* ``SetTimeZoneResponse``.
595+
* ``SetDSTOffset``.
596+
* ``SetTrustedTimeSource``.
597+
598+
#. In the **Time Synchronization** context window, go to the **Attributes** tab and set the proper bits for the ``FeatureMap`` attribute:
599+
600+
* For the ``TimeZone`` support, set the ``0th`` bit of the feature map bit map.
601+
* For the ``TimeSyncClient`` support, set the ``3rd`` bit of the feature map bit map.
602+
603+
As a result, the default decimal value of the ``FeatureMap`` should be `9`.
604+
571605
#. Save the :file:`lock.zap` file, and close ZAP-tool.
572606
#. Generate new ZAP files with the changes in the Door Lock cluster using the following west command:
573607

574608
.. code-block:: console
575609
576610
west zap-generate
577611
578-
#. Enable the feature in the |NCS| Matter Lock sample by setting the :kconfig:option:`CONFIG_LOCK_SCHEDULES` Kconfig option to ``y``.
612+
#. Enable the Lock Schedules feature in the |NCS| Matter Lock sample by setting the :kconfig:option:`CONFIG_LOCK_SCHEDULES` Kconfig option to ``y``.
613+
#. Enable the Read Client support in the |NCS| Matter Lock sample by setting the :kconfig:option:`CONFIG_CHIP_ENABLE_READ_CLIENT` Kconfig option to ``y``.
579614
#. Use the following Kconfig options to modify the maximum number of specific schedule types:
580615

581616
- :kconfig:option:`CONFIG_LOCK_MAX_WEEKDAY_SCHEDULES_PER_USER` to define the maximum number of ``Week-day`` schedules for one user.
582617
- :kconfig:option:`CONFIG_LOCK_MAX_YEARDAY_SCHEDULES_PER_USER` to define the maximum number of ``Year-day`` schedules for one user.
583618
- :kconfig:option:`CONFIG_LOCK_MAX_HOLIDAY_SCHEDULES` to define the maximum number of ``Holiday`` schedules.
584619

585-
To learn more about configuring the Door Lock cluster, see the :ref:`ug_matter_creating_accessory` user guide.
620+
To learn more about configuring the Matter clusters, see the :ref:`ug_matter_creating_accessory` user guide.
586621

587622
All scheduled timed access entries are saved to non-volatile memory and loaded automatically after device reboot.
588623
To disable the feature, you need to revert all changes in the :file:`lock.zap` file, re-generate the ZAP files and set the :kconfig:option:`CONFIG_LOCK_SCHEDULES` Kconfig option to ``n``.

0 commit comments

Comments
 (0)