I would like to create a custom device which peridoically send a data frame to a Gateway. On this device I use the Xbee ZB module. But I hesitate btw the 0x10 (Zigbee Transmit Request) and 0x11 (Explicit Addressing Zigbee Command Frame) Frame Type. Could anyone tell me which one should I use? And if I use the 0x11 Frame Type, which value should I fill to the Source Endpoint, Destination Endpoint, Cluster ID and Profile ID fields?
The over the air-packet is the SAME for both. The frame 0x10 acts like using 0x11 with forced defaults of endpoints 0xE8, cluster=0x11, and Profile=0xC105.
Long term you’ll have more options using 0x11 - for example you may need to move the endpoints to avoid conflict with a device which CANNOT move endpoints.
I have configured one of my Xbee ZB module as coordinator and I tried to send a 0x11 frame from another Xbee ZB module (which I configure as end device) with the following parameters:
source endpoint: 0xE8
dest. endpoint: 0xE8
Cluster ID: 0x11
Profile ID: 0xC105
But the coordinator could not receive this frame. I will test it with my CPX4 and hope that it works!
The XBee/Coordinator in the gateway sends most packets out the serial port, so it is highly unlikely your choice of those numbers is the problem.
Use telnet into your gateway and turn XBee tracing on (so enter “set trace state=on mask=xbee”) This way you see all packets received regardless of correct Python binding.
For the Xbee module on the end device, I have set the same with the SH/SL (serial number or extend address) and 0x00s for the Xbee module which functions as coordinator. Tommorow I will monotr the serial port to see what happens. Thanks for your advice!