I’m working with XBee modules as coordinator, and I’m trying to send message to several commercial end devices (door/window sensor and PIR sensor from Develco and Cleode manufacturers).
When starting the end devices, they respond for more or less 30 sec and after that they go to sleep mode. When in sleeping mode, I’ve read that the coordinator keeps the mesages until the end devices awakes and sends a poll request, but when I send an Explicit Addressing Frame with the API (0x11), I receive a Tx status of “address not found” few seconds after.
Someone knows how to proplerly send messages to a sleep end device?
Thank you for your time and best regards.
This is a Zigbee home automation device. You are going to need to use API mode with Explicit frames and issues ZDO commands in order to talk to it. May I suggest you look at doing a ZDO active end point query?
I already have sent the ZDO messages to know the relevant information of the device. It has several revelant endpoints: EP 22,28 and 29, with the Occupancy Sensing cluster (0x406); EP 23, with IAS Zone (0x5000) and poll control (0x0020) clusters; EP 26, with Temperature Measurement cluster (0x402). There are more clusters but are not relevant for me.
The thing is, during the first 30 sec after the device switch on, it answer my queries about the occupancy sensing status, for example. Once the device has joined the network, it starts scanning for a Time server, Poll control client, OccupancySensor client and an IAS Zone client. But after that it stops answering and I have to wait 15 minutes until it starts asking for the time server and the rest again.
I thought that configuring SN and SP parameters, the coordinator will buffer the query I send until the device wakes up again, but it sends the “address not found” tx status after a few seconds of sending it.
That’s why I want to know if there is any possibility of wake up a device during the sleeping mode. I’ve read that the end devices send poll requests to see if there is any data pending on the coordinator, but I can’t see it with the XCTU because is RF data. I’ve thought that maybe the end device needs to find the time server to take the correct time to work fine, or something like that.