<?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>What precicly is an Element in Bluetooth Mesh</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/26797/what-precicly-is-an-element-in-bluetooth-mesh</link><description>I have a hard time understanding precisely what an Element is and how it differentiates from a Model when talking Bluetooth Mesh. 
 The only definition can seem to find of an Element is; &amp;quot;Something addressable in a device.&amp;quot;
But this does not make very</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 14 Nov 2017 15:19:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/26797/what-precicly-is-an-element-in-bluetooth-mesh" /><item><title>RE: What precicly is an Element in Bluetooth Mesh</title><link>https://devzone.nordicsemi.com/thread/105324?ContentTypeID=1</link><pubDate>Tue, 14 Nov 2017 15:19:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26d30e59-fa1b-4ea3-9cd8-22593a39a9d0</guid><dc:creator>Thomas Stenersen</dc:creator><description>&lt;p&gt;Hi Søren,&lt;/p&gt;
&lt;p&gt;Models can actually span multiple elements. This is usually the case for &lt;em&gt;Extended models&lt;/em&gt;, such as the Light HSL Server, where it extends several of the same generic models, thus separate elements are needed for each of the identical instances within the model. Does that make it more clear to you?&lt;/p&gt;
&lt;p&gt;There is only the requirement that a node shall support the health server on the root element (element 0). Supporting it on additional elements is optional, but would make sense in some cases. Drawing &lt;strong&gt;B&lt;/strong&gt; lacks the configuration server and health server on two of the nodes.&lt;/p&gt;
&lt;p&gt;The configuration server shall always be on the root element of the device (element 0) and as stated above, the health server shall be supported on that element as well. Other than that, you&amp;#39;re free to put models wherever you&amp;#39;d like :)&lt;/p&gt;
&lt;p&gt;Hope this helps,&lt;br /&gt;
Thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What precicly is an Element in Bluetooth Mesh</title><link>https://devzone.nordicsemi.com/thread/105323?ContentTypeID=1</link><pubDate>Fri, 10 Nov 2017 15:28:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fccb5862-8286-4d1e-8fc6-a30b7269620a</guid><dc:creator>S&amp;#248;renHN</dc:creator><description>&lt;p&gt;Hi Thomas, thank you for the explanation.
I have some additional questions.&lt;/p&gt;
&lt;p&gt;On Figure 6.9 on page 255 of the Mesh Model Specification, it seems like the &amp;quot;Light HSL Main Element&amp;quot; is inside the &amp;quot;Light HSL Server Model&amp;quot;.
Is this correct?
If it is, how does it work?
My understanding was, that models was inside elements and elements was inside node.&lt;/p&gt;
&lt;p&gt;On Figure 2.7 on page 30 of the Mesh Profile Specification, there are a health server inside each of the elements.
Now that i see it, it makes sens according to how the configuration is done.
But this also means drawing B is incorrect, right?&lt;/p&gt;
&lt;p&gt;On Figure 2.7 the configuration server is inside element 1 together with power level server and the health server.
Would it make sens to put the config server inside its own element?
And would it then need its own health sever?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What precicly is an Element in Bluetooth Mesh</title><link>https://devzone.nordicsemi.com/thread/105322?ContentTypeID=1</link><pubDate>Fri, 10 Nov 2017 13:18:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:545ccd63-989f-464e-9187-44f0832c5c75</guid><dc:creator>Thomas Stenersen</dc:creator><description>&lt;p&gt;Hi Søren,&lt;/p&gt;
&lt;p&gt;Did you read our introduction to &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v0.10.0/md_doc_getting_started_basic_concepts.html?cp=4_1_1_3_2"&gt;Basic Bluetooth Mesh concepts&lt;/a&gt;?
There we have tried to explain the concepts of mesh elements and models. Other than that, I would advise you to read the introductory chapters to the &lt;a href="https://www.bluetooth.com/specifications/mesh-specifications"&gt;Mesh Profile Specification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In short, an &lt;em&gt;Element&lt;/em&gt; is a single addressable unit in a mesh device. It is the owner of one or more unique states and the models &amp;quot;on&amp;quot; that element define behavior and operations on these states. The classic example is a light fixture with more than one light bulb. That device would require one element for each of the bulbs, as they define the same behavior. Another example is a more advanced light bulb that can do colors in the HSL spectrum. In the Mesh Model Specification a Light HSL Server model is defined to handle this use case. It is an &lt;em&gt;extended model&lt;/em&gt;, i.e., it builds upon a common set of other &lt;em&gt;(generic) models&lt;/em&gt;. Because you cannot have two instances of a model on a single element (a model is not addressable outside its opcodes), this model requires &lt;em&gt;three&lt;/em&gt; elements, one for each of the Hue, Saturation and Lightness states. Have a look at Figure 6.9 on page 255 of the Mesh Model Specification. This also shows the concept of &lt;em&gt;state bindings&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;There is no &lt;code&gt;add_element()&lt;/code&gt; call, simply because the number of elements in a device is fixed at compile time and they don&amp;#39;t implement any specific behavior themselves, but the models bound to them do.&lt;/p&gt;
&lt;p&gt;Back to your design, drawing &amp;quot;B&amp;quot; best represents the requirement that there can only be one instance of a particular model on any element. Of course, you can define your own models with a more complex state and keep the single element.&lt;/p&gt;
&lt;p&gt;Hope this helps a bit. I would advise you to check out our documentation on &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v0.10.0/md_doc_getting_started_basic_concepts.html?cp=4_1_1_3_2"&gt;the infocenter&lt;/a&gt; and the Mesh Profile and Mesh Model specifications. In particular the introductory chapters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer to your edit:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;element_index&lt;/code&gt; is the local index of an element on the device. It is in the range &lt;code&gt;[0, ACCESS_ELEMENT_COUNT)&lt;/code&gt;. You are free to place models on whatever element you would like, except for the Configuration Server. A Health Server shall also be supported on the root element (element 0).&lt;/li&gt;
&lt;li&gt;I couldn&amp;#39;t find any usage of &lt;code&gt;model_index&lt;/code&gt;, did you mean &lt;code&gt;model_id&lt;/code&gt;? The Model IDs are specified by Bluetooth SIG for non-vendor specific models. Otherwise they are specified by the vendor.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model_handle&lt;/code&gt; is a value used to reference models local to a device. This is a feature of Nordic&amp;#39;s nRF5 SDK for Mesh. Instead of referring to models by element index + model ID, you refer to them by their unique model handle (assigned by &lt;code&gt;access.c&lt;/code&gt;). This is similar to how the Device State Manager (DSM) assigns &lt;code&gt;dsm_handle_t&lt;/code&gt; values (&lt;code&gt;device_state_manager.c&lt;/code&gt;) for addresses and keys.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Best,&lt;br /&gt;
Thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>