The commands in this section facilitate over the air (OTA) server of the application operating on the Module. These commands have been implemented per the ZigBee HA 1.2 guidelines.
( PH:0xB0, SH:0x00 ) - OTA Image Notification Command
The OTA Image Notification Command frame is sent from the Host to the Module. The Module will send an Image Notify ZCL command either broadcast or unicast depending on the received serial frame.
Payload for OTA Image Notification Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID |
2..9 | EUI64 Address | Target Device EUI64. All 0xFF indicates broadcast |
10 | Endpoint | 0xFF indicates a request on all endpoints. |
11 | Payload Type | 0x00 = Query jitter |
12 | Query Jitter | |
(13,14) | Manufacturer Code | Optional field, it is needed for payload type 0x01-0x03 |
(15,16) | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
(17..20) | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0xB0, SH:0x01 ) - OTA Query Next Image Request Command
The OTA Query Next Image Request frame is sent from the Module to the Host. The Module expects to receive an OTA Query Next Image Response frame in return.
Payload for OTA Query Next Image Request Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Request OTA Device Node ID |
2..9 | EUI64 Address | Request OTA Device EUI64 |
10 | Endpoint | Request OTA Device Endpoint |
11 | Field Control | 8-bit Bitmap |
12,13 | Manufacturer Code | |
14,15 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
16..19 | File Version | Optional. Number used here will be echoed back in all subsequent frames for the transaction. For example, this field can be used by the Host to differentiate multiple concurrent updates, or for any other purpose the Host requires. |
(20,21) | Hardware Version | Optional. Bit 0 of "Field Control" must equal "1" to use this optional field. |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0xB0, SH:0x02 ) - OTA Query Next Image Response Command
The OTA Query Next Image Response frame is sent from the Host to the Module. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally.
Payload for OTA Query Next Image Response Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID. 0xFFFF indicates that the EUI64 is used |
2..9 | EUI64 Address | Target Device EUI64 |
10 | Endpoint | Target Device Endpoint |
11 | Status | 0x00 – Success |
12,13 | Manufacturer Code | |
14,15 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
16..19 | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
20..23 | Image Size |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0xB0, SH:0x03 ) - OTA Image Block Request Command
The OTA Image Block Request frame is sent from the Module to the Host. The Module expects to receive an OTA Image Block Response frame in response.
Payload for OTA Image Block Request Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Request OTA Device Node ID |
2..9 | EUI64 Address | Request OTA Device EUI64 |
10 | Endpoint | Request OTA Device Endpoint |
11 | Field Control | 8-bit Bitmap |
12,13 | Manufacturer Code | |
14,15 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
16..19 | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
20..23 | File Offset | |
24 | Maximum Data Size | N < 50 |
Expected Host Action
The Host must process and respond to Image Block Request messages until the Module sends a Upgrade End Request
The Host must set status to MALFORMED_COMMAND (0x80) and return a 0 length data block if the Image Offset is outside the range of the file length.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0xB0, SH:0x05 ) - OTA Image Block Response Command
The OTA Image Block Response frame is sent from the Host to the Module. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally.
There are three possible return values for the OTA Image Block Response: Success, Wait for Data, and Abort. The payload differs for each one.
Payload for OTA Image Block Response Command on Success
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID. 0xFFFF indicates that the EUI64 is used. |
2..9 | EUI64 Address | Target Device EUI64. |
10 | Endpoint | 0xFF indicates a request on all endpoints. |
11 | Status | 0x00 = Success |
12,13 | Manufacturer Code | |
14,15 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
16..19 | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
20..23 | File Offset | |
24 | Data Size | N < 50 |
25..(24+N) | Data |
Payload for OTA Image Block Response Command on Wait for Data
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID. 0xFFFF indicates that the EUI64 is used. |
2..9 | EUI64 Address | Target Device EUI64. |
10 | Endpoint | Target Device Endpoint |
11 | Status | 0x97 = Wait for Data |
12..15 | Current UTC Time | The current UTC time |
16..19 | Request Time | The UTC time the client should retry the request |
20 | Checksum LSB | The least significant byte of the 16-bit CS. |
21 | Checksum MSB | The most significant byte of the 16-bit CS. |
Payload for OTA Image Block Response Command on Abort
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID. 0xFFFF indicates that the EUI64 is used |
2..9 | EUI64 Address | Target Device EUI64 |
10 | Endpoint | Target Device Endpoint |
11 | Status | 0x95 = Abort |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0xB0, SH:0x06 ) - OTA Upgrade End Request Command
The Upgrade End Request frame is sent from the Module to the Host. The Module expects to receive an Upgrade End Response frame in response.
Payload for OTA Upgrade End Request Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Request OTA Device Node ID |
2..9 | EUI64 Address | Request OTA Device EUI64 |
10 | Endpoint | Request OTA Device Endpoint |
11 | Status | 0x00 – Success |
12,13 | Manufacturer Code | |
14,15 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
16..19 | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Module |
( PH:0xB0, SH:0x07 ) - OTA Upgrade End Response Command
The OTA Upgrade End Response frame is sent from the Host to the Module in response to an OTA Upgrade End Request with success status. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally,
Payload for OTA Upgrade End Response Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Target Device Node ID. 0xFFFF indicates that the EUI64 is used. |
2..9 | EUI64 Address | Target Device EUI64. All 0xFF indicates broadcast |
10 | Endpoint | 0xFF indicates a request on all endpoints. |
11,12 | Manufacturer Code | |
13,14 | Image Type | Unused - for backwards compatibility. Set to 0x0000 |
15..18 | File Version | Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host. |
19..22 | Current Time | |
23..26 | Upgrade Time |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |