🏠 Home Assistant — руководство по подключению

Мониторинг энергопотребления в реальном времени
Power Trace в Home Assistant

Home Assistant может показывать данные Power Trace рядом со своими устройствами. Отдельной интеграции пока нет, но есть простой путь: Power Trace отдаёт текущие измерения по адресу /live, а Home Assistant читает их REST-сенсорами. Саму панель Power Trace можно встроить в Home Assistant как отдельную страницу. Всё настраивается одним блоком YAML и несколькими кликами.

Что нужно: Power Trace работает и собирает данные; Home Assistant в той же сети (или оба в Tailscale); доступ к configuration.yaml — удобнее всего через приложение File editor (Настройки → Приложения → Установить приложение).

1
🔌 Проверьте, что Home Assistant видит Power Trace

Откройте в браузере на том же компьютере, с которого открываете Home Assistant:

http://<адрес Power Trace>:8000/live

Должен появиться текст JSON с "online": true и измерениями: power, voltage, current, pf, freq_hz, relay.

💡 Запишите IP-адрес Power Trace — он понадобится на следующем шаге. Лучше именно IP, например 192.168.0.200, а не имя: не каждое устройство знает имя без точки вроде powertrace. На Raspberry Pi адрес покажет команда hostname -I — берите тот, что из вашей локальной сети.
2
📝 Добавьте сенсоры в configuration.yaml

Откройте configuration.yaml (в File editor: значок папки → configuration.yaml) и добавьте в конец файла блок ниже. Если секция rest: в файле уже есть, добавьте элемент в неё, а не вторую такую же секцию.

⚠ Замените 192.168.0.200 на IP-адрес своего Power Trace из шага 1. В блоке он подсвечен — это единственное, что нужно изменить. С чужим адресом сенсоры будут «недоступны».
rest:
  - resource: http://192.168.0.200:8000/live
    scan_interval: 10
    sensor:
      - name: "PowerTrace power"
        value_template: "{{ value_json.power | float(none) }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
      - name: "PowerTrace voltage"
        value_template: "{{ value_json.voltage | float(none) }}"
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement
      - name: "PowerTrace current"
        value_template: "{{ value_json.current | float(none) }}"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement
      - name: "PowerTrace power factor"
        value_template: "{{ value_json.pf | float(none) }}"
        device_class: power_factor
        state_class: measurement
      - name: "PowerTrace frequency"
        value_template: "{{ value_json.freq_hz | float(none) }}"
        unit_of_measurement: "Hz"
        device_class: frequency
        state_class: measurement
    binary_sensor:
      - name: "PowerTrace relay"
        value_template: "{{ (value_json.relay or {}).on | default(false) }}"
        device_class: power
💡 Отступы в YAML значимы: по два пробела на уровень, без табуляции. После вставки проверьте, что rest: стоит без отступа, а - resource: имеет ровно два пробела.
3
🔄 Проверьте конфигурацию и перезапустите
  • Настройки → Инструментарий → YAML → Проверить конфигурацию (или адрес /config/tools/yaml). Должно появиться «Конфигурация не помешает запуску Home Assistant.».
  • Там же нажмите Перезапустить → Перезапуск Home Assistant. Даже без проверки это безопасно: с ошибкой в конфигурации Home Assistant не перезапустится и покажет её.
  • Инструментарий → Состояния, в фильтре введите powertrace.
✅ Должны появиться шесть сущностей: sensor.powertrace_power, _voltage, _current, _power_factor, _frequency и binary_sensor.powertrace_relay — с теми же значениями, что на панели Power Trace.
4
🖥 Встройте панель Power Trace

Графики, эпизоды и анализ Power Trace стандартными карточками Home Assistant не воспроизвести, но саму панель можно добавить как отдельную страницу:

  1. Настройки → Панели → Добавить панель (или адрес /config/lovelace/dashboards)
  2. Выберите Веб-страница
  3. URL: http://<адрес Power Trace>:8000/index.html
  4. Название Power Trace, значок mdi:flash; чтобы пункт был в боковом меню, оставьте показ на боковой панели включённым
✅ В боковом меню Home Assistant появится пункт Power Trace с полной панелью внутри.
⚡
Если нужна энергия на панели «Энергия»

В /live счётчика кВт·ч нет, но Home Assistant может посчитать энергию из мощности:

  1. Настройки → Устройства и службы → Вспомогательное → Создать вспомогательный объект → Интегральный сенсор (или адрес /config/helpers)
  2. Исходный сенсор sensor.powertrace_power, Метод интеграции — «Метод трапеций», Префикс метрики — k, Единица времени — «Часы»
  3. Адрес /config/energy → блок Электрическая сеть → Добавить подключение к сети → выберите созданный сенсор

Столбцы появятся после окончания первого полного часа. В нашей проверке за час вышло 92 Вт·ч против 91 в Power Trace; при резких изменениях нагрузки разница может быть больше. Точная энергия — в самом Power Trace.

⚠ Если в «Электрической сети» уже есть другой источник для того же счётчика, Home Assistant их сложит, и потребление будет удвоено. Оставьте один.
🔔
Уведомления об отключении света

Счётчик питается от той же сети, поэтому без света он замолкает, и сенсоры из шага 2 становятся «неизвестно». На этом можно построить автоматизацию: мощность «неизвестна» 5 минут — света нет; число вернулось — свет появился. Править configuration.yaml не нужно.

  1. Настройки → Автоматизации и сцены → Создать автоматизацию → Создать новую автоматизацию, затем ⋮ → Текстовый редактор.
  2. Замените содержимое блоком ниже и сохраните.
alias: "Power Trace: свет пропал / появился"
mode: queued
triggers:
  - trigger: state
    entity_id: sensor.powertrace_power
    to: [unknown, unavailable]
    for: { minutes: 5 }
    id: lost
  - trigger: state
    entity_id: sensor.powertrace_power
    from: [unknown, unavailable]
    id: back
actions:
  - choose:
      - conditions: [{ condition: trigger, id: lost }]
        sequence:
          - action: persistent_notification.create
            data:
              notification_id: powertrace_power
              title: Power Trace
              message: >-
                ⚡ Свет пропал в {{ as_local(trigger.to_state.last_changed).strftime('%H:%M') }}
                (или счётчик выпал из Wi-Fi)
      - conditions:
          - { condition: trigger, id: back }
          - condition: template
            value_template: >-
              {{ (trigger.to_state.last_changed - trigger.from_state.last_changed).total_seconds() >= 300 }}
        sequence:
          - action: persistent_notification.create
            data:
              notification_id: powertrace_power
              title: Power Trace
              message: >-
                ✅ Свет появился в {{ as_local(trigger.to_state.last_changed).strftime('%H:%M') }},
                не было {{ ((trigger.to_state.last_changed - trigger.from_state.last_changed).total_seconds() / 60) | round(0) | int }} мин
📱 Так сообщения появляются в уведомлениях самого Home Assistant (колокольчик). Чтобы они приходили на телефон, установите приложение Home Assistant Companion и в обоих местах замените persistent_notification.create на notify.mobile_app_<имя_телефона>, например notify.mobile_app_pixel_8.
⏱ Сенсор становится «неизвестно» примерно через 2 минуты после последнего измерения — столько Power Trace ждёт, прежде чем считать данные устаревшими. Поэтому время «пропал» здесь немного позже настоящего, а длительность короче: в одной нашей проверке Home Assistant написал «не было 8 мин», а Power Trace — «11 мин». Точное время и длительность дают уведомления Power Trace.
✅ Проверено, выключив реле рубильником на 11 минут: оба сообщения пришли.
🔒
Если Home Assistant открывается через https

Тогда встроенная панель с http://-адресом не загрузится: Home Assistant сам напишет, что не может показать iframe с http. Нужен https-адрес Power Trace. Проще всего получить его через Tailscale — и для Power Trace, и для Home Assistant, если у него https ещё нет:

  1. На машине с Power Trace включите tailscale serve --bg http://127.0.0.1:8000 (на Raspberry Pi — через sudo), см. руководство по Tailscale. Power Trace станет доступен как https://<имя>.<ваш tailnet>.ts.net.
  2. Если у Home Assistant https ещё нет: Настройки → Приложения → Установить приложение → Tailscale, в его конфигурации в «Share Home Assistant with Serve or Funnel» выберите serve и сохраните. Пока не запускайте.
  3. Настройки → Система → Сеть → HTTP-сервер → Обратный прокси (или адрес /config/network): включите Доверять X-Forwarded-For, в Доверенные прокси добавьте 127.0.0.1, нажмите Сохранить → Сохранить и перезапустить. После перезапуска подтвердите новые настройки, иначе через несколько минут Home Assistant вернёт старые.
  4. Запустите приложение Tailscale и подтвердите вход по ссылке из его журнала. Home Assistant станет доступен как https://homeassistant.<ваш tailnet>.ts.net.
  5. В веб-странице Power Trace (шаг 4) укажите URL https://<имя Power Trace>.<ваш tailnet>.ts.net/index.html.
⚠ Порядок важен: без шага 3 приложение Tailscale останавливается с ошибкой «Unable to connect to Home Assistant as reverse proxy». Эти настройки задаются именно в интерфейсе — блок http: в configuration.yaml современные версии Home Assistant игнорируют. И не выбирайте funnel: он открывает Home Assistant в интернет.
✅ Проверено: панель Power Trace работает внутри Home Assistant, открытого через https. Оба адреса .ts.net открываются только на устройствах в вашей сети Tailscale. REST-сенсоры (шаг 2) от этого не зависят: запросы к /live делает сам Home Assistant, поэтому http-адрес там остаётся.
i
Ограничения
  • Работает в пределах домашней сети: устройство, на котором вы смотрите Home Assistant, должно видеть Power Trace. Вне дома — только через Tailscale.
  • Если Home Assistant открывается через https://, встраивайте Power Trace по https-адресу — см. раздел выше.
  • Коллектор обновляет измерения примерно раз в минуту, поэтому опрашивать чаще нет смысла.
  • Когда Power Trace офлайн, числовые сенсоры становятся «неизвестно», а состояние реле показывает «выключено».
  • Отдельной интеграции или MQTT с автообнаружением пока нет.
?
Если не работает

Сенсоры «недоступны». Чаще всего в блоке остался адрес из примера. Проверьте адрес и сеть: откройте /live с машины Home Assistant. На запросы по публичному имени Power Trace отвечает 403 — используйте IP-адрес, имя .local, .lan или имя из Tailscale.

Вместо панели — сообщение про http. Home Assistant открыт через https:// — см. раздел про https.

Ошибка конфигурации. Чаще всего — отступы в YAML или вторая секция rest:.

Нужна интеграция с MQTT и автообнаружением? Напишите нам — так мы поймём, стоит ли её делать.