A question about matter over thread products

During the development of a Matter over Thread product, I encountered the following issue:

After adding two Matter over Thread devices (an OnOff Switch and an OnOff Light) through a Matter border router and binding the switch to the light, the switch can directly control the light's on/off state. However, when the border router is powered off, the switch retains control over the light for about the first minute but loses this capability thereafter. The project is based on modifications to the light_bulb reference implementation. The version of SDK is 3.0.1. What causes this behavior, and how can it be resolved?

Parents Reply Children
  • Could you explain how to deploy an SRP server on an embedded device? Regarding Thread networks, aren't they supposed to enable network communication without relying on Border Routers? Are there any workarounds?

  • Thank you for your previous response. I attempted to implement your suggested solution by enabling these two options in the prj.conf file:
    CONFIG_OPENTHREAD_SRP_SERVER=y
    CONFIG_OPENTHREAD_SOURCES=y
    However, the build fails with compilation errors. How should I resolve this issue?

  • The error log is as follows:

    In file included from D:/Nordic/ncs/v3.0.1/modules/lib/openthread/src/core/instance/instance.hpp:102,
    from D:/Nordic/ncs/v3.0.1/modules/lib/openthread/src/core/api/nat64_api.cpp:42:
    D:/Nordic/ncs/v3.0.1/modules/lib/openthread/src/core/net/srp_server.hpp:42:2: error: #error "OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE is required for OPENTHREAD_CONFIG_SRP_SERVER_ENABLE"
    42 | #error "OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE is required for OPENTHREAD_CONFIG_SRP_SERVER_ENABLE"
    | ^~~~~
    In file included from D:/Nordic/ncs/v3.0.1/modules/lib/openthread/src/core/net/srp_server.hpp:79:
    D:/Nordic/ncs/v3.0.1/modules/lib/openthread/src/core/thread/network_data_publisher.hpp:42:2: error: #error "OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE requires either OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE" "or OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE"
    42 | #error "OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE requires either OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE"\
    | ^~~~~
    [164/858] modules\openthread\build\CMakeFiles\print-ot-config-96e6445.bat 1a5b503f79090e00
    OPENTHREAD_CONFIG_RADIO_LINK_IEEE_802_15_4_ENABLE=1
    OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE=0
    OPENTHREAD_CONFIG_ASSERT_ENABLE=1
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_DUA_NDPROXYING_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE=0
    OPENTHREAD_CONFIG_BLE_TCAT_ENABLE=0

Related