<?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>Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/84885/zigbee-method-for-allowing-user-configurations</link><description>Hello, 
 Working on a zigbee end device with a number of endpoints that are all behaving nicely in general but wondering what the zigbee-ish way of allowing for user config and the nRF Connect SDK support for such. 
 
 Say I have an output on the device</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 21 Feb 2022 15:07:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/84885/zigbee-method-for-allowing-user-configurations" /><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/354192?ContentTypeID=1</link><pubDate>Mon, 21 Feb 2022 15:07:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00f4d82f-3bde-4689-8b8b-4d83b6f72c8e</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Pat,&lt;/p&gt;
&lt;p&gt;Except for the public profiles defined by CSA on&amp;nbsp;&lt;span&gt;&lt;strong&gt;Zigbee Cluster Library Specification&lt;/strong&gt;, you can create your manufacturer-specific profiles to transfer the configuration or user input according to&amp;nbsp;&lt;strong&gt;Zigbee Specification&lt;/strong&gt; section 2.3.1.1, it describes:&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For the purposes of this technical specification, the only criterion is for profile identifiers to be unique. To that end, every profile effort must start with a request to the ZigBee Alliance for allocation of a profile identifier. Once the profile identifier is obtained, that profile identifier permits the profile designer to define the following:&lt;/p&gt;
&lt;p&gt;• Device descriptions&lt;/p&gt;
&lt;p&gt;• Cluster identifiers&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You need to join CSA for this unique profile identifier application. All the Zigbee related specifications can be downloaded from:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://csa-iot.org/all-solutions/zigbee/"&gt;Zigbee | Complete IOT Solution - CSA (csa-iot.org)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/353909?ContentTypeID=1</link><pubDate>Fri, 18 Feb 2022 15:40:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b844cd9-bd10-4e50-8161-924cbf365b9e</guid><dc:creator>psychogenic</dc:creator><description>&lt;p&gt;Hello Charlie, thanks for your answer.&lt;/p&gt;
&lt;p&gt;Yes, users will access and control device through various hubs: that&amp;#39;s actually my point.&lt;/p&gt;
&lt;p&gt;What I&amp;#39;m understanding is that, if I want to allow for configuration beyond what a standard ZCL library cluster has, any kind of extra data exchange from end-user to device over zigbee I am supposed to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create an endpoint with some standards-breaking cluster(s) with IDs that won&amp;#39;t be interpreted as something that is pre-defined, or maybe use something existing (e.g. ZB_ZCL_CLUSTER_ID_MULTI_OUTPUT) in some weird way&lt;/li&gt;
&lt;li&gt;try and find attributes that kindof match what I want them to be able to set (something like an enum, something like an int or float)&lt;/li&gt;
&lt;li&gt;expose this endpoint and its clusters&lt;/li&gt;
&lt;li&gt;handle updates from hub in whichever way is appropriate for device&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and at this point, I could in theory receive the data, but I will then have to go to amazon, google, samsung and every single hub I want to integrate with, and get them to support my custom endpoint, one at a time?&lt;/p&gt;
&lt;p&gt;That seems too crazy, so I&amp;#39;m certain I&amp;#39;m missing something.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m expecting there to be a way to simply expose an endpoint that lets standard hubs/apps know:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this EP (or cluster) is for configuration/user input&lt;/li&gt;
&lt;li&gt;this is the list of attributes that may be set, their description and type (at a minimum &amp;quot;this attribute is 8 bit int, this other is a bool or string or ... etc&amp;quot;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;such that new devices are integrated into the hub/zigbee mesh without having to negotiate and customize apps with every single possible vendor.&lt;/p&gt;
&lt;p&gt;We can&amp;#39;t be the first to want to expose arbitrary configuration knobs on our device, seems like a pretty run of the mill use case.&amp;nbsp; But I haven&amp;#39;t done zigbee so am looking for an idea of how this gets done in this world, normally, and specifically how to do it with NCS.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I hope this clarifies what I&amp;#39;m hoping for and that there&amp;#39;s something basic I&amp;#39;ve missed.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Pat&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/353898?ContentTypeID=1</link><pubDate>Fri, 18 Feb 2022 14:58:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e3a821c-4b6f-470a-8bf6-0283d26aee97</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Pat,&lt;/p&gt;
[quote user="psychogenic"]
&lt;p&gt;&lt;span&gt;What is the zigbee way of allowing some flexibility/configuration?&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;How do I let the device developer expose &amp;quot;knobs&amp;quot; and controls to allow end users to customize their usage of the device, for example as described above?&amp;nbsp;&lt;/p&gt;
[/quote]
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The delay between on/off is a kind of&amp;nbsp;UX-related application-level development. As I mentioned, the developer can provide&amp;nbsp;&lt;span&gt;some buttons and displays, or touch screen to allow the end-user to configure some parameters through the Zigbee device. The UI running on the device is not related to Zigbee. NCS only provides the most fundamental Zigbee implementation for nRF chips, developer still needs to do lots of job for their final products. In this case, everything passes over ZigBee.&lt;/span&gt;&lt;/p&gt;
[quote user="psychogenic"]
&lt;p&gt;&lt;span&gt;What I don&amp;#39;t want is to be forced to use a side-channel (e.g. BLE GATT) and have another exposed surface to secure and maintain.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;Everything should pass over Zigbee. I&amp;#39;d think this is a pretty normal use-case and that I must just be missing some hint as to how this is done with connect SDK.&lt;/span&gt;&lt;/p&gt;
[/quote]
&lt;p&gt;The truth is that&amp;nbsp;most smart home vendors use a Zigbee Bridge/Hub/gateway in order to allow end-user to configure their Zigbee devices through mobile devices or PC.&lt;/p&gt;
&lt;p&gt;You can find a list of existing Zigbee based smart solutions as&amp;nbsp;reference:&amp;nbsp;&lt;a href="https://www.smarthome.news/news/other-systems/what-is-zigbee-and-compatible-smart-home-devices"&gt;What is ZigBee and What Devices Can it Work with Within the (smarthome.news)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/353870?ContentTypeID=1</link><pubDate>Fri, 18 Feb 2022 13:43:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7f0b90a-cbbd-4463-a0a6-a5f46996ed5b</guid><dc:creator>psychogenic</dc:creator><description>&lt;p&gt;To clarify, what I&amp;#39;m looking for is info on standard techniques/practices in Zigbee and with NCS for exposing and&amp;nbsp; communicating configuration options available to the end user.&lt;/p&gt;
&lt;p&gt;What I don&amp;#39;t want is to be forced to use a side-channel (e.g. BLE GATT) and have another exposed surface to secure and maintain.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Everything should pass over zigbee.&amp;nbsp; I&amp;#39;d think this is a pretty normal use-case and that I must just be missing some hint as to how this is done with connect SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/353869?ContentTypeID=1</link><pubDate>Fri, 18 Feb 2022 13:39:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5b04ab9-ee75-4ab5-9d2d-1b9cb237b42f</guid><dc:creator>psychogenic</dc:creator><description>&lt;p&gt;Not quite.&amp;nbsp; The app devel deciding this is trivial.&lt;br /&gt;&lt;br /&gt;I want to know how to let the end-user do this.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;What is the zigbee way of allowing some flexibility/configuration?&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;How do I let the device developer expose &amp;quot;knobs&amp;quot; and controls to allow end users to customize their usage of the device, for example as described above?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zigbee method for allowing user configurations?</title><link>https://devzone.nordicsemi.com/thread/353801?ContentTypeID=1</link><pubDate>Fri, 18 Feb 2022 10:19:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:945ffb4c-2d2c-45de-a7c2-cf080b78f784</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Pat,&lt;/p&gt;
&lt;p&gt;If I understand your notion correctly, shouldn&amp;#39;t this application logic be implemented by your development?&lt;/p&gt;
&lt;p&gt;For example, we already have the light bulb and switch samples from&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrf/samples/samples_zigbee.html"&gt;Zigbee samples — nRF Connect SDK 1.8.0 documentation (nordicsemi.com)&lt;/a&gt;.&amp;nbsp;You can modify&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrf/samples/zigbee/light_switch/README.html"&gt;Zigbee: Light switch&lt;/a&gt;&amp;nbsp;to have a button send on command and send off or toggle after 3s. The delay time can also be configured through some buttons and displays. You can also do this on a smart hub. The logic is the same and totally decided by the application developers.&lt;/p&gt;
&lt;p&gt;Just let me know if I am wrong, we can continue the discussion.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>