Open jrossouw opened 9 months ago
Setting the model identifier seems to work, but not setting the manufacturer. Any idea what I am doing wrong here: ` case ZBHCI_CMD_NETWORK_STATE_REPORT:
sDstAddr.u16DstAddr = 0x0000;
zbhci_ZclSendReportCmd(0x02, sDstAddr, 1, 1, 0, 1, ZB_ZCL_CLUSTER_ID_BASIC, 0x0004, ZCL_DATA_TYPE_CHAR_STR, sizeof(manufacturerName), (uint8_t*)&manufacturerName);
vTaskDelay(100 / portTICK_PERIOD_MS);
zbhci_ZclSendReportCmd(0x02, sDstAddr, 1, 1, 0, 1, ZB_ZCL_CLUSTER_ID_BASIC, 0x0005, ZCL_DATA_TYPE_CHAR_STR, sizeof(modelIdentifier), (uint8_t*)&modelIdentifier);
vTaskDelay(100 / portTICK_PERIOD_MS);
`
You need to look at the Telink SDK examples where they set
zcl_basicAttr_t g_zcl_basicAttrs = ...
This will be in the <something>Cfg.c
file. This pulls in a #defined
byte array that should contain your manufacturer name and the model. This definitely works as I am using it.
The example code does not appear to set the manufacturer code correctly when pairing the device with my Homey Pro controller. My controller always show the manufacturer as "TELINK" while in the example sensor code it is set it to:
const uint8_t au8ManufacturerName[] = {13,'L','I','L','Y','G','O', '.', 'S', 'e', 'n', 's', 'o', 'r'};
Has anyone else experienced this issue?