mysurik.ru

Уведомления из Home Assistant в Telegram: что и как я настроил

17 19 05

Ох, уведомления из Home Assistant в Telegram — это была одна из первых вещей, которые я настроил. И не зря. Потому что бесило открывать дашборд каждый раз, чтобы узнать, открыты ли окна или нет. Ну серьёзно, кто так делает? Хочется, чтобы дом сам говорил, когда что-то не так. А не чтобы ты сидел и пялился в панель.

Расскажу, как я всё настроил, с какими граблями столкнулся и что в итоге получилось. Спойлер: связка работает отлично, и я не представляю свой дом без неё теперь. Если у вас есть Home Assistant — сделайте себе такое же, не пожалеете.

Почему именно Telegram

Поначалу я думал использовать штатные push-уведомления из приложения Home Assistant. Удобно же: всё в одном месте, настройки рядом. Но быстро выяснилась неприятная деталь: пуш-уведомления в приложении HA работают только если телефон в одной сети с сервером. А я хочу знать, что дома что-то случилось, даже если я на даче у родителей.

Telegram решает эту проблему раз и навсегда. Работает откуда угодно: хоть из другой комнаты, хоть из другого города. Не нужен ни VPN, ни открытый порт, ни переадресация. Просто бот пишет тебе в мессенджер — и всё. Бесплатно и надёжно. Что ещё надо?

Что мне понадобилось

Перед настройкой я собрал всё необходимое. Телефон с установленным Telegram — есть. Аккаунт Home Assistant — есть. А дальше нужно было сделать бота. Для этого существует BotFather — официальный бот Telegram для создания других ботов. Пишешь ему команду /newbot, придумываешь имя, и он выдаёт токен.

С токеном всё понятно, но нужен ещё chat_id — идентификатор чата, куда слать сообщения. Вот тут я немного намучился. Но расскажу по порядку. Сначала создание бота, потом подключение к HA, потом уже сами уведомления и кнопки.

Как я создал бота

Открываю Telegram, ищу BotFather — это синяя галочка, ему можно доверять. Пишу /newbot. Он спрашивает имя бота и юзернейм. Я ввёл что-то вроде «Дом Бота». Юзернейм должен заканчиваться на bot, типа myhome_bot. Всё, бот создан. BotFather выдал токен — длинную строку символов. Её я сохранил в надёжное место, потому что без неё никуда.

Дальше самое интересное — узнать chat_id. Это адрес, куда бот будет писать. Есть способ без программирования: напиши своему боту любое сообщение, а потом зайди на сервис getUpdates от Telegram API. Но я пошёл проще — нашёл готовый способ через браузер: открыл ссылку api.telegram.org с методом getUpdates и увидел свой chat_id в ответе. Записал его, чтобы не потерять.

Момент Икс: подключение к Home Assistant

Вот тут началось веселье. В Home Assistant нужно было прописать интеграцию. В configuration.yaml я добавил блок telegram_bot с токеном, и блок notify с именем. Перезагружаю HA — и тишина. Никакой ошибки, но и бот не пишет. Я уже начал злиться и подозревать, что сделал что-то не так.

Оказалось, я перепутал два блока. В Home Assistant есть telegram_bot — это приём и отправка через бота, и notify.telegram — это сервис уведомлений. Они настраиваются по-разному. Я намудрил с именами и параметрами. Когда я наконец разобрался и прописал всё правильно, сервис notify.telegram появился в списке. Фух, выдохнул. Момент, когда всё заработало, — золотой.

Первое тестовое уведомление

Когда сервис появился, я решил проверить. Зашёл в сервисы, выбрал notify.telegram, указал свой chat_id, написал «Привет из Home Assistant» и нажал вызвать. Через секунду в телефоне — сообщение от бота. Честно, я как ребёнок обрадовался. Одно маленькое сообщение, а столько радости. Вот они, плоды труда.

С этого момента можно было строить автоматизации. И тут открылась настоящая магия. Потому что уведомление — это только вершина. Самое интересное — привязывать его к событиям в доме и даже добавлять кнопки для действий.

Что я настроил в первую очередь

Начал с самого важного для меня — безопасность и комфорт. Если датчик движения сработал ночью, когда мы спим, — приходит уведомление с фотографией с камеры. Я вижу, что происходит, прямо в Telegram. Не нужно открывать приложение, искать камеру, смотреть архив. Всё само прилетает.

Потом добавил контроль температуры. Упала температура в холодильнике — предупреждение. Значит, что-то с компрессором или дверь не закрылась. Лучше узнать об этом сразу, чем потом выбрасывать продукты. И ещё милая мелочь: когда заканчивается кофе — бот пишет. Да-да, я поставил датчик веса на банку с кофе. Смешно, но полезно.

Кнопки в уведомлениях

Самое крутое, что я нашёл, — это кнопки в уведомлениях. Не просто текст, а настоящие инлайн-кнопки, по которым можно нажимать. Пример: пришло сообщение «Обнаружено движение на кухне», а под ним кнопка «Отключить сирену». Нажал — и через Home Assistant запускается автоматизация, сирена выключается.

Делается это через callback-коды в автоматизации. Я создал автоматизацию, которая отвечает на нажатие кнопки и выполняет нужное действие. Настроить один раз — и пользоваться постоянно. Это удобнее, чем любые push-уведомления: ты не просто читаешь, что случилось, а сразу можешь отреагировать.

Ещё пара полезных уведомлений

Продолжу список того, что настроил. Когда закончилась стирка — уведомление, что можно доставать бельё. Когда пришёл курьер и позвонил в дверь — звонок с домофона шлёт фото в Telegram. Когда погода за окном ухудшилась — напоминание закрыть окна, если они открыты.

Всё это — обычные автоматизации в HA. Никакого чуда: датчик или событие → триггер → уведомление в Telegram. Но каждая такая мелочь делает жизнь спокойнее. Я больше не гадаю, открыты ли окна, когда я на работе. Бот скажет, если что-то не так.

Грабля, на которую наступил я

Честно расскажу и про неудачу. Однажды я решил настроить уведомления для нескольких членов семьи. Сделал второй бот, настроил, отправил — и половина сообщений потерялась. Оказалось, нельзя просто так отправлять в любой чат: бот должен быть в этом чате и иметь права. Я забыл добавить бота в общий чат семьи.

Добавил — и всё заработало. Урок простой: если бот не пишет, сначала проверь, добавлен ли он в нужный чат. И что chat_id указан правильно. Такие мелочи стоят мне пары часов в тот вечер. Теперь знаю и вам советую проверять в первую очередь.

Настройки безопасности

Раз уж бот связан с домом, я подошёл к безопасности внимательно. Токен бота — это как ключ от дома. Нельзя публиковать его в открытых конфигах, коммитить в репозитории и тем более отправлять в чаты. Храните его в секретах Home Assistant, а не в открытом виде в configuration.yaml.

Я вынес токен в секреты, чтобы в конфиге была только ссылка на переменную. Так и безопаснее, и удобнее: если надо сменить бота, правлю один файл. Кстати, если вдруг токен утёк — в BotFather его можно перевыпустить. Но лучше не доводить до этого.

Как я настроил фото с камеры

Отдельно расскажу про фотографию с камеры в уведомлении, потому что это одна из самых полезных вещей. Автоматизация сработала на движение ночью, HA берёт кадр с камеры через сервис camera.snapshot, а потом отправляет его вместе с текстом в Telegram. Всё это — в одном уведомлении: и текст, и фото.

Важный нюанс: фото надо сначала сохранить в файл, иначе бот не сможет его отправить. Я создал директорию для снимков и прописал путь. Теперь при каждом срабатывании датчика я получаю свежий кадр. Проверять камеру вручную мне больше не нужно — она сама приходит ко мне.

Про задержки и скорость

Справедливости ради скажу и про минусы. Telegram работает быстро, но иногда бывают задержки в пару секунд. Для большинства случаев это некритично: я не собираюсь ловить вора на лету, мне важно знать о событии. А вот если вам нужен мгновенный сигнал — это уже другая история, там нужен другой канал связи.

Ещё момент: если интернет в доме отвалится, уведомления, конечно, не придут. У меня дома стоит резервный интернет на сим-карте, но даже без него связка работает стабильно. За месяцы использования я не заметил, чтобы сообщения терялись из-за HA или Telegram. Надёжность на уровне.

Как не сойти с ума от уведомлений

Расскажу и о такой проблеме: когда уведомлений много, они начинают бесить. У меня поначалу было так: каждый датчик шлёт сообщение по любому поводу, и в какой-то момент я стал их игнорировать. Потом понял, что это неправильно, и переделал систему под себя.

Теперь правила простые: уведомлять только о важном, и по-разному. Например, движение ночью — это отдельный громкий сценарий с фото. А вот «кофе закончился» — тихое сообщение. И ещё я настроил, чтобы некоторые уведомления приходили только в определённое время. Иначе в три ночи не хочется читать про стирку.

Моя любимая автоматизация

Расскажу про ту, которая мне нравится больше всего. Перед тем как уйти из дома, я нажимаю кнопку «Ушёл». Через пару минут HA проверяет: закрыты ли окна, выключены ли утюги, не осталось ли включённого света. Если всё в порядке — молчит. Если что-то не так — прилетает список проблем с кнопкой «Всё равно уйти».

Эта автоматизация спасла меня уже несколько раз. Однажды я забыл про окно на кухне, ушёл на работу, а через час прилетело предупреждение о похолодании. Я попросил соседа закрыть. Теперь дома спокойно, даже когда меня нет. Вот за что я люблю связку Telegram и HA.

Что можно добавить дальше

Планов у меня много, и я продолжаю развивать систему. Хочу подключить голосовые уведомления через колонки, чтобы бот не только писал, но и говорил. Ещё планирую уведомления о расходе электроэнергии — чтобы видеть, сколько жрёт дом, и вовремя ловить аномалии.

Всё это делается на той же базе: автоматизация, сервис уведомления, Telegram. Однажды настроив связку, ты получаешь универсальный канал для любых событий. Дом становится говорливым, и это, поверьте, здорово. Начните с простого — и потом не остановитесь.

Что в итоге

Сейчас у меня в доме работает дюжина уведомлений, и я не могу представить жизнь без них. Дом сам пишет мне, когда что-то не так, а я могу отреагировать прямо из телефона. Даже в поездке я знаю, что дома всё в порядке. Это даёт спокойствие, которое не купишь за деньги.

Telegram и Home Assistant — бесплатная и надёжная связка для уведомлений. Push-уведомления в приложении HA работают только если телефон в одной сети с сервером. Telegram работает откуда угодно. Я выбираю Telegram. И вам советую.

План для ленивых:

  • Создай бота через BotFather в Telegram, сохрани токен.
  • Узнай свой chat_id через getUpdates от Telegram API.
  • Пропиши telegram_bot и notify в configuration.yaml.
  • Перезагрузи Home Assistant — появится сервис notify.telegram.
  • Настрой автоматизации на нужные события.
  • Храни токен в секретах, не публикуй его.

Больше статей про мой дом и автоматизацию я собираю на странице проекта. Там всё, что я попробовал, честно и без воды.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *