Хороший Сервер для умного дома: https://alii.pub/6y787u?erid=2SDnjdVoKTf
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Введение:
В этой статье попробуем настроить Home Assistant таким образом, чтоб получать уведомления в telegram. А так-же можно будет управлять умным домом Home Assistant из телеграм.
Это часто очень удобно, ведь мы постоянно находимся на связи с мобильным телефоном и в меседжерах разных. Наверняка почти все из Вас пользуются социальной сетью телеграм.
Ну и так-как сам сервер Home Assistant зачастую находится за Натом (не смотрит во внешнюю сеть и с внешней сети не доступен). То такая возможность управления сервером будет весьма кстати.
Ну и как пример работы, это оповещение о затоплении ванной комнаты по датчику протечки воды. Вас нет дома и тут приходит сообщение в телеграм о том, что сейчас датчик среагировал. И Вы сразу примите какие-либо действия. Удобно? думаю удобно. И так приступим.
Создание telegram бота:
Для начала нам нужно создать бота, который будет нам отправлять сообщения.
Для этого идём в телеграм и ищем там @BotFat
Собстветнно @BotFat – это бот по созданию ботов.
Для создания бота пишем этому боту команду /newbot
И после этой команды нас попросит придумать имя боту я назвал его “Мой дом”
После этого попросит создать имя пользователя для бота. По этому имени пользователя сам бот и будет находиться и оно должно заканчиваться на слово “Bot”
Поздравляю, Вы создали своего бота. Бот Вам прислал API, которые надо сохранить в файлик, далее они нам понадобятся.
После этого переходим в созданного бота по username который вы создали ранее. У меня это t.me/ypavla_house_bot
Собственно переходим и нажимаем кнопку “/start”
Далее нам нужно узнать id Вашего акауна телеграм. Это можно посмотреть у другого бота @getidsbot
В этом боте тоже нажимаем “/start” и бот сразу же пришлёт Вам всю информацию.
Сохраняем этот id в сторонку. Далее он нам понадобится. А пока на этом манипуляции с самой программой телеграм закончены.
Настройка Home Assistant:
Теперь переходим в Home Assistant. Тут в файле configuration.yaml напишем два блока:
telegram_bot:
- platform: polling
api_key: !secret telegram_token
parse_mode: html
allowed_chat_ids: 209245555
notify:
- name: me
platform: telegram
chat_id: 209245555
В блоке telegram_bot
Тут изменяем на свое api_key – сюда вписываем api который сохранили ранее.
В allowed_chat_ids – пишем id Вашего аккаунта который Вам дал бот @getidsbot
В блоке notify
Поле – name можем написать имя на свое. у меня это “me”
тут меняем chat_id на тот который Вам дал бот @getidsbot
Сохраняем конфиг, Далее в панели разработчика проверяем, что конфигурация у нас без ошибок и перезапускаем Home Assistant:
Далее давайте проверим возможность Home Assistant на отправку сообщений в телеграм.
Для этого идём в Панель разработчика -> Службы -> и тут выбираем службу новую, которая создана. У меня это notify.me (у Вас будет тоже notify. но имя Ваше после точки).
В открывшемся окне, в поле “massege” пишем текст, у меня это “test“. Далее нажимаем кнопку “Вызвать службу“.
После нажатия кнопки “Вызвать службу” прилетит сообщение в телеграм.
Если сообщение пришло, то поздравляю, Вы все настроили правильно и теперь Home Assistant умеет взаимодействовать с телеграмом.
Автоматизации Home Assistant для Telegram:
Для примера я приведу две автоматизации. Одна будет по команде отдавать состояние датчика температуры, собственно по подобию этой автоматизации можно будет любые свои датчики добавить и по команде получать с них статус.
А вторая автоматизация, тут наоборот. Home Assistant сам будет отправлять данные в телеграмм по какому либо событию. Например датчик протечки воды среагировал на воду.
Автоматизации конечно-же пишутся в файл automations.yaml
Автоматизация отправки показаний температуры по команде:
- id: Температура_на_балконе_телеграм
alias: temp_balkon_telegram
trigger:
- platform: event
event_type: telegram_command
event_data:
command: /temp_balkon
context: {}
- platform: event
event_type: ''
context: {}
action:
- service: notify.me
data:
message: 'Температура на балконе - {{ states(''sensor.ble_temperature_a4c138d94ccb'')
}} '
Автоматизация эта называется temp_balkon_telegram
Срабатывать будет по команде “/temp_balkon
” Отправлять будет сообщение: Температура на балконе - {{ states(''sensor.ble_temperature_a4c138d94ccb'')
где
}} 'sensor.ble_temperature_a4c138d94ccb
это имя датчика температуры моего. Меняете его на свой.
Сохраняем, проверяем конфигурацию, перезапускаем Home Assistant.
По итогу должно получиться что-то такое:
Автоматизация отправки сообщений в телеграм о потопе с датчика протечки воды:
- id: Датчик_протечки_в_Ванной_телеграм
alias: protechka_vanna_telegram
trigger:
- platform: state
entity_id: binary_sensor.0xa4c1387e2e1acaa2_water_leak
to: 'on'
action:
- service: notify.me
data:
message: 'Протечка в ванной - {{ states(''binary_sensor.0xa4c1387e2e1acaa2_water_leak'')
}} '
Автоматизация называется protechka_vanna_telegram
, она берет данные с бинарного сенсора датчика протечки воды: binary_sensor.0xa4c1387e2e1acaa2_water_leak
.
Отслеживает его состояние, а именно состояние on. И как только это состояние зафиксируется то отправляется в телеграм сообщение в notify.me
( название вашего телеграм настроенного в Home Assistant) .
С текстом: Протечка в ванной - {{ states(''binary_sensor.0xa4c1387e2e1acaa2_water_leak'')
– где
}} binary_sensor.0xa4c1387e2e1acaa2_water_leak
Ваш датчик протечки
Вывод:
В этой статье попытался максимально просто расписать инструкцию о том, как настроить Home Assistant на работу с Telegram.
Не стал тут описывать более сложные автоматизации. Их можно вечно добавлять на разный вкус и цвет.
Если тема разных уведомлений Вам интересна, то отдельными статьями-примерами буду дополнять сайт разными автоматизациями.
Важно: Телеграм бот может работать только с одним источником уведомлений. В данном случае это Home Assistant. Если Вы попробуете куда-то еще добавить его, то система начнет глючить и нестабильно работать. По этому для каждой новой системы, будь это HOMEd или Spruthub, везде надо создавать для них нового телеграмм бота.