<?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>MQTT Quality of Service 1 with the nRF Cloud library</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126450/mqtt-quality-of-service-1-with-the-nrf-cloud-library</link><description>Hey! I have been using MQTT with QoS 0 to transmit my sensor readings to nRF Cloud. However, I see data loss regularly, and I expect that is happening between my device and nRF Cloud, since the device is mobile and connects over LTE. 
 I&amp;#39;d like to upgrade</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Mar 2026 09:21:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126450/mqtt-quality-of-service-1-with-the-nrf-cloud-library" /><item><title>RE: MQTT Quality of Service 1 with the nRF Cloud library</title><link>https://devzone.nordicsemi.com/thread/564157?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2026 09:21:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8677f70c-441d-43a6-abeb-805321a085ef</guid><dc:creator>Pascal Hdz</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m closing this ticket for lack of response. Please open a new one in case you need further assistance.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Pascal.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MQTT Quality of Service 1 with the nRF Cloud library</title><link>https://devzone.nordicsemi.com/thread/562012?ContentTypeID=1</link><pubDate>Wed, 25 Feb 2026 09:39:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac466a6f-565b-4666-9507-7d165989a5cd</guid><dc:creator>Pascal Hdz</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry for the late reply, have you figured out a solution or do you still need support on this matter?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Pascal.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MQTT Quality of Service 1 with the nRF Cloud library</title><link>https://devzone.nordicsemi.com/thread/558418?ContentTypeID=1</link><pubDate>Fri, 09 Jan 2026 15:46:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7559e3c-539f-4998-a568-c0c05697ffb6</guid><dc:creator>oddgrd</dc:creator><description>&lt;p&gt;Thank you, Benjamin! I did see that if I used the Zephyr MQTT library directly I would have access to these events and more control, but I was hoping that I could continue using the nRF Cloud library, as it significantly reduces the complexity of my application. And it seems to me that the MQTT helper library expects an MQTT client, and as I understand it I won&amp;#39;t have access to the MQTT client directly when I use the nRF Cloud library.&lt;br /&gt;&lt;br /&gt; Do you have a sample application using QoS-1 with the nRF Cloud library, which also listens for PUBACK and retries transmission? I linked one in my post, the &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/ceb80c426c029321982749d2d9e7f29e48349989/applications/asset_tracker_v2/src/cloud/nrf_cloud_integration.c#L159-L164"&gt;`asset_tracker_v2` application&lt;/a&gt;, but it seemed quite convoluted, and it is deprecated in the newer versions of the SDK. I also noticed that you don&amp;#39;t do it in the same way in the modern version of the example, the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/cellular/nrf_cloud_multi_service/README.html"&gt;multi-service sample&lt;/a&gt;, so I assumed that it is not a recommended approach. However, in this sample you also &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/69b449deef77c1c56510a8caada06b3e374e6668/samples/cellular/nrf_cloud_multi_service/src/message_queue.c#L129"&gt;set QoS to 1&lt;/a&gt;, but as far as I can tell, there is no logic to handle PUBACKs.&amp;nbsp;To me that seems equivalent to setting QoS 0 when it comes to delivery guarantee, so I assume I am missing something. Is that correct?&lt;br /&gt;&lt;br /&gt;Sorry for all the questions, but I&amp;#39;ve been digging into this for a while, and I struggled to find clear documentation for handling the various MQTT Quality of service settings on the application side. Perhaps the answer is just that I have to live with dropping the nRF cloud library, and drop down a level to the Zephyr MQTT library, as you&amp;nbsp;suggested. I just want to make sure that is what I need to do before I get started, because it&amp;#39;s a quite significant change in my firmware.&lt;br /&gt;&lt;br /&gt;Edit: looking closer at the MQTT helper library, maybe I don&amp;#39;t need to use the Zephyr MQTT library after all, but rather keep using the nRF cloud library for transmissions, and then just use the helper library to hook into PUBACKs. I&amp;#39;ll see if that works, thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MQTT Quality of Service 1 with the nRF Cloud library</title><link>https://devzone.nordicsemi.com/thread/558416?ContentTypeID=1</link><pubDate>Fri, 09 Jan 2026 15:12:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e59f1e2b-5cc6-4704-869c-8168803c1c41</guid><dc:creator>Benjamin</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;These libraries&amp;nbsp;do not&amp;nbsp;automatically retransmit messages if no PUBACK is received. You need to handle this in the application. The MQTT helper library offer the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/nrf-apis-3.2.0/page/group_mqtt_helper_ga0304120ac6fd1d2578f6927643e5967a.html#ga0304120ac6fd1d2578f6927643e5967a"&gt;on_puback&lt;/a&gt;&amp;nbsp;callback to handle incoming PUBACKs. You will need to send again after some time.&lt;/p&gt;
&lt;p&gt;You can also use&amp;nbsp;&lt;span&gt;MQTT Asynchronous Events that are notified to the application from the module through a&amp;nbsp;callback registered in the application.&lt;/span&gt;&amp;nbsp;See&amp;nbsp;&lt;a href="https://docs.zephyrproject.org/latest/doxygen/html/group__mqtt__socket.html#ga0071fe013b9920711456ef51cc3e6d91"&gt;MQTT_EVT_PUBACK&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Benjamin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>