Combined Interface device has 3 clusters (see spec 7.4.8):
Combined Interface device sample
- Example
- Declaring clusters
ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST(basic_attr_list, &g_attr_zcl_version, &g_attr_power_source);
ZB_ZCL_DECLARE_IDENTIFY_ATTRIB_LIST(identify_attr_list, &g_attr_identify_time);
ZB_ZCL_DECLARE_ON_OFF_SWITCH_CONFIGURATION_ATTRIB_LIST(on_off_switch_config_attr_list, &g_switch_type, &g_switch_actions);
ZB_HA_DECLARE_COMBINED_INTERFACE_CLUSTER_LIST(combined_interface_clusters, basic_attr_list, identify_attr_list);
ZB_HA_DECLARE_COMBINED_INTERFACE_EP(combined_interface_ep, HA_COMBINED_INTERFACE_ENDPOINT, combined_interface_clusters);
ZB_HA_DECLARE_COMBINED_INTERFACE_CTX(combined_interface_ctx, combined_interface_ep);
Registering device list ZB_AF_REGISTER_DEVICE_CTX(&combined_interface_ctx);
Example of command handler
{
{
TRACE_MSG(TRACE_ZCL3,
"Got response in cluster 0x%04x",
( FMT__D, cmd_info->cluster_id));
break;
default:
TRACE_MSG(TRACE_ZCL2,
"Skip general command %hd", (FMT__H, cmd_info->
cmd_id));
break;
}
}
See ha/devices_generic sample