2.14 was considered beta as well.
If you’re running 2.08, you’ll likely have a better result on 2.15.
2.08 had many communication issues on Zigbee networks.
It’s just interesting because I remember updating some of them from 2.08 to another version (probably 2.11) in the Z2M UI without manually doing anything, yet now Z2M is saying there’s no updates for the switches that are still on 2.08.
Version 2.14 was available on zigbee2mqtt for a little while until they pulled it.
Do you have a sample working override file for version 2.15? I am trying both using the direct URL to the OTA and the local file in the configuration folder but z2m does not seem to pick it up.
I just called to a local file for the override index. Then I called the URL in the file that the override index points to. You also have to restart Z2M so it can pull the updated configuration.conf file.
Once done, just go to an Inovelli Switch and use OTA tab to update as usual.
Oh, that’d explain it! Thanks.
I’ve not been able to get the zigbee2mqtt override working. All my switches are on 2.14, however, using the following override OTA file:
[
{
"fileVersion": 16908815,
"fileSize": 306782,
"manufacturerCode": 4655,
"imageType": 257,
"sha512": "0c0973c9ad5f627b9cd1cfea8c6d4b0e57958378b4ca21b97d9552fa0183eecbb3c3971cf4f965e39c8b974aa3e91653c9ef7a55abe4ae478a67dccc6417b26a",
"url": "https://raw.githubusercontent.com/InovelliUSA/Firmware/main/Blue-Series/Zigbee/VZM31-SN-2-1-Switch/Beta/2.15/VZM31-SN_2.15.ota",
"force": true
}
]
No dice. And yes, I’ve told it the local override for the ota file is my ota.json file (and I restarted z2m):
ota:
ikea_ota_use_test_url: false
disable_automatic_update_check: false
zigbee_ota_override_index_location: ota.json
It just keeps telling me that the firmware on the device is newer than any available online. That should not matter if force is true (which should allow a downgrade if the device supports it, despite the firmware actually being an upgrade).
I’m also going to ask about WTH I’m doing wrong on the z2m discord, but if anyone has an idea what I’m missing, I’d love to be enlightened.
The override method only work for device who get their update from this repo. GitHub - Koenkk/zigbee-OTA: A collection of Zigbee OTA files
Inovelli use a proprietary index which means it bypass this repo. So the override won’t work with this method.
It works fine.
You need to use force option and you need to add the Inovelli switch description to the override file.
The whole reason this exists is to override all repo’s.
If you run Home Assistant through docker containers that’s why it’s not working. In this case you will need to specify a URL instead for the override index. So create a GitHub of your own, save the OTA and the json file to your GitHub, then specify them in override files. If you try to specify a local file for the index, docker cannot be used as they’re fundamentally separated from each other.
That is where you went wrong. If you have HAOS installed this will not work.
You will need to host it externally and then specify the URL there instead.
Can someone then post an example that would work with it hosted externally? I tried my hand at it and I still couldn’t get it to work.
You assume I’m using HAOS. I’m not.
I’m running zigbee2mqtt as an app on TrueNAS. I’m not running HAOS at all.
And my TrueNAS is mounting in the config directory wholesale into the docker container. I can shell into that docker container and see the config mount (where it finds the configuration.yaml), and anything else I put into that path (mounted from outside the docker) is all there.
Not sure, I have updated all switches with this method without issue and I’m running HAOS.
Check logs and see where it’s reaching out with Wireshark.
Something has to be wrong with your configuration.
I am not so sure it’s a config error. I am using z2m (1.32.1) on kubernetes and see the same behavior with the files on the persistent volume right next to configuration.yaml and z2m still won’t pick up the update and say the switches are running a newer version (I have both 2.08 and 2.14 switches). The procedure to make this work is pretty straightforward yet does not seem to work.
@SamJWard did you update to 2.15 using this method or was it a previous firmware version?
@SamJWard
Can you please post the code from your local file for the override index? Thank you in advance!
As a reference here is what I have in my config, override and folder:
/data # tail -n4 configuration.yaml
ota:
ikea_ota_use_test_url: false
disable_automatic_update_check: false
zigbee_ota_override_index_location: index_override.json
/data # cat index_override.json
[
{
"url": "VZM31-SN_2.15.ota"
}
]
/data # sha256sum VZM31-SN_2.15.ota
3a930786a5819f58d6e398bef8599c79a6e5e0246127f343a7afd717f49103b5 VZM31-SN_2.15.ota
/data #
@mathd
Sorry for my ignorance, I know where configuration.yaml is located (in zigbee2mqtt folder)
but where I can find all other files?
You have to create de index_override.json file and download the ota from github. The links are higher up in the thread : Blue Series 2-1 Firmware Changelog | VZM31-SN - #746 by SamJWard
@EricM_Inovelli @Eric_Inovelli Any updates on when the latest firmware will be made available for Hubitat users?
It seems that the URL for upgrade is hardcoded at zigbee-herdsman-converters/src/lib/ota/inovelli.ts at master · Koenkk/zigbee-herdsman-converters · GitHub. Locally it should be node_modules/zigbee-herdsman-converters/lib/ota/inovelli.js
. I was able to override the URL by manually editing the source code. The URL for the image should look like this. You can host your URL on any server you want, or if you have enough coding knowledge, you should be able to read that from a local folder as well.
const images = (await axios.get('https://gist.githubusercontent.com/hqy2000/10806fff63d9e2a56b27ec46119ea7dd/raw/34c41f94dcf9b78e8ec986e72e883787cbca7a39/test.json')).data;
Note: the format of JSON used here is different from the override JSON syntax. Follow the syntax at https://files.inovelli.com/firmware/firmware.json instead.