Извините, ваш браузер не поддерживает JavaScript!
Войти

Управление реле в Home Assistant с использованием данных о мощности в реальном времени

Управление реле в Home Assistant с использованием данных о мощности в реальном времени

Home Assistant может использовать измеряемую энергометром мощность в реальном времени для управления реле, умной розеткой или контактором. Это создает простую замкнутую автоматизацию: счетчик предоставляет обратную связь, Home Assistant применяет логику управления, а коммутационное устройство управляет нагрузкой.

В этом примере используется энергометр IAMMETER по Modbus TCP и умная розетка Sonoff S26, но та же логика может применяться с устройством ESPHome, реле Tasmota или другим выключателем, уже интегрированным с Home Assistant.

В примере реле включается только после того, как измеренная мощность остается выше 1000 Вт, и выключается, когда мощность падает ниже 500 Вт. Разрыв между двумя порогами предотвращает частое включение/выключение при колебаниях показаний около одного значения.

Это пример автоматизации, а не руководство по установке Modbus. Сначала настройте счетчик, следуя руководству по настройке энергометра Modbus TCP для Home Assistant.

Как работает контур управления на основе мощности

Система состоит из трех частей:

  1. Датчик: энергометр предоставляет данные об активной мощности в реальном времени.
  2. Контроллер: Home Assistant сравнивает это значение с настроенными порогами.
  3. Исполнительное устройство: реле, умная розетка или правильно подобранный контактор переключает целевую нагрузку.

Подключение реле управления мощностью Home Assistant

В исходном тесте:

  • IAMMETER предоставлял сущность мощности Modbus;
  • Sonoff S26 выступал в роли управляемого выключателя;
  • электрочайник использовался для создания легко заметного изменения измеряемой нагрузки;
  • Home Assistant оценивал показания мощности и управлял выключателем.

Посмотреть оригинальное демонстрационное видео.

Перед созданием автоматизации

Убедитесь, что следующие сущности уже существуют в Home Assistant:

  • датчик активной мощности, например sensor.iammeter_active_power;
  • управляемый выключатель, например switch.sonoff_s26.

Датчик мощности должен:

  • сообщать активную мощность в ваттах;
  • надежно обновляться по локальной сети;
  • использовать понятное для вас соглашение о знаках;
  • переходить в состояние unavailable, когда счетчик недоступен для чтения, а не бесконечно сохранять старое значение.

Для интеграции IAMMETER HACS Modbus интервал сканирования настраивается и по умолчанию составляет 3 секунды. Интервала 3–5 секунд обычно достаточно для такого типа автоматизации. Интервал в одну секунду может использоваться при реальной необходимости, но это не требуется для надежного управления.

Все текущие энергометры IAMMETER поддерживают Modbus TCP. Подходящая модель зависит от электрической системы и количества измерительных каналов:

Модель Типичное применение
WEM3080 Однофазная цепь или мониторинг сети
WEM2067 Двухканальный однофазный домашний или солнечный мониторинг
WEM3080T Трехфазный мониторинг
WEM3050T Трехфазный или расщепленный домашний мониторинг
WEM3046T / WEM3046TE Внешние установки с трансформаторами тока 5 А

Почему два порога лучше одного

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

Вместо этого используйте гистерезис:

  • включить выше 1000 Вт;
  • выключить ниже 500 Вт.

Между 500 Вт и 1000 Вт Home Assistant сохраняет текущее состояние выключателя. Эта мертвая зона в 500 Вт обеспечивает стабильность.

Пороги в этом примере являются иллюстративными. Выбирайте значения на основе:

  • значения и знака измеряемой мощности;
  • номинальной мощности нагрузки;
  • доступного избытка солнечной энергии, если применимо;
  • приемлемой частоты переключения;
  • требований электробезопасности и безопасности оборудования.

Автоматизация 1: Включение реле выше верхнего порога

Следующая автоматизация включает выключатель только тогда, когда мощность остается выше 1000 Вт в течение 10 секунд:

alias: Power control - turn relay on
description: Turn on the relay after measured power stays above 1000 W
triggers:
  - trigger: numeric_state
    entity_id: sensor.iammeter_active_power
    above: 1000
    for: "00:00:10"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "off"
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.sonoff_s26
mode: single

Замените оба идентификатора сущностей на сущности из вашей установки Home Assistant.

Период for в 10 секунд отфильтровывает кратковременные скачки. Он должен быть, как правило, длиннее интервала сканирования счетчика, чтобы решение основывалось более чем на одном обновлении.

Автоматизация 2: Выключение реле ниже нижнего порога

Вторая автоматизация использует нижний порог в 500 Вт:

alias: Power control - turn relay off
description: Turn off the relay after measured power stays below 500 W
triggers:
  - trigger: numeric_state
    entity_id: sensor.iammeter_active_power
    below: 500
    for: "00:00:10"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "on"
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.sonoff_s26
mode: single

Теперь две автоматизации работают как простой контроллер состояния:

Измеренная мощность Результат
Выше 1000 Вт в течение 10 секунд Включить реле
Между 500 Вт и 1000 Вт Сохранить текущее состояние
Ниже 500 Вт в течение 10 секунд Выключить реле

Автоматизация 3: Безопасное выключение при недоступности данных счетчика

Контур управления должен иметь определенное состояние отказа. Если счетчик или сеть становятся недоступными, пока нагрузка включена, Home Assistant не должен предполагать, что последнее показание все еще действительно.

Для нагрузки, которая должна отключаться при отказе, добавьте эту автоматизацию:

alias: Power control - fail safe off
description: Turn off the relay if the power sensor becomes unavailable
triggers:
  - trigger: state
    entity_id: sensor.iammeter_active_power
    to: "unavailable"
    for: "00:00:30"
  - trigger: state
    entity_id: sensor.iammeter_active_power
    to: "unknown"
    for: "00:00:30"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "on"
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.sonoff_s26
mode: single

Является ли «выключено» правильным безопасным состоянием, зависит от применения. Определите поведение при отказе перед использованием этого шаблона с системами отопления, насосами, зарядкой, охлаждением или другими важными нагрузками.

Настройка той же логики в интерфейсе Home Assistant

Если вы предпочитаете редактор автоматизаций:

  1. Перейдите в Settings → Automations & scenes.
  2. Создайте новую автоматизацию.
  3. Выберите Numeric state в качестве триггера.
  4. Выберите сущность активной мощности IAMMETER.
  5. Установите Above 1000 и продолжительность 10 секунд.
  6. Добавьте текущее состояние off выключателя в качестве условия.
  7. Добавьте Switch: Turn on в качестве действия.
  8. Сохраните и включите автоматизацию.
  9. Создайте соответствующую автоматизацию выключения с Below 500.

Выберите сущность мощности Modbus в качестве триггера автоматизации Home Assistant

Настройка верхнего порога мощности

Настройка нижнего порога мощности

Точные названия могут различаться в зависимости от версии Home Assistant, но логика такая же, как в примерах YAML.

Безопасное тестирование автоматизации

Тестируйте каждую часть отдельно, прежде чем разрешить автоматическое переключение:

  1. Убедитесь, что сущность мощности изменяется в Developer tools → States.
  2. Вручную включите и выключите реле из Home Assistant.
  3. Временно используйте тестовые пороги, которые можно предсказуемо достичь.
  4. Подтвердите порог включения и задержку.
  5. Подтвердите порог выключения и задержку.
  6. Временно отключите или заблокируйте счетчик и проверьте ожидаемое поведение при отказе.
  7. Просмотрите трассировки автоматизации на предмет неожиданных триггеров.

Панель управления Home Assistant, использовавшаяся в оригинальном эксперименте по управлению реле

В исходном тесте включение чайника увеличивало измеряемую мощность до приблизительно 1596 Вт, что выше верхнего порога. Выключение чайника снижало ее до примерно 64 Вт, что ниже нижнего порога. Два порога делали результирующее состояние реле легко наблюдаемым.

Адаптация примера для управления избытком солнечной энергии

Тот же шаблон может управлять гибкой нагрузкой при наличии избыточной солнечной энергии, но сначала проверьте соглашение о знаках сетевой мощности.

Например, одна система может сообщать:

  • положительную мощность при импорте из сети;
  • отрицательную мощность при экспорте в сеть.

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

Версия для солнечного избытка обычно требует:

  • минимальный порог экспорта перед включением;
  • более низкий порог экспорта или порог импорта из сети для выключения;
  • более длительную задержку для игнорирования кратковременных колебаний, связанных с облачностью;
  • минимальное время включения/выключения, соответствующее управляемому прибору;
  • действие при отказе, когда данные счетчика недоступны.

Для пропорционального управления нагревом воды, а не простым включением/выключением, см. решение IAMMETER для автоматизации солнечной энергии.

Электрическая и эксплуатационная безопасность

Автоматизация Home Assistant не изменяет электрические характеристики умной розетки или реле.

  • Не коммутируйте нагрузку, превышающую номинальные параметры устройства по напряжению, току или мощности.
  • Учитывайте пусковые токи для двигателей, насосов, компрессоров и некоторых источников питания.
  • Используйте правильно подобранный контактор, если умное реле должно управлять более мощной цепью косвенно.
  • Соблюдайте местные электротехнические нормы и при необходимости привлекайте квалифицированного электрика.
  • Избегайте частого цикличного переключения нагревателей, компрессоров, зарядных устройств для электромобилей и другого оборудования с требованиями минимального времени работы.
  • Предусмотрите ручное отключение и решите, что должно происходить после перезапуска Home Assistant.

Устранение неполадок

Значение мощности обновляется, но автоматизация не срабатывает

  • Проверьте идентификатор сущности в автоматизации.
  • Убедитесь, что значение является числовым и измеряется в ваттах.
  • Помните, что триггер числового состояния срабатывает при пересечении порога и соблюдении длительности; он не срабатывает повторно, если значение уже выше или ниже порога.
  • Проверьте трассировку автоматизации.

Реле переключается слишком часто

  • Увеличьте разрыв между порогами включения и выключения.
  • Увеличьте длительность for.
  • Используйте более длинный интервал сканирования Modbus, если реакция на уровне секунд не требуется.
  • Добавьте минимальное время включения/выключения для прибора.

Реле реагирует в неправильном направлении

  • Проверьте, представляет ли сущность мощность нагрузки, импорт из сети или экспорт в сеть.
  • Проверьте соглашение о положительной/отрицательной мощности.
  • Убедитесь, что используется правильная фаза или канал.

Сущность Modbus становится недоступной

Связанные руководства Home Assistant

Обновлено: 19 июля 2026 г.

Наверх