zsmartsystems / com.zsmartsystems.zigbee

ZigBee Cluster Library Java framework supporting multiple dongles
Eclipse Public License 1.0
141 stars 87 forks source link

[REQUEST] Standard "Open ZigBee Coordinator Backup Format" support for Zigbee network backups and restoring from and to other ecosystems/platforms? #1379

Closed Hedda closed 1 year ago

Hedda commented 1 year ago

Is your feature request related to a problem? Please describe.

Please consider implementing support for Zigbee network backup/restore using the "Open ZigBee Coordinator Backup Format" open standard and open file format in com.zsmartsystems.zigbee (as well as Zigbee gateway implementations based on it like the OpenHAB ZigBee Binding). This is most useful for migrating your Zigbee network to and from other Zigbee gateway applications.

https://github.com/zigpy/open-coordinator-backup

This is a relatively new open standard and open file format for Zigbee network backup is a common unified file format for storing and restoring Zigbee network backups. It was initially invented as a shared project by developers from Zigbee2MQTT and zigpy (library used in Home Assistant's ZHA and other implementations), and has since then been adopted by many other Zigbee gateway implementations. This would allow users to easily migrate to and from different Zigbee gateway applications without having to re-pair any of their devices.

https://github.com/zigpy/open-coordinator-backup/blob/main/README.md

By sharing and supporting backup and restore using the same open standard and open file format for Zigbee network backup in different Zigbee implementations/applications it makes it possible for end-users to upgrade, downgrade, and/or again more importantly migrate not only between different hardware dongles but also between different Zigbee gateway implementations/applications without having to re-pair their Zigbee devices that they previously joined/paired to their Zigbee network.

While the com.zsmartsystems.zigbee already has its not backup format for Zigbee network backups via the netbackup command, I believe that it could benefit from also supporting the open standard and open file format that "Open ZigBee Coordinator Backup Format" offer as it allows users that today uses other Zigbee implementations to restore and save backup Zigbee network backup files in the same or other Zigbee implementation using old or new hardware, including other implementations which already support the same Zigbee Coordinator hardware, like Home Assistant's ZHA integration, Zigbee2MQTT, iOBroker, and Jeedom.

So far this open format standard for Zigbee network backup has otherwise already been adopted by these Zigbee implementations:

Example usage in implementations:

FYI, this is already a popular upgrade, downgrade, and migration method among users in some communities, and as an example, the Home Assistant's ZHA integration has features and GUI/UI for backup, restore, and migration between different adapters:

https://www.home-assistant.io/blog/2022/09/07/release-20229/#zigbee-backup-and-restore--migration

https://www.home-assistant.io/integrations/zha/#zigbee-backup-and-restore-in-zha

This includes migrating to and/or from Zigbee Coordinators adapters if the backup was made from within ZHA integration or Z2M.

https://www.youtube.com/watch?v=iUfJb4Vi6OE&ab_channel=EverythingSmartHome

https://skyconnect.home-assistant.io/migrate-zigbee-zha/

https://skyconnect.home-assistant.io/migrate-zigbee-zha-only/

It is also possible to migrate from Zigbee2MQTT to Home Assistant's ZHA integration if using a Texas Instruments based adapter:

https://skyconnect.home-assistant.io/zigbee-migration-selection/

Describe the solution you'd like

Please add support so netbackup command can perform backups and backup restore using "Open ZigBee Coordinator Backup Format":

https://github.com/zigpy/open-coordinator-backup

Describe alternatives you've considered

The alternative is to just keep supporting the existing backup format which can only be used in com.zsmartsystems.zigbee which does not allow for easy migration to and from other ecosystems and platforms.

Additional context

Dresden-Elektronik (of ConBee/RaspBee fame) has now also said they plan on implementing support for this in deCONZ/Phoscon. Read:

https://github.com/dresden-elektronik/deconz-rest-plugin-v2/issues/12