Подключаем Telegram к Home Assistant
Для отправки уведомлений из Home Assistant есть несколько способов. Одним из таких является Telegram. Если вы пользуетесь каждый этим мессенджером, то есть возможность настроить удобное получение уведомлений. Настройка довольно легкая и не потребует больших знаний.
Если у вас Home Assistant не имеет удаленного доступа, то переживать не стоит. Уведомления из телеграма все равно будут присылаться. Для интеграции требуется только доступ в интернет. А она в свою очередь напрямую связывается с Telegram.
Создание Telegram бота
Для создания своего бота необходимо перейти по ссылке https://t.me/BotFather. И нажать на кнопку «Старт» (в веб версии она сверху, а в остальных внизу).
В открывшемся чате вписываем команду:
/newbot
После чего нас просят ввести название бота. Для удобства можно написать Home Assistant. Чтобы понимать быстро понимать откуда пришло сообщение.
Далее вводим логин бота. Вводить необходимо любое уникальное название. В случае, если ваш логин будет не уникальный, то бот попросит еще раз ввести логин.
В результате вам придет сообщение с токеном доступа. С помощью него и будет происходит обмен данными между Home Assistant и Telegram.
В нашем случае получилось:
5695034781:AAHvmR_QcCCI5sj2TjFMjfhof_D3JFa990c
Получение ID пользователя Telegram
Чтобы бот понял кому необходимо отправлять сообщения надо получить ваш ID пользователя. Для этого напишем еще одному боту https://t.me/GetIdsBot.
Эту операцию необходимо проделать для всех аккаунтов телеграм, которым вы хотите отправлять уведомления.
Настройка Home Assistant
Открываем configuration.yaml с помощью File Editor или другим удобным способом. И вписываем данные строки (не забудьте поменять api_key и chat_id на свои):
telegram_bot:
- platform: polling
api_key: 5695034781:AAHvmR_QcCCI5sj2TjFMjfhof_D3JFa990c
allowed_chat_ids:
- 167245707
notify:
- name: telegram_notifier
platform: telegram
chat_id: 167245707
На этом настройка полностью завершена. Необходимо перезапустить Home Assistant и можно проверять отправку сообщений.
Проверка отправки уведомлений
Для проверки перейдите в «Панель разработчика» и выберите вкладку «Службы». В списке служб выбираем «Уведомления: Send a notification with telegram_notifier» и вписываем текст сообщения.
Если вы все правильно сделали, то у вас появится сообщение от бота
Отправка сообщения из автоматизации
После всех действий в Home Assistant появился новый сервис telegram_notifier. С помощью которого можно автоматизировать отправку сообщений.
Для примера давайте добавим небольшую автоматизацию. При включении сервера с Home Assistant будет присылаться уведомление.
- id: 'Notify_Telegram_HA_Start'
alias: "Уведомление о запуске HA в Telegram"
trigger:
- platform: homeassistant
event: start
action:
- service: telegram_notifier
data:
message: "Home Assistant - включился"
На самом деле вариантов, когда может понадобиться уведомление в Telegram множество. Например, когда у вас случилась протечка и нужно быстро среагировать. Или допустим все ушли из дома и происходит оповещение вас или всех пользователей Home Assistant.
Спасибо за автоматизацию, у меня переодически выключается Home Assistant. Сейчас хоть знать буду
А как на несколько ID отправить?
Создать несколько
notify
и вызывать все созданныеnotify
вaction
Отправлять просто контакту всё получилось
Но с семейным чатом — бьюсь уже сутки, id чата получил добавив в него GetIdsBot, менял с приватного на паблик и обратно. разрешения бота в BotFather все уже передёргал.. Да, то что id чата пишется с начальным дефисом тоже не помогло (
Данила! Ай нид хэлп (
Надо добавить бота с которого будут уходить сообщения, как администратора канала. Тогда он сможет публиковать сообщения.
Информация -> Администраторы -> Добавить администратора -> Выбрать бота
Да в том то и дело, что админом я его сразу сделал..
Если не затруднит, можно кусок работающего кода с разделом notify именно для чата?
Дополнение. Тот кто делает все с самого начала (даже создает бота), то тестовая инициация отправки из Служб ничего не даст. Надо проинициировать бота — найти в телеге этого бота по заданному вами имени и что-то туда написать — после этого отправка заработает.
Источник — https://community.home-assistant.io/t/telegram-not-working/121569/8