Добрый день. Статья о том, как получать оповещения о списке покупок в телеграм с интеграцией Shopping List. Отправлять уведомление, конечно же, можно в любой удобный для вас мессенджер (telegram, slack и т.д.) или уведомлением в приложение Home assistant на телефон, сути это не меняет.
Заходим в настройки Home assistant.
Выбираем пункт интеграции, добавить интеграцию.
В поиске вписываем Shopping List (или Список покупок).
Добавляем интеграцию, настраивать ее не нужно.
Для удобства заполнения списка покупок, предлагаю добавить карточку в lovelace.
Находим карточку, находится она в самом конце списка. Даем название для карточки и сохраняем.
Примечание: Создать несколько разных списков невозможно,
интеграция создает один единый список, который могут редактировать все пользователи HA. Дополнительные карточки только дублируют основной список.
Настройка уведомлений в Telegram для умного дома Home Assistant
Добавляем в список все, что нужно купить во время следующей вылазки в магазин.
Элементы в списке можно менять местами, а также отмечать. Отмеченные элементы можно удалять из списка.
Сенсор покупок
Тот, кто использует интеграцию, пожалуй замечал, что в системе нет никакого объекта, связанного с этим списком. Это нам придется исправлять. Для этого нам нужно создать сенсор, состояние которого будет соответствовать пунктам нашего списка. Добавляем новый сенсор в configuration.yaml или во внешний файл sensor.yaml (зависит от вашей конфигурации).
— platform: command_line name: shopping_list command: «jq ‘.[] | select(.complete==false) |.name’.shopping_list.json «
Сохраняем, проверяем конфигурацию на ошибки и перезагружаем сервер Home assistant.
Заходим в панель разработчика, ищем наш созданный сенсор.
Проверяем состояние объекта, он должен совпадать с ранее заполненным нами списком.
Обновления сенсора происходит раз в минуту.
Автоматизация
Список готов для добавления в автоматизации. Остается определить, в каком случае мы будем его получать. Я выбрал для этого стандартный функционал отслеживания нахождения пользователей в определенной зоне. Для этого заходим в Настройки -> Зоны, добавляем новую зону, соответствующую магазину или супермаркету, который чаще всего используется для закупок.
Выбираем точку на карте, задаем радиус зоны и назначаем название. Для базовой автоматизации этого будет достаточно. Триггером буду использовать именно момент, когда я буду заходить в созданную зону, уведомление буду отправлять с помощью бота в телеграм.
— alias: buy_list_new trigger: — platform: zone zone: zone.supermarket entity_id: person.admin event: enter action: — service: telegram_bot.send_message data: target: ‘xxxxxxxxx’ parse_mode: html message: > <>
Home Assistant. Урок 11.1 Уведомления Telegram — создание бота, отправка сообщений, прием команд
В результате, получаем оповещения в таком виде:
Все отлично, все работает! Как дополнение надо добавить условие, которое будет проверять, есть ли что-то в нашем списке, чтобы не получать пустых сообщений при каждом посещении магазина. Для этого можно использовать определение количества элементов в списке. Чтобы это было возможно, добавляем еще один сенсор:
— platform: command_line name: shopping_list_number command: «jq length.shopping_list.json»
Проверяем, есть ли в списке как минимум 1 пункт:
condition: — condition: template value_template: «<>»
— alias: buy_list_new trigger: — platform: zone zone: zone.supermarket entity_id: person.admin event: enter condition: — condition: template value_template: «<>» action: — service: telegram_bot.send_message data: target: ‘xxxxxxxxx’ parse_mode: html message: > <>
Так же, как условие, можем использовать длину символов в нашем списке:
Дальнейшее улучшение автоматизации уже зависит от потребностей и фантазии.
Источник: sprut.ai
Уведомления Home Assistant в Telegram
Умный дом это, конечно, замечательно: у нас есть один “пульт” на телефоне от всего дома. Можно управлять освещением, климатом, даже перекрывать воду , но какой в этом прок, если чтобы узнать, выключил ли ты свет, уходя из дома ты должен открывать приложение у себя на телефоне. А вдруг протечка? Как ты об этом узнаешь? Для этого и существуют уведомления в умном доме.
Есть несколько способов организовать уведомления из Умного дома. Кто-то шлёт смс, кто-то электронные письма на почту, можно настроить push-уведомления из приложения Home Assistant или Apple HomeKit.
Но самым популярным среди энтузиастов умного дома все равно остается отправка уведомлений в Telegram, тем более совсем недавно блокировку на территории России сняли и им можно пользоваться без всяких ограничений.
1. Создаём бота в Telegram
Для этого находим бота, под названием BotFather
Пишем /start для вывода доступных команд
Источник: dzen.ru
Уведомления от Home Assistant в Telegram через прокси
Процесс добавления поддержки уведомлений Telegram, с использованием прокси, в Home Assistant:
# Телеграм telegram_bot: — platform: broadcast api_key: !secret telegram_bot_api_key proxy_url: !secret telegram_bot_proxy_url proxy_params: username: !secret telegram_bot_proxy_username password: !secret telegram_bot_proxy_password allowed_chat_ids: — !secret telegram_bot_allowed_chat_id1 — !secret telegram_bot_allowed_chat_id2
# Телеграм — name: telegram platform: telegram chat_id: !secret telegram_bot_allowed_chat_id2
Соответственно в secrets.yaml:
#Телеграм Бот telegram_bot_api_key: 123456789:AABBBAAARRRFQQQQYYYVVVINU telegram_bot_proxy_url: socks5://10.20.30.40:5060 telegram_bot_proxy_username: username telegram_bot_proxy_password: password telegram_bot_allowed_chat_id1: 987654321 telegram_bot_allowed_chat_id2: -987123456321
Перезапускаем Home Assistant
Теперь проверим отправку уведомлений через Home Assistant:
Перейдем в Службы, найдем notify.telegram вставим текст :
Жмем на Call Service и должно прийти уведомление:
Настроим автоматическое уведомление о недоступности камеры в сети:
# Камера 1, уведомление о выключении, Телеграм — alias: cam1notify_telegram_off hide_entity: True trigger: entity_id: binary_sensor.cam1ping platform: state to: ‘off’ action: service: notify.telegram data: message: Камера 1 не в сети!
Теперь при статусе binary_sensor.cam1ping off придет уведомление
Источник: kvvhost.ru