Содержание
Последнее обновление Home Assistant включает в себя захватывающую новую интеграцию, связанную с едой: Mealie. Mealie — это бесплатный проект, в котором вы можете хранить все свои рецепты и кулинарные книги в одном месте. Вы можете легко планировать приемы пищи, используя его простой и интуитивно понятный веб-интерфейс.
Благодаря интеграции Mealie с Home Assistant вы можете синхронизировать все ваши календари и события Mealie, включая различные уведомления, сценарии и автоматизацию. Я покажу, что я сделал с Mealie и Home Assistant и как я это сделал.
Что можно делать с помощью Melie и Home Assistant
Показать сегодняшнюю еду
В моей тестовой настройке Home Assistant у меня есть две карточки, связанные с интеграцией Mealie. Первая карточка показывает сегодняшний прием пищи. Когда я нажимаю на нее, я вижу название и некоторую историю, но она не активна.
Уведомление о ежедневном плане питания
Вторая карточка — это кнопка, связанная со сценарием. Когда я нажимаю на нее, я получаю постоянное уведомление, которое включает мой ежедневный план питания: завтрак, обед, ужин и гарнир. Это уведомление также можно отправить на мой телефон или включить в другие автоматизации Home Assistant.
Настройка Мили
Mealie — интересный проект, который я установил на свой ноутбук с помощью Docker. Ниже приведены некоторые из вещей, которые может делать Mealie.
Панель управления и функции
- Управление рецептами: Добавляйте рецепты вручную или импортируйте их из любого URL. Вы также можете планировать приемы пищи и создавать списки покупок.
- Кулинарные книги: Создание и управление кулинарными книгами.
- Импорт данных: Импорт рецептов и кулинарных книг из других источников.
Установка Мили
- Скачать Клиент Docker: Доступно для macOS, Windows и Linux.
- Создать docker-compose.yaml файл: Я использовал контент из официальная документация Meali и я только изменил версию на последнюю и BASE_URL.
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest #
container_name: mealie
restart: always
ports:
- "9925:9000" #
deploy:
resources:
limits:
memory: 1000M #
volumes:
- mealie-data:/app/data/
environment:
# Set Backend ENV Variables Here
ALLOW_SIGNUP: true
PUID: 1000
PGID: 1000
TZ: America/Anchorage
MAX_WORKERS: 1
WEB_CONCURRENCY: 1
BASE_URL: http://127.0.0.1
volumes:
mealie-data:
- Выполнить команду Docker: Выполнять
docker compose up -d
чтобы загрузить образ Mealie и запустить его. - Открыть Mealie: Откройте веб-интерфейс Mealie и завершите работу мастера настройки.
Я импортировал рецепты из https://demo.mealie.io веб-сайт для заполнения некоторых данных в моем экземпляре Mealie. Я создал там новую резервную копию, затем скачал этот файл и импортировал его в мой Mealie. Обратите внимание, что если вы создаете ключ API и импортируете резервную копию, вам нужно будет заново создать ключи API.
Добавление Мили в Home Assistant
- Получить API-ключ: Сгенерируйте и скопируйте ключ API из вашего профиля пользователя Mealie.
- Добавить интеграцию: В Home Assistant добавьте интеграцию Mealie, укажите URL-адрес и токен API.
Создание скриптов Home Assistant
Пример скрипта календаря Mealie
- Получить Календарь Событий: Извлечение событий из календарей Mealie (завтрак, обед, ужин, гарнир) на следующие 24 часа.
- Создать уведомление: Создать уведомление со списком всех событий.
alias: Mealie Calendar
sequence:
- service: calendar.get_events
target:
entity_id:
- calendar.mealie_breakfast
- calendar.mealie_lunch
- calendar.mealie_dinner
- calendar.mealie_side
data:
duration:
hours: 24
response_variable: agenda
service: notify.persistent_notification
data:
title: План питания на {{ now().date() }}
message: >-
Завтрак на сегодня:
{% for event in agenda("calendar.mealie_breakfast")("events") %}
{{ event.start}}: {{ event.summary }}
{% endfor %}
Ланч на сегодня:
{% for event in agenda("calendar.mealie_lunch")("events") %}
{{ event.start}}: {{ event.summary }}
{% endfor %}
Обед на сегодня:
{% for event in agenda("calendar.mealie_dinner")("events") %}
{{ event.start}}: {{ event.summary }}
{% endfor %}
Другие данные календаря питания:
{% for event in agenda("calendar.mealie_side")("events") %}
{{ event.start}}: {{ event.summary }}
{% endfor %}
Датчики REST и камера Entity
Я создал датчики REST и общую сущность камеры для отображения сегодняшнего приема пищи и его изображения. Вот как:
- Добавить датчики REST: Измените файл configuration.yaml с IP-адресом и портом вашего экземпляра Mealie, а также API-токеном. Не забудьте перезапустить Home Assistant после добавления этих датчиков.
- Создать объект камеры: Используйте общую интеграцию камеры с URL-адресом вашего экземпляра Mealie.
Для создания универсальной камеры я воспользовался следующими инструкциями:
В помощнике по дому
Integrations
страница, создайте новуюgeneric camera
сущность.В поле URL-адреса неподвижного изображения введите:
http://192.168.1.113:9925/api/media/recipes/{{states('sensor.mealie_todays_meal_id')}}/images/min-original.webp
На странице сущности для новой камеры переименуйте ее, например:
camera.mealie_todays_meal_image
Датчики REST, представленные ниже, и общая камера, представленная выше, используются на панели инструментов Home Assistant для отображения информации о приеме пищи.
# configuration.yaml entry
sensor:
- platform: rest
resource: "http://192.168.1.113:9925/api/groups/mealplans/today"
method: GET
name: Сегодняшний план питания
headers:
Authorization: Bearer YOUR_API_TOKEN
value_template: "{{ value_json(0).recipe.name }}"
force_update: true
scan_interval: 30
- platform: rest
resource: "http://192.168.1.113:9925/api/groups/mealplans/today"
method: GET
name: Mealie todays meal ID
headers:
Authorization: Bearer YOUR_API_TOKEN
value_template: "{{ value_json(0).recipe.id }}"
force_update: true
scan_interval: 30
Заключение
Интеграция Home Assistant Mealie открывает множество возможностей для планирования и автоматизации питания. Если вы хотите попробовать это, поделитесь своими планами по сценариям и автоматизациям в комментариях.
Спасибо за прочтение, увидимся в следующем выпуске. Пока!