Главная страницаHome AssistantESPHomeОтправка сообщений в Telegram из ESPHome
Отправка сообщений в Telegram из ESPHome

Отправка сообщений в Telegram из ESPHome

На данный момент статья не актуальна. В ближайшее время я постараюсь ее обновить до актуального состояния.

Для отправки сообщений в Telegram из ESPHome можно использовать интеграцию с Telegram Bot API. Ранее было рассказано по настройке Telegram Home Assistant.

Для этого необходимо выполнить следующие шаги:

  1. Создать бота в Telegram и получить его токен. Для этого нужно написать BotFather в Telegram и следовать его инструкциям.
  2. Установить библиотеку Telegram Bot для ESPHome. Это можно сделать, добавив следующие строки в файл esphome.yaml:
external_components:
  - source:
      type: git
      url: https://github.com/witnessmenow/ESPHome-Telegram-Bot.git
      ref: master
    components: [telegram_bot]
  1. Добавить настройки для интеграции с Telegram в esphome.yaml:
telegram_bot:
  token: <ваш токен>
  chat_id: <ID чата, в который нужно отправлять сообщения>
  1. В коде ESPHome добавить вызов отправки сообщения в Telegram. Например, для отправки сообщения при изменении значения датчика температуры можно использовать следующий код:
sensor:
  - platform: dht
    pin: D4
    temperature:
      name: "Living Room Temperature"
      id: living_room_temperature
      on_value:
        then:
          - telegram_bot.sendMessage:
              message: "Температура изменилась на: {living_room_temperature}"

После этого ESPHome будет отправлять сообщения при изменении значения датчика температуры.

В зависимости от того, какие компоненты используются в ESPHome, можно отправлять различные уведомления. Например, вот некоторые примеры:

  1. Оповещение об изменении состояния двери или окна. Это можно сделать, используя компоненты датчика открытия двери/окна и вызова сервиса отправки сообщения в Telegram:
binary_sensor:
  - platform: gpio
    pin:
      number: D2
      mode: INPUT_PULLUP
    name: "Front Door"
    on_state:
      - if:
          condition:
            binary_sensor.is_on: front_door
          then:
            - telegram_bot.sendMessage:
                message: "Кто-то открыл переднюю дверь!"
  1. Оповещение о превышении заданного уровня громкости. Это можно сделать, используя компоненты датчика звука и вызова сервиса отправки сообщения в Telegram:
sensor:
  - platform: adc
    pin: A0
    name: "Sound Sensor"
    on_value:
      then:
        - if:
            condition:
              lambda: 'return x > 100;'
            then:
              - telegram_bot.sendMessage:
                  message: "Громкость превысила установленный уровень!"
  1. Оповещение о превышении заданной температуры в помещении. Это можно сделать, используя компоненты датчика температуры и вызова сервиса отправки сообщения в Telegram:
sensor:
  - platform: dht
    pin: D4
    temperature:
      name: "Living Room Temperature"
      id: living_room_temperature
      on_value:
        then:
          - if:
              condition:
                lambda: 'return x > 25;'
              then:
                - telegram_bot.sendMessage:
                    message: "Температура в комнате превысила 25 градусов!"

Кроме того, можно отправлять уведомления в Telegram ESPHome об ошибках, запуске/остановке устройства и т.д. в зависимости от потребностей проекта.

Был ли полезен материал?

Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.

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