Сразу скажу, что это дополнение не умеет подготавливать файлы с бэкапом, а может сохранять уже готовые в выбранное облако. Мне для моих целей подходил Яндекс-диск. Установить саму утилиту в HA довольно легко. Настроить периодичность ее запуска - тоже (об этом поговорим чуть позже). Главное - это создать конфигурационный файл, в котором будут храниться данные для работы с определённым облаком. Для этого надо будет установить rclone на компьютер и произвести из консоли его настройку, а потом просто скопировать готовый конфигурационный файл в HomeAssitsnt.
Для начала регистрируем аккаунт в Яндексе. Потом берём любой комп с браузером. Ставим на него rclone. Как именно это делать, читаем здесь:
Переходим в режим командной строки, и набираем
rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> yadisk # Придумываем имя
Type of storage to configure.
Choose a number from below, or type in your own value
1 / Alias for a existing remote
\ "alias"
2 / Amazon Drive
\ "amazon cloud drive"
...
23 / Yandex Disk
\ "yandex"
24 / http Connection
\ "http"
Storage> 23 # Выбираем Yandex Disk
Yandex Client Id - leave blank normally.
client_id> # Оставляем пустым
Yandex Client Secret - leave blank normally.
client_secret> # Оставляем пустым
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
После чего откроется браузер и будет предложено войти в свой аккаунт на Яндексе, и затем разрешить rclone работать с диском. Всё разрешаем, на всё соглашаемся. Дальше в командной строке наш диалог продолжится и будет примерно таким:
--------------------
[yadisk]
type = yandex
client_id =
client_secret =
token = {"access_token":"AQAAAA...hlXXPE","token_type":"bearer","refresh_token":"1:jIvyMr...cn589PQyfw","expiry":"2019-08-07T12:37:22.149859353+06:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:
Name Type
==== ====
yadisk yandex
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
Теперь ищем в нашем домашнем каталоге файл rclone.conf В Windows он находится по пути:
C:\Documents and Settings\<ВашПользователь>\AppData\Roaming\rclone>
В этом файле будет вот такая секция:
[yadisk]
type = yandex
client_id =
client_secret =
token = {"access_token":"AQAAAA...hlXXPE","token_type":"bearer","refresh_token":"1:jIvyMr...cn589PQyfw","expiry":"2019-08-07T12:37:22.149859353+06:00"}
Её содержимое надо перенести на сервер, на котором у нас крутится HomeAssistant. Создаем файл /config/rclone.conf и копируем туда эту секцию. Теперь ставим само дополнение. Остаётся настроить только периодичность копирования файлов. В конфигурационном файле дополнения есть строка вида:
schedule: 1 5 * * *
Это и есть периодичность. Первая позиция - минуты, вторая - часы. Если интересно, что обозначают остальные позиции, можно почитать как работает cron в Linux.
jobs:
- name: Sync Daily Backups
schedule: 1 5 * * *
command: sync
sources:
- /backup
destination: yadisk:/ha
include: []
exclude: []
flags: {}
dry_run: false
config_path: /config/rclone.conf
Параметр dry_run обязательно должен иметь значение false, иначе утилита будет выполнять "пробный запуск" без реального переноса файлов. Параметр destination выглядит так <имя секции из конфига rclone>:/<имя каталога в облаке>
Важные замечания
1. Создавать бэкапы дополнение не умеет. Только копирует новые и удаляет старые. Бэкапы, как и раньше, создаются с помощью
Home Assistant Google Drive Backup
2. Утилита работает средне. У меня (сервер на raspberryPi, подключенный по WiFi) на копирование одного файла в 140 Мб тратит около 20 минут. Раз в 7 дней случаются ошибки. Но работает. И ошибки, как я понимаю, вина Яндекса, а не rclone
3. Сначала я протупил и думал, что помимо самого дополнения, на сервер с HomeAssistant я должен самостоятельно установить rclone. Оказалось, что это не так и rclone находится внутри самого плагина.
Я не так давно довольно много поигрался в попытках настроить фотобэкап через rclone на яндекс (в итоге безуспешно), но обнаружил какую-то закономерность - относительно неплохо все работает до 30-40мегабайт размера файла, а дальше минное поле (яндекс например до околонуля сбрасывает скорость приема), может пролезть может нет.
Хуже, то, что rclone будет проводить попытки дослать файл на облако а оно его будет отбивать раз за разом.
Для повышения стабильности и пролезаемости можно поиграться с параметром rclone --timeout 10m (например), до каких-то пор поможет.
Я так понимаю, Яндекс так борется с попытками использовать ЯДиск в коммерческих целях для каких-нибудь промышленных бакапов иили файлообменников.