Matter app development

Hello,

i;m developing a matter over thread application on a Seeed board XIAO nRF54L15.

Currently the border router is set up on a Nrf52840 Dongle connected to a Rapberry Pi5 running Home Assistant.

The thread network is working fine and has some sensor based on NRf52840 (built without factory data support and they get commissioned into matter fabric without any issues.)

When I build and run the matter thermostat in the sample folder it get's commissioned onto thread but NOT on matter fabric.

..........................................................

(SecureChannel:StandaloneAck) (B:34)
D: 143742 [IN]UDP Message Received packet nb : 30 SrcAddr : fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913[36303] DestAddr : fd3d:989b:60ee:1:131:f0ef:d087:38cc[5540] Payload Length 65
D: 143759 [IN]UDP Message Received packet nb : 31 SrcAddr : fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913[36303] DestAddr : fd3d:989b:60ee:1:131:f0ef:d087:38cc[5540] Payload Length 34
I: 143775 [EM]>>> [E:27312r S:17799 M:64468312] (S) Msg RX from 0:FFFFFFFB00000000 [0000] to 0000000000000000 --- Type 0001:08 (IM:InvokeCommandRequest) (B:65)
I: 143789 [FS]GeneralCommissioning: Received ArmFailSafe (0s)
I: 143795 [FS]Fail-safe timer expired
I: 143799 [EM]<<< [E:27312r S:17799 M:238238144 (Ack:64468312)] (S) Msg TX from 0000000000000000 to 0:FFFFFFFB00000000 [0000] [UDP:[fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913]:36303] --- Type 0001:09 (IM:InvokeCommandResponse) (B:70)
I: 143819 [EM]??1 [E:27312r S:17799 M:238238144] (S) Msg Retransmission to 0:FFFFFFFB00000000 scheduled for 2340ms from now [State:Active II:500 AI:300 AT:4000]
I: 143834 [EM]>>> [E:27311r S:17799 M:64468313 (Ack:238238143)] (S) Msg RX from 0:FFFFFFFB00000000 [0000] to 0000000000000000 --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
E: 143849 [SVR]Failsafe timer expired
D: 143853 [IN]SecureSession[0x2000ec88]: MarkForEviction Type:1 LSID:17799
I: 143859 [SC]SecureSession[0x2000ec88, LSID:17799]: State change 'kActive' --> 'kPendingEviction'
D: 143868 [IN]SecureSession[0x2000ec88]: Released - Type:1 LSID:17799
E: 143875 [SVR]Commissioning failed (attempt 1): 32
D: 143879 [IN]SecureSession[0x2000ec88]: Allocated Type:1 LSID:17800
I: 143887 [DIS]Updating services using commissioning mode 2
D: 143893 [DL]Using Thread extended MAC for hostname.
I: 143897 [DIS]Advertise operational node F26E0A7B3A2D658C-231C1B02605E41C4
D: 143904 [DL]Using Thread extended MAC for hostname.
I: 143909 [DIS]Advertise commission parameter vendorID=65521 productID=32781 discriminator=1361/05 cm=2 cp=0
I: 143919 [DL]advertising srp service: 3DF2A666EA541FCD._matterc._udp
E: 143925 [ZCL]OpCreds: Got FailSafeTimerExpired
E: 143929 [ZCL]OpCreds: Proceeding to FailSafeCleanup on fail-safe expiry!
I: 143936 [TS]Pending Last Known Good Time: 2025-11-14T00:00:00
I: 143941 [TS]Previous Last Known Good Time: 2025-11-14T00:00:00
I: 143947 [TS]Reverted Last Known Good Time to previous value
E: 143953 [DL]Long dispatch time: 104 ms, for event type 32784
I: 143958 [FS]Fail-safe cleanly disarmed
D: 145331 [DL]SRP update succeeded

If i build the same sample for nRF52840DK it get comissioned onto thread and matter fabric.

What is causing this behavior ?

Is this because of the certificate ?

Is there a special way to include test certificates into the build ?

Please point me in the right direction,

Parents Reply Children
  • It has the a 32768 kHz crystal between pin P1.00 and P1.01

  • Hi,

    From the event log, it seems like you marked the ticket as verified answer, which closed it. When you replied, it was reopened again.

    The thermostat sample should work out of the box, and it should not be necessary to change the certificates. The test certificates are already used by default in the sample.

    What board target are you using when building for the Seeed board XIAO nRF54L15?

    Best regards,
    Marte

  • Im building for xiao_nrf54l15/nrf54l15 and everything builds fine but it seems that board type has some issues. Your first suggestion about the oscillator already helped - it seems there was a misconfiguration in xiao_nrf54l15_nrf54l15_cpuapp.dts about capacitors (didn't solved the problem).

    I have been reading this forum for a while and it seems you are the best person to ask for help!

    The test cerificates are bult only for the samples ? For example if i clone a sample and change it's name, the test certificate won't work anymore?

    Or if I build an example with auto-generation of new CD, DAC and PAI certificates  (with chip_cert) the mater commissioning will fail ?  (We should use chip_cert from matter repository or the one from sdk ?)

  • Hi

    ady said:
    The test cerificates are bult only for the samples ? For example if i clone a sample and change it's name, the test certificate won't work anymore?

    The samples use pre-generated certificates from matter/credentials/development/attestation (see https://github.com/nrfconnect/sdk-connectedhomeip/tree/master/credentials/development/attestation) that match the configured product ID. Even if you copy a sample and change its name, the test certificate should still work. 

    ady said:
    Or if I build an example with auto-generation of new CD, DAC and PAI certificates  (with chip_cert) the mater commissioning will fail ?  (We should use chip_cert from matter repository or the one from sdk ?)

    If you auto-generate new CD, DAC, and PAI, it should work as well. However, if you are using chip-tool as the commissioner, you need to provide the new certificates to chip-tool. If not, it will try to use the default certificates, and the commissioning will fail.

    I am not sure what you mean by the Matter repository or the SDK, but the certificates used by the samples are from the nRF Connect SDK downstream of the Matter repository, i.e., under matter/credentials/development/attestation.

    I have not tested Matter with Home Assistant, so I am not familiar with how it handles test certificates. However, if you have successfully commissioned the nRF52840 using test certificates, then it should also work with the nRF54L15. If commissioning still fails, can you provide logs from Home Assistant and complete logs from the device? Make sure to do a full erase or factory reset of the device before commissioning.

    Best regards,
    Marte

Related