<?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>Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121048/issue-reporting-tamper-detection-via-activehardwarefaults-0x0005-general-diagnostics-cluster-0x0033</link><description>Hi Nordic Team, 
 I am using NCS v3.0.0 and working on a Matter-based application. 
 I have enabled the ActiveHardwareFaults attribute (0x0005) in the General Diagnostics cluster (0x0033) using ZAP GUI , and now I am implementing tamper detection functionality</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Nov 2025 10:57:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121048/issue-reporting-tamper-detection-via-activehardwarefaults-0x0005-general-diagnostics-cluster-0x0033" /><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/555029?ContentTypeID=1</link><pubDate>Fri, 21 Nov 2025 10:57:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb473ef4-b1fb-4e56-a397-7199b654100b</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Rahul,&lt;/p&gt;
&lt;p&gt;The developers provided an explanation of the issue.&lt;/p&gt;
&lt;p&gt;The main problem is that the code only triggers reporting the hardware fault, but not the hardware fault itself. Therefore, the general diagnostics server code cannot obtain the list of active hardware faults because it is not implemented.&lt;/p&gt;
&lt;p&gt;Reading the ActiveHardwareFaults attribute triggers this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;case ActiveHardwareFaults::Id: {
    return ReadListIfSupported(&amp;amp;DiagnosticDataProvider::GetActiveHardwareFaults, aEncoder);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This means that Matter will attempt to read the active hardware faults list, but it relies entirely on&amp;nbsp;&lt;code&gt;DiagnosticDataProvider::GetActiveHardwareFaults&lt;/code&gt; being implemented (due to &lt;code&gt;ReadListIfSupported&lt;/code&gt;). This means that if&amp;nbsp;&lt;code&gt;DiagnosticDataProvider::GetActiveHardwareFaults&lt;/code&gt; is not implemented, the list is empty.&lt;/p&gt;
&lt;p&gt;So, what you need to do is implement your own &lt;code&gt;DiagnosticDataProvider&lt;/code&gt; where you implement your own logic for catching the hardware fault and storing it in the list. You can use Zephyr&amp;#39;s implementation as a base and inherit functions from there. &lt;br /&gt;There is an nrfconnect implementation as well, but the only nrfconnect-specific additions are Wi-Fi related, so unless you are using Wi-Fi, there is no reason to use the nrfconnect implementation. As a note, inheriting from the nrfconnect platform is currently blocked because the constructor is private. However, this issue will be addressed by the following PR:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-connectedhomeip/pull/670"&gt;https://github.com/nrfconnect/sdk-connectedhomeip/pull/670&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The developers have also provided an example implementation and provided it as a diff.&lt;/p&gt;
&lt;p&gt;This is for nRF Connect SDK v3.0.0, so make sure that you are on that version.&lt;/p&gt;
&lt;p&gt;Download the diff file and apply it:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;git apply diagnostic_data_provider_temper_example.diff&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This will add two new files to the Template sample &lt;code&gt;diagnostic_data_provider.cpp/.h&lt;/code&gt;, which implements the new diagnostic data provider that inherits the Zephyr Diagnostic provider. The cpp file is added to CMakeLists.txt, and the new diagnostic data provider is registered in the Matter server (in &lt;code&gt;app_task.cpp/.h&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;After adding this, reading the attribute will result in seeing 1 active hardware fault:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[1763651063.542] [351701:351703] [TOO] Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 2400826327
[1763651063.542] [351701:351703] [TOO]   ActiveHardwareFaults: 1 entries
[1763651063.542] [351701:351703] [TOO]     [1]: 10&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/diagnostic_5F00_data_5F00_provider_5F00_temper_5F00_example.diff"&gt;devzone.nordicsemi.com/.../diagnostic_5F00_data_5F00_provider_5F00_temper_5F00_example.diff&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/538002?ContentTypeID=1</link><pubDate>Wed, 04 Jun 2025 09:17:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d02e210c-a578-4016-89b4-f6c5a71b6ac7</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Rahul,&lt;/p&gt;
&lt;p&gt;I asked the developers for an update. Unfortunately, I do not have anything to share. I cannot comment on the schedule for when this will get done since this needs to be prioritized against other tasks. Please get in touch with RSM if this is critical.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/537821?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2025 09:35:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8105e44-b3b9-45a5-b2ac-eb0efba1b159</guid><dc:creator>rahul@123</dc:creator><description>&lt;p data-start="395" data-end="404"&gt;Hi Marte,&lt;/p&gt;
&lt;p data-start="406" data-end="431"&gt;I hope you&amp;#39;re doing well.&lt;/p&gt;
&lt;p data-start="433" data-end="604"&gt;I just wanted to check in to see if there&amp;rsquo;s been any updates.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p data-start="433" data-end="604"&gt;Thanks again for your continued support!&lt;/p&gt;
&lt;p data-start="797" data-end="826"&gt;Best regards,&lt;br data-start="810" data-end="813" /&gt; Rahul Chauhan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/536230?ContentTypeID=1</link><pubDate>Tue, 20 May 2025 13:17:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:555cbad2-df10-4286-8b98-3db9daa6b6f2</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Rahul,&lt;/p&gt;
&lt;p&gt;I pinged the developers for an update yesterday, and they will look into it. I will update you when I know more.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/535989?ContentTypeID=1</link><pubDate>Mon, 19 May 2025 12:35:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e6e0106-9696-4f51-b75d-ad98b78bb20c</guid><dc:creator>rahul@123</dc:creator><description>&lt;p class="" data-start="116" data-end="125"&gt;Hi Marte,&lt;/p&gt;
&lt;p class="" data-start="127" data-end="152"&gt;I hope you&amp;#39;re doing well.&lt;/p&gt;
&lt;p class="" data-start="154" data-end="328"&gt;Just wanted to follow up and see if there&amp;rsquo;s any update regarding the attribute update in &lt;code data-start="243" data-end="269"&gt;OnHardwareFaultsDetect()&lt;/code&gt;. I&amp;rsquo;m happy to wait if it&amp;rsquo;s still being checked internally.&lt;/p&gt;
&lt;p class="" data-start="330" data-end="360"&gt;Thanks again for your support!&lt;/p&gt;
&lt;p class="" data-start="362" data-end="391"&gt;Best regards,&lt;br data-start="375" data-end="378" /&gt; Rahul Chauhan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/534694?ContentTypeID=1</link><pubDate>Fri, 09 May 2025 13:52:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5c4469f-2f8e-4071-b4ce-1677d5cf487b</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have not figured this out yet, but I have forwarded it internally to the developers, and I am waiting for a response. I will get back to you when I hear from them.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/534275?ContentTypeID=1</link><pubDate>Wed, 07 May 2025 11:58:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f01e70e1-b2bc-4512-af63-e63743ea65d3</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Rahul,&lt;/p&gt;
&lt;p&gt;From the code, I see that OnHardwareFaultsDetect() calls on MatterReportingAttributeChangeCallback() to inform that an attribute has been updated and to trigger reporting. Still, I do not find any place where the attribute is updated, as OnHardwareFaultsDetect() only records the event.&lt;/p&gt;
&lt;p&gt;I will have to do some more digging and discuss this internally. I will get back to you by the end of the week.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/534022?ContentTypeID=1</link><pubDate>Tue, 06 May 2025 06:30:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7458b90-f123-4532-978d-f140a56fb86b</guid><dc:creator>rahul@123</dc:creator><description>&lt;p class="" data-start="431" data-end="440"&gt;Hi Marte,&lt;/p&gt;
&lt;p class="" data-start="442" data-end="470"&gt;Really appreciate your help!&lt;/p&gt;
&lt;p class="" data-start="442" data-end="470"&gt;The chip-tool event command works fine &amp;mdash; I receive the &lt;strong data-start="527" data-end="550"&gt;HardwareFaultChange&lt;/strong&gt; event properly when &lt;code data-start="571" data-end="594"&gt;tamper_work_handler()&lt;/code&gt; is triggered.&lt;/p&gt;
&lt;p class="" data-start="610" data-end="766"&gt;But when I subscribe to the &lt;strong data-start="638" data-end="662"&gt;ActiveHardwareFaults&lt;/strong&gt; attribute (0x0005), it still shows &lt;strong data-start="698" data-end="711"&gt;0 entries&lt;/strong&gt;. I was expecting the tamper (enum 10) to appear there.&lt;/p&gt;
&lt;p class="" data-start="768" data-end="823"&gt;Am I missing something in how to update this attribute?&lt;/p&gt;
&lt;p class="" data-start="825" data-end="854"&gt;Best regards,&lt;br data-start="838" data-end="841" /&gt; Rahul Chauhan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/533928?ContentTypeID=1</link><pubDate>Mon, 05 May 2025 13:21:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9000212-c90c-4085-9fbd-ad1280ecf5d7</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Rahul,&lt;/p&gt;
&lt;p&gt;It seems like your code triggers the HardwareFaultChange event instead of updating the ActiveHardwareFaults attribute. A solutions is to read or subscribe to the event instead. You can do so with the following commands:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;./chip-tool generaldiagnostics read-event hardware-fault-change destination-id endpoint-id&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;./chip-tool generaldiagnostics subscribe-event hardware-fault-change min-interval max-interval destination-id endpoint-id&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Here, you can see the output when the chip-tool is subscribed to the event and receives a report when tamper_work_handler() is called on the device:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[1746450384.039] [7523:7525] [EM] &amp;gt;&amp;gt;&amp;gt; [E:51032r S:48502 M:35076606] (S) Msg RX from 1:0000000000000001 [514B] to 000000000001B669 --- Type 0001:05 (IM:ReportData) (B:86)
[1746450384.039] [7523:7525] [EM] Handling via exchange: 51032r, Delegate: 0x5ad2e4b22908
[1746450384.039] [7523:7525] [TOO] Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0000
[1746450384.039] [7523:7525] [TOO]   Event number: 3
[1746450384.039] [7523:7525] [TOO]   Priority: Critical
[1746450384.039] [7523:7525] [TOO]   Timestamp: 87825
[1746450384.039] [7523:7525] [TOO]   HardwareFaultChange: {
[1746450384.039] [7523:7525] [TOO]     Current: 1 entries
[1746450384.039] [7523:7525] [TOO]       [1]: 10
[1746450384.039] [7523:7525] [TOO]     Previous: 1 entries
[1746450384.039] [7523:7525] [TOO]       [1]: 10
[1746450384.039] [7523:7525] [TOO]    }
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/533654?ContentTypeID=1</link><pubDate>Thu, 01 May 2025 05:36:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:903ca134-66f6-424f-8021-8f2c44410c8e</guid><dc:creator>rahul@123</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/maria-gilje"&gt;Maria Gilje&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The button_pressed function is only used to test the tamper detection feature. Upon every button press event (no need press and hold), I am&amp;nbsp;triggering&amp;nbsp;hwFaultsCurrent attribute for&amp;nbsp;kTamperDetected. I am not clearing it from anywhere. So theoretically chip-tool should have entry for with the tamper fault.&lt;/p&gt;
&lt;p&gt;Is my understanding and code to test this are correct?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Rahul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/533593?ContentTypeID=1</link><pubDate>Wed, 30 Apr 2025 13:51:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d40bc971-b312-4150-b480-2504897cef02</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Rahul, &lt;/p&gt;
&lt;p&gt;Marte was very busy today, so I volunteered to take over. &lt;/p&gt;
&lt;p&gt;Forgive me if my code understanding is wrong, but as I see it the tamperDetected variable will only be true when the button is continously pressed. Do you still see that chip-tool does not print any entries for the ActiveHardwareFaults entries when holding the button down while reading the attribute value? Or alternatively if you replace the toggle with a counter and modify the code to accommodate this change. &lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue Reporting Tamper Detection via ActiveHardwareFaults (0x0005) – General Diagnostics Cluster (0x0033)</title><link>https://devzone.nordicsemi.com/thread/533424?ContentTypeID=1</link><pubDate>Tue, 29 Apr 2025 13:50:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:389d092f-ef3a-4ef4-85a9-9fb345aaa581</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi Rahul,&lt;/p&gt;
&lt;p&gt;I have started looking into this and will get back to you tomorrow.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>