Update ZigBee firmware using deCONZ on Hass.io

For ikea plug it looks identical. There are differences for the the controller though (also conbe II):

The log I am talking about is the dedicated log in the HA deCONZ plug-in. Go to the ā€œHass.ioā€ menu item, choose the deCONZ plug-in and scroll all the way down to find it. You can restart the plug-in without restarting HA and that log will fill with information about the plug-in initialization process (you may have to hit the refresh button below the log).
Maybe I can post some screenshots of my VNC view tomorrow. What I can tell you right now is that the upgrade did NOT increase the version number of my IKEA GU10 bulbs, but only the build number. I do not own any IKEA plugs though.

Thanks @Jpsy for additional info!
Well, I looked at the log directly in deCONZ component in hass.io section, but looked quite different from what you posted. Here is sample of my one (with irrelevant info, unfortunatelly):

09:27:43:214 APS-DATA.confirm id: 3, status: 0x00 SUCCESS
09:27:43:214 APS-DATA.confirm request id: 3 -> erase from queue
09:27:43:234 aps request id: 3 finished, erase from queue
09:27:43:276 APS-DATA.indication srcAddr: 0xec16, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0006, lqi: 143, rssi: -76
09:27:43:276 ZCL got data for node=0xEC16, cl=0x0006, at=0x0000, status=0x00, type=0x10
09:27:43:314 APS-DATA.request id: 7, addrmode: 0x02, addr: 0x0000, profile: 0x0000, cluster: 0x0004, ep: 0x00 -> 0x00 queue: 2 len: 4 tx.options 0x00
09:27:43:314 ZDP send request id: 0x05 to 0x00212effff042329
09:27:43:334 APS-DATA.confirm id: 7, status: 0x00 SUCCESS
09:27:43:334 APS-DATA.confirm request id: 7 -> confirmed, timeout 1577694463
09:27:43:340 APS-DATA.indication srcAddr: 0x0000, srcEp: 0x00 dstAddrMode: 2, profile: 0x0000, cluster: 0x8004, lqi: 143, rssi: -76
09:27:43:340 APS-DATA.indication request id: 7 -> finished
09:27:43:340 APS-DATA.request id: 7 erase from queue
09:27:43:340 ZDP status = 0x00 -> SUCCESS
09:27:43:340 ZDP Simple_Descriptor_rsp 0x00212EFFFF042329 - 0x0000

I tried your advise to restart deCONZ and check the logā€¦ It is updating too fast to spot something interesting, though at one point of time Iā€™ve seen message starting with INFO: prefix (like your log entries). This made me wondering, if you have any specific setup for deCONZ log, that would allow to see for example only INFO entries? This would help to find relevant informationā€¦

My full log after a restart looks like this:

starting version 232
[09:51:47] INFO: Waiting for device...
[09:51:48] INFO: Starting VNC server...
[09:51:51] INFO: Starting the deCONZ gateway...
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
libpng warning: iCCP: known incorrect sRGB profile
[09:51:54] INFO: Starting Nginx...
[09:51:54] INFO: Running Hass.io discovery task...
[09:51:54] INFO: Running the deCONZ OTA updater...
[09:51:54] INFO: Running the IKEA OTA updater...
[09:51:54] INFO: deCONZ is set up and running!
2019/12/30 09:51:54 [notice] 342#342: using the "epoll" event method
2019/12/30 09:51:54 [notice] 342#342: nginx/1.10.3
2019/12/30 09:51:54 [notice] 342#342: OS: Linux 4.14.98-v7
2019/12/30 09:51:54 [notice] 342#342: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2019/12/30 09:51:54 [notice] 342#342: start worker processes
2019/12/30 09:51:54 [notice] 342#342: start worker process 369
[09:52:04] INFO: Successfully send discovery information to Home Assistant.
09:51:53:918 HTTP Server listen on address 0.0.0.0, port: ....., root: /usr/share/deCONZ/webapp/
09:51:53:937 CTRL. 3.16.209:51:54:107 dev /dev/ttyAMA0
09:51:54:107 COM: /dev/ttyACM0 / serialno: DE.......
09:51:54:107 COM: --dev: /dev/ttyACM0 (ConBee II)
09:51:54:107 ZCLDB init file /data/.local/share/dresden-elektronik/deCONZ/zcldb.txt
09:51:54:604 parent process bash
09:51:54:604 gw run mode: docker/hassio
09:51:54:605 GW sd-card image version file does not exist: /data/.local/share/dresden-elektronik/deCONZ/gw-version
09:51:54:605 sd-card cid: 035........
09:51:54:645 DB sqlite version 3.16.2
09:51:54:649 DB PRAGMA page_count: 30
09:51:54:649 DB PRAGMA page_size: 4096
09:51:54:649 DB PRAGMA freelist_count: 0
09:51:54:649 DB file size 122880 bytes, free pages 0
09:51:54:649 DB PRAGMA user_version: 6
09:51:54:649 DB cleanup
09:51:54:651 DB create temporary views
09:51:54:671 don't close database yet, keep open for 900 seconds
09:51:54:673 started websocket server at port 8081
09:51:54:688 found node plugin: libde_rest_plugin.so - REST API Plugin
09:51:54:695 found node plugin: libde_signal_plugin.so - Signal Monitor Plugin
09:51:58:671 found node plugin: libstd_otau_plugin.so - STD OTAU Plugin
09:51:58:713 dev /dev/ttyAMA0
09:51:58:713 COM: /dev/ttyACM0 / serialno: DE.......
09:51:58:713 COM: --dev: /dev/ttyACM0 (ConBee II)
09:51:59:685 dev /dev/ttyAMA0
09:51:59:685 COM: /dev/ttyACM0 / serialno: DE.......
09:51:59:685 COM: --dev: /dev/ttyACM0 (ConBee II)
09:51:59:719 dev /dev/ttyAMA0
09:51:59:719 COM: /dev/ttyACM0 / serialno: DE.......
09:51:59:719 COM: --dev: /dev/ttyACM0 (ConBee II)
09:51:59:884 dev /dev/ttyAMA0
09:51:59:884 COM: /dev/ttyACM0 / serialno: DE.......
09:51:59:884 COM: --dev: /dev/ttyACM0 (ConBee II)
09:51:59:919 dev /dev/ttyAMA0
09:51:59:919 COM: /dev/ttyACM0 / serialno: DE.......
09:51:59:919 COM: --dev: /dev/ttyACM0 (ConBee II)
09:52:00:611 dev /dev/ttyAMA0
09:52:00:678 Device firmware version 0x264A0700
09:52:00:708 unlocked max nodes: 200
09:52:00:801 Device protocol version: 0x010B
09:52:00:817 new node - ext: 0x00212effff05007d, nwk: 0x0000
09:52:00:881 don't close database yet, keep open for 900 seconds
09:52:00:884 LightNode 11: Esstisch Kronleuchter added
09:52:00:898 don't close database yet, keep open for 900 seconds
09:52:00:899 LightNode 8: Esstisch 1 added
09:52:00:912 don't close database yet, keep open for 900 seconds
09:52:00:913 LightNode 10: Esstisch 2 added
09:52:01:041 Current channel 15
09:52:01:062 CTRL ANT_CTRL 0x03
09:52:01:092 Device protocol version: 0x010B
09:52:01:154 Current channel 15
09:52:01:174 CTRL ANT_CTRL 0x03
09:52:01:291 Announced to internet http://dresden-light.appspot.com/discover
09:52:01:292 discovery server date: Mon, 30 Dec 2019 08:52:01 GMT
09:52:01:292 	 local time seems to be ok
09:52:01:292 discovery found version 2.04.35 for update channel stable
09:52:06:016 don't close database yet, keep open for 900 seconds
09:52:07:454 New websocket 172.30.32.1:49450 (state: 3) 
09:52:11:055 dev /dev/ttyAMA0
09:52:11:056 GW update firmware found: /usr/share/deCONZ/firmware/deCONZ_ConBeeII_0x26490700.bin.GCF
09:52:11:056 GW firmware version: 0x264a0700
09:52:11:056 GW firmware version is up to date: 0x264a0700
09:52:25:115 Bind response success for 0xd0cf5efffebda49d cluster 0x0000
09:52:25:210 ZCL configure reporting rsp seq: 68 0xD0CF5EFFFEBDA49D for cluster 0x0000 attr 0x4000 status 0x00
09:52:25:308 Bind response success for 0xd0cf5efffebda49d cluster 0x0006
09:52:25:419 ZCL configure reporting rsp seq: 70 0xD0CF5EFFFEBDA49D for cluster 0x0006 attr 0x0000 status 0x00
09:52:25:514 Bind response success for 0xd0cf5efffebda49d cluster 0x0008
09:52:25:514 skip configure report for cluster: 0x0008 attr: 0x0000 of node 0xD0CF5EFFFEBDA49D (wait reading or unsupported)
09:52:26:595 Bind response success for 0xd0cf5efffebda49d cluster 0x0300
09:52:26:595 skip configure report for cluster: 0x0300 attr: 0x0003 of node 0xD0CF5EFFFEBDA49D (wait reading or unsupported)

If you see more than the above entries, it is possible, that you have switched into a higher debug output level. I have not set any debug output level. In fact, my deCONZ config only contains ā€œdeviceā€ and ā€œvnc_passwordā€. I also have NO entries for deCONZ in my configuration.yaml. It is all done through HA discovery and the integrations page of Hass.io - exactly as described in the setup instructions of the plug-in.

I just went into the VNC view again and tried the update process again. From the moment I clicked ā€œQueryā€ it took a full 10 minutes (!) until the Version column of the selected node changed from 0x00000000 to a meaningful hex address and the node info became available. I have no idea, what deCONZ does in the meantime.

Hmmmā€¦ Indeed I had all debug options enabled in deCONZ configuration, I hoped this will help to get OTAU related messages in the log. So I removed these and restarted pluginā€¦ not much change, perhaps less messages, but stil pleanty of these with no reference to OTAU :frowning:
Regarding running query; it is starnge, I tested it on every single node and for all nodes that are permanently powered on (e.g. bulbs I have instant responce with updating version (e.g. change from 0x00000000 to 0x12214572ā€¦ yet hovering mouse over this value hints newer version is availableā€¦

Just for completeness: Here is a screenshot of my VNC view after marking the first IKEA bulb, hitting Query and waiting for about 10 minutes. After that the second IKEA bulb updated instantaneously when I marked it and clicked Query again.

@gerard33 I just tried to update an OSRAM plug and was happy to read your instructions on how to copy the OTAU file to the deCONZ docker container. But unfortunately in my Hass.io shell there is no docker command available. I am using the SSH Server add-on to access the shell while you recommend SSH & Web Terminal. Does this make any difference (I donā€™t believe so) or is there some other reason that I canā€™t execute that command in my terminal shell?

Donā€™t know if SSH Server add-on supports it. The SSH & Web Terminal one does and I have protection mode disabled, which is enabled by default. You can try that in your add-on and otherwise install SSH & Web Terminal addon.

docker

1 Like

@gerard33 you are right! With SSH & Web Terminal the docker command is available! I was able to update my Osram / Ledvance Plugs easily. Good stuff. Many thanks! Will update the OP accordingly.

2 Likes

Any news about updating Philips zigbee devices?

The following Github issue has some details (also one link to a firmware file):

Here are a few comments on the matter from Philips on Facebook:

And a post in the Philips Hue forum:

https://developers.meethue.com/forum/t/firmware-downloads/6242

So either the OTA files can be reverse engineered and extracted or Philips provides the files like OSRAM does, which IMHO would be very positive for their sales. Perhaps it would help if the community brings more interest on the topic to the official Philips channels :slight_smile:

2 Likes

Iā€™ve made the ledvance/osram firmware download script. It is published in a new PR so when merged in deconz 5.1 it will be easier for us to update those devices.

5 Likes

Looking around in the Hassio Add-on/ Deconz-Phoscon 5.1, for the Osram firmware update section. Canā€™t find it, should I. Or do I have to unplug the USB-dongle, plug it into a PC and use the windows Deconz-program?

To update the firmware you need to access Phoscon using a VNC viewer. You can install a viewer on your Windows PC and get access via the IP and port you can set in the addon. Then you can follow the guide from the Phoscon site mentioned above.

This topic has become more interesting for me with the recent reports of security flaws with the Hue bulbs. Apparently these flaws were patched in the last 2 months, but I added a large number of hue bulbs to deconz farther back that that. It would be very convenient to be able to update the firmware using deconz.

How do you tell if there is a newer firmware version?
I have tried several time to click the query button, and nothing happens - this is weather it is Xiaomi, IKEA or Hue (Iā€™m aware tha Hue firmware isnā€™t available, but just for the test I tried)

Absolutely nothing happens in the interface, a restart of Home Assistant and Deconz addon did no change

1 Like

It is now possible to do it. Give a look at: GitHub - dresden-elektronik/deconz-ota-plugin: Server side implementation of the standard Zigbee OTA protocol..

1 Like

I already updated 3 Osram Smartplugs and a Tradfri Remote Control via Deconz!

Hi! I tried you guide on adding files to otau folder when using Home Assistant and deconz addon but the file never did show in /data/otau/. This should still work?