Ikea bulb firmware upgrade fails

Hi! I just set up my CC2531 USB stick with ZHA, and paired my Ikea bulb. I tried to upgrade the firmware with that guide:

ZHA does get the list of firmwares:

$ cat .homeassistant/home-assistant.log | grep ota
2020-04-10 17:19:18 DEBUG (MainThread) [zigpy.ota] Initialize OTA providers
2020-04-10 17:19:18 INFO (MainThread) [zigpy.ota.provider] Trådfri: OTA provider enabled
2020-04-10 17:19:19 DEBUG (MainThread) [zigpy.ota.provider] Trådfri: Finished downloading firmware update list

But when I go to Config > ZHA > Device > OTA Cluster > image_notify it throws a few errors rather than kicking off an OTA update:

2020-04-10 18:14:54 DEBUG (MainThread) [zigpy.zcl] [0xec3a:1:0x0019] Schema and args lengths do not match in reply
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xec3a, 260, 25, 1, 1, 51, b'\x193\x00', False, False)
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 51 {'dstaddr': 60474, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 25, 'transid': 52, 'options': 0, 'radius': 30, 'len': 3, 'data': b'\x193\x00'}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\r$\x01:\xec\x01\x01\x19\x004\x00\x1e\x03\x193\x00\xe4'
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] waiting for dataConfirm
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x014' length=3 fcs=242>
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] payload missmatch
-{'endpoint': 1, 'transid': 10}
+{'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] payload missmatch
-{'endpoint': 1, 'transid': 14}
+{'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] payload missmatch
-{'endpoint': 1, 'transid': 16}
+{'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] payload missmatch
-{'endpoint': 1, 'transid': 18}
+{'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] payload missmatch
-{'endpoint': 1, 'transid': 20}
+{'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-04-10 18:14:54 DEBUG (MainThread) [zigpy_cc.api] res AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 1, 'transid': 52}
2020-04-10 18:14:54 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xec3a](TRADFRI bulb E14 WS opal 400lm): Issued cluster command: cluster_id: 25 command: 0 command_type: client args: () cluster_id: out manufacturer: None endpoint_id: 1
2020-04-10 18:14:54 DEBUG (MainThread) [homeassistant.components.zha.api] Issued command for: cluster_id: [25] cluster_type: [out] endpoint_id: [1] command: [0] command_type: [client] args: [] manufacturer: [None] response: 0

Any idea what I am doing wrong? The bulb is a TRADFRI bulb E14 WS opal 400lm and the current firmware version is 1.2.217.

Thanks!

Having the same problem with IKEA outlets (version 2.0.019). Did you figure out what was wrong?

FYI there’s a fix: https://github.com/zigpy/zigpy-cc/issues/54

Do we know when the fix will be available in HA?

Fixed now, but I gave up on CC2531 (terrible range and buggy) and moved to a Sonoff ZB Gateway.

How did you succeed?
I do have Sonoff ZBBridge and yesterday I’ve tried to update my Tradfrii bulb an IKEA on/off switch.
I’ve ended with a loop of updates.
Firstly bulb did update about 4 or 5 times - with success in logs, but firmware on the bulb itself didn’t update.
Next the IKEA on/off eaten two of my CR2032 batteries and with the same effect.
I did exact what someone showed here:


I’ve seen status=Status.SUCCESS in the logs, the bulb flashed few times and that’s all.
Re-pairing didn’t change anything. Still old firmware.

IKEA is publishing some bad firmwares right now. Best to disable updates or wait for HA .116 which will have some controls to blacklist broken firmware or allow you to switch to the beta IKEA firmware channel.

2 Likes

I agree - worked smoothly from OTA folder

Note : similar issues with Zigbe2MQTT for a few weeks now.
I have at least 3 differnt IKEA bulbs which have ‘update available’ but can’t update any of them. Looks like a problem on IKEA side.