<?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 identify dulicate messages</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/59019/how-to-identify-dulicate-messages</link><description>I have a problem collating model publish events arriving at two different nodes in my mesh. 
 My application is an array of sensors publishing through generic on off and generic level models. Two (or more) nodes in my mesh are “gateways” that report model</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 13 Mar 2020 13:11:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/59019/how-to-identify-dulicate-messages" /><item><title>RE: How to identify dulicate messages</title><link>https://devzone.nordicsemi.com/thread/239734?ContentTypeID=1</link><pubDate>Fri, 13 Mar 2020 13:11:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86faa08a-34b2-4e30-bc9e-5051941a9491</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Hugh,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just an update from our team. The status message doesn&amp;#39;t have an TID and it&amp;#39;s not supposed to have one. It&amp;#39;s just a packet represent the latest status of the bulb.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;In mesh we do have a way to detect a message that&amp;#39;s already received. It&amp;#39;s called message caching. And a sequence number is used to detect the message. The sequence number is not forwarded to the access layer. If you really need to detect the duplicated messages you can modify the&amp;nbsp;upper_transport_packet_in() function in transport.c to forward the sequence number of the packet into access layer (upper_transport_access_packet_in() function).&lt;/p&gt;
&lt;p&gt;The sequence number is inside&amp;nbsp;network_packet_metadata_t struct, which you can find in&amp;nbsp;p_metadata-&amp;gt;net&lt;/p&gt;
&lt;p&gt;Another solution, which I think maybe easier is to simply discard&amp;nbsp;status&amp;nbsp;packet that you receive from the gateway if&amp;nbsp;the value&amp;nbsp;doesn&amp;#39;t change from the period status.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to identify dulicate messages</title><link>https://devzone.nordicsemi.com/thread/239603?ContentTypeID=1</link><pubDate>Thu, 12 Mar 2020 17:54:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3cbc16db-60a5-4496-aac4-49b22ea90894</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Hugh,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In theory this issue can be solved by the TID (transaction ID) that should be unique for each message. However it&amp;#39;s not included in the Generic On Off Status message definition. I can see in our code that we have the&amp;nbsp;generic_onoff_state_t struct that contain the on_off status and the transaction ID. But we haven&amp;#39;t used it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;I would need to double check with the Mesh team to see if there is anything defined in the spec about this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Otherwise you would need to send it as a proprietary access packet. Or create your own model for the purpose.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>