Как известно на Lumi хабе памяти не очень много, по умолчанию база данных с историей пишется во внутреннюю память и хранится 1 день. Для микросхем памяти это не очень хорошо, т.к. они имеют ограничение на количество перезаписей.
Можно перенести базу данных в интернет на бесплатный\платный хостинг, тем самым освободив драгоценную память и убрав излишнюю нагрузку на микросхемы памяти.
Инструкция будет полезна не только пользователям Openlumi хаба но и остальным пользователям home assistant у которых он запущен на собственном железе.
- Регистирируем хостинг. Я воспользовался сервисом alwaysdata , в нем дают 100мб дискового пространства бесплатно. При регистрации будет создан проект, запомните логин и пароль. Далее создаем в админке во вкладке databases , MySQL базу данных.
- Судя по wiki home assistant для работы с базами данных MariaDB или MySQL необходимо, чтобы была установлена библиотека pymysql, по умолчанию с home assistant она не ставится. В OpenLumi OpenWRT библиотеку легко можно установить через luCI вебадминку или выполнив 2 команды в консоли:
opkg update
opkg install python3-pymysql
- Открываем в любимом редакторе файл 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_*
...
- Сохраняем конфигурационный файл и перезагружаем HA.
Ваш комментарий будет первым