Cannot send commands to child after a while

Dear Sirs,

I am using xbee3 zigbee as coordinator and several Texas Instrument cc2530 end devices.

I am using xbee3 connected to raspberry pi through serial communication. After a while (1-2 days), one and then two and then all end device stop receiving commands from coordinator.

To be more precise, when end device are still receiving commands:

  1. when they send measurements (end device are sensors):
    “type: 145,
    remote64: ‘00124b001735a8cc’,
    remote16: ‘5a02’,
    sourceEndpoint: ‘02’,
    destinationEndpoint: ‘02’,
    clusterId: ‘0001’,
    profileId: ‘ffff’,
    receiveOptions: 16,
    data:
    }
    115,101,110,115,82,58,48,48,49,50,52,66,48,48,49,55,51,53,65,56,67,67,104,117,109,58,56,53,46,54,116,101,109,112,58,49,53,46,54,56,67,0
    0: sensR:00124B001735A8CChum:85.6temp:15.68C”

  2. and when sending commands:
    “query: [Object: null prototype] { cmd: ‘ATplusUCAST:00124B001735A8CC,S’ }
    cmd: AT+UCAST:00124B001735A8CC,S addr: 00124B001735A8CC
    query: [Object: null prototype] {}
    >> {
    type: 139,
    id: 1,
    remote16: ‘5a02’,
    transmitRetryCount: 0,
    deliveryStatus: 0,
    discoveryStatus: 64
    }
    >> {
    type: 145,
    remote64: ‘00124b001735a8cc’,
    remote16: ‘5a02’,
    sourceEndpoint: ‘02’,
    destinationEndpoint: ‘02’,
    clusterId: ‘0001’,
    profileId: ‘ffff’,
    receiveOptions: 16,
    data:
    }
    83,101,110,115,111,114,67,58,48,48,49,50,52,66,48,48,49,55,51,53,65,56,67,67,44,83,50,32,86,68,68,50,52,51,50,52,32,79,75,0
    37: SensorC:00124B001735A8CC,S2 VDD24324 OK”

After 1-2 days, when end device are no longer responding to commands:
3) when they send measurements, I get:
“type: 145,
remote64: ‘ffffffffffffffff’,
remote16: ‘3cb4’,
sourceEndpoint: ‘02’,
destinationEndpoint: ‘02’,
clusterId: ‘0001’,
profileId: ‘ffff’,
receiveOptions: 16,
data:
}”

remote64 field has no longer 64-bits address.

  1. When I try to send command (I am using only 64-bits address to send commands), I get: “query: [Object: null prototype] { cmd: ‘ATplusUCAST:00124B0019A5F3A3,S’ }
    cmd: AT+UCAST:00124B0019A5F3A3,S addr: 00124B0019A5F3A3
    >> {
    type: 139,
    id: 1,
    remote16: ‘fffd’,
    transmitRetryCount: 0,
    deliveryStatus: 36,
    discoveryStatus: 1
    }”

It seems that xbee loses end devices 64bit addresses.

If I power off and power on after a while raspberry pi+xbee, the problem is solved and end devices receive correctly the commands sent by xbee.

What could be the problem?

Check your sleep timing settings on both the end devices and the Coordinator. They should match.

Thank you very much for your answer.

Now I am not quite sure which sleep timing setting should I correct.

End devices sleep 1min. before polling for any command.

Xbee coordinator sleep timing settings:
SM: no sleep
SP: AF0
ST: 1388
SN: FFFF
ET: 2 minutes.

SP=AF0=28 seconds which is lower than 1 minute but my application keeps sending commands through xbee to end devices during 5 minutes, until it gets an answer. And it works during 2-3 days.

On top of that, child poll timeout is at the maximum, 2 months, and not 2-3 days.

Does it have anything to do with NT that is equal to 3C ?

I got also for the first time this error yesterday: “java.lang.IllegalArgumentException: 64-bit address cannot be unknown.” Maybe it has nothing to do with this problem…

May it be a firmware bug? I am using zigbee v1009.