Backup checksums and verification during restore init

  1. When creating backups, please validate the contents of the homeassistant.tar.gz and obtain some form of crc/md5 or better hash. Maybe provide a config option for the type of checksum so the user can configure how much performance they want to dedicate to such operation(s). A fast default may be wanted to keep a reasonable GUI user experience when validating.

  2. Please include this checksum hash in the backup.json file.

  3. Update both the onboarding page with account creation/restore, and the backup/restore section to validate this checksum and fail with a error message before you give the option to restore.

This should not only increase the reliability of backups, but it will also help to provide a better experience when a user is fighting corruption, which may be likely when attempting to restore.

Having an error message tell me my backups were corrupt, before watching a wheel spin multiple times over would have been a much better experience.