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
  • Hi, 

    This is expected. Light Switch needs the IPv6 address of the Light Bulb, which is stored in the SRP Server. When the Thread Border Router is down, binding will not work. Another option would be to have an SRP server on some embedded device, though this is not usual practice.

    Regards,
    Amanda H.

  • 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?

  • Could you provide the build log for the error?

  • 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

Reply
  • 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

Children
No Data
Related