I’ve authored an add-on to serve as a complete solution for creating backups in Home Assistant and synchronizing them in Google Drive. In particular it:
Automatically creates new backups on a configurable schedule.
Uploads any backups it finds to Google Drive.
Automatically cleans up old backups in Home Assistant and Google Drive.
Integrates with Home Assistant Notifications, and provides sensors you can trigger off of if something goes wrong.
Provides a web interface for you to watch or control what its doing.
I’ve written this with a focus on reliability, ease of use, configurability, and thorough documentation. The effort was born out of the frustration I had trying to get the existing solutions to work reliably, and my aim is to create something that literally anyone can use.
Quickstart
Detailed instructions are at my repository:
Add my repository, install the add-on.
Check to see the default settings are to your liking, particularly the number of backups kept locally and in Google Drive.
Start the add-on, then visit the web UI.
Click the button to link your Google Drive account. Backups should start getting uploaded or created immediately.
Optionally, check out some of the sensor integrations on the github instructions.
I’m going for a “polished” feel with this, something that “just works”. Any feedback or criticism you guys have is appreciated.
This looks great, but I’m running HassOS 2.8 - HA .90.1, installed the repository, installed all good.
Setting at default and tried to start but get this error - Starts then Stops
“[FATAL tini (6)] exec python3 failed: Exec format error”
Bummer. That looks to me like there is a problem with at least one of my Docker images. If you’re willing to help me sort it out, could you tell me what the Hass.io system logs tells you when you try to start the add-on?
You should see something like: 19-03-27 18:46:38 INFO (SyncWorker_18) [hassio.docker.addon] Start Docker add-on sabeechen/hassio-google-drive-backup-armv7 with version 0.5
In Hass.io > System > System Log when you start the add-on. Would also be useful to know hardware you’re running Hass.io on. Thanks for trying it out!
Sorry did not read fully19-03-27 18:59:39 INFO (SyncWorker_1) [hassio.docker.interface] Clean sabeechen/hassio-google-drive-backup-amd64 Docker application
19-03-27 18:59:41 INFO (SyncWorker_1) [hassio.docker.addon] Start Docker add-on sabeechen/hassio-google-drive-backup-amd64 with version 0.5
19-03-27 18:59:52 INFO (SyncWorker_1) [hassio.docker.interface] Clean sabeechen/hassio-google-drive-backup-amd64 Docker application
19-03-27 18:59:54 INFO (SyncWorker_1) [hassio.docker.addon] Start Docker add-on sabeechen/hassio-google-drive-backup-amd64 with version 0.5
Thanks for the detail, its got to be something related to your environment since I’m able to run the arm version of the add-on on a few different RaspberryPi’s and I can run the amd64 version outside of virtualbox. I’ll take a crack at setting up VirtualBox and see if I can reproduce what you’re seeing.
Admittedly, my first thought when I saw this was whether we really needed yet another Google Drive add-on, and what this one would do that the others don’t. I must say, though, that I like the extremely polished, set-it-and-forget-it look of your implementation. While I’m pretty happy with what I’ve already got set up, I think this will really help streamline the process for a lot of people. Great work!
I had misconfigured all of the non-arm docker images, which is why you guys saw errors running in a VM, NUC, etc.
I’ve released another version just now (0.51) that fixes it, so if you update you should be on your way.
Thanks for bearing with me!
I got another feature request: can we get the option to use a " Grandfather-father-son" backup method?
If I choose to backup frequently and don’t want to have 20 copys, I will have the situation where I only have recent backups stored. An issue that occured 3 weeks ago, which I didn’t notice until now will be in all snapshots I have.
With Grandfather-father-son, we could get the option to have eg., 4 snapshots that get changed every 3 days, 1 update that gets changed every month and one that gets updated every 3 month.
More info, here
Hey that looks pretty cool, never heard of it before. I created an issue for it in GitHub and I’ll get to it if bugs don’t get in the way. I still want to keep the default behavior simple and straightforward but I don’t see why I couldn’t include this behind a config option. I’ll need to do some thinking about how it would interact with backups that aren’t part of the schedule.
Thats great to hear. I tried every trigger based/nodered/gdrive/dropbox/add-on backup solution out there before deciding to do the work to write this. If I can save anyone the trouble of spending hours parsing through logs and enabling developer APIs only to find it it doesn’t quite do enough then it was worth it.