dresden-elektronik / deconz-rest-plugin-v2

deCONZ REST-API version 2 development repository.
BSD 3-Clause "New" or "Revised" License
17 stars 0 forks source link

[REQUEST] Full compatibility of index.json with zigpy's upcoming standard for Generic OTA providers? #18

Open Hedda opened 1 year ago

Hedda commented 1 year ago

@manup @SwoopX @Haerteleric @ChrisHae please consider looking into if the index.json in your zigbee-OTA repository matches the draft (work-in-progress) "Generic OTA providers" which puddly is working on for zigpy which could become a universal open standard and open file format within the Zigbee open source scene that could possibly be reused by all open source Zigbee framework/gateway projects as a shared common standard:

https://github.com/zigpy/zigpy/wiki/OTA-Information-for-Manufacturers

For reference also check out the discussion in puddly's draft PR here for zigpy which will add support for Generic OTA providers:

https://github.com/zigpy/zigpy/pull/1165

Implements the format specified in https://github.com/zigpy/zigpy/wiki/OTA-Information-for-Manufacturers:

zha:
  zigpy_config:
    ota:
      remote_providers:
        - url: "https://fw.zigbee.example.org/ota.json"
          manufacturer_ids: [0x1234, 0x5678]
        - url: "https://fw.zigbee.example.org/ota-beta.json"

This allows for new providers to be added to zigpy without extra code. This also allows for manufacturers to distribute test feed URLs to customers without deploying them globally.

puddly has also added a new feature to the "zigpy-cli" tool that manufacturers can use to produce a skeleton JSON index from a given set of OTA files, and that way make sure manufacturers OTA files are correctly-structured so that they will be compatible with zigpy out-of-the-box. See the README.md for the "zigpy-cli" tool:

https://github.com/zigpy/zigpy-cli/blob/dev/README.md#ota

This work by puddly is a follow-up to these previous zigpy discussions about standardizing of a generic format for index.json support:

https://github.com/zigpy/zigpy/issues/535

https://github.com/zigpy/zigpy/discussions/654

PS: zigpy is a suite of open source libraries implementing a Zigbee stack that is used in several popular open-source home automation projects, including zigpy (Zigbee library used by Home Assistant ZHA integration, Zigbee Plugin for Jeedom, and Zigbee Plugin for Domoticz, and more).

PPS: puddly has previously also co-designed the "Open ZigBee Coordinator Backup Format" which is another universal open standard and open file format that is already adopted by mentioned projects and more (including zigbee-herdsman which is the Zigbee framework library used by Zigbee2MQTT and IoBroker )-> https://github.com/zigpy/open-coordinator-backup