cancel
Showing results for 
Search instead for 
Did you mean: 

Query/Issue in zigbee end-device regarding low-power touchlink initiator operation

donnyunn
Associate II

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.

capture.png

3 REPLIES 3
allenmack
Associate II

@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.

capture.png


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.

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.

Ouadi
ST Employee

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