Переносим БАЗу ДАННЫХ Home Assistant на хостинг

Как известно на Lumi хабе памяти не очень много, по умолчанию база данных с историей пишется во внутреннюю память и хранится 1 день. Для микросхем памяти это не очень хорошо, т.к. они имеют ограничение на количество перезаписей.

Можно перенести базу данных в интернет на бесплатный\платный хостинг, тем самым освободив драгоценную память и убрав излишнюю нагрузку на микросхемы памяти.

Инструкция будет полезна не только пользователям Openlumi хаба но и остальным пользователям home assistant у которых он запущен на собственном железе.

  1. Регистирируем хостинг. Я воспользовался сервисом alwaysdata , в нем дают 100мб дискового пространства бесплатно. При регистрации будет создан проект, запомните логин и пароль. Далее создаем в админке во вкладке databases , MySQL базу данных.
  2. Судя по wiki home assistant для работы с базами данных MariaDB или MySQL необходимо, чтобы была установлена библиотека pymysql, по умолчанию с home assistant она не ставится. В OpenLumi OpenWRT библиотеку легко можно установить через luCI вебадминку или выполнив 2 команды в консоли:
  • opkg update
  • opkg install python3-pymysql
  1. Открываем в любимом редакторе файл configuration.yaml в Openlumi хабе файл находится в /etc/homeassistant/configuration.yaml, в debian подобных системах обычно в /home/%user%/.homeassistant/configuration.yaml ‘ и меняем это :
recorder:
   purge_keep_days: 1
   db_url: 'sqlite:////tmp/homeassistant.db'

на это :

recorder:
  # сколько дней хранить историю
  purge_keep_days: 7 
  # ссылка на наш созданный хостинг, значения в квадратных скобках меняем на свои
  db_url: mysql+pymysql://[db_login]:[db_pass]@[url]:[port]/[db_name]?charset=utf8mb4
  # доп опции
  # как часто (в сек) события и изменения состояния записывать в базу данных
  commit_interval: 60
  # какие данные записывать в базу данных
  include:
    entity_globs:
      - sensor.illuminance_*
      - sensor.btn0_*
    ...
  1. Сохраняем конфигурационный файл и перезагружаем HA.
emela Автор:

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *