Home Assistant може показувати дані Power Trace поруч зі своїми пристроями. Окремої інтеграції поки немає, але є простий шлях: Power Trace віддає поточні виміри за адресою /live, а Home Assistant читає їх REST-сенсорами. Саму панель Power Trace можна вбудувати в Home Assistant як окрему сторінку. Усе налаштовується одним блоком YAML і кількома кліками.
Що потрібно: Power Trace працює і збирає дані; Home Assistant у тій самій мережі (або обидва в Tailscale); доступ до configuration.yaml — найзручніше через застосунок File editor (Налаштування → Застосунки → Встановити додаток).
Відкрийте в браузері на тому ж комп’ютері, з якого відкриваєте Home Assistant:
Має з’явитися текст JSON із "online": true і вимірами: power, voltage, current, pf, freq_hz, relay.
192.168.0.200, а не ім’я: не кожен пристрій знає ім’я без крапки на кшталт powertrace. На Raspberry Pi адресу покаже команда hostname -I — беріть ту, що з вашої локальної мережі.
Відкрийте 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
rest: стоїть без відступу, а - resource: має рівно два пробіли.
- Налаштування → Інструменти → 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.
Графіки, епізоди й аналіз Power Trace стандартними картками Home Assistant не відтворити, але саму панель можна додати як окрему сторінку:
- Налаштування → Інформаційні панелі → Додати інформаційну панель (або адреса
/config/lovelace/dashboards) - Оберіть Веб-сторінка
- URL:
http://<адреса Power Trace>:8000/index.html - Назва Power Trace, значок
mdi:flash; щоб пункт був у бічному меню, лишіть показ на бічній панелі увімкненим
У /live лічильника кВт·год немає, але Home Assistant може порахувати енергію з потужності:
- Налаштування → Пристрої та сервіси → Помічники → Створити помічника → Інтегральний датчик (або адреса
/config/helpers) - Вхідний датчик
sensor.powertrace_power, Метод інтеграції — «Правило трапеції», Метричний префікс —k, Одиниця часу — «Години» - Адреса
/config/energy→ блок Електрична мережа → Додати з’єднання до мережі → оберіть створений сенсор
Стовпчики з’являться після завершення першої повної години. У нашій перевірці за годину вийшло 92 Вт·год проти 91 у Power Trace; при різких змінах навантаження різниця може бути більшою. Точна енергія — у самому Power Trace.
Лічильник живиться від тієї ж мережі, тож без світла він замовкає, і сенсори з кроку 2 стають «невідомо». На цьому можна побудувати автоматизацію: потужність «невідома» 5 хвилин — світла немає; число повернулось — світло з’явилось. Правити configuration.yaml не треба.
- Налаштування → Автоматизації та сцени → Додати автоматизацію → Створити нову автоматизацію, далі ⋮ → Редагувати YAML.
- Замініть вміст блоком нижче й збережіть.
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 }} хв
persistent_notification.create на notify.mobile_app_<назва_телефона>, наприклад notify.mobile_app_pixel_8.
Тоді вбудована панель з http://-адресою не завантажиться: Home Assistant сам напише, що не може показати iframe з http. Потрібна https-адреса Power Trace. Найпростіше отримати її через Tailscale — і для Power Trace, і для Home Assistant, якщо в нього https ще немає:
- На машині з Power Trace увімкніть
tailscale serve --bg http://127.0.0.1:8000(на Raspberry Pi — черезsudo), див. посібник Tailscale. Power Trace стане доступний якhttps://<ім’я>.<ваш tailnet>.ts.net. - Якщо в Home Assistant https ще немає: Налаштування → Застосунки → Встановити додаток → Tailscale, у його конфігурації в «Share Home Assistant with Serve or Funnel» оберіть serve і збережіть. Поки що не запускайте.
- Налаштування → Система → Мережа → HTTP-сервер → Зворотний проксі (або адреса
/config/network): увімкніть Довіряти X-Forwarded-For, у Довірені проксі додайте127.0.0.1, натисніть Зберегти → Зберегти та перезапустити. Після перезапуску підтвердьте нові налаштування, інакше за кілька хвилин Home Assistant поверне старі. - Запустіть застосунок Tailscale і підтвердьте вхід за посиланням з його журналу. Home Assistant стане доступний як
https://homeassistant.<ваш tailnet>.ts.net. - У веб-сторінці Power Trace (крок 4) вкажіть URL
https://<ім’я Power Trace>.<ваш tailnet>.ts.net/index.html.
http: у configuration.yaml сучасні версії Home Assistant ігнорують. І не обирайте funnel: він відкриває Home Assistant в інтернет.
.ts.net відкриваються лише на пристроях у вашій мережі Tailscale. REST-сенсори (крок 2) від цього не залежать: запити до /live робить сам Home Assistant, тож http-адреса там лишається.
- Працює в межах домашньої мережі: пристрій, на якому ви дивитесь 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 і автовиявленням? Напишіть нам — так ми зрозуміємо, чи варто її робити.