⚙ Посібник з конфігурації

Моніторинг енергоспоживання в реальному часі
📖 Перед початком

Power Trace — система моніторингу енергоспоживання в реальному часі, яка відстежує витрату електрики через сумісне з Tuya смарт-реле (наприклад, ATORCH GR2PWS або будь-який пристрій із підтримкою Tuya Local Protocol). Працює на вашому власному комп’ютері: виміри не йдуть у жодну хмару, а постійний інтернет програмі не потрібен. Хмара Tuya знадобиться лише раз, щоб отримати ключ приладу.

Що потрібно
1
Сумісне з Tuya реле, під’єднане до Wi-Fi. Пристрій має бути вже прив’язаний до домашньої мережі через застосунок Tuya або Smart Life. Опинившись у Wi-Fi, він доступний у локальній мережі за певною IP-адресою.
2
Акаунт Smart Life або Tuya IoT Platform (не обов’язково, але бажано). Найпростіше увійти через QR-код у застосунку Smart Life: Power Trace сам отримає Device ID і Local Key. Запасний шлях — безплатний акаунт розробника на iot.tuya.com. Якщо ці дані у вас уже є, їх можна ввести вручну.
3
Ваш тариф на електроенергію. Щоб рахувати вартість, потрібна ціна за кіловат-годину з вашого рахунку. Якщо тариф двозонний (день/ніч), знадобляться обидві ставки та межі їхніх періодів.
✅ З чого почати: заповніть розділ Прилад (вручну або автоматично: входом через Smart Life чи пошуком приладів у розділі Хмара Tuya), заповніть Тарифікація і натисніть Зберегти налаштування: колектор підхопить зміни сам. Усе інше необов’язкове.
🌐 Мова й регіон

Мова інтерфейсу та мова назв місяців на графіках. У Налаштуваннях цей розділ стоїть першим.

Мова інтерфейсу

Задає мову всього інтерфейсу — панелі, налаштувань, правил, звіту аналізу й меню в треї. Список показує кожен пакет, знайдений у теці lang/ програми; додати мову означає покласти туди JSON-файл, без жодного перезбирання. Пакет, перекладений частково, показує свій прогрес у списку, а кожен відсутній у ньому ключ береться з англійської. Збереження перезавантажує сторінку.

Мова місяців і дат

Задається окремо від мови інтерфейсу, і це навмисно: вона керує мовою назв місяців на осях графіків і в підказках, а це часто не одне й те саме. Введіть тег локалі у стандартному вигляді мова-РЕГІОН — uk-UA, de-DE, en-US (формат IETF BCP 47). Перегляд поруч із полем показує всі 12 назв місяців одразу.

Тег локалі Мова Назви місяців (січ → груд)
en-US англійська Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
uk-UA українська Січ · Лют · Бер · Кві · Тра · Чер · Лип · Сер · Вер · Жов · Лис · Гру
de-DE німецька Jan · Feb · Mär · Apr · Mai · Jun · Jul · Aug · Sep · Okt · Nov · Dez
fr-FR французька janv. · févr. · mars · avr. · mai · juin · juil. · août · sept. · oct. · nov. · déc.
zh-CN китайська (спрощена) 1月 · 2月 · 3月 · 4月 · 5月 · 6月 · 7月 · 8月 · 9月 · 10月 · 11月 · 12月
☁ Хмара Tuya

Цей розділ потрібен, щоб автоматично отримати Device ID, IP-адресу та Local Key вашого реле з хмари Tuya. Якщо ці дані у вас уже є, пропустіть розділ і переходьте одразу до Прилад. Є два способи: вхід через QR-код у застосунку Smart Life (простіший) або ключі API з iot.tuya.com.

Простіший спосіб: вхід через Smart Life (QR-код)

Не хочете створювати проєкт на iot.tuya.com? Прилад і його Local Key можна отримати, увійшовши через застосунок Smart Life, так само, як це робить Home Assistant. Спосіб експериментальний: Tuya може його змінити, тоді скористайтеся ключами API нижче.

1
У Smart Life відкрийте Me → Settings → Account and Security → User Code і скопіюйте код.
2
У налаштуваннях Power Trace в розділі Вхід через Smart Life введіть User Code (лише латинські літери й цифри) і натисніть Показати QR-код.
3
У Smart Life натисніть значок сканера на головному екрані, зіскануйте код і підтвердьте вхід.
4
Power Trace отримає прилади з вашого акаунта й просканує локальну мережу. З’явиться той самий список, що й після Знайти прилади: оберіть реле кнопкою Обрати цей прилад.
🔒 Токен входу живе кілька хвилин у пам’яті й нікуди не зберігається; на диск потрапляє лише зашифрований Local Key обраного приладу. Для цього способу Access ID і Secret не потрібні.
Як отримати ключі API на iot.tuya.com
1
Перейдіть на iot.tuya.com і створіть безплатний акаунт або увійдіть тими самими даними, що й у застосунку Tuya / Smart Life на телефоні.
2
У розділі Cloud → Development, натисніть Create Cloud Project. Дайте будь-яку назву, оберіть тип Smart Home, і виберіть регіон дата-центру, що збігається з регіоном вашого акаунта Tuya.
3
На сторінці огляду проєкту побачите Access ID та Access Secret. Скопіюйте їх у відповідні поля в налаштуваннях Power Trace.
4
У налаштуваннях проєкту відкрийте Devices → Link Tuya App Account і під’єднайте свій акаунт Tuya / Smart Life. Ваші пристрої стануть видимими в проєкті.
5
Поверніться в налаштування Power Trace, введіть Access ID, Access Secret, оберіть регіон і натисніть 🔍 Знайти прилади. Power Trace отримає ваші пристрої з хмари й одночасно просканує локальну мережу, щоб знайти їхні IP-адреси.
Access ID
Ідентифікатор вашого Cloud-проєкту на iot.tuya.com. Довгий буквено-цифровий рядок, наприклад p7n8fk3x2q...
Access Secret
Секретний ключ проєкту. Зберігається зашифрованим — поле показує маску ••••XXXX. Натисніть кнопку 👁, щоб тимчасово показати його.
Регіон дата-центру, який ви обрали під час створення акаунта Tuya. Найчастіше це Європа (eu). Якщо сканування повертає помилку, спробуйте інший регіон.
🔒 Access Secret зберігається в зашифрованому файлі (secret.key) на вашому комп’ютері й ніколи не надсилається нікуди, окрім серверів Tuya під час сканування.
📟 Прилад

Основний розділ. Без заповнення цих полів колектор не з’єднається з реле й дані не збиратимуться. Якщо ви скористались скануванням Tuya Cloud і натиснули Обрати цей прилад, більшість полів заповниться автоматично.

Назва приладу
Назва, яку ви обираєте самі. Показується в шапці панелі замість типової «Power Trace». Наприклад: Квартира, Майстерня, Щиток №2.
Device ID
Унікальний ідентифікатор вашого реле в системі Tuya. Довгий буквено-цифровий рядок, наприклад bfefafdde42999f1887ghk. Знайдете в застосунку Tuya / Smart Life або отримаєте через сканування хмари.
IP-адреса
Локальна IP-адреса реле у вашій мережі Wi-Fi, наприклад 192.168.0.114. Потрібна для прямого локального з’єднання. Якщо сканування не знайшло IP, подивіться список клієнтів DHCP в адмінпанелі роутера або призначте пристрою статичну адресу. На Windows локальному скануванню потрібен вхідний UDP на портах 6666, 6667 і 7000; інсталятор додає правила файрволу для api.exe і collector.exe (підтвердьте запит на підвищення прав наприкінці встановлення). Якщо сканування показує пристрої, але без IP-адрес, відкрийте Брандмауер Windows Defender → Правила для вхідних підключень і видаліть правила Блокувати з іменами api чи collector — Windows створює їх, якщо у вікні «Дозволити доступ» колись натиснули «Скасувати» або дозволили лише приватні мережі, — або просто запустіть інсталятор ще раз.
Local Key
Ключ шифрування для Tuya Local Protocol. Без нього пристрій відхилятиме будь-яке з’єднання. Найпростіше отримати його входом через Smart Life за QR-кодом або скануванням хмари; усі способи — на сторінці «Як дізнатися Tuya Local Key». Зберігається зашифрованим — поле показує лише маску.

Кнопка Скопіювати ключ кладе збережений ключ у буфер обміну, наприклад для LocalTuya в Home Assistant; на екрані він не з’являється. Кнопка активна лише для вже збереженого ключа і перед копіюванням просить підтвердження, а з увімкненим паролем працює лише після входу. Кожне копіювання записується в журнал API. Якщо браузер не дає доступу до буфера, ключ на 30 с з’являється виділеним у полі — натисніть Ctrl+C.
Профіль приладу
Модель вашого пристрою. Визначає, які числа що означають у потоці даних від реле — наприклад, DPS 6 = потужність у десятих частках вата. Оберіть відповідну модель зі списку. Якщо вашої моделі немає, зверніться до документації.
Версія протоколу
Версія Tuya Local Protocol. Більшість сучасних пристроїв використовує 3.5. Якщо з’єднання не вдається, спробуйте 3.4 або 3.3. Версію зазвичай можна знайти в характеристиках пристрою.
Керування реле з панелі
Додає під навігацією панелі замок і кнопку, якою реле можна вимкнути й увімкнути (див. Панель → Керування реле). Типово вимкнено. Перемикач неактивний, якщо в профілі приладу немає реле. Поки керування вимкнене, рядка на панелі немає, а Power Trace відхиляє команди на перемикання.
💡 Після збереження нових Device ID, IP, Local Key чи версії протоколу колектор за кілька секунд сам перезапускається й під’єднується з ними.
📡 Колектор

Колектор — це фоновий процес, який з’єднується з реле й записує кожен вимір у базу одразу, щойно той приходить. Типові значення підходять для більшості випадків — змінюйте їх лише за конкретної потреби і якщо ви чітко розумієте, що робите.

⚠ Некоректні значення можуть спричинити втрату даних або збій колектора.
Вікно піку (вибірок)
Діапазон: 1–100, типово: 10. Розмір ковзного вікна для відстеження пікової потужності та струму. За такту пристрою ~60 секунд: 10 вимірів = пік за останні 10 хвилин. Більше значення — система довше пам’ятає піки.
Поріг зависання (хвилин)
Діапазон: 1–120, типово: 15. Як довго реле має бути недосяжним, перш ніж панель покаже попередження «пристрій недоступний». До досягнення цього порогу статус показує лише «перепідключення».

⟳ Перезапустити колектор

Перезапускає фоновий процес колектора. Після збереження змін у розділах Прилад, Колектор чи Відновлення з'єднання колектор за кілька секунд перезапускається сам, тож кнопка потрібна, коли колектор завис чи не може під’єднатись, або щоб перепідключитись одразу. Завжди спершу зберігайте конфігурацію — інакше перезапуск підхопить старі параметри.

🔄 Відновлення з'єднання

Керують внутрішньою логікою перепідключення колектора — як він виявляє втрачене чи мовчазне з’єднання з реле і як переходить від швидкої повторної спроби до повного сканування мережі. Типові значення підібрані під такт реле ~60 секунд і підходять для більшості випадків.

⚠ Хибні значення можуть змусити колектор перепідключатись надто агресивно або взагалі не відновлюватись після обриву. Ці налаштування читаються під час старту колектора, і після збереження він за кілька секунд перезапускається сам.
Таймаути з'єднання
Таймаут підключення (с)
Діапазон: 3–30, типово: 10. Скільки чекати відповіді пристрою на запит з’єднання чи статусу, перш ніж здатись і повторити спробу.
Таймаут підписки (с)
Діапазон: 3–30, типово: 10. Скільки чекати підтвердження пристроєм запиту на підписку push-даних.
Очікування даних
Дедлайн першого пакета (с)
Діапазон: 30–600, типово: 150. Скільки чекати перший пакет даних після підписки, перш ніж вважати з’єднання мовчазним. Реле надсилає такт приблизно раз на 60 с — тримайте значення вище за це.
Таймаут тиші потоку (с)
Діапазон: 30–600, типово: 190. Максимальна допустима тиша вже після встановленого потоку, перш ніж колектор вважатиме з’єднання втраченим і почне відновлення.
Скидання лічильників (с)
Діапазон: 30–600, типово: 180. Скільки потік має пропрацювати без перерв, щоб лічильники повторних спроб і затримок повернулись до початкових значень. Не дає нестабільному з’єднанню назавжди застрягти в ескалації.
Затримки та ескалація
Початкова затримка (с)
Діапазон: 1–60, типово: 5. Початкова затримка перед першою спробою перепідключення після збою.
Максимальна затримка (с)
Діапазон: 10–1800, типово: 15. Максимальна затримка між спробами перепідключення. Затримка подвоюється після кожного збою до цієї межі. Коротка межа означає, що після повернення світла колектор підхоплює прилад за лічені секунди. Збережене раніше значення не змінюється.
Спроб рівня 0
Діапазон: 0–10, типово: 2. Скільки разів повторити саму лише переписку на push-дані (дешево, без перепідключення), перш ніж переходити до повного перепідключення.
Пересканувати після (збоїв)
Діапазон: 1–10, типово: 3. Скільки повних невдач перепідключення поспіль, перш ніж сканувати локальну мережу в пошуках пристрою — корисно, якщо його IP-адреса змінилась (наприклад, після перезавантаження роутера з DHCP).
Жорсткий скид після (с)
Діапазон: 300–86400, типово: 1800. Скільки колектор може лишатись без з’єднання, перш ніж зробити повне внутрішнє скидання або перезапустити процес цілком, якщо він працює під наглядачем (PowerTrace у Windows, systemd у Linux / Raspberry Pi).
Сканування мережі
Сторожовий таймер сканування (с)
Діапазон: 10–120, типово: 60. Максимальний час на одну спробу сканування локальної мережі, перш ніж здатись і повернутись до звичайного розкладу затримок.
Час прослуховування (с)
Діапазон: 5–60, типово: 18. Скільки слухати широкомовні пакети пристроїв під час одного сканування мережі.

⟳ Перезапустити колектор

Та сама кнопка, що й у розділі «Колектор» вище. Після збереження колектор і так перезапускається сам, тож натискайте її лише щоб перепідключитись одразу.

🖥️ Сервер

Керує мережевим портом локального сервера API, з яким спілкуються панель і сторінка налаштувань. Більшості користувачів це чіпати не доводиться.

⚠ Будьте обережні зі зміною порту — якщо він конфліктує з іншим застосунком на цьому комп’ютері або заблокований брандмауером, сервер може не піднятись після перезапуску. Адреса панелі (а також закладки, посилання Tailscale чи правила зворотного проксі, що вказують на старий порт) перестане працювати, доки ви її не оновите.
Порт API-сервера
Діапазон: 1–65535, типово: 8000. Мережевий порт, який слухають панель і API. Змінюйте лише якщо порт 8000 уже зайнятий іншою програмою на вашому комп’ютері. Набирає чинності лише після натискання ⟳ Перезапустити сервер нижче — кнопка ⟳ Перезапустити колектор його не застосовує, і адреса панелі зміниться на новий порт після перезапуску.

Зворотний проксі — дозволені імена хостів

Power Trace відхиляє зміни конфігурації, що приходять під несподіваним іменем хоста. Це блокує DNS rebinding — атаку, коли відвіданий вами сайт змушує браузер надсилати команди пристроям у вашій домашній мережі. Локальні адреси довіряються автоматично: localhost, будь-яка приватна адреса LAN (192.168.x.x, 10.x.x.x, 172.16–31.x.x), адреси Tailscale та імена *.ts.net, а також імена *.local. Для звичайного налаштування нічого налаштовувати не треба.

Якщо ви ставите Power Trace за зворотним проксі на публічному домені, цей домен не локальний і тому типово не є довіреним. Збереження налаштувань тоді завершиться помилкою host_not_allowed. Додайте свій домен у config.yaml вручну й перезапустіть сервер:

server.allowed_hosts
Список додаткових імен хостів, яким довіряти; редагується напряму в data/config.yaml (поля для нього в налаштуваннях немає). Приклад: server: → allowed_hosts: ["power.example.com"]. Вказуйте лише ім’я хоста — без схеми й без порту. Читання панелі не блокується ніколи; блокуються тільки запити, що щось змінюють.
⚠ Перезапускає лише сервер API — колектор працює далі і продовжує збирати дані, нічого не втрачається; панель ненадовго втратить з’єднання. Для налаштувань колектора є Перезапустити колектор.
🔒 Безпека

Із коробки панель і її API відкриті для кожного пристрою у вашій мережі чи tailnet: без входу, без пароля. Для дому, де всі пристрої ваші, це нормально. Якщо ж Wi-Fi спільний з іншими людьми або ви відкриваєте панель через Tailscale з кількох пристроїв — задайте тут пароль.

🛡 Що захищає пароль. Кожну сторінку і кожен роут API — покази, історію, правила, налаштування, перезапуск і вимкнення — від усіх, зокрема й від браузера на тій самій машині, де працює Power Trace. Колектор і трей входять самі, власним токеном; ваші скрипти — з API-токеном нижче. Забули пароль — видаліть файл data/auth.json поруч із програмою і перезапустіть API: пароль знову вимкнено.
Пароль
Введіть новий пароль двічі й натисніть Задати пароль; щонайменше 8 символів (коротший пароль, заданий раніше, працює й далі). Цей браузер входить одразу. Кожен інший пристрій побачить запит пароля при наступному відкритті сторінки і лишиться авторизованим на 30 днів. Щоб змінити пароль, введіть ще й поточний — зміна виходить з усіх пристроїв, включно з загубленим телефоном. Вимкнути пароль (теж з поточним) знову відкриває панель усім.
Вийти на цьому пристрої
Завершує сесію лише в цьому браузері: наступний, хто відкриє тут панель, побачить запит пароля. Інші пристрої лишаються авторизованими. Стане в пригоді після входу на чужому комп’ютері.
API-токен для скриптів
Потрібен лише якщо до API ходять ваші власні скрипти чи інші програми (cron, Home Assistant, curl). Браузер шле cookie сесії; скрипт замість неї шле цей токен: Authorization: Bearer <token>. Показати відкриває його, Копіювати копіює, Перегенерувати робить старий недійсним, не чіпаючи пароля. Якщо з Power Trace спілкується лише панель — це поле можна не помічати.
⚠ Де подорожує пароль. Усередині мережі Tailscale весь трафік між пристроями зашифрований, хоч адреса й починається з http://. У звичайному домашньому Wi-Fi пароль іде мережею відкрито, як і будь-яка http-сторінка; для власних пристроїв удома це прийнятно, але не вводьте його з недовіреної мережі.
🧾 Тарифікація

Визначає, як рахується вартість спожитої електроенергії. Без заповнення цього розділу панель показуватиме прочерки в полях «Рахунок» і «Спожита енергія».

Часовий пояс будинку
Часовий пояс будинку
Обирається зі списку всіх часових поясів IANA. Визначається автоматично з вашого браузера при першому відкритті. Задайте його правильно, якщо користуєтесь двозонним тарифом — система за ним визначає місцевий час і відносить кожну кіловат-годину до денної чи нічної зони. У ньому ж рахуються доби й місяці та показується весь час на панелі й в Аналізі, хоч би з якого пристрою ви дивились; коли пристрій в іншому поясі, під годинником на панелі видно «Час будинку: …». Змінюйте лише якщо сервер працює в іншому місці, ніж будинок. Пояси з півгодинним і чвертьгодинним зсувом (Індія, Непал, Шрі-Ланка, Аделаїда, Ньюфаундленд та інші) і перехід на літній час враховуються. Єдиний відомий виняток — острів Лорд-Хау (Австралія), де літній час зсуває годинник на 30 хвилин: на періоді, що накриває цей перехід, години з одного його боку вирівняні на пів години повз місцевий годинник, що помітно лише на межі день/ніч і опівночі.
Режим тарифу
Однозонний — єдина ставка
Уся електроенергія тарифікується за однією ціною незалежно від часу доби.

Тариф (за кВт·год) — ціна однієї кіловат-години, наприклад 0.32 або 4,32 (приймаються і крапка, і кома).
Символ валюти — наприклад $, €, або ₴.
Двозонний — тариф за часом доби (день / ніч)
У денні та нічні години діють різні ціни.

Зона 1 (день) — Від / До: початок і кінець денної ставки, наприклад 07:00 – 23:00. Підтримується перехід через північ: якщо нічна зона перетинає опівніч, задайте зону 1 як денні години, і система заповнить зону 2 сама.

Ставка зони 1 / Ставка зони 2: ціна за кВт·год для кожної зони. Межі часу зони 2 заповнюються автоматично як доповнення зони 1.

Символ валюти спільна для обох зон.
Пороги
Поріг попередження (кВт·год на місяць)
Місячний бюджет: коли споживання за місяць його перевищує, цифри «Спожита енергія» і «Рахунок» на панелі підсвічуються жовтим. Рік порівнюється з бюджетом × 12, власний період від 28 діб — з часткою за своєю довжиною; добу, Scope і коротші періоди не підсвічено — добове споживання коливається надто сильно, щоб частка місячного бюджету щось означала.
Поріг тривоги (кВт·год на місяць)
Те саме для червоної підсвітки. Має бути більшим за поріг попередження.
🎨 Оформлення — кольори

Кольори ліній графіків, значень на картках і стовпчиків. Типові підібрані під темну тему. Кожен колір задається піпеткою або вводом HEX-коду (наприклад #4caf50). Обидва способи синхронізовані.

Показники
Потужність, напруга, струм, коефіцієнт потужності, спожита енергія, рахунок — колір лінії чи стовпчика й живого значення на кожній картці панелі.
Пороги
Попередження й тривога — кольори підсвічування, коли перевищено пороги споживання з розділу «Тарифікація».
День / Ніч
З’являється лише коли в тарифікації обрано Двозонний. Задає окремі кольори денного й нічного споживання на складених графіках енергії та рахунку. Пара Енергія — день / Енергія — ніч також фарбує кільце день / ніч на сторінці Аналіз.
🏷️ Оформлення — підписи

Усі текстові підписи інтерфейсу. Тут можна пристосувати термінологію до власних звичок — Споживання замість Спожито всього, або інший стиль одиниць.

💡 Ці поля не призначені для перекладу інтерфейсу — замість цього оберіть мовний пакет у розділі Мова й регіон вище. Лишіть поле порожнім, щоб узяти підпис із пакета; сірий текст-підказка показує, що буде вжито. У файл записуються лише ті поля, у які ви справді щось ввели config.yaml, тож вони переживуть зміну мови.
Назви показників
Назви на картках панелі та вкладках графіків: потужність, напруга, струм, коефіцієнт потужності, спожита енергія, рахунок і система (плитка з частотою мережі й температурою пристрою).
Одиниці
Одиниці вимірювання: Вт, В, А, кВт·год, Гц. Змінюйте лише для локалізації. кВт·год замість кВт·год.
Підписи
Системні підписи: наживо, мін, макс, сер. Також текст кнопки Застосувати ▸.
Керування періодом
Підписи кнопок діапазону дат: ДІАПАЗОН ДАТ, Сьогодні, Учора, Місяць, Рік, Довільний.
Осцилограф
Підписи режиму живого вікна: ОСЦИЛОГРАФ і суфікси m (хвилини) та h (години) для кнопок 30х / 1г / 2г.
День / Ніч
З’являється лише при двозонній тарифікації. Підписи перемикача День / Ніч / Обидві на графіках енергії та рахунку.
🕐 Формат відображення

Як показуються час, дата й температура на панелі.

Час
Годинник
24-годинний — стандартний формат: 14:05.
12-годинний — формат AM/PM: 2:05 PM. При виборі з’являються поля підписів AM і PM (до 4 символів кожен), щоб локалізувати суфікси.
Ведучий нуль
Перемикач: чи доповнювати однозначні години нулем. Увімкнено: 02:05. Вимкнено: 2:05.
Дата
Формат
Дев’ять комбінацій ДД/ММ/РРРР із різними роздільниками (дефіс, скісна риска, крапка). Живий перегляд показує, як виглядає 5 червня 2026 в обраному форматі.
Одиниці
Температура
°C або °F. Впливає на те, як показується температура вбудованого датчика реле на системній плитці. Перерахунок автоматичний.
🧮 Агрегація

Стосується кожного стовпчикового вигляду графіків потужності, напруги, струму й коефіцієнта потужності: Погодинно у режимах Сьогодні, Учора та короткому Довільному, а також добових чи місячних стовпчиків у режимах Місяць, Рік і Довільний понад 2 доби. Керує тим, яке саме одне значення представляє кожну годину, добу чи місяць; заголовок графіка його називає.

СЕР — середнє
Середнє значення за годину, добу чи місяць. Найкраще підходить для Потужність та Напруга — дає уявлення про типовий рівень навантаження протягом періоду. Для потужності в барах Погодинно середнє береться за часом: кожен відлік важить проміжком від попереднього, тож серія відліків із різницею в кілька секунд — реле шле їх, поки відкрито застосунок Tuya, — важить як хвилина, яку вона тривала, а не як двадцять. Бари за добу й місяць усереднюють відліки: там така серія — частка процента бару.
МАКС — пік
Найбільше значення за годину, добу чи місяць. Найкраще підходить для Струм — знати піковий струм важливо, коли оцінюєш проводку та запас автомата.
МІН — мінімум
Найменше зафіксоване значення. Корисно для Напруга — мінімальна добова напруга виявляє просідання мережі, які можуть впливати на чутливу техніку.
💡 Графіки Енергія та Рахунок це не зачіпає — вони завжди показують повне фактичне споживання за добу чи місяць.
📊 Панель
Таймаут статусу наживо (с)
Діапазон: 60–300, типово: 120.

Через скільки секунд після останнього отриманого пакета панель перемикається на НЕМАЄ ЗВ'ЯЗКУ. Реле надсилає нові дані приблизно раз на 60 секунд — це обмеження прошивки. Типові 120 с покривають два пропущені такти поспіль.

Коли збільшувати: якщо реле на нестабільному Wi-Fi. Наприклад, 180 с дозволяє три пропущені такти до переходу в офлайн.
Не ставте менше 60 секунд — панель блиматиме між ONLINE і OFFLINE.
Крок точок на графіку (px)
Діапазон: 2–12, типово: 4.

Мінімальна ширина в пікселях, що відводиться кожній точці даних на графіках. Щойно точки перестають вміщатись, графік починає прокручуватись горизонтально — це налаштування визначає, наскільки вони розріджені.

Більші значення розсувають точки, роблячи окремі такти читабельнішими, але вимагають більше прокручування. Менші значення вміщають на екран більшу частину доби ціною щільніше збитих точок.
Поріг розриву графіка (хв)
Діапазон: 0–60, типово: 5.

Скільки має тривати тиша, щоб лінія графіка розірвалась замість того, щоб пройти напряму. Power Trace записує кожен такт, який надсилає реле, тож проміжок без записів означає, що колектор справді нічого не отримав — вимкнення світла, обрив Wi-Fi або незапущений застосунок. З’єднати такі точки плавною лінією означало б показати блекаут як рівний показник.

Значення 0 вимикає розриви зовсім і завжди малює суцільну лінію.

Не ставте менше 3 хвилин. Реле звітує приблизно раз на 60 секунд, і інтервал плаває, тож низький поріг позначатиме звичайне тремтіння як аварію й заповнить графік розривами, які нічого не означають.

Коли збільшувати: якщо у вас слабкий сигнал Wi-Fi і короткі перепідключення для вашої установки нормальні, підняття до 10–15 тримає графік читабельним і лишає розриви для справжніх аварій.
💡 Цей поріг змінює те, як малюються наявні дані, а не самі дані — нічого не додається й не видаляється. Змінювати його й перезавантажувати панель можна скільки завгодно, і той самий розрив з’явиться на будь-якому масштабі.
Поріг неповних стовпців
Діапазон: 0–1, типово: 0.5.

Коли з’єднання з реле обривається надовго, лічильник усередині реле продовжує рахувати, а Power Trace не записує нічого. Після відновлення енергія, спожита за час простою, береться з лічильника й розподіляється рівномірно по пропущених годинах. Такий розподіл є оцінкою, а не вимірюванням — ніхто не знає, як насправді поводилось навантаження, поки пристрій був офлайн.

Стовпчики на графіках Енергія та Рахунок, чия енергія оцінена щонайменше на цю частку, малюються приглушеними, а над графіком з’являється примітка. Стовпчик, оцінений на 30%, лишається звичайним при типовому 0,5 і стає приглушеним при 0,3.

0 — приглушувати будь-який стовпчик, що містить хоч слід оціненої енергії. 1 — приглушувати лише повністю оцінені стовпчики.

Поріг керує лише приглушенням. Щойно графік містить хоч якусь оцінену енергію, примітка над ним повідомляє точну величину — наприклад 0.90 / 23.40 кВт·год — хоч би яким був поріг. Тож оцінка ніколи не ховається: колір каже, чи можна довіряти окремому стовпчику, а примітка — скільки з усього періоду оцінено.

Найбільше це важить на графіках Місяць та Рік, де один стовпчик — це ціла доба. Двогодинний простій у добі на 12 кВт·год складає лише 7% того стовпчика, тож при типовому порозі він лишається неприглушеним — і правильно, бо доба в цілому надійна — але примітка все одно врахує ці кіловат-години, бо вони у вашому рахунку.

Той самий поріг керує стовпчиками Потужність, Напруга, Струм і Коефіцієнт потужності — погодинними, за місяць і за рік. Оцінки там немає: стовпчик — справжнє середнє (чи пік, чи мінімум) вимірювань, які є в годині чи добі. Але година, де програма мовчала 40 хвилин із 60, малювала б такий самий стовпчик, як повна, тож стовпчик, у якому бракує щонайменше цієї частки часу, теж приглушується, а його підказка показує покриття, наприклад 35 %. Покриття міряється часом, а не вимірюваннями: проміжок між двома вимірюваннями вважається покритим, якщо не перевищує Поріг розриву графіка вище — те саме значення, що рве лінію в «Детально», — тож реле, яке звітує нерівномірно, неповним не позначається. Година чи доба, що ще триває, не приглушується ніколи, бо вона ще зміниться. Але підказка показує й її покриття, пораховане від часу, що вже минув: година, дані за яку почались о 9:11, о 9:40 покаже неповне покриття, а повна — 100 %.
💡 Графіки Потужність, Напруга, Струм, і Коефіцієнт потужності Графіки лишаються порожніми за ті години, і це правильно: це миттєві показники, зняті в конкретний момент, а таких моментів записано не було. Відновити можна лише енергію, бо лічильник накопичує її й тоді, коли з’єднання немає.
🔗 Віддалений доступ (Tailscale)

Типово панель доступна лише на комп’ютері, де працює Power Trace (http://localhost:8000, або на тому порту, який ви задали як порт сервера API в розділі «Сервер»), або з інших пристроїв у тій самій мережі Wi-Fi. Якщо хочете дивитись її з телефона поза домом, знадобиться Tailscale.

💡 Що таке Tailscale: безплатний сервіс, який створює зашифровану приватну мережу між вашими власними пристроями через інтернет. Він не відкриває жодних портів назовні — трафік шифрується наскрізно й ходить лише між пристроями, що увійшли у ваш акаунт.
Кроки налаштування
1
Створіть безплатний акаунт на tailscale.com — через Google, GitHub або Microsoft.
2
Завантажте й встановіть клієнт Tailscale на комп’ютер, де працює Power Trace із tailscale.com/download. Увійдіть. Комп’ютер отримає стабільну адресу Tailscale і коротке ім’я машини.
3
Встановіть Tailscale на кожен пристрій, з якого хочете заходити — телефон, планшет, ноутбук. Є застосунки для Windows, macOS, Linux, iOS та Android. Увійдіть тим самим акаунтом на кожному пристрої.
4
У налаштуваннях Power Trace відкрийте розділ «Віддалений доступ» і увімкніть перемикач. Введіть ім’я машини вашого комп’ютера (наприклад, my-pc). Порт заповнюється автоматично з вашого налаштування порту сервера API — змінюйте вручну лише якщо користуєтесь зворотним проксі чи прокиданням портів.
5
Готова адреса з’явиться під полями, наприклад http://my-pc:8000. Натисніть 📋 Копіювати URL і відкрийте її на будь-якому пристрої, під’єднаному до Tailscale.
⚠ Ці налаштування зберігаються лише в браузері і не записуються у config.yaml. Якщо відкрити налаштування в іншому браузері, поля будуть порожні, а порт підтягнеться з налаштування порту сервера API, але сама мережа Tailscale працюватиме далі.
🔔 Сповіщення

Power Trace може писати вам у Telegram і/або в застосунок ntfy, коли зникає й повертається світло, коли перемикається реле і коли напруга виходить за безпечні межі. Покрокове налаштування обох каналів і перелік усіх повідомлень — у посібнику Сповіщення.

Світло зникло й повернулось
Повідомлення, коли від лічильника немає вимірів довше, ніж Відключення від (хв) у Правилах, і коли вони повернулись.
Реле вимкнулось і увімкнулось
Перемикання на приладі, у застосунку Tuya чи з панелі.
Небезпечна напруга
Напруга за порогами тривоги з Правил, і коли вона повернулась у норму.
Надсилати в Telegram
Токен бота й Chat ID. Токен зберігається зашифрованим і після збереження показується маскою.
Надсилати в ntfy
Сервер і тема. Тема зберігається зашифрованою, показується маскою й назад не віддається.
Надіслати тестове
Перевіряє канал, не зберігаючи налаштувань.
ℹ Інтернет часто зникає разом зі світлом — тоді повідомлення чекають у черзі до 3 діб і приходять по порядку, щойно зв’язок повернеться.
🗄 База даних

Цей розділ лише для читання — він показує поточний стан вашої бази даних, а не налаштування, яке ви задаєте. Показує розмір файлу на диску, загальну кількість збережених вимірювань і вільне місце на цьому диску.

ℹ Power Trace ніколи не видаляє вимірювання самостійно — кожен показник зберігається назавжди. За такту реле ~60 секунд рік історії займає приблизно 60–70 МБ. На будь-якій сучасній картці пам’яті чи диску це не та величина, яку треба планувати.
Розмір на диску
Сумарний розмір файлу бази даних і його супутника WAL (журналу випереджувального запису). WAL між контрольними точками може тимчасово важити десятки мегабайтів — це нормально, і він знову зменшується сам.
Збережено вимірів
Загальна кількість рядків у базі, тобто скільки окремих показників записано від моменту встановлення.
Вільно на цьому диску
Вільне місце на диску чи картці пам’яті, де лежить база. Якщо його лишається мало, див. нижче.

Як повернути місце на диску

Якщо ви колись видалите рядки з бази вручну (наприклад, SQL-інструментом), файл не не зменшиться сам — SQLite лишає звільнене місце всередині файлу для повторного використання, а не повертає його операційній системі. Щоб файл справді зменшився, треба виконати VACUUM.

⚠ Зупиніть колектор і сервер API перед запуском VACUUM і переконайтесь, що вільного місця на диску не менше за поточний розмір бази — операція будує нову копію файлу, перш ніж замінити стару. На Raspberry Pi це може зайняти кілька хвилин.

Linux / Raspberry Pi — з термінала, у теці Power Trace:

sqlite3 db/energymonitor.db "VACUUM;"

Windows — sqlite3.exe типово не постачається. Скористайтесь безплатним DB Browser for SQLite натомість: відкрийте db\energymonitor.db, далі Tools → Compact Database.

⬆ Оновлення

Power Trace може повідомляти, коли вийшла новіша версія. Він ніколи нічого не завантажує й не встановлює сам — лише показує невелике сповіщення на панелі з посиланням на сторінку завантаження, а оновлюватись чи ні, вирішуєте тільки ви.

ℹ Це єдиний запит, який застосунок робить до сервера розробника. Раз на добу він завантажує невеликий файл із getpowertrace.com із номером останньої версії. Не надсилається нічого, крім версії, яку ви використовуєте — ні показників, ні даних пристрою, ні ідентифікаторів. Повний опис див. у Політиці конфіденційності.
Автоматично перевіряти оновлення
Типово увімкнено. Вимкніть, якщо волієте, щоб застосунок не звертався до сервера розробника — все інше працюватиме так само, просто ви не дізнаєтесь про появу нової версії.
Встановлена версія / Остання перевірка
Лише для читання. Показує, яку версію ви використовуєте і коли була остання перевірка. Якщо перевірка не вдалась, тут же вказано причину — зазвичай це просто тимчасова проблема з мережею, і наступна спроба відбудеться автоматично.
↻ Перевірити зараз
Виконує перевірку негайно, не чекаючи щоденної. Якщо ви щойно увімкнули перемикач, спершу збережіть конфігурацію — кнопка діє на те, що записано у config.yaml, а не на те, що зараз показано на екрані.
ℹ Коли доступне оновлення, у шапці панелі з’являється стрілка з номером версії. Клік відкриває сторінку завантаження; клік по × ховає її, доки не вийде версія новіша за ту.
💾 Кнопки збереження
💾 Зберегти налаштування
Записує всі налаштування у config.yaml на диску. Числові поля показують свій допустимий діапазон поруч із назвою, а значення поза ним при виході з поля підтягується до найближчої межі з поясненням під полем. Перед збереженням усі поля перевіряються — якщо є помилки, показується повідомлення й нічого не зберігається. Порожні Device ID / IP / Local Key викликають діалог підтвердження. Панель підхоплює нову конфігурацію автоматично без перезавантаження сторінки.
↺ Повернути збережене
Відкидає всі незбережені зміни й повертає форму до стану, що зараз записаний у config.yaml. Скористайтесь цим, якщо щось змінили і хочете скасувати, не перезавантажуючи сторінку.
⚠ Скинути до типових
Скидає лише параметри інтерфейсу та роботи до заводських значень. Дані пристрою й хмари не чіпаються. Після скидання натисніть «Зберегти налаштування», щоб записати типові значення на диск.
⚠ Зміни в розділах «Прилад», «Колектор» чи «Відновлення з'єднання» колектор підхоплює сам: за кілька секунд після збереження він перезапускається з новими параметрами. Зміна порту сервера API вимагає ⟳ Перезапустити сервер.
Після першого налаштування
1. Збережіть конфігурацію
Натисніть Зберегти налаштування внизу сторінки налаштувань.
2. Зачекайте кілька секунд
Колектор сам перезапуститься з новими налаштуваннями й під’єднається до реле — статус на панелі зміниться на «на зв’язку».
3. Відкрийте панель
Натисніть кнопку ← Power Trace у верхньому лівому куті налаштувань.
4. Дочекайтесь першого такту
Реле надсилає дані приблизно раз на 60 секунд. Після першого пакета статус зміниться на НА ЗВ'ЯЗКУ.