Closed crispy78 closed 1 year ago
I've found someone having the same issues as me. Someone has altered the header in the update: https://github.com/zigpy/zigpy/issues/1153#issuecomment-1416078425 (was browsing https://github.com/Koenkk/zigbee-herdsman-converters/issues/5393#issue-1555774355) I've published the file on my server, created a my_index.json with only that file:
[
{
"fileVersion": 33816581,
"fileSize": 218698,
"manufacturerCode": 4476,
"imageType": 4555,
"sha512": "0e94264bd853d41cc5ee7caa8336b310b60ea8503d56f05ccfb42cb9ec8b03a1aa0cdac27bb6314c3cf9abbd55c9862cc6127bea46abedb8067bea07ffb8a8b1",
"url": "http://__myserver__/10078031-zingo_kt_styrbar_remote-2.4.5_modded_header.ota.ota.signed",
"force": true
}
]
I've entered /config/zigbee2mqtt/my_index.json
in "OTA index override file name", I've also tried my_index.json
, but it still fails to update.
I've also tried (and failed) to force update Styrbar by downloading the file locally and using local index.json. It seems that zigbee2mqtt ignores local index.json for those devices which are found in online feed, like IKEA. @Koenkk can you confirm this?
It's only used when ota.zigbeeOTA
is used (for this device ota.tradfri
is used). You can override it with an ext converter: https://gist.github.com/Koenkk/fafd62c76aee9d331f70aa4ff4cf12fd
configuration.yaml
as ext_converter.js
configuration.yaml
:
external_converters:
- ext_converter.js
Thanks! I was able to update to 2.4.5 with the external converter.
I opened a pull request to get this information to the official docs.
Great, assuming this can be closed now.
I've tried it in several ways and couldn't get it to work. I've created the .js-file, I've changed the config, I've restarted Z2M from within Home Assistant numerous times and I can't get the button to update. I've added my my_index.json to the config and then I got the message that 1.0.024 is newer than 2.4.5.
@crispy78 this is the index.json I used for successful OTA (I downloaded the file from IKEA feed to the /app/data directory):
[ { "manufacturerCode": 4476, "imageType": 4555, "fileVersion": 581, "url": "10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed", "force": true } ]
Your file version seems off.
I'm about to quit this struggle. I can't find the app/data directory, so I've placed the file in the Zigbee2MQTT config-directory. I've changed the my_index.json-file, changed the config-file and still no luck. I'm thinking of changing to ZHA temporarily, the device seems to be updating on that platform with less hassle. I might be wrong.
I'm about to quit this struggle. I can't find the app/data directory, so I've placed the file in the Zigbee2MQTT config-directory. I've changed the my_index.json-file, changed the config-file and still no luck. I'm thinking of changing to ZHA temporarily, the device seems to be updating on that platform with less hassle. I might be wrong.
I've just managed to start the update, maybe I can help...
My problem was that I didn't know that GUI settings override the settings I've put in config files by hand. Do you see any error when trying to update?
I've used simple-web-server from GitHub on my PC, and put 10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed and my_index.json files in the root directory. Then in Z2M\Settings\OTA Updates I've unchecked "IKEA TRADFRI OTA use test url" and put url to my_index.json file on web server - in my case it was http://192.168.1.100/my_index.json
Contents of my my_index.json:
[ { "manufacturerCode": 4476, "imageType": 4555, "fileVersion": 581, "url": "http://192.168.1.100/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed", "force": true } ]
and last thing was ext_converter.js which I've uploaded with File Editor to the zigbee2mqtt directory. Contents were taken from the link that koenkk provided above. Then i just entered converter filename in Z2M\Settings\External Converters
@tishcufksips thanks for your instructions, it finally got to the point that it found an update and it's currently updating. For some reason the config wanted to use the test server so I had to change that to false and putting the my_index.json and update on my own server was a very helpfull comment.
There is no need to run a server or anything like that. zigbee2mqtt is perfectly capable of serving the file. The firmware file and my_index.json can both go in the data directory, which is the same directory that zigbee2mqtt configuration.yaml is located. The steps that work are as follows:
[ { "manufacturerCode": 4476,
"imageType": 4555,
"fileVersion": 581,
"url": "10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed",
"force": true } ]
external_converters:
- ext_converter.js
ota:
zigbee_ota_override_index_location: my_index.json
Hi y'all:
I'm pretty sure I've done all the steps here correctly, and have tried both using a web server and putting the necessary files on the HA instance directly, but I'm getting errors (see below) that seem to point to another problem. The buttons are working correctly, so I'm not sure these errors really mean what they say. Any help or pointers is appreciated!
Info 2023-10-04 18:30:39MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Failed to check if update available for 'IKEAButton2' (Device didn't respond to OTA request)","meta":{"device":"IKEAButton2","status":"check_failed"},"type":"ota_update"}' Info 2023-10-04 18:30:39MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/check', payload '{"data":{"id":"IKEAButton2"},"error":"Failed to check if update available for 'IKEAButton2' (Device didn't respond to OTA request)","status":"error","transaction":"9rsko-15"}'
with DEBUG on, these errors appear:
Error 2023-10-04 19:13:07Failed to check if update available for 'IKEAButton2' (Device didn't respond to OTA request) Debug 2023-10-04 19:13:07Error: Device didn't respond to OTA request at requestOTA (/app/node_modules/zigbee-herdsman-converters/src/lib/ota/common.ts:202:15) at Object.isUpdateAvailable (/app/node_modules/zigbee-herdsman-converters/src/lib/ota/common.ts:274:25) at OTAUpdate.onMQTTMessage (/app/lib/extension/otaUpdate.ts:203:45)
Did you press button on the remote to wake it up immediately after clicking Check for updates?
Did you press button on the remote to wake it up immediately after clicking Check for updates?
I did. I've reverted all the changes to force an OTA update and reset the devices and configs. And even then I get the same error :(
EDIT:
Finally got it to work. I, like [tishcufksips], found that I had to add the converter and index entries into the GUI for it to work. Also, pulling the batteries from the buttons seems to help the process along, as it checks for an update immediately after power-on.
After flashing the firmware, the buttons stopped working, action commands are no longer sent, 3 buttons were flashed and they all stopped working. What have I done wrong?
You have to remove the external converter and restart zigbee2mqtt to get all functionality back.
You have to remove the external converter and restart zigbee2mqtt to get all functionality back.
Thank you, everything returned after completely stopping the container and starting it, restarting did not help.
Hi, i did the update from https://github.com/Koenkk/zigbee2mqtt/issues/18515#issuecomment-1742177146 and now only got device_announce messages when i insert battery. Restart Z2M restart Docker container - no other information from device Debug says: Retrieving state of "STYRBAR01' after reconnect.
You have to remove the external converter and restart zigbee2mqtt to get all functionality back.
Thank you, everything returned after completely stopping the container and starting it, restarting did not help.
I alas seem to experience the same problem, even after restarting z2m/the whole system: both of my buttons stopped working after flashing the new firmware. No action commands are sent from them and I also can't seem to remove them.
They do however seem to pair perfectly again when factory resetting them, but the result is the same: no functionality whatsoever.
I think something worked here. Reset them delete from Zigbee2MQTT Pair with a bulb pair with Zigbee2MQTT reset the bulb
I think something worked here. Reset them delete from Zigbee2MQTT Pair with a bulb pair with Zigbee2MQTT reset the bulb
I was about to do this, when I suddenly realized one of the two buttons worked. The only thing I had been doing (repeatedly) was removing the device, pairing it again and rebooting my entire system, to no avail. After leaving the button many hours, it suddenly worked. The second button I had still didn't work, but worked immediately after re-pairing it. I can't really pinpoint what suddenly changed...
I think something worked here. Reset them delete from Zigbee2MQTT Pair with a bulb pair with Zigbee2MQTT reset the bulb
I was about to do this, when I suddenly realized one of the two buttons worked. The only thing I had been doing (repeatedly) was removing the device, pairing it again and rebooting my entire system, to no avail. After leaving the button many hours, it suddenly worked. The second button I had still didn't work, but worked immediately after re-pairing it. I can't really pinpoint what suddenly changed...
I've seen this behavior before. Mostly with IKEA shortcut button. It paired well, but sent no actions. Sometimes it started to work after multiple factory reset, sometimes I left it on the table and started to work after some hours by itself. Hope this will happen with Styrbar, as both of my remotes now do not communicate as well after firmware update
same here - after the FW update it did not work anymore. Pairing was fine, just didn't trigger any action. I took out the batteries and replaced the remote with an old FW-level. After two days I wanted to do further tests and after inserting the batteries, the Styrbar worked just normal. So maybe it helps to take out the batteries over night...
thanks @jkl1337 for the above manual!!
same issue , tried to pair, it pairs ok ( long process of interview but finally pairs) but no actions triggered , also You can force a update for the firmware by pairing with hub and letting it update and then unpairing , but still when i connect to HA there is no trigger or binds working
Since it is fixed (in container installation) by completely removing the container, it must be that the external converter gets somehow included in some other directory than data. Is it somehow cached or compiled in under files in dist?
Few days ago something strange happened. Styrbar started to light up the bulbs on 1% of brightness no matter the previous state (not by automation but through binding). I had no such problem before. During my experiments I've excluded the fault of bulbs (they remembered brightness on power outage) and automations. It was Styrbar that was a culprit. And so I found this topic and decided to upgrade it. Thx @jkl1337 for great instruction!
Upgrade didn't help. The bulbs are still turned on with 1% brightness no matter what (I can move brightness up, but after I turn off the lights they forget previous value). No gain here.
Update breaks single arrow press. To recover from it I had to delete the device from z2m and re-pair anew. After that the new binding to Coordinator appeared - Scenes which fixes lack of single press as explained in this topic https://github.com/Koenkk/zigbee2mqtt/issues/15725
I still have to find the fix for this 1% brightness..
... I still have to find the fix for this 1% brightness..
Same here :disappointed:
Hi @Redominus In my case I was totally wrong. The issue with 1% brightness wasn't caused by Styrbar remote. Update of Zigbee2Mqtt something messed up with the IKEA light bulbs ( https://www.zigbee2mqtt.io/devices/LED2003G10.html#ikea-led2003g10 ). The fix for me was to remove bulbs completely from z2m and pair them again. Now the bulbs remember their brightness again.
As for the Styrbar remote it is not worth it to update. With firmware 1.0.024 the remote could be bound with Lidl bulbs ( https://www.zigbee2mqtt.io/devices/HG06492B.html#lidl-hg06492b ). After update the remote works only with original IKEA ones.
Thank you @SnakeZi ! It worked and fixed the brightness issue!
There is no need to run a server or anything like that. zigbee2mqtt is perfectly capable of serving the file. The firmware file and my_index.json can both go in the data directory, which is the same directory that zigbee2mqtt configuration.yaml is located. The steps that work are as follows:
- Copy https://gist.github.com/Koenkk/fafd62c76aee9d331f70aa4ff4cf12fd to ext_converter.js (in the zigbee2mqtt data directory).
- Download http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed and place the file into the zigbee2mqtt data directory.
- Add the following to a file called my_index.json in the data directory
[ { "manufacturerCode": 4476, "imageType": 4555, "fileVersion": 581, "url": "10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed", "force": true } ]
- Add/merge the following configuration items to configuration.yaml
external_converters: - ext_converter.js ota: zigbee_ota_override_index_location: my_index.json
- Restart zigbee2mqtt and go through the OTA update process as normal. After completion should then remove the ext_converter.js from the configuration and restart.
My 2 cents with this instruction:
After the successfull update the only problem I have will be this:
{ "linkquality": 171, "update": { "installed_version": 33816581, "latest_version": 581, "state": "idle" }, "update_available": false }
Installed Version has that whole Ikea number but latest_version is just last 3 digits --> Installed firmware is newer than available.
I have several IKEA Styrbar remotes (E2002), which seemed to be stuck on version 1.0.024, and wouldn't update to the newer version 2.4.5.
I was able to follow the instructions in the comment above to update them.
One small issue I hit - at first, when I tried to do the update, it errored out like so:
If I check the docker logs for my zigbee2mqtt container, I see:
Zigbee2MQTT:info 2023-12-03 17:10:44: Updating 'Downstairs Bunk Bed Switch' to latest firmware
Zigbee2MQTT:info 2023-12-03 17:12:07: MQTT publish: topic 'zigbee2mqtt/Downstairs Bunk Bed Switch', payload '{"battery":80,"linkquality":25,"update":{"installed_version":65572,"latest_version":581,"state":"available"},"update_available":null}'
Zigbee2MQTT:info 2023-12-03 17:12:07: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{"id":"Downstairs Bunk Bed Switch"},"error":"Update of 'Downstairs Bunk Bed Switch' failed (Device didn't respond to OTA request)","status":"error","transaction":"ajzql-1"}'
Zigbee2MQTT:error 2023-12-03 17:12:07: Update of 'Downstairs Bunk Bed Switch' failed (Device didn't respond to OTA request)
However, I then saw the comment elsewhere about pressing the button to wake it up - to be honest, it had probably been less than a minute or so since I'd used the remote, but either way, I pressed a button on the remote, then immediately clicked the update button - it seemed to work after that - although it took around 3 hours to push the update...
It might be worth summarising all of the steps that are known to work, directly into the zigbee2mqtt entry for the IKEA Styrbar remote. (At the moment, it's just a link back to this issue - which means people have to wade through text). What do people think?
Also - is there a reason this update workaround can't be rolled directly into a zigbee2mqtt fix? Or is there some technical reason, that we have to do the workaround?
Finally, after I updated my remotes, I rolled back the changes from the comment above and restarted zigbee2mqtt.
The Styrbar remotes didn't work anymore - so I unpaired them (four presses of the pairing button), and they automatically repaired, and then they worked after that.
There were some error messages about Bind and Timeouts - but it seemed to work after a while
Log entries are below:
Zigbee2MQTT:warn 2023-12-03 21:27:49: Device 'Upstairs Bunk Switch' left the network
Zigbee2MQTT:info 2023-12-03 21:27:49: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_leave"}'
Zigbee2MQTT:info 2023-12-03 21:27:55: Device 'Upstairs Bunk Switch' joined
Zigbee2MQTT:info 2023-12-03 21:27:55: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_joined"}'
Zigbee2MQTT:info 2023-12-03 21:27:55: Starting interview of 'Upstairs Bunk Switch'
Zigbee2MQTT:info 2023-12-03 21:27:55: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f","status":"started"},"type":"device_interview"}'
Zigbee2MQTT:info 2023-12-03 21:27:56: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_announce"}'
Zigbee2MQTT:info 2023-12-03 21:28:03: Successfully interviewed 'Upstairs Bunk Switch', device has successfully been paired
Zigbee2MQTT:info 2023-12-03 21:28:03: Device 'Upstairs Bunk Switch' is supported, identified as: IKEA STYRBAR remote control (E2001/E2002)
Zigbee2MQTT:info 2023-12-03 21:28:03: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"STYRBAR remote control","exposes":[{"access":5,"description":"Remaining battery in %, can take up to 24 hours before reported.","label":"Battery","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Triggered action (e.g. a button click)","label":"Action","name":"action","property":"action","type":"enum","values":["on","off","brightness_move_up","brightness_move_down","brightness_stop","arrow_left_click","arrow_right_click","arrow_left_hold","arrow_right_hold","arrow_left_release","arrow_right_release"]},{"access":1,"description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E2001/E2002","options":[{"access":2,"description":"Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval. ","features":[{"access":2,"description":"Delta per interval, 20 by default","label":"Delta","name":"delta","property":"delta","type":"numeric","value_min":0},{"access":2,"description":"Interval duration","label":"Interval","name":"interval","property":"interval","type":"numeric","unit":"ms","value_min":0}],"label":"Simulated brightness","name":"simulated_brightness","property":"simulated_brightness","type":"composite"},{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","label":"Legacy","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f","status":"successful","supported":true},"type":"device_interview"}'
Zigbee2MQTT:info 2023-12-03 21:28:03: Configuring 'Upstairs Bunk Switch'
Zigbee2MQTT:error 2023-12-03 21:28:13: Failed to configure 'Upstairs Bunk Switch', attempt 1 (Error: Bind 0x9035eafffe9d463f/1 genPowerCfg from '0x00124b0021cc4370/1' failed (AREQ - ZDO - bindRsp after 10000ms)
at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7))
Zigbee2MQTT:info 2023-12-03 21:28:46: Configuring 'Upstairs Bunk Switch'
Zigbee2MQTT:warn 2023-12-03 21:28:47: Firmware on '0x9035eafffe9d463f' is newer than latest firmware online.
Zigbee2MQTT:info 2023-12-03 21:28:47: MQTT publish: topic 'zigbee2mqtt/Upstairs Bunk Switch', payload '{"action":null,"battery":75,"linkquality":153,"update":{"installed_version":33816581,"latest_version":581,"state":"idle"},"update_available":null}'
I have several IKEA Styrbar remotes (E2002), which seemed to be stuck on version 1.0.024, and wouldn't update to the newer version 2.4.5.
I was able to follow the instructions in the comment above to update them.
One small issue I hit - at first, when I tried to do the update, it errored out like so:
If I check the docker logs for my zigbee2mqtt container, I see:
Zigbee2MQTT:info 2023-12-03 17:10:44: Updating 'Downstairs Bunk Bed Switch' to latest firmware Zigbee2MQTT:info 2023-12-03 17:12:07: MQTT publish: topic 'zigbee2mqtt/Downstairs Bunk Bed Switch', payload '{"battery":80,"linkquality":25,"update":{"installed_version":65572,"latest_version":581,"state":"available"},"update_available":null}' Zigbee2MQTT:info 2023-12-03 17:12:07: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{"id":"Downstairs Bunk Bed Switch"},"error":"Update of 'Downstairs Bunk Bed Switch' failed (Device didn't respond to OTA request)","status":"error","transaction":"ajzql-1"}' Zigbee2MQTT:error 2023-12-03 17:12:07: Update of 'Downstairs Bunk Bed Switch' failed (Device didn't respond to OTA request)
However, I then saw the comment elsewhere about pressing the button to wake it up - to be honest, it had probably been less than a minute or so since I'd used the remote, but either way, I pressed a button on the remote, then immediately clicked the update button - it seemed to work after that - although it took around 3 hours to push the update...
It might be worth summarising all of the steps that are known to work, directly into the zigbee2mqtt entry for the IKEA Styrbar remote. (At the moment, it's just a link back to this issue - which means people have to wade through text). What do people think?
Also - is there a reason this update workaround can't be rolled directly into a zigbee2mqtt fix? Or is there some technical reason, that we have to do the workaround?
Finally, after I updated my remotes, I rolled back the changes from the comment above and restarted zigbee2mqtt.
The Styrbar remotes didn't work anymore - so I unpaired them (four presses of the pairing button), and they automatically repaired, and then they worked after that.
There were some error messages about Bind and Timeouts - but it seemed to work after a while
Log entries are below:
Zigbee2MQTT:warn 2023-12-03 21:27:49: Device 'Upstairs Bunk Switch' left the network Zigbee2MQTT:info 2023-12-03 21:27:49: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_leave"}' Zigbee2MQTT:info 2023-12-03 21:27:55: Device 'Upstairs Bunk Switch' joined Zigbee2MQTT:info 2023-12-03 21:27:55: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_joined"}' Zigbee2MQTT:info 2023-12-03 21:27:55: Starting interview of 'Upstairs Bunk Switch' Zigbee2MQTT:info 2023-12-03 21:27:55: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f","status":"started"},"type":"device_interview"}' Zigbee2MQTT:info 2023-12-03 21:27:56: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f"},"type":"device_announce"}' Zigbee2MQTT:info 2023-12-03 21:28:03: Successfully interviewed 'Upstairs Bunk Switch', device has successfully been paired Zigbee2MQTT:info 2023-12-03 21:28:03: Device 'Upstairs Bunk Switch' is supported, identified as: IKEA STYRBAR remote control (E2001/E2002) Zigbee2MQTT:info 2023-12-03 21:28:03: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"STYRBAR remote control","exposes":[{"access":5,"description":"Remaining battery in %, can take up to 24 hours before reported.","label":"Battery","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Triggered action (e.g. a button click)","label":"Action","name":"action","property":"action","type":"enum","values":["on","off","brightness_move_up","brightness_move_down","brightness_stop","arrow_left_click","arrow_right_click","arrow_left_hold","arrow_right_hold","arrow_left_release","arrow_right_release"]},{"access":1,"description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E2001/E2002","options":[{"access":2,"description":"Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval. ","features":[{"access":2,"description":"Delta per interval, 20 by default","label":"Delta","name":"delta","property":"delta","type":"numeric","value_min":0},{"access":2,"description":"Interval duration","label":"Interval","name":"interval","property":"interval","type":"numeric","unit":"ms","value_min":0}],"label":"Simulated brightness","name":"simulated_brightness","property":"simulated_brightness","type":"composite"},{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","label":"Legacy","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"friendly_name":"Upstairs Bunk Switch","ieee_address":"0x9035eafffe9d463f","status":"successful","supported":true},"type":"device_interview"}' Zigbee2MQTT:info 2023-12-03 21:28:03: Configuring 'Upstairs Bunk Switch' Zigbee2MQTT:error 2023-12-03 21:28:13: Failed to configure 'Upstairs Bunk Switch', attempt 1 (Error: Bind 0x9035eafffe9d463f/1 genPowerCfg from '0x00124b0021cc4370/1' failed (AREQ - ZDO - bindRsp after 10000ms) at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35) at listOnTimeout (node:internal/timers:569:17) at processTimers (node:internal/timers:512:7)) Zigbee2MQTT:info 2023-12-03 21:28:46: Configuring 'Upstairs Bunk Switch' Zigbee2MQTT:warn 2023-12-03 21:28:47: Firmware on '0x9035eafffe9d463f' is newer than latest firmware online. Zigbee2MQTT:info 2023-12-03 21:28:47: MQTT publish: topic 'zigbee2mqtt/Upstairs Bunk Switch', payload '{"action":null,"battery":75,"linkquality":153,"update":{"installed_version":33816581,"latest_version":581,"state":"idle"},"update_available":null}'
Thanks for this.. I was able to get the update started.. No sure why it takes sooo long to update???
There is no need to run a server or anything like that. zigbee2mqtt is perfectly capable of serving the file. The firmware file and my_index.json can both go in the data directory, which is the same directory that zigbee2mqtt configuration.yaml is located. The steps that work are as follows:
- Copy https://gist.github.com/Koenkk/fafd62c76aee9d331f70aa4ff4cf12fd to ext_converter.js (in the zigbee2mqtt data directory).
- Download http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed and place the file into the zigbee2mqtt data directory.
- Add the following to a file called my_index.json in the data directory
[ { "manufacturerCode": 4476, "imageType": 4555, "fileVersion": 581, "url": "10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed", "force": true } ]
- Add/merge the following configuration items to configuration.yaml
external_converters: - ext_converter.js ota: zigbee_ota_override_index_location: my_index.json
- Restart zigbee2mqtt and go through the OTA update process as normal. After completion should then remove the ext_converter.js from the configuration and restart.
Hello, This method is very usefull, and should be explained in plain in the product page on Z2M doc.
Can someone explain what did all the modifications? I'm not a developer and very new to Home Assistant and Z2M, so I don't understand very much what does all this modifications.
However, thank you for your answer.
Is this no longer working in 2024? I have tried all of the above steps, attempting to edit the json files, also using the GUI to change config, restarting zigbee2mqtt many many times, even restarting HA itself in case that did it. The js file is there, and I even changed it to execute permissions in case that was missed in the instructions. I have tried referencing all files with /homeassistant/zigbee2mqtt/... paths, and tried /config/zigbee2mqtt/.... paths, and just relative paths. The firmware patch file is in the zigbee2mqtt folder. Maybe this does not work any more? Is there a better way to update firmware? Anything I should check?
It always says that the online version is later than the one on the device.
Thank you
Is this no longer working in 2024? I have tried all of the above steps, attempting to edit the json files, also using the GUI to change config, restarting zigbee2mqtt many many times, even restarting HA itself in case that did it. The js file is there, and I even changed it to execute permissions in case that was missed in the instructions. I have tried referencing all files with /homeassistant/zigbee2mqtt/... paths, and tried /config/zigbee2mqtt/.... paths, and just relative paths. The firmware patch file is in the zigbee2mqtt folder. Maybe this does not work any more? Is there a better way to update firmware? Anything I should check?
It always says that the online version is later than the one on the device.
Thank you
When you hit check updates on z2m OTA and press one of the styrbar buttons (This Need to be done!), What happen? What messages you got?
I move the button right next to the zigbee router and push the button on the remote immediately before requesting update, so i have no issue initiating the firmware update.
But even after making all of the changes above i get this:
No updata available for
Updating my first Styrbar Device worked. Now one week later with my second device I get "Firmware on (remote control N2) is newer than latest firmware online"
I found this workaround which works for me: https://github.com/Koenkk/zigbee2mqtt/issues/18023#issuecomment-1624316644
/.../zigbee2mqtt/node_modules/zigbee-herdsman-converters/devices/ikea.js
ota: ota.tradfri
with ota: ota.zigbeeOTA
(around line 754)configuration.yaml
and ikea.js
Is this no longer working in 2024? [..]
For me it caused the following error in the logs:
Zigbee2MQTT:error 2024-04-15 15:02:24: Failed to load external converter file 'ext_converter.js' (Cannot find module 'zigbee-herdsman-converters/lib/extend'
The ext_converter.js from https://gist.github.com/Koenkk/fafd62c76aee9d331f70aa4ff4cf12fd has a line which causes this. This line causes the error and as it isn't it this line can be removed without issues:
const extend = require('zigbee-herdsman-converters/lib/extend');
After removing the line, and making sure to press the button while checking for OTA it finally showed an update. In case of problems in future: Lots of those "const" definitions at the top appear to be unused. So in case in future something else breaks then check those const definitions and see it they're used later in the file.
For me the remote is updating at the moment. I also changed "ikea.js", but that didn't seem to help, plus more difficult to figure out and explain how to modify that file when zigbee2mqtt is installed as a HomeAssistant addon.
There is no need to run a server or anything like that. zigbee2mqtt is perfectly capable of serving the file. The firmware file and my_index.json can both go in the data directory, which is the same directory that zigbee2mqtt configuration.yaml is located. The steps that work are as follows:
1. Copy https://gist.github.com/Koenkk/fafd62c76aee9d331f70aa4ff4cf12fd to ext_converter.js (in the zigbee2mqtt data directory). 2. Download http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed and place the file into the zigbee2mqtt data directory. 3. Add the following to a file called my_index.json in the data directory
[ { "manufacturerCode": 4476, "imageType": 4555, "fileVersion": 581, "url": "10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed", "force": true } ]
4. Add/merge the following configuration items to configuration.yaml
external_converters: - ext_converter.js ota: zigbee_ota_override_index_location: my_index.json
5. Restart zigbee2mqtt and go through the OTA update process as normal. After completion should then remove the ext_converter.js from the configuration and restart.
I also followed the steps, restarted zigbee2mqtt and I am getting Firmware on (remote control N2) is newer than latest firmware online
My z2m version is 1.36.1-1
I don't have node_modules inside zigbee2mqtt folder so I can't test newer workaround ;/
I had no trouble updating remote to latest firmware, but I regret doing that. After update 2.4.11 arrow buttons stopped sending event action in zigbee2mqtt. other two buttons worked just fine. After binding one ikea lightbulb to remote via Z2mqtt short press on arrows started working, but longer press is not registering in event action, (not triggering). When I press and hold any of the arrow keys its starts to dim lightbulb I just have bind.
I had no trouble updating remote to latest firmware, but I regret doing that. After update 2.4.11 arrow buttons stopped sending event action in zigbee2mqtt. other two buttons worked just fine. After binding one ikea lightbulb to remote via Z2mqtt short press on arrows started working, but longer press is not registering in event action, (not triggering). When I press and hold any of the arrow keys its starts to dim lightbulb I just have bind.
Hmm, I updated also 2.4.11 and my Styrbar works as intented. I use it with HA and appdaemon contollerX component. Try to remove it to your zigbee network (force remove) and then pair it back and see if it will help. I was forced to do that after 1.0.24 to 2.4.5.
I had no trouble updating remote to latest firmware, but I regret doing that. After update 2.4.11 arrow buttons stopped sending event action in zigbee2mqtt. other two buttons worked just fine. After binding one ikea lightbulb to remote via Z2mqtt short press on arrows started working, but longer press is not registering in event action, (not triggering). When I press and hold any of the arrow keys its starts to dim lightbulb I just have bind.
Hmm, I updated also 2.4.11 and my Styrbar works as intented. I use it with HA and appdaemon contollerX component. Try to remove it to your zigbee network (force remove) and then pair it back and see if it will help. I was forced to do that after 1.0.24 to 2.4.5.
Trying to update right now, could you please tell me the link for the update? In the guide is pointed the 2.4.5 update, but don't know if I need to download the 2.4.11 one
Trying to update right now, could you please tell me the link for the update? In the guide is pointed the 2.4.5 update, but don't know if I need to download the 2.4.11 one
If you are success to updata 1.0.24 to 2.4.5 manually, then 2.4.11 will be updated automatically, like Z2M Ikea Ota devices do.
Trying to update right now, could you please tell me the link for the update? In the guide is pointed the 2.4.5 update, but don't know if I need to download the 2.4.11 one http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed
If you are success to updata 1.0.24 to 2.4.5 manually, then 2.4.11 will be updated automatically, like Z2M Ikea Ota devices do.
Ok, doing right now, 1 hour left yet. But should I delete the external converter before of after this 2.4.11 update?
Trying to update right now, could you please tell me the link for the update? In the guide is pointed the 2.4.5 update, but don't know if I need to download the 2.4.11 one http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed
If you are success to updata 1.0.24 to 2.4.5 manually, then 2.4.11 will be updated automatically, like Z2M Ikea Ota devices do.
Ok, doing right now, 1 hour left yet. But should I delete the external converter before of after this 2.4.11 update?
Seems like I removed it from the configuration.yaml after successfull 2.4.5 update. So you can remove it from the configuration.yaml and leave converter file if you want.
Let's hope all goes fine. My 2.4.5 to 2.4.11 update took 3 hours and 38 minutes :-)
Is there any reason to upgrade from the 1.0.024 version? I didnt experience any issue with that version
Updated from 1.0.024 to 2.4.11 and now only up and down works. Sideway clics does not get registered at all! (Tested in HA with Node Red and compared to another E2001/E2002 still on 1.0.024)
Tried to brows through the thread in a hurry...hope I didn't missed if it was allready reported. Saw mainly regarding error messages during update and firmware numbers... My update whent smothly with no errors.
Excluded it and included again and now it does not register any clics at all!
Any ideas?
Updated from 1.0.024 to 2.4.11 and now only up and down works. Sideway clics does not get registered at all! (Tested in HA with Node Red and compared to another E2001/E2002 still on 1.0.024)
Tried to brows through the thread in a hurry...hope I didn't missed if it was allready reported. Saw mainly regarding error messages during update and firmware numbers... My update whent smothly with no errors.
Excluded it and included again and now it does not register any clics at all!
Any ideas?
In my case, in the latest firmware they simply changed the name of the lateral buttons, so you should go to the device and see the new one. Now it's called "arrow_right_click" and "arrow_left_click. Changing the name in the automations you set should solve it.
Edit: just saw you are using node red, don't know if this is the same behaviour.
Updated from 1.0.024 to 2.4.11 and now only up and down works. Sideway clics does not get registered at all! (Tested in HA with Node Red and compared to another E2001/E2002 still on 1.0.024) Tried to brows through the thread in a hurry...hope I didn't missed if it was allready reported. Saw mainly regarding error messages during update and firmware numbers... My update whent smothly with no errors. Excluded it and included again and now it does not register any clics at all! Any ideas?
In my case, in the latest firmware they simply changed the name of the lateral buttons, so you should go to the device and see the new one. Now it's called "arrow_right_click" and "arrow_left_click. Changing the name in the automations you set should solve it.
Edit: just saw you are using node red, don't know if this is the same behaviour.
Thanks for quick reply
Damn...I had the switch node sorting commands when I troubleshooted...should have connected directly to a debug node of cause.
After excluding and including the E2001/E2002 from the network it looks to be completely dead! Can't see any repsonse in "About" or "Exposes tabs in MQTT console! But can exclude and include again...
Strange...I can include and exclude with no error messages, but no response when I press the buttons. Battery says 100% No update on last seen in MQTT console when pressing buttons. The other unit with 1.0.024 updates last seen and I can se response in Exposes tab.
It's only 6 month old, so I think I try to take it back to IKEA tomorrow and se what they say.
Edit: After force remove and re-join it says Offline in MQTT console
What happened?
When using the OTA functionality Zigbee2MQTT concludes that the version 1.0.024 is newer than the firmware available online 2.4.5, so it won't update the device.
I've tried forcing the update, but that didn't work. To accomplish that I've renamed the index.json from pull request https://github.com/Koenkk/zigbee-OTA/pull/340 to my_index.json and put it in \config\zigbee2mqtt in Home Assistant and entered /config/zigbee2mqtt/my_index.json in Zigbee2MQTT as the OTA index override file name.
What did you expect to happen?
I would have liked the device to update to the latests firmware.
How to reproduce it (minimal and precise)
Press "Check for new updates" on a Ikea Styrbar in the OTA-menu.
Zigbee2MQTT version
1.32.2-dev commit: 68ec507
Adapter firmware version
20220928
Adapter
CC2652RB
Debug log
info 2023-08-03 22:04:53: Checking if update available for 'Drukknop voordeur' info 2023-08-03 22:04:53: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Checking if update available for 'Drukknop voordeur'","meta":{"device":"Drukknop voordeur","status":"checking_if_available"},"type":"ota_update"}' debug 2023-08-03 22:04:53: Check if update available for '0x540f57fffe8f81f0' (Remote Control N2) debug 2023-08-03 22:04:53: Using endpoint '1' debug 2023-08-03 22:04:54: Received Zigbee message from 'Drukknop voordeur', type 'commandOff', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:54: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"off","battery":100,"last_seen":"2023-08-03T22:04:54+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:54: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"","battery":100,"last_seen":"2023-08-03T22:04:54+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:54: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur/action', payload 'off' debug 2023-08-03 22:04:54: Received Zigbee message from 'Drukknop voordeur', type 'commandOff', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:54: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":null,"battery":100,"last_seen":"2023-08-03T22:04:54+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' debug 2023-08-03 22:04:56: Received Zigbee message from 'Drukknop voordeur', type 'commandTradfriArrowSingle', cluster 'genScenes', data '{"value":256,"value2":13}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:56: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"arrow_right_click","battery":100,"last_seen":"2023-08-03T22:04:56+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:56: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"","battery":100,"last_seen":"2023-08-03T22:04:56+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:56: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur/action', payload 'arrow_right_click' debug 2023-08-03 22:04:56: Received Zigbee message from 'Drukknop voordeur', type 'commandTradfriArrowSingle', cluster 'genScenes', data '{"value":256,"value2":13}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:56: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":null,"battery":100,"last_seen":"2023-08-03T22:04:56+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' debug 2023-08-03 22:04:57: Received Zigbee message from 'Drukknop voordeur', type 'commandTradfriArrowSingle', cluster 'genScenes', data '{"value":257,"value2":13}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:57: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"arrow_left_click","battery":100,"last_seen":"2023-08-03T22:04:57+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:57: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"","battery":100,"last_seen":"2023-08-03T22:04:57+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:57: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur/action', payload 'arrow_left_click' debug 2023-08-03 22:04:57: Received Zigbee message from 'Drukknop voordeur', type 'commandTradfriArrowSingle', cluster 'genScenes', data '{"value":257,"value2":13}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:57: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":null,"battery":100,"last_seen":"2023-08-03T22:04:57+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' debug 2023-08-03 22:04:57: Received Zigbee message from 'Drukknop voordeur', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":65572,"imageType":4555,"manufacturerCode":4476}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:57: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":null,"battery":100,"last_seen":"2023-08-03T22:04:57+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' debug 2023-08-03 22:04:57: Got OTA request '{"fieldControl":1,"manufacturerCode":4476,"imageType":4555,"fileVersion":65572}' debug 2023-08-03 22:04:58: Received Zigbee message from 'Drukknop voordeur', type 'commandOn', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:58: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"on","battery":100,"last_seen":"2023-08-03T22:04:58+02:00","linkquality":32,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:58: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":"","battery":100,"last_seen":"2023-08-03T22:04:58+02:00","linkquality":32,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' info 2023-08-03 22:04:58: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur/action', payload 'on' debug 2023-08-03 22:04:58: Received Zigbee message from 'Drukknop voordeur', type 'commandOn', cluster 'genOnOff', data '{}' from endpoint 1 with groupID 0 info 2023-08-03 22:04:58: MQTT publish: topic 'zigbee2mqtt/Drukknop voordeur', payload '{"action":null,"battery":100,"last_seen":"2023-08-03T22:04:58+02:00","linkquality":36,"update":{"installed_version":65572,"latest_version":581,"state":"idle"},"update_available":false}' debug 2023-08-03 22:04:58: Is new image available for '0x540f57fffe8f81f0', current '{"fieldControl":1,"manufacturerCode":4476,"imageType":4555,"fileVersion":65572}', latest meta '{"fileVersion":581,"url":"http://fw.ota.homesmart.ikea.net/global/GW1.0/01.20.065/bin/10078031-zingo_kt_styrbar_remote-2.4.5.ota.ota.signed"}' debug 2023-08-03 22:04:58: Update available for '0x540f57fffe8f81f0': NO warn 2023-08-03 22:04:58: Firmware on '0x540f57fffe8f81f0' is newer than latest firmware online. info 2023-08-03 22:04:58: No update available for 'Drukknop voordeur'