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

Home Assistant — протечка и восстановление ​

Home Assistant обнаруживает изменение датчика воды и отправляет событие в Депешер. Депешер оформляет JSON и доставляет его выбранным получателям. Пример использует синтаксис Home Assistant 2026.10; названия сущностей замените своими.

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

Создайте канал по IoT-инструкции, включите защиту токеном и настройте получение. Задайте ему текстовый шаблон:

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

Настройте REST-команду ​

В secrets.yaml рядом с конфигурацией Home Assistant добавьте свои значения:

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

В существующий configuration.yaml добавьте или дополните раздел rest_command:

yaml
rest_command:
  depesher_event:
    url: !secret depesher_url
    method: POST
    headers:
      Authorization: !secret depesher_authorization
    content_type: "application/json; charset=utf-8"
    verify_ssl: true
    timeout: 15
    payload: >-
      {{ {"site": {"name": "Дом"},
          "device": {"id": "kitchen-water"},
          "event": {"type": event_type}} | to_json }}

Внешний шаблон вычисляется Home Assistant и сериализует JSON; подстановки шаблона Депешера применяются после приёма. Возможности команды и секретов описаны в RESTful Command и Storing secrets.

Проверьте конфигурацию штатными средствами Home Assistant и примените её перезапуском. Не создавайте второй одноимённый раздел YAML поверх существующего.

Добавьте автоматизацию ​

Если configuration.yaml уже подключает automations.yaml, добавьте в этот файл элемент списка:

yaml
- id: depesher_kitchen_water
  alias: "Депешер: вода на кухне"
  triggers:
    - trigger: state
      entity_id: binary_sensor.kitchen_water
      from: "off"
      to: "on"
      id: leak_detected
    - trigger: state
      entity_id: binary_sensor.kitchen_water
      from: "on"
      to: "off"
      id: restored
  actions:
    - action: rest_command.depesher_event
      data:
        event_type: "{{ trigger.id }}"
      response_variable: depesher_response
  mode: queued

Переход off → on означает протечку, on → off — восстановление. Переходы из unknown/unavailable этим примером не обрабатываются; отдельный стартовый контроль состояния настраивайте в Home Assistant. Это следует из модели state-trigger.

Проверьте отправку ​

  1. В инструментах разработчика Home Assistant вызовите действие rest_command.depesher_event с event_type: leak_detected, затем с event_type: restored.
  2. Ожидайте HTTP 202. После запуска автоматизации код доступен в depesher_response.status её трассы; сетевые ошибки смотрите в журнале Home Assistant.
  3. Найдите два новых сообщения в Депешере и проверьте внешнее получение.
  4. Затем безопасно проверьте настоящий переход датчика и трассу автоматизации.

Первое уведомление:

text
Объект: Дом
Событие: leak_detected
Датчик: kitchen-water

Для разных важностей подключите правило event.type равно строке leak_detected → «Критично», второе restored → «Информация», default → неизвестное событие без классификации. Шаблон и маршрут можно наследовать. Настройка веток показана в рецепте температуры.

Автоматизация отправляет событие при переходе, а не при каждом чтении воды. Частые колебания, повторные попытки и недоступность Home Assistant нужно обрабатывать на стороне автоматизации. Депешер не обнаруживает молчание датчика самостоятельно. Ошибки HTTP — в справке.