Цей проєкт є агрегатором даних про графіки відключень електроенергії в Україні. Він збирає дані з різних джерел (сайти DTEK, API YASNO, офіційні JSON від обленерго) та нормалізує їх у єдиний формат для подальшого використання (наприклад, у Cloudflare Workers).
Скрипт збирає дані для 15 областей та 2 міст:
- Київська область
- Одеська область
- Дніпропетровська область
- м. Київ
- м. Дніпро (ДнЕМ)
- м. Дніпро (ЦЕК)
- Львівська область
- Полтавська область
- Черкаська область
- Чернігівська область
- Харківська область
- Хмельницька область
- Івано-Франківська область
- Рівненська область
- Тернопільська область
- Закарпатська область
- Запорізька область
- Житомирська область
- Scraping: Скрипт (
src/monitor.js) запускається (локально або через GitHub Actions). - Data Collection:
- Використовує Playwright для парсингу сайтів DTEK (обхід захисту, перевірка Emergency режимів).
- Використовує
fetchдля отримання даних від Yasno та JSON-файлів обленерго.
- Normalization: Всі дані приводяться до єдиного формату ("Svitlo Format").
- Aggregation: Дані об'єднуються в один JSON-пакет.
- Distribution: Підсумковий JSON відправляється на налаштований Cloudflare Worker.
- Node.js (v22+)
npm
npm install
npx playwright install chromiumСтворіть файл .env із наступними змінними:
# Для парсингу DTEK (адреси для перевірки графіків)
# (Можна залишити порожнім, якщо не використовуєте DTEK регіони)
CITY_KYIV=Київ
STREET_KYIV=Хрещатик
HOUSE_KYIV=1
CITY_ODESA=Одеса
STREET_ODESA=Дерибасівська
HOUSE_ODESA=1
CITY_DNIPRO=Дніпро
STREET_DNIPRO=Яворницького
HOUSE_DNIPRO=1
# Cloudflare Worker (куди відправляти результат)
CF_WORKER_URL=https://your-worker.workers.dev
CF_WORKER_TOKEN=your-upload-token# Разовий запуск
npm start
# Режим розробки (watch)
npm run watchMIT