Just to give some information on what I have tried:
This is my configuration.yaml:
zha:
custom_quirks_path: /config/custom_zha_quirks/
enable_quirks: true
database_path: /config/zigbee.db
zigpy_config:
ota:
extra_providers:
- type: zigpy_local
index_file: /config/zigpy_ota/version_info.json
- type: zigpy_local
index_file: /config/zigpy_ota/index2.json
# - type: zigpy_remote
# url: "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/refs/heads/master/index.json"
# manufacturer_ids: [ 0x1015 ]
- type: advanced
warning: I understand I can *destroy* my devices by enabling OTA updates from
files. Some OTA updates can be mistakenly applied to the wrong
device, breaking it. I am consciously using this at my own risk.
path: /config/zigpy_ota
In the zigpy_ota I have tried with 3 different json files:
cat version_info.json
[
{
"binary_url": "file:///config/zigpy_ota/ZR - Smartplug New - Release-SSIG_3.12.16.zigbee",
"file_version": 199696,
"image_type": 736,
"manufacturer_id": 4117,
"changelog": "",
"checksum": "sha3-256:c06f964e0ce748a987fdb49af325f218da526049993a8f5b3795c8b89478b46d"
}
]
cat index.json
{
"firmwares": [
{
"fileName": "ZR_Smartplug_SSIG_3.12.16.zigbee",
"fileVersion": 199696,
"fileSize": 181164,
"url": "file:///config/zigpy_ota/ZR - Smartplug New - Release-SSIG_3.12.16.zigbee"
"imageType": 736,
"manufacturerCode": 4117,
"sha512": "eaf4e925dbdf32f171fb8323c52b8652620dea5d62bc007e61ee61d276bdd90f097400a1c1bc48980d78c276117415e274c34529b481be82c28cd3695e2be817",
"otaHeaderString": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
}
]
}
cat index2.json
{
"firmwares": [
{
"fileName": "ZR_Smartplug_SSIG_3.12.16.zigbee",
"fileVersion": 199696,
"fileSize": 181164,
"path": "file:///config/zigpy_ota/ZR - Smartplug New - Release-SSIG_3.12.16.zigbee"
"imageType": 736,
"manufacturer_id": 4117,
"checksum": "sha3-256:c06f964e0ce748a987fdb49af325f218da526049993a8f5b3795c8b89478b46d"
}
]
}
Paths have been tried as host paths (using container version of HA) and client paths in the json files.
The configuration.yaml options where enabled one by one and also multiple at the same time. Nothing works.