is that an ssl error?
not sure… I am trying to do it within my network so the SSL cert isn’t for that address… maybe thats the issue?
most probably. Like Google Assistant only works over SSL (the component) You have to give Google a https endpoint to connect to. I would assume google drive is the same.
You could use caddy to proxy to whatever you want and use that… that would work.
i temporarily opened the port so I could go through the auth process using my duckdns address and that worked.
This backup is awesome, also saved me a bunch of pain when my SD Card decide to lock itself and became unusable. Luckily I’d just set this up with a fresh back-up and was running a few hours later again.
Question, if I setup a weekly snapshot (as per this thread, based on the advice earlier - Hassio 0.61 Snapshot Service) - how do I get it to also trigger this tool to then run the backup?
Here’s how I’ve set mine up. I have it run a scheduled backup and then 30 minutes later, I have it upload to my google drive.
automation:
- alias: Weekly Backup Friday at 3 AM
initial_state: 'on'
trigger:
platform: time
at: '3:00:00'
condition:
- condition: time
weekday:
- fri
action:
- service: hassio.snapshot_full
data_template:
name: Automated Backup {{ now().strftime('%Y-%m-%d') }}
- service: notify.sms_notification
data_template:
message: Creating backup named "Automated Backup {{ now().strftime('%Y-%m-%d') }}"
- alias: Weekly Backup to Google Friday at 3:30 AM
initial_state: 'on'
trigger:
platform: time
at: '3:30:00'
condition:
- condition: time
weekday:
- fri
action:
- service: rest_command.google_backup
Thanks weok! Will be giving this ago when I get home later - looks bloody good. So simple to setup (I kept trying to code it as one block of scripts, but that was just stupid!), seems so obvious reading your code!
Update: All working a treat, just had a chance to add the code, tweaked the timings and updated the notify (bloody handy to know whats happening).
- service: notify.ios_my_iphone
Note: For those wanting to use this code, don’t forget to add the rest_command to your config file (as per the github readme)
rest_command:
google_backup:
url: 'http://localhost:8055/gb/doBackup'
timeout: '300'
Thanks again!!!
Hi @samccauley
really a great addon, thanks!
This is my config
{
"fromPattern": "/backup/*.tar",
"backupDirID": "xxxxxxx",
"purge": {
"enabled": true,
"preserve": 5
},
"purge_google": {
"enabled": true,
"preserve": 5
}
}
I’m trying to use within Nodered and I’m using a node configured like this, calling an HTTP GET, but as you can see I get a “no response from server”.
BTW, my Nodered server is on a different server than the Home Assistant one, but in the same local network.
Am I doing something wrong?
Thanks
Have you tested calling the service from your desktop browser, or a testing tool like Postman? Does that work?
Yes, it works.
I have found that even if I get that error, the service is called and it’s working.
Thanks
Makes me suspect a bug in Node-RED’s HTTP Request/Response code. I don’t know. I don’t use Node-RED myself.
I tried uploading to Google via the below script but it failed. Any ideas what I have done wrong?
rest_command:
google_backup:
url: 'http://localhost:8055/gb/doBackup'
timeout: '300'
script:
upload_backup_to_google:
sequence:
- service: rest_command.google_backup
error log:
Wed Dec 05 2018 16:27:06 GMT+0930 (Australian Central Standard Time)
Error executing service <ServiceCall rest_command.google_backup (c:eb253cc9bd2d4bfeaa9486f10c223964)>
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/rest_command.py”, line 103, in async_service_handler
headers=headers
File “/usr/local/lib/python3.6/site-packages/aiohttp/client.py”, line 391, in _request
await resp.start(conn)
File “/usr/local/lib/python3.6/site-packages/aiohttp/client_reqrep.py”, line 757, in start
message, payload = await self._protocol.read()
File “/usr/local/lib/python3.6/site-packages/aiohttp/streams.py”, line 543, in read
await self._waiter
concurrent.futures._base.CancelledErrorDuring handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/rest_command.py”, line 103, in async_service_handler
headers=headers
File “/usr/local/lib/python3.6/site-packages/async_timeout/init.py”, line 45, in exit
self._do_exit(exc_type)
File “/usr/local/lib/python3.6/site-packages/async_timeout/init.py”, line 92, in _do_exit
raise asyncio.TimeoutError
concurrent.futures._base.TimeoutErrorDuring handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/homeassistant/core.py”, line 1177, in _event_to_service_call
await service_handler.func(service_call)
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/rest_command.py”, line 113, in async_service_handler
_LOGGER.warning(“Timeout call %s.”, request.url)
UnboundLocalError: local variable ‘request’ referenced before assignment
strangely it looks like the upload still worked…
Trying to use it for camera snapshots without success
config:
homeassistant:
whitelist_external_dirs:
- /config/www/
getting this response:
{“backupTimestamp”: “2019-01-07T21:17:14.288088”, “fromPattern”: “/config/www/*.jpg”, “backupDirID”: “1fhtdVlOwzM0Q0mECjxe2kztu9vfA1yWv”, “fileCount”: 0, “alreadyCount”: 0, “backedUpCount”: 0}
folder contains several JPG files but not recognized, any idea?
was wondering can the .tar file created be with password option?
you can give the .tar file a password when you create it in the snapshot creation stage (not part of this add-on). This add-on uploads the snapshot, doesn’t create it
Hey, I have the same error.
Could you please tell me how you managed to make it worked ?
I just started the whole auth process over again from memory
Well thank you, I reinstalled it and it is now working.
Can i get the it to also name the file within google drive the same as within hassio? and also can i add the version number in the name… im using the automation and templates above.
works great so far otherwise