When I go through the SDk provided by the stack supplier, there are some definitions confuse me. I am not sure if those are standards or proprietary.
By configuring the endpoint information, it requests an device ID. In this case, it sets ZCL_DEVICE_ONOFF_SWIRCH 0x0000. What I am trying now is related to IAS cluster. Is device ID defined in the spec ? where can I find the document about it ?
To configure the endpoint information, it includes the clientInCluster, clientOutCluster, and serverInCluster, serverOutCluster. I don't find any clue how to fill this variable so far. Please provide an example if you have one.
The device ID is defined in the HA Spec: https://docs.zigbee.org/zigbee-docs/dcn/07/docs-07-5367-02-0afg-home-automation-profile-for-public-download.pdf
ZCL_DEVICE_ONOFF_SWITCH 0x0000
Is an On/Off switch device. An IAS device could be:
// Intruder Alarm Systems (IAS) Device IDs
#define ZCL_HA_DEVICEID_IAS_CONTROL_INDICATING_EQUIPMENT 0x0400
#define ZCL_HA_DEVICEID_IAS_ANCILLARY_CONTROL_EQUIPMENT 0x0401
#define ZCL_HA_DEVICEID_IAS_ZONE 0x0402
#define ZCL_HA_DEVICEID_IAS_WARNING_DEVICE 0x0403
For the cluster information you should consult the HA Spec for the device types you want to create. The HA Spec will define the server side and client side mandatory and optional clusters that need to be implemented for that device. The clusters are defined in the ZCL Spec (http://www.zigbee.org/download/standards-zigbee-cluster-library/) and define which commands and attributes are mandatory and optional for that cluster.
If you are using the Texas Instruments ZigBee SDK then more information about implementing a ZigBee IAS device (in this example a smoke alarm) can be found here: http://processors.wiki.ti.com/index.php/Fire_Alarm_System
Regards, TC.