Як це працює
Від сторінки оператора до статусу на карті: що ми читаємо, що рахуємо і де прямо кажемо «не знаємо».
Коротко
Основа всього — графік, який опублікував оператор. Ми приводимо графіки різних операторів до одного формату, додаємо до них незалежні сигнали (якщо вони є) і показуємо результат на рівні черги та області. Ми не бачимо вашої оселі і не вдаємо, що бачимо.
Три речі, які варто запам’ятати: (1) графік — це план, а не гарантія; (2) «Даних немає» означає саме це, а не «світло є»; (3) один сигнал від однієї людини нічого не змінює.
Звідки беруться графіки
Графіки погодинних відключень публікують оператори системи розподілу: ДТЕК, ЦЕК та обласні енергопостачальні компанії. У нашому реєстрі 25 операторів. Для частини з них ми читаємо дані напряму, для частини — через відкриті публічні дзеркала та агрегатори, для частини даних у придатному вигляді немає: Волинь і Суми публікують графік картинкою, Кіровоградщина — текстом у Telegram, Чернівеччина — на сторінці без структурованих даних, для Херсонщини і Донеччини (ДТЕК Донецькі електромережі) графіка немає взагалі.
Окремо ми читаємо публічні повідомлення Укренерго про режим системи («стан енергосистеми», «інформація про відключення»). З них видно, чи діють аварійні відключення, коли погодинні графіки не працюють. Повний перелік і обмеження — на сторінці «Джерела даних».
Нормалізація
Кожен оператор публікує по-своєму: різні назви черг, різні формати JSON, різне кодування годин. Ми зводимо все до однієї моделі:
- Оператор і черга — ключ виду
lvivoblenergo:3.2. Звичайна схема — 6 черг по 2 підчерги (12 груп). У Києві ДТЕК використовує окрему схему до 60 груп. - Інтервали — для кожної доби список проміжків «вимкнено» або «можливо». «Можливо» — це час, який оператор позначає як ймовірний, а не гарантований.
- Час — за Києвом, з урахуванням літнього та зимового часу.
- Відсутність даних — окремий стан. Якщо графіка немає, черга отримує «Даних немає», а не «Світло є». Час без даних в історії лічиться окремо і не входить у відсоток «світло було».
Історія версій графіка зберігається: ми можемо показати, який графік оператор опублікував у певний момент, і як він змінювався протягом дня.
Незалежні сигнали
Графік може розходитися з реальністю: аварія, зміна рішення оператора, локальне пошкодження. Щоб це помітити, система приймає сигнали кількох типів:
- Датчики. Пристрої, які регулярно сповіщають, що живляться від мережі. Якщо сигнал зникає, це свідчить про відсутність світла. Найсильніший тип сигналу. Свій датчик (роутер, Raspberry Pi, ESP32, Home Assistant) може підключити кожен: як це зробити. Публічно показується лише агрегат від п’яти й більше датчиків однієї черги.
- Звіти мешканців. Кнопки «Світло є» та «Світла немає» біля черги. Слабші за датчики і вимагають збігу кількох людей.
- Непрямі ознаки. Наприклад, доступність зарядних станцій для електромобілів або регіональні показники інтернет-зв’язку. Вони можуть лише трохи зсунути оцінку, бо причин для їх зміни багато.
Яка частина цих сигналів активна в конкретній області, залежить від того, чи є там джерела. Де їх немає, оцінка спирається тільки на графік, і ми це показуємо через нижчу впевненість.
Як сигнали зливаються з графіком
Для кожної черги ми рахуємо ймовірність, що світла немає. Спрощено це працює так:
- Початкова оцінка з графіка. Якщо за планом «вимкнено» — висока ймовірність відключення; «можливо» — приблизно навпіл; «увімкнено» — низька. Якщо плану немає, початкова оцінка нейтральна, а під час аварійного режиму — трохи вища.
- Свіжі сигнали зсувають оцінку. Сигнали «світла немає» піднімають її, «світло є» знижують. Кожен тип має власну межу впливу: датчик може змінити оцінку сильно, непрямий сигнал — лише трохи.
- Старі сигнали згасають. З часом сигнал важить менше, а все, що старіше за дві години, не враховується.
- Дублікати не множаться. Від кожного джерела береться останній сигнал. Десять однакових звітів не переважать кілька незалежних, бо вплив зростає дедалі повільніше.
- Одинокий звіт мешканця слабкий. Поки його не підтвердить хоча б ще одна людина, його вага зменшена.
Результат переводиться в стан: з ймовірністю від 70% — «Світла немає», до 30% — «Світло є», а між ними — «Можливе відключення». Ці пороги та ваги налаштовуються і можуть змінюватися.
Що таке впевненість
Впевненість показує, наскільки оцінка визначена. Вона залежить від двох речей: наскільки ймовірність далека від 50/50 і чи є незалежні підтвердження. Якщо спертися можна лише на графік, впевненість штучно обмежена: ми не вважаємо оцінку повністю надійною без жодного підтвердження. Чим більше незалежних сигналів, тим вищою вона може бути.
Є й показник покриття: яку частку від цільового числа незалежних джерел ми реально маємо для черги. Він пояснює, чому в одній області впевненість вища, ніж в іншій.
Як читати «Можливе відключення»
Цей стан з’являється, коли:
- оператор позначив час як «можливо», а не «вимкнено»;
- або графік каже одне, а сигнали — інше, і жодна сторона не переважає.
Практично: готуйтеся так, ніби світло може зникнути, але не вважайте це фактом. Якщо за кілька хвилин статус не змінився, дивіться на час повернення та свіжість даних оператора.
Час повернення — планований. «Очікуване повернення» — це кінець поточного інтервалу з графіка. Якщо відключення аварійне або вже триває довше за план, реальний час може бути іншим.
Чому саме такий статус
Окрім стану, кожна черга має клас — причину, чому вона в цьому стані:
- За графіком
- Стан збігається з тим, що опублікував оператор.
- Аварійне
- Укренерго повідомляє про аварійні відключення, і погодинні графіки не діють.
- Локальне
- Сигнали вказують на відключення, якого графік не передбачав.
- Невідомо
- Немає ні графіка, ні сигналів. Колір сірий, і це не «світло є».
Що бачить публіка
Щоб ніхто не міг вирахувати конкретну домівку або використати карту на шкоду:
- публічні дані агреговані до черги та області;
- сигнали з’являються на карті лише після затримки щонайменше 30 хвилин і лише коли їх надіслали не менше п’яти незалежних джерел;
- у системі немає шарів підстанцій чи ліній електропередач;
- для сигналів є аварійний вимикач: шар можна вимкнути одразу.
Докладніше про дані, які ми зберігаємо, — на сторінці «Приватність».
Свіжість даних
Оцінка перераховується приблизно кожні 30 секунд, а сторінки отримують оновлення без перезавантаження. Якщо дані оператора старіші за 45 хвилин, область позначається як «застаріло». Це не помилка карти, а попередження, що оператор давно нічого не публікував.
Чого ми не робимо
- Не обіцяємо точності до будинку. Рівень — черга та область.
- Не показуємо підстанції, лінії та окремі звіти людей.
- Не вгадуємо: якщо даних немає, це видно.
- Не замінюємо оператора. SvitloPulse — незалежний сервіс і не офіційне джерело.