Hi,
I’m trying to use micropython to program an xbee3, my goal being to join an existing network (the coordinator is a cc2531 / zigbee2mqtt) and publish a weight sensor reading periodically.
I am able to join the network just fine, but at that point zigbee-herdsman (which is the library used by zigbee2mqtt on the controller) starts the interview process, to try and discover the endpoints on the device.
And to my surprise, it looks like the xbee is answering those requests on it’s own, at least partly :
Mar 01 12:45:28 ha npm[23269]: 2020-03-01T12:45:28.309Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - endDeviceAnnceInd - {"srcaddr":53423,"nwkaddr":53423,"ieeeaddr":"0x0013a20041b47f93","capabilities":128}
Mar 01 12:45:28 ha npm[23269]: 2020-03-01T12:45:28.309Z zigbee-herdsman:controller:log Device announce '0x0013a20041b47f93'
...
Mar 01 12:45:28 ha npm[23269]: 2020-03-01T12:45:28.700Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - nodeDescRsp - {"srcaddr":53423,"status":0,"nwkaddr":53423,"logicaltype_cmplxdescavai_userdescavai":2,"apsflags_freqband":64,"maccapflags":128,"manufacturercode":4126,"maxbuffersize":82,"maxintransfersize":255,"servermask":11264,"maxouttransfersize":255,"descriptorcap":0}
Mar 01 12:45:28 ha npm[23269]: 2020-03-01T12:45:28.701Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Mar 01 12:45:28 ha npm[23269]: 2020-03-01T12:45:28.709Z zigbee-herdsman:controller:device Interview - got node descriptor for device '0x0013a20041b47f93'
The xbee board is announcing itself with a capability of 128.
Sometimes it’s even announcing an endpoint :
Mar 01 12:41:59 ha npm[23269]: 2020-03-01T12:41:59.355Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - simpleDescRsp - {"srcaddr":56375,"status":0,"nwkaddr":56375,"len":8,"endpoint":230,"profileid":49413,"deviceid":1,"deviceversion":0,"numinclusters":0,"inclusterlist":[],"numoutclusters":0,"outclusterlist":[]}
Mar 01 12:41:59 ha npm[23269]: 2020-03-01T12:41:59.356Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Mar 01 12:41:59 ha npm[23269]: 2020-03-01T12:41:59.357Z zigbee-herdsman:controller:device Interview - got simple descriptor for endpoint '230' device '0x0013a20041b47f93'
Mar 01 12:41:59 ha npm[23269]: 2020-03-01T12:41:59.366Z zigbee-herdsman:adapter:zStack:znp:SREQ --> ZDO - simpleDescReq - {"dstaddr":56375,"nwkaddrofinterest":56375,"endpoint":232}
Here it’s saying it got an endpoint descriptor for 230, somehow.
Is there any documentation about why this is happening, and how to control what is being announced ?
I’m trying to figure out how to get it to be a simple end device, used only to publish one number to the coordinator from time to time, and that without an external CPU, my goal is to have all the logic directly in /flash/main.py so it’s running in micropython mode only.
Thanks !