/deconz-ota-plugin

Server side implementation of the standard Zigbee OTA protocol.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

STD OTAU Plugin

The deCONZ STD OTAU plugin implements a ZigBee Over-the-Air-Upgrade (OTAU) server in deCONZ.

Upgrading Firmware

See the Phoscon help topics for instructions on how to upgrade the firmware of your ZigBee devices using the STD OTAU plugin.

Make sure the source routing beta feature is disabled, before attempting a firmware upgrade. When source routing is enabled, the upgrade of ubisys, Hue, and Develco devices might hang.

Note that after the firmware has upgraded, the deCONZ GUI (and the REST API) might still show the old values (notably the SW Build ID and Date Code). To refresh these, read the Basic cluster attributes, in the Cluster info panel in the GUI. Likewise, if the device exposes new or different endpoints and/or clusters (e.g. when upgrading from ZLL to ZigBee 3.0), refresh these by reading the Node Descriptor and Simple Descriptor(s) from the left drop-down menu on the node.

ZigBee firmware is identified by the Manufacturer Code, Image Code and Version. On startup, the STD OTAU plugin will read all *.ota, *.ota.signed, *.sbl-ota, and *.zigbee files in ~/otau, and copy them to mmmm_iiii_vvvvvvvv.zigbee files, matching these attributes.

To find the Manufacturer Code for your device, see the Node info panel in the deCONZ GUI. To find the Image Code and (current) Version, see the STD OTAU Plugin panel in the deCONZ GUI. Select your device from the list (match the IEEE address) and press Query to populate the fields. Make sure to wake battery-powered devices before pressing Query.

Note that not all ZigBee devices support over-the-air firmware upgrading. Devices that do support this, expose a client (grey) OTAU cluster (0x0019). Only these devices are listed in the STD OTAU Plugin panel. However, not all devices that advertise this cluster have actually implemented it.

You need to obtain the firmware files from the device manufacturer. Some manufacturers have officially published their firmware. For some others, we found the location from where their native gateway downloads the firmware.

Manufacturer Code Firmware Files
IKEA 117C Available on the IKEA website. Use the ikea-ota-download.py script to download the current IKEA firmware files directly to ~/otau.
Ledvance
OSRAM
1189
110C
Published to the Ledvance website.
Lutron 1144 The firmware for the Aurora Friends-of-Hue dimmer is available through Hue Firmware.
Philips (Signify) 100B See Hue Firmware below.
ubisys 10F2 Published to the ubisys website.
Danfoss 1246 Published to the Danfoss website.

See the Wiki for a community-maintained list of firmware files, including reports which files have actually been tested.

Hue Firmware

Signify don't provide their firmware for use with other ZigBee gateways than the Hue bridge. The communication between the bridge and the server hosting the firmware files is encrypted, so we cannot get an overview of the files available. To find the firmware files, you need to sniff the traffic from the Hue bridge to the Internet, as it downloads the files. Unfortunately, the bridge will only download firmware files for connected devices with outdated firmware. For details, see issue #10.

Alternatively, you might use the Hue Bluetooth app to update the firmware of Bluetooth enabled devices.

Newer Hue light firmware versions, using the ZHA profile (for Zigbee 3.0) instead of ZHA, support attribute reporting. This is indicated in the AR column below. The latest firmwares versions of newer Hue white and color ambiance lights support dynamic scenes. This is indicated in the DS column below.

Below is an overview of known fimrware files:

Image Device(s) Firmware AR DS
0100 unknown unknown
0103 Gamut-A Color light 67.93.11 n n
0104 Gamut-B Extended color light 67.88.1 n n
0105 Dimmable light 5.130.1.30000 n n
0108 unknown unknown
0109 Hue dimmer switch 6.1.1.28573 - -
010B unknown unknown
010C Gamut-C Extended color light
Color temperature light
1.88.1 n n
010D Hue motion sensor 6.1.1.27575 - -
010E Aurelle Panels, Signes, Playbar, Being White Ambiance unknown
010F Outdoor led strip (?) unknown
0110 Bluetooth light (?) unknown
0111 Hue Go (2nd Gen) unknown
0112 Bluetooth E27 unknown
0114 Hue white and color ambiance bluetooth 1.93.11 Y Y
0115 Hue smart plug 1.93.6 -
0116 Hue smart button 2.47.8_h2F968624 - -
0117 Hue Lightstrip Plus v4 1.93.7 Y n
0118 Hue gradient lightstrip 1.97.3 Y Y
0119 Hue dimmer switch (2021) 2.45.2_hF4400CA - -
011A Hue smart plug 1.93.6 Y -
011B Hue motion sensor (2022) 2.53.6 - -
011C Hue wall switch module 1.0.3 - -
011D unknown unknown
011E Hue Go v2 (?) unknown
011F Hue Ensis 1.93.11 Y Y
0120 Hue Go v3 (?) unknown
0121 Hue tap dial switch 2.59.19 - -
0000 Lutron Aurora
Manufacturer Code: 1144
3.4
3.8*
- -

* Note that the Lutron Aurora firmware v3.8 doesn't work with deCONZ.

Installation

Basically, the deCONZ STD OTAU plugin uses the same setup as the deCONZ REST API plugin. To compile and install the STD OTAU plugin, follow the instructions to compile and install the REST API plugin, substituting the repository in step 1 with this one.

Troubleshooting

Start deCONZ with --dbg-ota=1 to make the STD OTAU plugin issue debug messages.