Перейти к содержимому

ESP32 с ESPHome — событие по HTTPS ​

ESP32 может отправлять готовые события напрямую. Здесь показан путь через ESPHome 2026.9.1 с framework esp-idf: отдельный backend-мост не требуется. Для собственной прошивки ESP32 реализуйте такой же HTTPS POST её HTTP-клиентом; YAML ниже предназначен для ESPHome.

Подготовьте Депешер ​

Создайте защищённый канал и доставку по IoT-инструкции. Выберите текстовый шаблон:

text
Датчик: {{json.device.id}}
Событие: {{json.event.type}}

Дополните конфигурацию ESPHome ​

Используйте существующую конфигурацию своей платы с настроенными Wi-Fi и logger. В разделе esp32 задайте framework.type: esp-idf, сохранив вашу модель платы. Следующие разделы добавьте или объедините с существующими:

yaml
http_request:
  verify_ssl: true
  timeout: 15s

script:
  - id: depesher_leak
    mode: single
    then:
      - http_request.post:
          url: !secret depesher_url
          request_headers:
            Content-Type: application/json
            Authorization: !secret depesher_authorization
          json: |-
            root["device"]["id"] = "kitchen-water";
            root["event"]["type"] = "leak_detected";
          on_response:
            then:
              - logger.log:
                  format: "Депешер: HTTP %d"
                  args: ["response->status_code"]
          on_error:
            then:
              - logger.log: "Депешер: запрос не выполнен"

button:
  - platform: template
    name: "Проверка Депешера"
    on_press:
      - script.execute: depesher_leak

В secrets.yaml ESPHome добавьте:

yaml
depesher_url: "https://depesher.ru/w/ВАШ_PUBLIC_ID"
depesher_authorization: "Bearer ВАШ_ТОКЕН"

Поля request_headers, json и обработчики ответа сверены с HTTP Request ESPHome. Lambda json позволяет передать числа и boolean с правильными типами. Проверка сертификата должна оставаться включённой; при ошибке TLS проверьте настройки сети, framework и сертификатов для установленной версии.

Проверьте конфигурацию и плату ​

  1. Выполните Validate в ESPHome либо esphome config device.yaml, где device.yaml — ваш файл. Затем соберите и установите прошивку штатным способом.
  2. Нажмите «Проверка Депешера» в интерфейсе устройства/Home Assistant, если устройство подключено к нему.
  3. В логах ESPHome ожидайте Депешер: HTTP 202.
  4. В истории канала и у получателя должен появиться текст:
text
Датчик: kitchen-water
Событие: leak_detected

on_error сообщает о невозможности выполнить запрос. Полученный HTTP 401/413/429 тоже нужно обрабатывать, но он виден в on_response. Их значения — в HTTP-справке.

Подключите настоящее событие ​

В существующем binary_sensor датчика протечки добавьте on_press с вызовом script.execute: depesher_leak. Выбор GPIO, тип датчика и фильтры задаются конфигурацией оборудования. Повторно объявлять тот же датчик не нужно. Возможности триггеров описаны в Binary Sensor ESPHome.

Для восстановления создайте второй скрипт с event.type = restored и вызовите его в on_release. Разные важности задайте правилами, как в температурном рецепте. Скрипт single защищает лишь от одновременных запусков: дребезг, повторы и хранение неотправленных событий организует ваша прошивка.

Конфигурация требует проверки на вашей плате: совместимость датчика, память и сеть зависят от оборудования. Депешер получает готовое событие и не определяет протечку по показаниям самостоятельно.