Add-on: Home Assistant Google Drive Backup

I’m probably not going to retrofit this for any other cloud storage providers. Honestly, it s a lot of work to get just one working well. Each one has their own weird little quirks that make integrating difficult despite all fundamentally doing the same thing. I chose Google Drive because they offer copious free storage, I happen to be very familiar with the API’s quirks already, and you probably already have a gmail account lying around somewhere? Thats FOSS for you :stuck_out_tongue:

Once I’ve got ingress working, I’m basically going to be working on this in maintenance-and-bug-fixes-only mode. Maybe new features if the Hassio or Home Assistant people release something cool to integrate with (like ingress).

1 Like

Copious? 15GB is not much and I have 250GB on onedrive going begging. Similar for Dropbox… not much there either. Anyway thanks. Looking at duplicati in docker which will do it but in a weird way…

Thank you!!! This Add-on is outstanding in a number of different ways:

  1. It was simple to install, worked right away and didn’t require a lot of thinking or learning to figure out what it was doing.

  2. The install instructions were the best I’ve seen yet. (And I used the advanced, “Locally Authenticating” option!) They didn’t assume a lot of knowledge, and led the user step-by-step without the cryptic jargon and missing steps found in so many of these instructions. Easy links to everything needed were provided, no searching. Frankly, I think some developers are just lazy, while others actually enjoy the holier-than-thou feeling they get by keeping “mere” newbies guessing.

  3. I don’t know exactly how to describe this, but it’s a real finished product which goes well beyond just solving a coding problem. It actually shows some thought (and respect) for how the end-user is going to use it, day to day. I know that’s partly because it was written for personal use. But it shows a level of experience and skill that stands out. Thank you!

9 Likes

Agreed! One of the best add-ons. Like that you focus on one storage provider ie google drive!

Thanks, that was a really nice post to wake up to. You said it better than I could, the home assistant ecosystem has a lot of rough edges and I spent a lot of time try to sand them off for the handful of things this add-on does. You get me, man.

I’ve worked in software for a good while now, which has exposed to more than my fair share of terrible, terrible user interfaces. When a developer has to write the UI and documentation for a project, they’re usually so close to the complexity that they struggle to remember what its like to look at it from a blank slate. Providing the context to be understandable, at the right time, without drowning in information, and without talking down to the user is deceptively difficult. Regrettably most developers without $$ behind them don’t have the bandwidth to spend worrying about the cognitive load their product has on users beyond releasing a minimum viable feature set, but I think I made a good go at it. I’m really happy it came across to you that way.

6 Likes

Yeah, you and I have both seen this, and I think our design philosophies are similar.

Interesting that this other thread got shut down when some of us strayed into the area of the new user experience.

While I certainly don’t condone users going off on a negative rant, I think it should be a bit of a wake-up call when they do. Instead there was a lot of justifying and excusing, along with some user bashing. That whole experience had me seriously considering the advice of one developer who suggested going over to OpenHAB, instead.

1 Like

@sabeechen I totally agree with all three points made in @CaptTom’s post. The instructions are fantastic. The interface is clear, professional, and provides everything one could need. The add-on worked immediately, no issues. Huge thanks for all the time and effort (clearly substantial!) that you put into this.

@CaptTom Yikes, that thread is a mess on both sides. IMHO the those devs in there seriously undervalue user trust. Hiding behind versioning semanitcs is pretty disingenuous when you encourage regular folks to control their thermostats with your software. Not sure how it’ll play out yet since I wouldn’t really expect established release practices to change at a magical v1.0 mark. Time will tell.

@anwen Thanks, I’ll try to keep that trust through implementing ingress support :stuck_out_tongue:

New day, a new release. Refresh your add-on store page to see the update for v0.9. This release includes:

  • Ingress I’ve updated the addon work with ingress, but disabled it for compatibility reasons (see this issue). I plan to make a release turning it on once the feature is a bit more fleshed out from the Hassio side of things, I didn’t want to make anyone to update Home Assistant just to get bug fixes and features from this add-on
  • Home Assistant themed interface The interface has been recolored and styled to match the default Home Assistant interface. Hope you guys like blue!
  • Compact Interface Actions form the right most column have been made into a top-level menu to give much more space to your snapshots. This top header also collapses when he page is rendered in an iframe, which looks better if you embed the UI in a panel_iframe. With these changes it looks like a part of the default HA interface.
  • Help Added a help menu that can solve literally any problem.
  • Settings the settings menu is now accessible from the authentication page before you connect the add-on with Google Drive.
  • Fixes An issue if you had newer snapshots only in Drive. Unlikely anyone actually ran into it.
2 Likes

YOU, @sabeechen are a genius. This add-on is incredible. Thanks you so very much!!

1 Like

The funny thing is, I didn’t really think much about backups until I saw this add-on. Before then, I backed up the R Pi as part of my normal routine, and I almost never use Google Drive.

But this add-on is just so well-written, and (gasp!) well-documented, that I find myself coming back to it more often than I’d realistically need to. So of course I updated.

My current question is about ingress. There’s a link in the new UI under “Use Ingress Instead” which brings me to this page. But the example there looks like it’s still the “old” way, with a port number, not Ingress:

panel_iframe:
  backup:
    title: 'Snapshots'
    icon: mdi:cloud-upload
    url: 'http://hassio.local:1627'

Or am I misunderstanding something?

1 Like

I plan to support ingress in the future so I’ve added a bunch of logic to handle it when the time comes, but have it all turned off. It sounds like you’re seeing one of the UI elements that shouldn’t come up yet to provide an upgrade path, which I thought would be impossible. If you go to the settings page in the UI, is there a disabled checkbox that says “UI Server” or one that says “Expose an extra server on port 1627”?

I suspect this might be because of the browser caching older version of the UI’s scripts. Does it go away if you CTRL+F5 the page?

I was able to reproduce weirdness in the UI (including that dialog showing up, which it shouldn’t) by upgrading from 0.8 -> 0.9 without ctrl+F5-ing the page, so I strongly suspect thats what you’re seeing. I’ll need to rethink how the javascript and CSS are stored for the new UI in next release to avoid this.

Bingo! That was it!

Thanks for checking into this!

Thank you for this addon! I just installed it and it’s working great.

Two days ago I watched a video of someone setting up automated backup using nodered and dropbox… I thought to myself there is no way it’s this painful to get offsite backup. I’m happy to have found this. Thanks.

Thats pretty funny, I think I know exactly the video you’re talking about because its what kickstarted my motivation for making this add-on.

In a few releases (once ingress is working + a few weeks probably for stability reasons) I plan to start publicizing this in places like that. There are a number of reddit threads also where people are trying to cobble together similar solutions.

I’ve made another release, v0.91. Refresh the add-on page to make it see the new version. No significant features this time, just some usability tweaks and polish, especially for new installers.

  • Snapshots now present the newest up top (ie. reverse chronologically).
  • A warning icon shows up on a snapshot if its the next to be deleted when a new snapshot is created.
  • Settings menu asks for confirmation if you try to leave it after making unsaved changes.
  • “Getting Started” screen now tells you what is going to do after you authenticate with Google Drive with your configured settings, eg delete N old snapshots and backup M newest snapshots. Also changed up the page’s formatting for readability.
  • Added a TOS and privacy policy.
6 Likes

Amazing work there mate @sabeechen

Great “attention-to-detail” and pretty clever configuration options.

If I could feature request something: Maybe have a way to avoid deletion of some backups (either the user generated ones or maybe by adding a keyword in the name like "[keep] ") would be great because sometimes you have certain HA setups that are just perfect and want to retain them just in case.

Other than that, seems like a pretty dope addon man!

2 Likes

Like @forums2012 suggestion!

1 Like

Hrm permanent retention would be nice. I’ll try to add it into the next release as something you can select from the actions drop down on a snapshot.

1 Like