This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ZigBee binding and obtaining destination endpoint information

I'm implementing the door lock cluster on the server side (the door lock device), and needs to send event commands to the client (door lock controller/gateway) . According to the cluster definition, information like the client address and destination endpoint from the binding information. The problem is that the ZB_BDB_SIGNAL_FINDING_AND_BINDING_TARGET_FINISHED signal does not contain any parameters about the binding client, hence no information about the address or destination endpoint. 

You can only use reporting attributes on the door locked/unlocked status, no e.g. on event commands as responses to adding a new user on the door lock. The zb_zcl_door_lock.h defines e.g. this API/macro to send and event command:

#define ZB_ZCL_DOOR_LOCK_SEND_LOCK_DOOR_RES(buffer, \
addr, \
dst_addr_mode, \
dst_ep, \
ep, \
prfl_id, \
seq_num, \
status)

As you can see the destination ep and address is needed, but how does the server obtain that. 

I've gone through every single one of the Zboss examples, and none of them shows how to do this. 

From ZigBee Cluster Library Specification chapter 7.3.2.1 Alarms, Reports, and Events 

A door lock implementing all of the optional features provided in this cluster has the ability to push data to a controller in three different forms, Alarms, Reports and Events. Alarms are used to report critical states on the door lock. Reports are used to inform a subscribed device of changes of state in specific attributes on the lock. Events are used to inform a bound device about changes in state related to the operation and programming of the door lock. Event commands are sent to a binding. Examples of events are locking and unlocking the lock and adding or deleting a user on the lock.

 

Parents Reply Children
No Data
Related