Zigbee not responding Basic Cluster attributes
Hi,
I am working with the STM32WB55 Nucleo board to create a Zigbee device being able to connect to a Philips Hue Bridge v2.1. Using a 2.4GHz sniffer with wireshark I am able to follow the communication which goes through the following steps with no problems:
- Beacon
- Association request + response
- Transport key exchange
- Node descriptor request + response
- Endpoint descriptor request + response
- Simple descriptor + response
Where it fails is the coordinator (hue bridge) sends a Read attributes on the Basic cluster (0x0000) to the STM32. It responds with a ZCL Default response where status says "unsupported cluster (0xc3)".
And the trace output from the STM32WB55 reports that it sends this default response, but I would expect it to be responding with the Basic attributes configured.
The code is based on the Zigbee_OnOff_Client_Router example modified to be a ZCL_DEVICE_COLOR_DIMMABLE_LIGHT server.
static void APP_ZIGBEE_StackLayersInit(void)
{
APP_DBG("APP_ZIGBEE_StackLayersInit");
zigbee_app_info.zb = ZbInit(0U, NULL, NULL);
assert(zigbee_app_info.zb != NULL);
/* Basic cluster */
/*char * mfr_str = "E TestPlus";
memcpy(& zb_mfr_str[1], mfr_str, strlen(mfr_str));
zb_mfr_str[0] = strlen(mfr_str);
ZbZclBasicWriteDirect(zigbee_app_info.zb, ENDPOINT_ON_OFF, ZCL_BASIC_ATTR_MFR_NAME, zb_mfr_str, 12);*/
struct ZbZclBasicServerDefaults defaultCustom;
defaultCustom.app_version = 0x00;
defaultCustom.hw_version = 0x01;
defaultCustom.stack_version = 10; // TODO: IS this right?
defaultCustom.power_source = ZCL_BASIC_POWER_SINGLE_PHASE;
uint8_t zb_mfr_str[6] = {5, 'H', 'E', 'L', 'L', 'O'};
memcpy(defaultCustom.mfr_name, zb_mfr_str, 6);
memcpy(defaultCustom.model_name, zb_mfr_str, 6);
uint8_t zb_ver_str[6] = {5, '1', '.', '0', '.', '7'};
memcpy(defaultCustom.sw_build_id, zb_ver_str, 6);
ZbZclBasicServerConfigDefaults(zigbee_app_info.zb, &defaultCustom);
/* Create the endpoint and cluster(s) */
APP_ZIGBEE_ConfigEndpoints();Is there any explanation for why the Zigbee stack does not respond to the basic cluster read attributes request?
Kind regards,
Jakob