<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71081/how-to-use-power-config-cluster</link><description>Hello Nordic! 
 I want to control the battery level, and set alarms... I know that there is a cluster callled PowerConfig cluster and I have been reading it, but I acan&amp;#39;t figure out how declare it. 
 I have the following code (it is written in Spanish</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 10 Mar 2021 16:23:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71081/how-to-use-power-config-cluster" /><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/299097?ContentTypeID=1</link><pubDate>Wed, 10 Mar 2021 16:23:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60d1bc83-18a7-4381-a089-9d9b4103eb99</guid><dc:creator>KrystofVydra</dc:creator><description>&lt;p&gt;Hello Mazis,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have already made it work --&amp;gt; the attribute value can be written without an error. (There was something bad in my SDK, I had to redownload it and put my project in fresh SDK and just change those few files)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So now, I am trying to&amp;nbsp;receive&amp;nbsp;the attribute reports with zigbee CLI coordinator on my second DK.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I can bind, but I can&amp;#39;t subscribe to the power config battery remaining attribute.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I also tried adding the power config to the multi_sensor example, and I can easily bind and subscribe to the other 2 attributes (pressure and temperature measurement), but I can&amp;#39;t subscribe to battery reamining percentage.&lt;/p&gt;
&lt;p&gt;I get this error (which corresponding to ZCL documentation means FAILURE):&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1615392897777v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;the other 2 attributes from the device can be received easily.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;here is the multi_sensor project:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/7711.multi_5F00_sensor_5F00_with_5F00_power_5F00_config.zip"&gt;devzone.nordicsemi.com/.../7711.multi_5F00_sensor_5F00_with_5F00_power_5F00_config.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;the only file I modified is the zb_multi_sensor.h&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could you look at this if you have some spare time? Thanks!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;also: 1) the cluster num should be correct, I had to change it otherwise I couln&amp;#39;t have seen the Power Config (0x0001) cluster in cluster list in CLI coordinator&lt;/p&gt;
&lt;p&gt;2)Yes, I use same macro as you (the EXT one)&lt;/p&gt;
&lt;p&gt;3)Yep, I think that is weird. I tried using the WINDOW_COVERING_CLUSTER ID but again, I coulnd&amp;#39;t have seen Power Config cluster in CLI coordinator cluster list request&lt;/p&gt;
&lt;p&gt;4) So now I somewhat fixed the error when setting the zb_zcl_set_attr_val(), but I still can&amp;#39;t subscribe to the attribute.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much Mazis!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Krystof Vydra&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/299059?ContentTypeID=1</link><pubDate>Wed, 10 Mar 2021 14:49:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e252a6e-8deb-494d-b9c7-2d7b8cb65b44</guid><dc:creator>mazis</dc:creator><description>&lt;p&gt;Hi Krystof!&lt;/p&gt;
&lt;p&gt;I am so sorry but I didn&amp;#39;t find anything wrong in your code... All the sensible code is modified, and it looks correct to me. The 0x64 is valid, and the attribute type indeed, is zb_uint8_t.&lt;/p&gt;
&lt;p&gt;The only things that I think might be wrong are:&lt;/p&gt;
&lt;p&gt;- The number of ZB_HA_WINDOW_COVERING_IN_CLUSTER_NUM or ZB_HA_WINDOW_COVERING_OUT_CLUSTER_NUM might be wrong. Take a look and change them if necessary.&lt;/p&gt;
&lt;p&gt;- I also had a issue declaring the cluster. I had to use the extended Macro to declare the attribute list of the power config. Are you using &lt;br /&gt;ZB_ZCL_DECLARE_POWER_CONFIG_BATTERY_ATTRIB_LIST_EXT?&lt;/p&gt;
&lt;p&gt;- When I wwas reviewing your code I found what might be a bug in my code. When you call zb_zcl_set_attr_val() and give it the ZB_ZCL_CLUSTER_ID_POWER_CONFIG as parameter, can you try to use the corresponding CLUSTER_ID for the window covering? Just&amp;nbsp;like I am doing, although it seems wrong in my code.&lt;/p&gt;
&lt;p&gt;- I would also try setting any other attribute to see if the problem is the parameters you are giving to the function zb_zcl_set_attr_val(). I would also change the cluster.&lt;/p&gt;
&lt;p&gt;I hope this helps...&lt;br /&gt;Cheers!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/299021?ContentTypeID=1</link><pubDate>Wed, 10 Mar 2021 13:53:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc9b51ae-b713-4d80-89d4-57a1de5d7bbe</guid><dc:creator>KrystofVydra</dc:creator><description>&lt;p&gt;Hello Mazis,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reply, I was trying to get the reporting to work for almost a week now.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I got myself second nrf52840 DK now, so I use the CLI example on that.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I can already see the power config in the device cluster list in CLI coordinator&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But I can&amp;#39;t set the battery remaining value. It always gives me error 135 which is invalid Value&lt;/p&gt;
&lt;p&gt;I am trying to set value 0x64 which is 100 which should correspond to 50% of battery.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/6087.zb_5F00_ha_5F00_window_5F00_covering.h"&gt;devzone.nordicsemi.com/.../6087.zb_5F00_ha_5F00_window_5F00_covering.h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/zb_5F00_zcl_5F00_power_5F00_config.h"&gt;devzone.nordicsemi.com/.../zb_5F00_zcl_5F00_power_5F00_config.h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/zb_5F00_zcl_5F00_window_5F00_covering.h"&gt;devzone.nordicsemi.com/.../zb_5F00_zcl_5F00_window_5F00_covering.h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here are my files, could you maybe take a look? How do yours zb_zcl_power_config.h, zb_zcl_door_lock.h and zb_ha_door_lock.h files look like?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here is my implemenation in main.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    battery_percentage = 0x64;
    zcl_status = zb_zcl_set_attr_val(HA_WINDOW_COVERING_ENDPOINT,
                                     ZB_ZCL_CLUSTER_ID_POWER_CONFIG, 
                                     ZB_ZCL_CLUSTER_SERVER_ROLE, 
                                     ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_REMAINING_ID,
                                     &amp;amp;battery_percentage, 
                                     ZB_FALSE);
    if(zcl_status != ZB_ZCL_STATUS_SUCCESS)
    {
        NRF_LOG_INFO(&amp;quot;Set battery remaining percentage value fail. zcl_status: %d,&amp;quot;, zcl_status);
    }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;in zcl_device_cb so when I send a command to the device it reports me battery.&lt;/p&gt;
&lt;p&gt;battery_percentage here is type zb_uint8_t.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Krystof Vydra&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/298042?ContentTypeID=1</link><pubDate>Fri, 05 Mar 2021 11:49:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00a790c8-adc1-4fcc-8400-feb017c037dc</guid><dc:creator>mazis</dc:creator><description>&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;I didn&amp;#39;t changed the #define line you are saying... I have that line as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;zb_void_t zb_zcl_power_config_init_server(void);
zb_void_t zb_zcl_power_config_init_client(void);
#define ZB_ZCL_CLUSTER_ID_POWER_CONFIG_SERVER_ROLE_INIT zb_zcl_power_config_init_server
#define ZB_ZCL_CLUSTER_ID_POWER_CONFIG_CLIENT_ROLE_INIT zb_zcl_power_config_init_client&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;About the battery report. If you look the Zigbee reference, (I think that) the only reportable attribute is the remaining battery percentage. I don&amp;#39;t know which coordinator are you using but to enable attribute reporting in mine, I had to bind and cofigure reporting for that attribute. If you are using the CLI example, the documentation is pretty good, I would take a look at it. What I do in my code to get the report of the attribute is this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    UNUSED_RETURN_VALUE(zb_zcl_set_attr_val(MY_DOOR_LOCK_ENDPOINT,
                                            ZB_ZCL_CLUSTER_ID_DOOR_LOCK,
                                            ZB_ZCL_CLUSTER_SERVER_ROLE,
                                            ZB_ZCL_ATTR_POWER_CONFIG_BATTERY_PERCENTAGE_REMAINING_ID,
                                            &amp;amp;batteryLevel,
                                            ZB_FALSE));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I hope this helps!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/297889?ContentTypeID=1</link><pubDate>Thu, 04 Mar 2021 17:36:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e4c7b8ed-f2db-40f7-bd10-0ff3bd916abd</guid><dc:creator>KrystofVydra</dc:creator><description>&lt;p&gt;Hello Mazis,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;did you have to modify something in power config? Because I had to add&lt;br /&gt;&lt;br /&gt;#define ZB_ZCL_CLUSTER_ID_POWER_CONFIG_SERVER_ROLE_INIT ((zb_zcl_cluster_init_t)NULL)&lt;br /&gt;&lt;br /&gt;at the end of the zb_zcl_power_config,h&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Otherwise it won&amp;#39;t compile.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;But I still can&amp;#39;t read or report the battery voltage. Is there something special I have to set in main.c in the Zigbee Device Callback?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Krystof&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/293471?ContentTypeID=1</link><pubDate>Tue, 09 Feb 2021 07:43:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f401a792-2db7-4476-a5e3-d56bd738378c</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Great to hear that you managed to implement it, and thank you for sharing your implementation so that others can see it as well!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/293318?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 12:04:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75a833ec-484b-4f1c-85b2-f09e2e962a58</guid><dc:creator>mazis</dc:creator><description>&lt;p&gt;Finally I made the integration of the Power Config cluster within the Door Lock endpoint. I had to modify a few files, so here is the code (it may help somebody else). Marte, please, if you find some potential errors or improvements, just tell me:&lt;/p&gt;
&lt;p&gt;First of all I used the&amp;nbsp;ZB_ZCL_DECLARE_POWER_CONFIG_BATTERY_ATTRIB_LIST_EXT to declare the attribute list of the Power Config cluster, the other attribute declarations didn&amp;#39;t work for me.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;typedef  struct contexto_alimentacion_s
{
    zb_uint8_t battery_voltage; // Atributo 3.3.2.2.3.1
    zb_uint8_t battery_size; // Atributo 3.3.2.2.4.2
    zb_uint8_t battery_quantity; // Atributo 3.3.2.2.4.4
    zb_uint8_t battery_rated_voltage; // Atributo 3.3.2.2.4.5
    zb_uint8_t battery_alarm_mask; // Atributo 3.3.2.2.4.6
    zb_uint8_t battery_voltage_min_threshold; // Atributo 3.3.2.2.4.7
    zb_uint8_t battery_percentage_remaining; // Atributo 3.3.2.2.3.1
    zb_uint8_t battery_voltage_threshold_1; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_voltage_threshold_2; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_voltage_threshold_3; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_percentage_min_threshold; // Atributo 3.3.2.2.4.9
    zb_uint8_t battery_percentage_threshold_1; // Atributo 3.3.2.2.4.10
    zb_uint8_t battery_percentage_threshold_2; // Atributo 3.3.2.2.4.10
    zb_uint8_t battery_percentage_threshold_3; // Atributo 3.3.2.2.4.10
    zb_uint32_t battery_alarm_state; // Atributo 3.3.2.2.4.11
} contexto_alimentacion_t;

static contexto_alimentacion_t contexto_alimentacion;

ZB_ZCL_DECLARE_POWER_CONFIG_BATTERY_ATTRIB_LIST_EXT(lista_atributos_alimentacion,
                                                    &amp;amp;contexto_alimentacion.battery_voltage,
                                                    &amp;amp;contexto_alimentacion.battery_size,
                                                    &amp;amp;contexto_alimentacion.battery_quantity,
                                                    &amp;amp;contexto_alimentacion.battery_rated_voltage,
                                                    &amp;amp;contexto_alimentacion.battery_alarm_mask,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_min_threshold,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_remaining,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_1,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_2,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_3,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_min_threshold,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_1,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_2,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_3,
                                                    &amp;amp;contexto_alimentacion.battery_alarm_state);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;To declare the cluster within the Door Lock endpoint, I modified the Macro&amp;nbsp;ZB_HA_DECLARE_DOOR_LOCK_CLUSTER_LIST and create my own as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define ZB_HA_DECLARE_MY_DOOR_LOCK_CLUSTER_LIST(                      \
      cluster_list_name,                                              \
      door_lock_attr_list,                                            \
      basic_attr_list,                                                \
      identify_attr_list,                                             \
      groups_attr_list,                                               \
      scenes_attr_list,                                               \
      power_config_attr_list)                                         \
      zb_zcl_cluster_desc_t cluster_list_name[] =                     \
      {                                                               \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_IDENTIFY,                                 \
          ZB_ZCL_ARRAY_SIZE(identify_attr_list, zb_zcl_attr_t),       \
          (identify_attr_list),                                       \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        ),                                                            \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_BASIC,                                    \
          ZB_ZCL_ARRAY_SIZE(basic_attr_list, zb_zcl_attr_t),          \
          (basic_attr_list),                                          \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        ),                                                            \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_DOOR_LOCK,                                \
          ZB_ZCL_ARRAY_SIZE(door_lock_attr_list, zb_zcl_attr_t),      \
          (door_lock_attr_list),                                      \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        ),                                                            \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_SCENES,                                   \
          ZB_ZCL_ARRAY_SIZE(scenes_attr_list, zb_zcl_attr_t),         \
          (scenes_attr_list),                                         \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        ),                                                            \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_GROUPS,                                   \
          ZB_ZCL_ARRAY_SIZE(groups_attr_list, zb_zcl_attr_t),         \
          (groups_attr_list),                                         \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        ),                                                            \
        ZB_ZCL_CLUSTER_DESC(                                          \
          ZB_ZCL_CLUSTER_ID_POWER_CONFIG,                             \
          ZB_ZCL_ARRAY_SIZE(power_config_attr_list, zb_zcl_attr_t),   \
          (power_config_attr_list),                                   \
          ZB_ZCL_CLUSTER_SERVER_ROLE,                                 \
          ZB_ZCL_MANUF_CODE_INVALID                                   \
        )                                                             \
      } &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I also had to modify the&amp;nbsp;ZB_ZCL_DECLARE_DOOR_LOCK_SIMPLE_DESC Macro:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define ZB_ZCL_DECLARE_DOOR_LOCK_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num) \
      ZB_DECLARE_SIMPLE_DESC(in_clust_num, out_clust_num);                  \
      ZB_AF_SIMPLE_DESC_TYPE(in_clust_num, out_clust_num)  simple_desc_##ep_name = \
      {                                                                     \
        ep_id,                                                              \
        ZB_AF_HA_PROFILE_ID,                                                \
        ZB_HA_DOOR_LOCK_DEVICE_ID,                                          \
        ZB_HA_DEVICE_VER_DOOR_LOCK,                                         \
        0,                                                                  \
        in_clust_num,                                                       \
        out_clust_num,                                                      \
        {                                                                   \
          ZB_ZCL_CLUSTER_ID_BASIC,                                          \
          ZB_ZCL_CLUSTER_ID_IDENTIFY,                                       \
          ZB_ZCL_CLUSTER_ID_DOOR_LOCK,                                      \
          ZB_ZCL_CLUSTER_ID_SCENES,                                         \
          ZB_ZCL_CLUSTER_ID_GROUPS,                                         \
          ZB_ZCL_CLUSTER_ID_POWER_CONFIG                                    \
        }                                                                   \
      }
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Another important change to be made is to update the&amp;nbsp;ZB_HA_DOOR_LOCK_IN_CLUSTER_NUM parameter. Because we are adding a new cluster, we have to increase the number of clusters according to the new clusters added.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/293033?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 08:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f169d96-20b0-4baa-831c-8f84b2164fb4</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;No, you don&amp;#39;t have to create a new endpoint for each cluster, you can add the clusters to your existing endpoint. Whether you want to have multiple endpoints or not depends on what you want, and how you want your application to work. In this case I believe having one endpoint would be best. And yes, you should add the power config cluster to the door lock cluster list if you want to add the power config cluster to the existing endpoint.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/292313?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 15:50:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2eabd7e1-1c43-4eb8-a95f-2e27780fa79e</guid><dc:creator>mazis</dc:creator><description>&lt;p&gt;Hello Marte! Thanks for your fast response!&lt;/p&gt;
&lt;p&gt;My main question regards the declaration of a new endpoint. Should I create a new endpoint for each cluster or can I use the same endpoint for the doorlock cluster and the power config one? What is the better way to do it? I would have to modify some lines from de zb_zcl_door_lock.h to integrate the power config into the doorlock cluster, right?.&lt;/p&gt;
&lt;p&gt;If I wanted to declare another endpoint for the power config cluster, do I need to modify the zb_zcl_power_config.h? Adding declarations for endpoint and context as it is done with the doorlock cluster.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/292276?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 14:24:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1581c8f-1ac9-4935-bd7d-b13dbf61bdba</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can declare a set of endpoints on a node, so you should be able to declare an endpoint for the power configuration cluster.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m afraid we don&amp;#39;t have any examples of how this particular cluster can be implemented, but if you haven&amp;#39;t already you should check out the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/using_zigbee__z_c_l.html"&gt;Zigbee stack API overview page&lt;/a&gt;. There you can find information about how to implement a Zigbee end product with ZCL, such as declaring attributes, clusters, cluster lists, and endpoints, as well as registering device context.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Power Config Cluster</title><link>https://devzone.nordicsemi.com/thread/292195?ContentTypeID=1</link><pubDate>Mon, 01 Feb 2021 11:50:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f125822-789e-43bd-8d8d-62d798f24ee5</guid><dc:creator>mazis</dc:creator><description>&lt;p&gt;Hello all!&lt;/p&gt;
&lt;p&gt;I made some updates to the code, now it looks like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;typedef  struct contexto_alimentacion_s
{
    zb_uint8_t battery_voltage; // Atributo 3.3.2.2.3.1
    zb_uint8_t battery_size; // Atributo 3.3.2.2.4.2
    zb_uint8_t battery_quantity; // Atributo 3.3.2.2.4.4
    zb_uint8_t battery_rated_voltage; // Atributo 3.3.2.2.4.5
    zb_uint8_t battery_alarm_mask; // Atributo 3.3.2.2.4.6
    zb_uint8_t battery_voltage_min_threshold; // Atributo 3.3.2.2.4.7
    zb_uint8_t battery_percentage_remaining; // Atributo 3.3.2.2.3.1
    zb_uint8_t battery_voltage_threshold_1; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_voltage_threshold_2; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_voltage_threshold_3; // Atributo 3.3.2.2.4.8
    zb_uint8_t battery_percentage_min_threshold; // Atributo 3.3.2.2.4.9
    zb_uint8_t battery_percentage_threshold_1; // Atributo 3.3.2.2.4.10
    zb_uint8_t battery_percentage_threshold_2; // Atributo 3.3.2.2.4.10
    zb_uint8_t battery_percentage_threshold_3; // Atributo 3.3.2.2.4.10
    zb_uint32_t battery_alarm_state; // Atributo 3.3.2.2.4.11
} contexto_alimentacion_t;

static contexto_alimentacion_t contexto_alimentacion;

ZB_ZCL_DECLARE_POWER_CONFIG_BATTERY_ATTRIB_LIST_EXT(lista_atributos_alimentacion,
                                                    &amp;amp;contexto_alimentacion.battery_voltage,
                                                    &amp;amp;contexto_alimentacion.battery_size,
                                                    &amp;amp;contexto_alimentacion.battery_quantity,
                                                    &amp;amp;contexto_alimentacion.battery_rated_voltage,
                                                    &amp;amp;contexto_alimentacion.battery_alarm_mask,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_min_threshold,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_remaining,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_1,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_2,
                                                    &amp;amp;contexto_alimentacion.battery_voltage_threshold_3,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_min_threshold,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_1,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_2,
                                                    &amp;amp;contexto_alimentacion.battery_percentage_threshold_3,
                                                    &amp;amp;contexto_alimentacion.battery_alarm_state);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The next step might be to declare and endpoint for this cluster, or should I use the doorlock cluster and set the power config cluster as a part of the&amp;nbsp;required clusters? There is an &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/51848/zigbee-power-config-cluster/208779#208779"&gt;older post&lt;/a&gt; where it is discussed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>