Сервер Home Assistant работает на orange pi zero2: http://alii.pub/68uelr
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Настраивал тут камеру на esp32 и сохранял фотографии в папке при улавливании движения. И столкнулся с такой проблемой, что фото то делаются и сохраняются в папке сервера Home Assistant. Но их же нужно потом удалять из папки, ведь память со временем забьется.
И вот начал искать решение данной проблемы. Нашел интеграцию HACS. Которая называется delete-file-home-assistant. https://github.com/chomupashchuk/delete-file-home-assistant
Раньше она может и работала у народа. Но сейчас в версии core-2022.4.5 и supervisor-2022.04.0 не работает данный аддон.
По этому сделаем по другому.
И так задача: удалять файлы с папки /config/www/tmp/ старше 24 часов 1 раз в сутки в 00:00.
Существует в Home Assistant поддержка shell команд. Shell команды, это команды командной строки линукса. Для того, чтоб данная команда запускалась в Home Assistant. Нужно в файле Configuration.yaml записать следующее:
shell_command:
delete_old_snapshots: "find /config/www/tmp/* -type f -mmin +1440 -name snapshot* -exec rm {} -f \\;"
Собственно в этой конфигурации объявляем, что это shell команда. Говорим, что это переменная “delete_old_snapshot” в которой записана сама shellовская команда на удаление файлов из папки /config/www/tmp/ которые старше 1440 минут. Ну или 24 часов(если переводить на часы).
Далее создадим автоматизацию, которая будет запускать переменную “delete_old_snapshot” в 00:00 каждый день.
Для этого в файле automations.yaml. Запишем следующий код:
- id: delete_snapshots
alias: Delete camera shots na 24 uur
description: ''
trigger:
- platform: time
at: 0:00
condition: []
action:
- service: shell_command.delete_old_snapshots
mode: single
Вот собственно автоматизация. Каждую строчку описывать нет смысла. Просто имейте ввиду, что данная автоматизация запускает shell команду под названием “delete_old_snapshot” каждый день в 00:00 часов.