cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55 Zigbee name

vh789
Associate III

Hi together,

I am working with the STM32WB55 and connecting it with different configurations to Homeassistant via Zigbee2mqtt.

The Zigbee2mqtt auto generates a config file with the available endpoints etc., that looks like this:

const definition = {
    zigbeeModel: ['STM32WB'],
    model: 'STM32WB',
    vendor: 'STMicroelectronics',
    description: 'Automatically generated definition',
    extend: [light({"color":true})],
    meta: {},
};

Since I plan to configure different MCUs with different endpoints, I need to change those identifiers to make them unique to Homeassistant. Where are those identifiers or names set? I could not find this in the documentation.

Thanks

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @vh789 ,

The default basic server cluster uses a default parameters defined for STM32WB device, to change these parameters you have to perform at the initialization a ZbZclBasicServerConfigDefaults with your custom settings. 

You can have a look on this project example using this API Zigbee_OnOff_Client_SED/STM32_WPAN/App/app_zigbee.c at main -GitHub

Best regards,

Ouadi

View solution in original post

10 REPLIES 10
Ouadi
ST Employee

Hello @vh789,

The model and vendor name is defined through the basic cluster at function APP_ZIGBEE_ConfigBasicServer, To change the default name used you have to change APP_ZIGBEE_MFR_NAME and APP_ZIGBEE_CHIP_NAME.

Best regards,

Ouadi

vh789
Associate III

Hi Ouadi,

thanks for you answer. Where can I find this in the CubeMX generated code?

I have configured the Basic Cluster as Server/Client.

Neither in the app_zigbee.c, nor in any other project file I can find the function APP_ZIGBEE_ConfigBasicServer or its call and also none of the APP_ZIGBEE_MFR_NAME or APP_ZIGBEE_CHIP_NAME.

Thanks

Hi @vh789 ,

The default basic server cluster uses a default parameters defined for STM32WB device, to change these parameters you have to perform at the initialization a ZbZclBasicServerConfigDefaults with your custom settings. 

You can have a look on this project example using this API Zigbee_OnOff_Client_SED/STM32_WPAN/App/app_zigbee.c at main -GitHub

Best regards,

Ouadi

vh789
Associate III

Hi Ouadi,

unfortunately, I had not so much time to try it out really. I implented the example code, but had no success with it.

Can you see, whats missing there? Afterwall, it is just one new function thats calles once, as far as I can see..

Hello

ZbZclBasicServerConfigDefaults should be called after ZbInit and before creating any ZCL  Endpoints as noted in the function description. 

Best regards,

Ouadi

vh789
Associate III

Hello,

this means, that it would be enough to exchange the functions in my

APP_ZIGBEE_ConfigBasicServer();

and APP_ZIGBEE_ConfigEndpoints();

code? Then the order is as you mentioned. However, the names are still not working for me and the device shows up with the default device name.

Hi,

Have you tried to do a factory reset of your device and retry a new join ? it's probably a test issue on your side.

If you still have the issue, please provide the logs and capture.

Regards,

Ouadi

vh789
Associate III

Hi,

yes I have resetted the devices that were involved in the test and still no success. What kind of logs can I provide to you?

In my coordinator interface I can see the following: 

vh789_0-1733079042840.png

And my controller only outputs the normal join process via UART.

Thanks 

Hi,

Please provide a Wireshark capture with the frames related to read basic cluster. 

You can find attached the "app_zigbee.c" file I used for test showing that basic cluster is correctly set with the MFR_NAME "vh789" as follow :

Ouadi_0-1733135038057.png

Regards,

Ouadi