Background
The Manufacturer Name and Model Identifier attributes are members of the the ZCL Basic Cluster (0x0000). Users may wish to modify these attributes for the purpose of demonstrations.
For example, instead of the Manufacturer name being 'MMB Research', a user could edit this value to be 'Acme Corporation'.
For Multi-Endpoint Devices, such as the Lighting & Sensors Demo board, each endpoint will be configured with a Basic Cluster. However, these cluster instances will share the same attribute values and you will therefore only be required to modify the attribute values of one endpoint. i.e. If endpoint 0x16 Basic Cluster attributes are modified, endpoint 0x17 and 0x18 will display the same values.
Overview
The sections gives a brief overview of the ManufacturerName and ModelIdentifier attributes.
Manufacturer Name
The ManufacturerName attribute is a maximum of 32 bytes in length and specifies the name of the manufacturer of the device as a ZigBee zigbee character string.
Model Identifier
The ModelIdentifier attribute is a maximum of 32 bytes in length and specifies the model number (or other identifier) assigned by the manufacturer of the device as a ZigBee zigbee character string.
By default these attributes will have the following values:
Manufacturer Name: 'MMB Research'
Hex Value(MSB): 68 63 72 61 65 73 65 52 20 42 4D 4D 0C
Hex Value(LSB): 0C 4D 4D 42 20 52 65 73 65 61 72 63 68
Model Identifier: 'RapidHA'
Hex Value(MSB): 41 48 64 69 70 61 52 01
Hex Value(LSB): 07 52 61 70 69 64 48 41
The guide below will take you through the steps required to modify these attributes
Guide
The ManufacturerName and ModelIdentifier attributes are read-only attributes and can therefore not be modified by over-the-air commands. The RapidHA Serial Protocol, upon which the RapidConnect Lighting & Sensors firmware is built allows the user to send a serial command to modify these values; the Attribute Write Command (PH:0x03, SH:0x25) can be found in the RapidHA v1.7 Serial Protocol - Frame Payload Definitions.
Follow the steps below, using the RapidConnect Desktop to modify the attributes.
Connect Device
Connect the RapidConnect Lighting & Sensor Device to the computer and open a new instance of the RapidConnect Desktop. If you already have an instance of the desktop open and interfacing with the Lighting & Sensors device, use this instance.
Read Attribute Values
<TODO> Once UI changes have been made
Modify Attribute Value
As mentioned above, to modify these attribute, you must use the Attribute Write Command.
The frame breakdown is as follows:
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | |
1,2 | Cluster ID | |
3 | Cluster Server/Client | 0x00 = Client |
4,5 | Attribute ID | |
6 | Attribute Type | See the ZCL Data Types page for possible values. |
7..n | Attribute Value | Size dependent on Attribute Type. For strings, the length of the string must immediately precede the string itself. |
To send the Attribute Write Command you will use the Raw Message feature. Click on the 'Raw Message' menu.
Once the 'Raw Message' window is open, match the settings below and send the frame.
- Primary Header: 0x03 ( Zigbee zigbee Support Configuration Frames )
- Secondary Header: 0x25 ( Attribute Write )
- Enable Serial Ack: Enabled by default
- Frame Sequence Number: Auto incremented value, no need to set specifically.
- Payload: 01 00 00 01 04 00 42 09 41 63 6d 65 20 43 6f 72 70
Byte Index | Field Name | Value |
---|---|---|
0 | Endpoint ID | 0x01 |
1,2 | Cluster ID | 0x0000 |
3 | Cluster Server/Client | 0x01 |
4,5 | Attribute ID | 0x0004 |
6 | Attribute Type | 0x42 |
7 | String Length | 0x09 |
8..n | Attribute Value | Char String: 'Acme Crop' Hex Value (LSB): 0x41 0x63 0x6d 0x65 0x20 0x43 0x6f 0x72 0x70 |
The output to the Serial Log, marked as 6 & 7 above are the serial communication between the desktop application and the Lighting & Sensor board. Annotation 7 above is the raw message frame being transmitted (TX). Annotation 8 is the Received Message(RX) 'Status Response' from the module with a status of Success (0x00).
To modify the ModelIdentifier attribute follow the same process above, making the following changes:
- Payload: 01 00 00 01 05 00 42 xx xx...
Byte Index | Field Name | Value |
---|---|---|
0 | Endpoint ID | 0x01 |
1,2 | Cluster ID | 0x0000 |
3 | Cluster Server/Client | 0x01 |
4,5 | Attribute ID | 0x0005 |
6 | Attribute Type | 0x42 |
7 | String Length | 0x?? |
8..n | Attribute Value | 0x?? |
The Attribute ID will be changed to reflect the ModelIdentifier attribute (0x0005), the payload string length and payload string is up to you.
Verify Modified Attribute Values
<TODO> Once UI changes have been made