From a696d6c5afea26b9846506a5d94050afb1d0ed2c Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Thu, 7 Nov 2024 17:02:21 +0100 Subject: [PATCH] Add concentrator support. --- manifests/aeotec/aeotec_zga008_zigbee_router.yaml | 12 +++++++++++- .../easyiot/easyiot_zb-gw04-1v1_zigbee_router.yaml | 12 +++++++++++- .../easyiot/easyiot_zb-gw04-1v2_zigbee_router.yaml | 12 +++++++++++- .../nabucasa/nabucasa_skyconnect_zigbee_router.yaml | 12 +++++++++++- manifests/smlight/smlight_slzb06m_zigbee_router.yaml | 12 +++++++++++- .../smlight/smlight_slzb07Mg24_zigbee_router.yaml | 10 ++++++++++ manifests/smlight/smlight_slzb07_zigbee_router.yaml | 12 +++++++++++- manifests/sonoff/sonoff_zbdonglee_zigbee_router.yaml | 10 ++++++++++ .../sparkfun/sparkfun_mgm240p_zigbee_router.yaml | 10 ++++++++++ manifests/tubeszb/tubeszb-mgm24-zigbee_router.yaml | 10 ++++++++++ manifests/tubeszb/tubeszb-mgm24PB-zigbee_router.yaml | 10 ++++++++++ src/zigbee_router/zigbee_router.slcp | 1 + 12 files changed, 117 insertions(+), 6 deletions(-) diff --git a/manifests/aeotec/aeotec_zga008_zigbee_router.yaml b/manifests/aeotec/aeotec_zga008_zigbee_router.yaml index d24f5c02..a7b3964c 100644 --- a/manifests/aeotec/aeotec_zga008_zigbee_router.yaml +++ b/manifests/aeotec/aeotec_zga008_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/easyiot/easyiot_zb-gw04-1v1_zigbee_router.yaml b/manifests/easyiot/easyiot_zb-gw04-1v1_zigbee_router.yaml index 6ddd3147..050b792c 100644 --- a/manifests/easyiot/easyiot_zb-gw04-1v1_zigbee_router.yaml +++ b/manifests/easyiot/easyiot_zb-gw04-1v1_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/easyiot/easyiot_zb-gw04-1v2_zigbee_router.yaml b/manifests/easyiot/easyiot_zb-gw04-1v2_zigbee_router.yaml index 8c71f8cd..841bde42 100644 --- a/manifests/easyiot/easyiot_zb-gw04-1v2_zigbee_router.yaml +++ b/manifests/easyiot/easyiot_zb-gw04-1v2_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/nabucasa/nabucasa_skyconnect_zigbee_router.yaml b/manifests/nabucasa/nabucasa_skyconnect_zigbee_router.yaml index 2e9e5aaa..33ae2051 100644 --- a/manifests/nabucasa/nabucasa_skyconnect_zigbee_router.yaml +++ b/manifests/nabucasa/nabucasa_skyconnect_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -57,6 +57,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/smlight/smlight_slzb06m_zigbee_router.yaml b/manifests/smlight/smlight_slzb06m_zigbee_router.yaml index 1d39da7e..39e65b66 100644 --- a/manifests/smlight/smlight_slzb06m_zigbee_router.yaml +++ b/manifests/smlight/smlight_slzb06m_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/smlight/smlight_slzb07Mg24_zigbee_router.yaml b/manifests/smlight/smlight_slzb07Mg24_zigbee_router.yaml index 0a42a011..3e2c5c42 100644 --- a/manifests/smlight/smlight_slzb07Mg24_zigbee_router.yaml +++ b/manifests/smlight/smlight_slzb07Mg24_zigbee_router.yaml @@ -56,6 +56,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 19 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/smlight/smlight_slzb07_zigbee_router.yaml b/manifests/smlight/smlight_slzb07_zigbee_router.yaml index 071838ca..fbf187d1 100644 --- a/manifests/smlight/smlight_slzb07_zigbee_router.yaml +++ b/manifests/smlight/smlight_slzb07_zigbee_router.yaml @@ -15,7 +15,7 @@ slcp_defines: SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 8 + SL_ZIGBEE_DISCOVERY_TABLE_SIZE: 16 c_defines: SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 20 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/sonoff/sonoff_zbdonglee_zigbee_router.yaml b/manifests/sonoff/sonoff_zbdonglee_zigbee_router.yaml index db9be033..98d14109 100644 --- a/manifests/sonoff/sonoff_zbdonglee_zigbee_router.yaml +++ b/manifests/sonoff/sonoff_zbdonglee_zigbee_router.yaml @@ -80,6 +80,16 @@ c_defines: # a >5sec press will factory reset the adapter SL_ZIGBEE_AF_PLUGIN_BUTTON_JOINING_PERMIT_JOIN_TIMEOUT: 60 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/sparkfun/sparkfun_mgm240p_zigbee_router.yaml b/manifests/sparkfun/sparkfun_mgm240p_zigbee_router.yaml index b7b4a59f..99d2cc0d 100644 --- a/manifests/sparkfun/sparkfun_mgm240p_zigbee_router.yaml +++ b/manifests/sparkfun/sparkfun_mgm240p_zigbee_router.yaml @@ -55,6 +55,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 19 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/tubeszb/tubeszb-mgm24-zigbee_router.yaml b/manifests/tubeszb/tubeszb-mgm24-zigbee_router.yaml index fa440bc1..2ca2b3e8 100644 --- a/manifests/tubeszb/tubeszb-mgm24-zigbee_router.yaml +++ b/manifests/tubeszb/tubeszb-mgm24-zigbee_router.yaml @@ -56,6 +56,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 19 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/manifests/tubeszb/tubeszb-mgm24PB-zigbee_router.yaml b/manifests/tubeszb/tubeszb-mgm24PB-zigbee_router.yaml index 0cad9671..ee2fbe96 100644 --- a/manifests/tubeszb/tubeszb-mgm24PB-zigbee_router.yaml +++ b/manifests/tubeszb/tubeszb-mgm24PB-zigbee_router.yaml @@ -56,6 +56,16 @@ c_defines: SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK: 0x07fff800 SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER: 19 + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_CONCENTRATOR_TYPE: HIGH_RAM_CONCENTRATOR + # <1-60> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MIN_TIME_BETWEEN_BROADCASTS_SECONDS: 10 + # <30-300> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_MAX_TIME_BETWEEN_BROADCASTS_SECONDS: 60 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_ROUTE_ERROR_THRESHOLD: 3 + # <1-100> + SL_ZIGBEE_AF_PLUGIN_CONCENTRATOR_DELIVERY_FAILURE_THRESHOLD: 1 + zap_config: endpoint_types: - name: "Centralized" diff --git a/src/zigbee_router/zigbee_router.slcp b/src/zigbee_router/zigbee_router.slcp index c5163533..282418cf 100644 --- a/src/zigbee_router/zigbee_router.slcp +++ b/src/zigbee_router/zigbee_router.slcp @@ -31,6 +31,7 @@ component: - id: zigbee_application_bootloader - id: zigbee_button_joining - id: rail_util_rssi + - id: zigbee_concentrator define: - name: EMBER_CUSTOM_MAC_FILTER_TABLE_SIZE