This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Trying to bind with ZDO_BIND_REQ in Z Tool

Other Parts Discussed in Thread: Z-STACK

Good day everyone,

As you all know binding is one of the most common practices, I´m currently able to bind two devices using the buttons (with ZDP_EndDeviceBindReq). Now I´m trying to bind devices remotely with Z Tool, this is done I believe with ZDO_BIND_REQ command. 

I have two devices ZC (Switch) and ZED (Light), I´m trying to bind them. The command asks for the following information:

DstAddr: ZC short address

SrcAddr: ZC IEEE address

SrcEndpoint: ZC´s endpoint to bind (0x0C in TI´s HA example)

ClusterID: 0x06 (ZCL_CLUSTER_ID_GEN_ON_OFF)

BindAddrMode: ADDRESS_64_BIT

BindAddr: ZED´s IEEE address

BindEndPoint: ZED´s endpoint to bind (0x0D in TI´s HA example)

 

I´ve read the Z-Stack Monitor and Test API and it explains what has to be put on each of the fields, which I believe I´ve filled correctly. I've also tried putting ZC's information on the ZED's fields and the other way around.

Is there anything I´m missing? Thanks in advance for your help.

Best regards,

Aldo Cedillo

  • Good day everyone,

    I´ve continued investigating about this thread. As mentioned in the previous post I've tried using 64 Bit Address Mode. I´ve read, and later corroborated that when using this address mode the NWK_ADDR_REQ is sent OTA to know to what short address this binding will be sent. I noticed that this is a broadcast request, asking for the device who has that IEEE address. The ZED never answers back.

    So I started looking at threads involving ZDO_NWK_ADDR_REQUEST, I found very few. But one in particular where they state the following:

    The End Device doesn’t respond to this request because it’s a sleeping End Device. When you send the ZDO_NWK_ADDR_REQUEST, the Coordinator send it in broadcast, and then the End Device doesn’t process the NwkAddrReq.

    See the subclause 2.4.3.1.1.1 in the ZigBee Specification.

    However, to know the NwkAddr of ZRC in the network, you can:

    1)     Send an IEEEAddrRequest to the Coordinator with RequestType = Extended response.

    2)     Send an IEEEAddrRequest to each device in associated list of Coordinator and compare with the End Device IEEE address to retrieve the right one.

    This is the link to the thread: http://e2e.ti.com/support/low_power_rf/f/158/p/66224/261803.aspx#261803

    So now I'm more confused. Can anyone acknowledge this? If this mechanism cannot be used, this means we cannot use sleeping ZED's? How can we bind remotely with sleeping ZED's?

    Best regards,

    Aldo