Overview
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.
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 character string.
Default Value: '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
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 character string.
Default Value: 'RapidHA'
Hex Value(MSB): 41 48 64 69 70 61 52 07
Hex Value(LSB): 07 52 61 70 69 64 48 41
Info |
---|
There are two methods in which you can modify these attributes.
The steps below will provide details for each method. |
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.
RapidConnect Desktop as Host Application
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 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: 16 00 00 01 04 00 42 09 41 63 6d 65 20 43 6f 72 70
Byte Index | Field Name | Value |
---|---|---|
0 | Endpoint ID | 0x16 |
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: 16 00 00 01 05 00 42 xx xx...
Byte Index | Field Name | Value |
---|---|---|
0 | Endpoint ID | 0x16 |
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
Custom Host Application
Connect Device
Connect the RapidConnect Lighting & Sensor Evaluation Board to your computer and open a connection between your Host application and the evaluation board.
Read Attribute Values
Send the following commands to read the current values for the attributes
Read ManufacturerName Attribute using Attribute Request Command (0x03, 0x23)
Byte Index
Field Name
Notes
Value 0
Endpoint ID
The target endpoint to query.
0x16 1,2
Cluster ID
The target cluster to query on the given endpoint.
0x0000 3
Cluster Server/Client
0x00 = Client
0x01 = Server0x01 4,5
Attribute ID
The ID of the attribute to query.
0x0004 Raw Frame: [ F1 03 23 xx 06 16 00 00 01 04 00 xx xx ]
Read ManufacturerIdentifier Attribute using Attribute Request Command (0x03, 0x23)
Byte Index
Field Name
Notes
Value 0
Endpoint ID
The target endpoint to query.
0x16 1,2
Cluster ID
The target cluster to query on the given endpoint.
0x0000 3
Cluster Server/Client
0x00 = Client
0x01 = Server0x01 4,5
Attribute ID
The ID of the attribute to query.
0x0005 Raw Frame: [ F1 03 23 xx 06 16 00 00 01 05 00 xx xx ]
Both requests should get a a Attribute Response Command (0x03,0x24) in return.
Modify Attribute Value
As mentioned above, to modify these attributes, you can use the Attribute Write Command (0x03, 0x25).
The frame breakdown is as follows:
Byte Index | Field Name | Notes | Value |
---|---|---|---|
0 | Endpoint ID | 0x16 | |
1,2 | Cluster ID | 0x0000 | |
3 | Cluster Server/Client | 0x00 = Client | 0x01 |
4,5 | Attribute ID | 0x0004 | |
6 | Attribute Type | See the ZCL Data Types page for possible values. | 0x42 |
7 | String Length | Required for String data types | 0x09 |
7..n | Attribute Value | Size dependent on Attribute Type. For strings, the length of the string must immediately precede the string itself. | Char String: 'Acme Crop' Hex Value (LSB): 0x41 0x63 0x6d 0x65 0x20 0x43 0x6f 0x72 0x70 |
Raw Payload: [ F1 03 25 xx 11 16 00 00 01 04 00 42 09 41 63 6d 65 20 43 6f 72 70 xx xx]
Modify ModelIdentifier Value
To modify the ModelIdentifier attribute follow the same process as 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
Read the values of the attributes using the Attribute Request Command as above.