IX15 send_expl_data_async() not transmitting ?!?!?

Using the IX15, which has an XBee3, I have a small python program that performs the following psuedo code:

get the XBee device
open the device
get the network
set up comms
discovery the network of conencted devices
for each remote device
set up communications to the remote device
issue a write attributes command using: send_expl_data_async()
issue a read attributes command using: send_expl_data_async()
end for

I have Wireshark set up to monitor traffic. If I run the program a number of times, sometimes the program runs as expected. Other times, I never see the write attributes command despite debug output indictaing the command was called. And, other times I see the write attributes command, but the read attributes command is not seen in Wireeshark even though the debug output indicates the command was performed.

Clearly, I am missing something in order for the send_expl_data_async() command to actually generate and transmit the message. What configuration is required in order to ensure generated messages are transmitted? Is htere other status of the IX15 or XBee3 within the IX15 that I need to check before transmitting the generated message? My code is within a try:/except: block and the send_expl_data_async() does not generate any errors.

I cannot imagine transmision from the IX15 depends on the state (i.e.e is it asleep or not) of the remote EP deivce? Or, does it? I don’t think the IX15 goes to sleep at all?

What do I need to check to ensure consitent transmission of messages. Currently, this is not a viable solution.


Yes it does matter if the remote device is sleeping or not. At least at the XBee level.