I have built a network consisting of one coordinator, 18 endpoints and 2 routers. I used Digi Xbee 3 Zigee each with the latest firmware installed.
Each endpoint sends temperature and humidity data from its connected sensor to the coordinator. The problem is that ocasionally the endpoints disconnect.
The endpoints are running in micro python mode. I had one of them also connected to a computer in order to see what error it throws. I wrote to console the value returned by the xbee.transmit() function and the value that was written when the diconnection occured corresponds to the "Node is not in a network" status.
After this I wrote a frame on the coordinator using the PC connected to it, using that frame I queried the TP parameter of the said disconnected node, and it came back OK with the value of 27. So even if the node said that it couldn't transmit because it was not in a network, the coordinator could communicate with it and also read its TP parameter. Doesn't this mean that they were indeed in the same network?
I tried to wrap the micro python code in a try catch, so now every time the error occurs the endpoint just resets, but the problem is that some days some endpoints reset only once, other days tens of times and so on.
The endpoints send data every 60 seconds, so I set the SN parameter to 3 and the SP parameter to such 0x7D0 (20 seconds) as 20*3 = 60 seconds. Using this configuration the coordinator should drop any node that has not polled for 180 seconds.
I don't really know what the problem might be so I would appreciate your help!