<?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>Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/96829/troubleshooting-nrf-mesh-heartbeat-feature-configuration-in-version-5</link><description>&amp;quot;Hello, I&amp;#39;m trying to set up the Heartbeat feature in my nRF Mesh network using the nRF Mesh app. I&amp;#39;ve provisioned and configured both a server and a client, and I&amp;#39;ve set up the Heartbeat Publication and Subscription addresses as well as the Heartbeat</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 12 Apr 2024 09:02:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/96829/troubleshooting-nrf-mesh-heartbeat-feature-configuration-in-version-5" /><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/478497?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 09:02:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ae89e30-2b80-407d-95d8-b78809654793</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Toni,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This seems to be a logging setup issue, which makes it not&amp;nbsp;completely relate to the topic discuss here; and&amp;nbsp;I see that you have opened a new case for your question:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/110146/trouble-logging-heartbeat"&gt;Trouble Logging Heartbeat&lt;/a&gt;. Let&amp;#39;s continue there.&lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/478006?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2024 10:10:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f78da891-c353-4722-a987-d69cb8e5aeae</guid><dc:creator>toni95</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/vthieu"&gt;Hieu&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;I have trouble trouble getting callbacks.&lt;/p&gt;
&lt;p&gt;I setup the mesh sensor example. The server observer should give me some information regarding the heartbeat. Therefore I created a group called &amp;quot;heartbeat&amp;quot; inside the nrf mesh app and the sensor server publishes the heartbeat with a count of 2048 and period of 4 seconds to this group.&lt;/p&gt;
&lt;p&gt;The sensor server subscribes to the group with a period of more than half an hour, so that I can see inside the app that there are messages incoming. So thats fine and working properly.&lt;/p&gt;
&lt;p&gt;Now I want to display the information from the heartbeat in the console. Therefore I implemented the structures in the model_handler.c as follows (by reference to &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/connectivity/bluetooth/api/mesh/heartbeat.html#c.bt_mesh_hb_sub"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/connectivity/bluetooth/api/mesh/heartbeat.html#c.bt_mesh_hb_sub&lt;/a&gt;):&lt;/p&gt;
&lt;div style="background-color:#1f1f1f;color:#cccccc;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;// Define callback function to handle heartbeat events&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_sub_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;bt_mesh_hb_sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;*&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;uint8_t&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;hops&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;uint16_t&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;feat&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// This function will be called when a heartbeat message is received&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// src: Source address of the heartbeat message&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// dst: Destination address of the heartbeat message&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// hops: Number of hops the message took&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// period: Period of the heartbeat message&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;printk&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;Heartbeat received&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;Heartbeat received from 0x&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%04x&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;src&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; dst &amp;nbsp; &amp;nbsp; &amp;nbsp;= 0x&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%04x&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dst&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; hops &amp;nbsp; &amp;nbsp; = &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%d&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;hops&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; period &amp;nbsp; = &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%d&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;period&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_sub_end_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;bt_mesh_hb_sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;*&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// This function will be called when the subscription period ends&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;Heartbeat subscription ended&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_pub_sent_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;bt_mesh_hb_pub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;*&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// This function will be called when a heartbeat message is sent&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// dst: Destination address of the heartbeat message&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// count: Number of heartbeat messages sent&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// period: Period of the heartbeat message&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;printk&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;Heartbeat published&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; dst &amp;nbsp; &amp;nbsp; &amp;nbsp;= 0x&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%04x&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dst&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; count &amp;nbsp; &amp;nbsp;= &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%d&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;count&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;LOG_INF&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\t\t&lt;/span&gt;&lt;span style="color:#ce9178;"&gt; period &amp;nbsp; = &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;%d&lt;/span&gt;&lt;span style="color:#d7ba7d;"&gt;\n&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pub&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;period&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;bt_mesh_hb_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;hb_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;recv&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_sub_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;sub_end&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_sub_end_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pub_sent&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;hb_pub_sent_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I also setup the definition for the heartbeat callback as follows:&lt;/p&gt;
&lt;div style="background-color:#1f1f1f;color:#cccccc;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;bt_mesh_comp&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;*&lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;model_handler_init&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;k_work_init_delayable&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;attention_blink_work&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;, &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;attention_blink&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#dcdcaa;"&gt;dk_button_handler_add&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;button_handler&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;BT_MESH_HB_CB_DEFINE&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;(&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;hb_cb&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c586c0;"&gt;return&lt;/span&gt;&lt;span style="color:#cccccc;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;comp&lt;/span&gt;&lt;span style="color:#cccccc;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#cccccc;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;However when I build the application I get the warning that &amp;quot;&amp;#39;hb_cb&amp;#39; defined but not used [-Wunused-variable]&amp;quot; and nothing from the heartbeat i displayed in the serial monitor although I can see through nrf mesh app that messages are received.&lt;/p&gt;
&lt;p&gt;Am I missing something?&lt;/p&gt;
&lt;p&gt;I am using nRF Connect SDK v2.6.0&lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;
&lt;p&gt;Toni&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/412721?ContentTypeID=1</link><pubDate>Wed, 01 Mar 2023 11:27:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6764ff19-a9c3-4dc5-a17d-39a7a62bff11</guid><dc:creator>Muhammad Kashif</dc:creator><description>&lt;p&gt;Although I have many questions, I have been able to answer some through experimentation. This is why I have decided to close the thread.&lt;/p&gt;
&lt;p&gt;For instance, I was trying to determine how to find the optimal TTL value from the heartbeat feature. I discovered that this is typically done by analyzing the hops value.&lt;/p&gt;
&lt;p&gt;Thank you for your response.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/412684?ContentTypeID=1</link><pubDate>Wed, 01 Mar 2023 09:37:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0255f7b-c5fe-43aa-8bce-9e8128b17731</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Muhammad,&lt;/p&gt;
&lt;p&gt;I noticed you had&amp;nbsp;four&amp;nbsp;follow-up questions but have now deleted them and closed this DevZone thread.&amp;nbsp;I&amp;#39;m sorry if the wait made you make that decision. I was double-checking&amp;nbsp;something with my team before answering you.&lt;/p&gt;
&lt;p&gt;I hope everything is&amp;nbsp;working fine for you now.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/411796?ContentTypeID=1</link><pubDate>Thu, 23 Feb 2023 23:18:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fdb08315-b7f7-4597-b39f-3ab03742bd3a</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hello Muhammad,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;From your questions and screenshot, I think perhaps you still misunderstand the concept of &amp;quot;period&amp;quot; in the Heartbeat &lt;em&gt;&lt;strong&gt;Subscription&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In&amp;nbsp;Heartbeat Publication, the term &amp;quot;period&amp;quot; refers to the amount of time between each heartbeat message being sent.&lt;br /&gt;After sending each heartbeat message, &amp;quot;count&amp;quot; is decrement. When count is 0, no heartbeat message is sent.&lt;/p&gt;
&lt;p&gt;In Heartbeat Subscription, the term &amp;quot;period&amp;quot; refers to the window of time during which the node will subscribe to heartbeat messages.&amp;nbsp;&lt;br /&gt;After receiving each heartbeat message, &amp;quot;count&amp;quot; is increment.&lt;/p&gt;
&lt;p&gt;From that, let&amp;#39;s think about what would be a good setup to,&amp;nbsp;&lt;em&gt;&lt;strong&gt;as a human&lt;/strong&gt;&lt;/em&gt;,&amp;nbsp;see heartbeat (HB) in action. One good strategy is to quickly setup&lt;/p&gt;
&lt;p&gt;1. HB Publication with &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.1. Moderately short &amp;lt;Publication Period&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.2. Big &amp;lt;Publication Count&amp;gt;&lt;br /&gt;2. HB Subscription with a big &amp;lt;HB Subscription Period&amp;gt;.&lt;/p&gt;
&lt;p&gt;I emphasis the&amp;nbsp;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&amp;quot;as a human&amp;quot; part because the suggestion &amp;quot;short&amp;quot; or &amp;quot;big&amp;quot; is only so that a human manually&amp;nbsp;configuring the nodes can&amp;nbsp;see what happen.&lt;br /&gt;As&amp;nbsp;a node running&amp;nbsp;an application,&amp;nbsp;any combination of the above configurations can be supported.&lt;/p&gt;
&lt;p&gt;With that in mind, let&amp;#39;s go into the details you requested.&lt;/p&gt;
[quote user="Muhammad Kashif"]&lt;ul&gt;&lt;li&gt;&lt;p&gt;&amp;quot;Could you please provide a step-by-step guide or a screenshot of how to configure the heartbeat feature using the nRF Mesh app?&amp;quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;quot;What types of output messages are displayed in the log or app when the heartbeat feature is used, and could you please provide a screenshot or an example?&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;[/quote]
&lt;p&gt;In my mesh,&amp;nbsp;after provisioning, there are two nodes running &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v5.0.0/md_examples_sensor_README.html"&gt;the sensor server example&lt;/a&gt; as followed:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/8130.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;On node 1,&amp;nbsp;I decide that:&lt;/p&gt;
&lt;p&gt;1. Node 0x0002 will send HB Publication with&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.1. HB Publication Period of 4 seconds&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.2. HB Publication Count of 1024&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.3. Destination: 0x0003&lt;br /&gt;Screenshot of Node 0x0002 &amp;gt; Configuration Server Model &amp;gt; Heartbeat Publication &amp;gt; Set Publication&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/40523.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;2. Node 0x0003 will send HB Subscription with&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.1. HB Subscription Period of 34 minutes 8 seconds (2048s)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.2 Source: 0x0002&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.3 Destination: 0x0003&lt;br /&gt;Screenshot of Node 0x0003 &lt;span&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Configuration Server Model &amp;gt; Heartbeat&amp;nbsp;Subscription &amp;gt;&amp;nbsp;Subscribe&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/3833.png" alt=" " /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now, repeatedly hit Refresh in node 0x0003&amp;#39;s Heartbeat Subscription area and observe that &lt;em&gt;&lt;span style="text-decoration:underline;"&gt;Subscription Count&lt;/span&gt;&lt;/em&gt; is going up and &lt;em&gt;&lt;span style="text-decoration:underline;"&gt;Subscription Period&lt;/span&gt;&lt;/em&gt; is going down.&lt;br /&gt;It should increase from 1, to 2...3, then 4...7.&lt;br /&gt;This is how count is reported, as a range between power of 2. (2&lt;sup&gt;n&lt;/sup&gt; ... 2&lt;sup&gt;n&lt;/sup&gt;-1)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You can also go back to node 0x0002&amp;#39;s Heartbeat Publication area and hit Refresh to see that &lt;em&gt;&lt;span style="text-decoration:underline;"&gt;Publication&amp;nbsp;Count&lt;/span&gt;&lt;/em&gt; is&amp;nbsp;going down. &lt;em&gt;&lt;span style="text-decoration:underline;"&gt;Publication Period&lt;/span&gt;&lt;/em&gt; remains the same.&lt;br /&gt;You might want to setup another publication with smaller count to see the result faster.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;That is a setup similar to yours.&amp;nbsp;Once you are familiar with that, we can try a&amp;nbsp;slightly&amp;nbsp;faster setup. I will skip the screenshots on these.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Experiment 1: On node 0x0003, set HB Publication with Period of 1s, and Count of 16.&amp;nbsp;Press Refresh repeatedly to see Count decreases rapidly.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Experiment 2:&lt;br /&gt;&lt;/span&gt;&lt;span&gt; On node 0x0003, set HB Publication with&amp;nbsp;Period of 1s, and Count of 1024, &lt;span style="text-decoration:underline;"&gt;&lt;em&gt;destination&amp;nbsp;0x0003&lt;/em&gt;&lt;/span&gt;.&lt;br /&gt;On node 0x0003, set HB Subscription with Period of 16s, &lt;em&gt;&lt;span style="text-decoration:underline;"&gt;source 0x0003, destination 0x0003&lt;/span&gt;&lt;/em&gt;.&lt;br /&gt;Hit Refresh repeatedly on HB Subscription to see Count increases rapidly, and stop after 16 seconds.&lt;/span&gt;&lt;/p&gt;
[quote user="Muhammad Kashif"]&amp;quot;If you have access to a development kit, would it be possible for you to test the heartbeat feature and provide me with the output messages? This would be very helpful as I have already configured the feature but am unsure where the output messages will be displayed or what they will look like.&amp;quot;[/quote]
&lt;p&gt;By default, there is no log at all.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think there is anything to get to see the Publication without modifying the SDK to add more logging. &lt;br /&gt;There is one callback setup, but using it would&amp;nbsp;also break the Configuration Server feature.&lt;br /&gt;If you are really motivated, you can study heartbeat.c and&amp;nbsp;add logging to heartbeat_send().&lt;/p&gt;
&lt;p&gt;If you do decide to modify the SDK, I recommend to make a copy of the SDK for such experiments, perhaps even delete once you are done. It is not rare that people have issues because of a change to the SDK they make two months prior.&lt;/p&gt;
&lt;p&gt;For Subscription, you can use &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v5.0.0/group__NRF__MESH__EVENTS.html#gaf80ff374c3b181dad3bec19debf0f5f0"&gt;nrf_mesh_evt_handler_add()&lt;/a&gt;&lt;span&gt;&amp;nbsp;and look for event type &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v5.0.0/group__NRF__MESH__EVENTS.html#ggab3f98b4c62dde77094fd28f39ba9856caa5b29b800ac7f7137d93922e6c661da0"&gt;NRF_MESH_EVT_HB_MESSAGE_RECEIVED&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Example code here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;void c303185_nrf_mesh_evt_handler_cb(const nrf_mesh_evt_t * p_evt)
{
    static uint32_t cntr = 0;
    if (p_evt-&amp;gt;type == NRF_MESH_EVT_HB_MESSAGE_RECEIVED)
    {
        cntr++;
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO,
              &amp;quot;c303185_nrf_mesh_evt_handler_cb - %d\n&amp;quot;,
              cntr);

        const heartbeat_subscription_state_t* t_p_hb_sub_state = heartbeat_subscription_get();
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;c303185_nrf_mesh_evt_handler_cb - t_p_hb_sub_state\n&amp;quot;);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t src      = 0x%04x\n&amp;quot;, t_p_hb_sub_state-&amp;gt;src);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t dst      = 0x%04x\n&amp;quot;, t_p_hb_sub_state-&amp;gt;dst);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t count    = %d\n&amp;quot;, t_p_hb_sub_state-&amp;gt;count);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t period   = %d\n&amp;quot;, t_p_hb_sub_state-&amp;gt;src);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t min_hops = %d\n&amp;quot;, t_p_hb_sub_state-&amp;gt;min_hops);
        __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;\t\t max_hops = %d\n&amp;quot;, t_p_hb_sub_state-&amp;gt;max_hops);

    }
}

nrf_mesh_evt_handler_t c303185_nrf_mesh_evt_handler = 
{
    .evt_cb = c303185_nrf_mesh_evt_handler_cb
};


static void initialize(void)
{
    [...]
    nrf_mesh_evt_handler_add(&amp;amp;c303185_nrf_mesh_evt_handler);
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/411275?ContentTypeID=1</link><pubDate>Wed, 22 Feb 2023 08:46:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f334929-55d4-442f-acde-baba79abc216</guid><dc:creator>Muhammad Kashif</dc:creator><description>&lt;p&gt;Thank you for your response, Hieu.&lt;/p&gt;
&lt;p&gt;I have read the documents you provided. After that, I tested the heartbeat feature again and I would like to share my configuration setup for both nodes with you, as shown below.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:167px;max-width:167px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/334x334/__key/communityserver-discussions-components-files/4/pastedimage1677050040347v2.jpeg" /&gt;&lt;/p&gt;
&lt;p&gt;sensor client configuration for heartbeat message is here&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:200px;max-width:200px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/400x400/__key/communityserver-discussions-components-files/4/pastedimage1677050155993v3.jpeg" /&gt;&lt;/p&gt;
&lt;p&gt;sensor server configuration for heartbeat is here&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:5px;max-width:5px;" alt=" " height="5" src="https://devzone.nordicsemi.com/resized-image/__size/10x10/__key/communityserver-discussions-components-files/4/pastedimage1677050270499v4.jpeg" width="5" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:210px;max-width:210px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/420x420/__key/communityserver-discussions-components-files/4/pastedimage1677050346242v5.jpeg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;After configuring everything, I checked the J-Link debugger for the output result, but unfortunately, there was no response. Additionally, there is nothing in the app to show me the output message for the heartbeat message.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;My Questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&amp;quot;Could you please provide a step-by-step guide or a screenshot of how to configure the heartbeat feature using the nRF Mesh app?&amp;quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;quot;What types of output messages are displayed in the log or app when the heartbeat feature is used, and could you please provide a screenshot or an example?&amp;quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;quot;If you have access to a development kit, would it be possible for you to test the heartbeat feature and provide me with the output messages? This would be very helpful as I have already configured the feature but am unsure where the output messages will be displayed or what they will look like.&amp;quot;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/411212?ContentTypeID=1</link><pubDate>Tue, 21 Feb 2023 21:56:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:194bbc7c-2d4c-4380-8eec-452d64045c3e</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hello Muhammad,&lt;/p&gt;
&lt;p&gt;The answer to your questions could be found in the Mesh Profile Bluetooth Specification. The latest version, 1.0.1 as of time of writing, can be found here:&amp;nbsp;&lt;a href="https://www.bluetooth.com/specifications/specs/mesh-profile-1-0-1/"&gt;Mesh Profile – Bluetooth&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; Technology Website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In particular, you will want to read the following sections:&lt;/p&gt;
&lt;p&gt;3.6: Heartbeat&lt;br /&gt;4.2.17: Heartbeat Publication&lt;br /&gt;4.2.18: Heartbeat Subscription&lt;/p&gt;
&lt;p&gt;If there are anything unclear from there,&amp;nbsp;please don&amp;#39;t hesitate to ask and I will try my best to support.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/410999?ContentTypeID=1</link><pubDate>Tue, 21 Feb 2023 06:18:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d16f9b31-d903-46af-a6b9-e0d248a85fc5</guid><dc:creator>Muhammad Kashif</dc:creator><description>&lt;p&gt;Hello Hieu,&lt;/p&gt;
&lt;p&gt;1)&lt;/p&gt;
&lt;p&gt;I have two Nordic Development Kits/boards, and I am using a sensor server example as the starting point for my project. My task is to check the heartbeat functionality on these devices.&lt;/p&gt;
&lt;p&gt;To begin, I completed the mesh network setup by assigning the publish and subscription addresses for successful communication between the server and client nodes using the Mesh app. After ensuring that the mesh network is working as expected, I proceeded to configure the heartbeat feature on the devices.&lt;/p&gt;
&lt;p&gt;For the source and destination addresses of the heartbeat feature, I used the unique addresses that were assigned during provisioning. The unique address for the sensor server node is 0x00E5, and the unique address for the sensor client node is 0x00E9.&lt;/p&gt;
&lt;p&gt;in mesh app -&amp;gt; server node -&amp;gt; configuration server -&amp;gt; scroll down to the heartbeat publication setup as shown in below pic&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:215px;max-width:215px;" height="215" src="https://devzone.nordicsemi.com/resized-image/__size/430x430/__key/communityserver-discussions-components-files/4/pastedimage1676957214123v1.jpeg" width="215" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Now in mesh app go to the client node -&amp;gt; configuration server -&amp;gt; scroll down to the subscription heartbeat and sitting as below&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1676957408092v2.jpeg" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;and save then&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:160px;max-width:150px;" alt=" " height="160" src="https://devzone.nordicsemi.com/resized-image/__size/300x320/__key/communityserver-discussions-components-files/4/pastedimage1676957450386v3.jpeg" width="150" /&gt;&lt;/p&gt;
&lt;p&gt;that is the configuration for heartbeat feature.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Your second question how to determine if a message has been received or not. To detect this, I used a J-Link debugger and also monitored the output of the client node using the serial port in Putty. I was able to confirm that communication between the nodes was established since the sensor server successfully published its data and the client node received the data without any issues.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;summary:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How does the heartbeat feature work?&lt;/li&gt;
&lt;li&gt;How do I configure the heartbeat feature correctly?&lt;/li&gt;
&lt;li&gt;Is the unicast address that I assign correct?&lt;/li&gt;
&lt;li&gt;How do I confirm that the heartbeat feature works, and what output should I expect to see?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Troubleshooting nRF Mesh Heartbeat Feature Configuration in Version 5</title><link>https://devzone.nordicsemi.com/thread/410901?ContentTypeID=1</link><pubDate>Mon, 20 Feb 2023 13:23:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2efc47b8-06d9-438a-b9fe-03e507a5fd76</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hello Muhammad,&lt;/p&gt;
&lt;p&gt;Could you please let me know how you setup the address of the&amp;nbsp;publication and subscription?&lt;br /&gt;How are you detecting whether you receive the messages or not?&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>