Home » Представляем Mealie: новую интеграцию планировщика питания для Home Assistant

Представляем Mealie: новую интеграцию планировщика питания для Home Assistant

от Кирил Пеянски
0 Комментарии 5 мин на чтение

Последнее обновление Home Assistant включает в себя захватывающую новую интеграцию, связанную с едой: Mealie. Mealie — это бесплатный проект, в котором вы можете хранить все свои рецепты и кулинарные книги в одном месте. Вы можете легко планировать приемы пищи, используя его простой и интуитивно понятный веб-интерфейс.

Благодаря интеграции Mealie с Home Assistant вы можете синхронизировать все ваши календари и события Mealie, включая различные уведомления, сценарии и автоматизацию. Я покажу, что я сделал с Mealie и Home Assistant и как я это сделал.

Что можно делать с помощью Melie и Home Assistant

Показать сегодняшнюю еду

В моей тестовой настройке Home Assistant у меня есть две карточки, связанные с интеграцией Mealie. Первая карточка показывает сегодняшний прием пищи. Когда я нажимаю на нее, я вижу название и некоторую историю, но она не активна.

Карточка с сегодняшним меню Mealie в Home Assistant
Карточка с сегодняшним меню Mealie в Home Assistant

Уведомление о ежедневном плане питания

Вторая карточка — это кнопка, связанная со сценарием. Когда я нажимаю на нее, я получаю постоянное уведомление, которое включает мой ежедневный план питания: завтрак, обед, ужин и гарнир. Это уведомление также можно отправить на мой телефон или включить в другие автоматизации Home Assistant.

Настройка Мили

Mealie — интересный проект, который я установил на свой ноутбук с помощью Docker. Ниже приведены некоторые из вещей, которые может делать Mealie.

Панель управления и функции

  • Управление рецептами: Добавляйте рецепты вручную или импортируйте их из любого URL. Вы также можете планировать приемы пищи и создавать списки покупок.
  • Кулинарные книги: Создание и управление кулинарными книгами.
  • Импорт данных: Импорт рецептов и кулинарных книг из других источников.
Представляем Mealie: новую интеграцию планировщика питания для Home Assistant 2
Скриншот

Установка Мили

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.
API-токены могут быть сгенерированы из профиля пользователя.
API-токены могут быть сгенерированы из профиля пользователя.
  • Добавить интеграцию: В Home Assistant добавьте интеграцию Mealie, укажите URL-адрес и токен API.
Для добавления интеграции Home Assistant Melie требуются только URL и API-токен
Для добавления интеграции Home Assistant Melie требуются только URL и API-токен

Создание скриптов Home Assistant

Пример скрипта календаря Mealie

  1. Получить Календарь Событий: Извлечение событий из календарей Mealie (завтрак, обед, ужин, гарнир) на следующие 24 часа.
  2. Создать уведомление: Создать уведомление со списком всех событий.
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 и общую сущность камеры для отображения сегодняшнего приема пищи и его изображения. Вот как:

  1. Добавить датчики REST: Измените файл configuration.yaml с IP-адресом и портом вашего экземпляра Mealie, а также API-токеном. Не забудьте перезапустить Home Assistant после добавления этих датчиков.
  2. Создать объект камеры: Используйте общую интеграцию камеры с 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 открывает множество возможностей для планирования и автоматизации питания. Если вы хотите попробовать это, поделитесь своими планами по сценариям и автоматизациям в комментариях.

Спасибо за прочтение, увидимся в следующем выпуске. Пока!

Источник

Вам может понравиться

Оставить комментарий