2024-09-01 09:29 PM
Hi,
I am working in a company developing interior light and wireless switch products.
Currently, I have applied STM32WB5MMG to the product hardware and written firmware, and most of the function development has been completed.
My intention is to use the light product as a Zigbee Router to form a network, and use the switch as a Zigbee End-device to control all the lights semultaneously.
First I set the switch as a touchlink initiator device and the lights as touchlink target devices. And confirmed that the network formation and lighting control work well according to out development scenario.
However, if I set it as a Sleepy End-device for the low-power standby performance of the switch, the network formation does not occur.
Specifically, when initializing in app_zigbee.c, this one line as below is added, and all the functions that were working well stop working.
config.touchlink.zb_info |= ZCL_TL_ZBINFO_RX_ON_IDLE;
I would so appreciate it if anyone point me out to a solution to this stuck situation for implementing Zigbee Touchlink Initiator functions as Sleepy End-Device.
2024-09-01 10:39 PM - edited 2024-09-01 10:46 PM
@donnyunn wrote:Hi,
I am working in a company developing interior light and wireless switch products.
Currently, I have applied STM32WB5MMG to the product hardware and written firmware, and most of the function development has been completed.
My intention is to use the light product as a Zigbee Router to form a network, and use the switch as a Zigbee End-device to control all the lights semultaneously.
First I set the switch as a touchlink initiator device and the lights as touchlink target devices. And confirmed that the network formation and lighting control work well according to out development scenario.
However, if I set it as a Sleepy End-device for the low-power standby performance of the switch, the network formation does not occur.
Specifically, when initializing in app_zigbee.c, this one line as below is added, and all the functions that were working well stop working.
config.touchlink.zb_info |= ZCL_TL_ZBINFO_RX_ON_IDLE; myolsd
I would so appreciate it if anyone point me out to a solution to this stuck situation for implementing Zigbee Touchlink Initiator functions as Sleepy End-Device.
When using a Sleepy End-device, ensure that the device's wake-up intervals are configured to allow sufficient time for network formation. Additionally, verify that the Sleepy End-device adheres to the Zigbee specification for network joining and that the router supports Sleepy End-devices.
2024-09-02 04:36 AM
Thank you for your kind reply.
Sorry but I wrote my first question a bit vaguely.
To clarify the current issue, if I set the ZCL_TL_ZBONFO_RX_ON_IDLE flag in the initiator end-device, the touchlink commission is done well, but if I don't set it, the commissioning fails.
As you pointed out, I tried to change the poll interval to adjust the wake-up interval, but I couldn't solve the current commissioning issue because it seems to be related to the property after joining the network.
Regards.
2024-09-05 05:58 AM
Hi all,
Indeed this is a known issue making the touchlink commissioning impossible when configuring the initiator with the sleep mode on => post : stm32wb55: Zigbee - Touchlink Initiator as Sleepy End Device
An internal ticket number 175851 is created to look at this case, we will contact you as soon as we have a solution to fix the problem.
Best regards,
Ouadi