Ukraine is still suffering from Russian aggression, please consider supporting Red Cross Ukraine with a donation.
[Українською нижче ⬇️]
Custom integration for monitoring SaveEcoBot air quality stations in Home Assistant. It supports English and Ukrainian, creates sensors dynamically based on the selected station, and keeps values up to date automatically.
- Config flow setup: add the integration directly from the Home Assistant UI
- Dictionary-based setup wizard: select
region → city → district (if available) → monitoring station - Localized UI: English and Ukrainian translations for setup and entities
- Dynamic air-quality sensors: AQI, PM, gases, temperature, humidity, pressure, and other available station data
- Stable entity IDs: for example,
sensor.saveecobot_14634_aqi - Device grouping: all entities for the selected station are grouped under one device
- Custom Lovelace card: bundled station overview card with AQI, PM2.5, PM10, temperature, humidity,
updated_at, and stale-data status - Device settings:
update_intervalis available as an editable slider in Settings
- Diagnostics:
marker_idis shown as a read-only sensor- timer/debug sensors:
configured_interval_min,current_interval_min,next_update_in
- Automatic polling: update interval from 1 to 60 minutes
- Open HACS
- Add this repository as a custom integration if needed
- Install SaveEcoBot
- Restart Home Assistant
- Copy the
custom_components/ha_saveecobotfolder into your Home Assistant configuration directory under:custom_components/ha_saveecobot
- Restart Home Assistant
- Go to Settings → Devices & Services
- Click Add Integration
- Search for SaveEcoBot
- Select a region
- Select a city
- Select a district (if available for the chosen city)
- Select a monitoring station
- Select the update interval
- Region / City / District / Station: selected in the setup wizard when creating the integration
- Update Interval: selected during setup and later editable from the device Settings block
- Language: taken from the Home Assistant user interface language
The setup wizard uses prebuilt dictionaries stored in:
custom_components/ha_saveecobot/translations/en/*.jsoncustom_components/ha_saveecobot/translations/uk/*.json
To refresh dictionaries from SaveEcoBot APIs, run:
- English dictionaries: set
HA_UI_LANGUAGE=enand runscripts/generate_reference_dictionaries.ps1 - Ukrainian dictionaries: set
HA_UI_LANGUAGE=ukand runscripts/generate_reference_dictionaries.ps1
The script updates only new marker IDs and keeps existing data, so routine refreshes are incremental.
After setup:
update_intervalremains available as an editable slider in the device Settings blockmarker_idis available as a read-only diagnostic sensor- timer/debug values are available as separate diagnostic sensors (
configured_interval_min,current_interval_min,next_update_in) - there is no separate options dialog for routine changes
- All supported station phenomena are created automatically from SaveEcoBot data
- Example entities:
sensor.saveecobot_14634_aqisensor.saveecobot_14634_pm25sensor.saveecobot_14634_temperature
- Station metadata such as latitude, longitude, type, and similar values are shown as diagnostic entities
AQIis exposed as a numeric sensor
Below is an example of how SaveEcoBot sensors appear in the Home Assistant UI:
- Friendly names and units are localized
- Entities are grouped under a single SaveEcoBot station device
- Settings and diagnostic values are separated from the main measurement sensors
See translations/uk.json and translations/en.json for localization details.
The integration includes a bundled Lovelace card that highlights the most important air-quality data with color-coded AQI levels.
- AQI
- PM2.5 / PM10
- temperature / humidity
updated_atis_oldstatus- color accent based on pollution level
After the integration is loaded, add this Lovelace resource:
- URL:
/ha_saveecobot/saveecobot-card.js - Resource type:
JavaScript module
type: custom:saveecobot-card
marker_id: 14634
title: SaveEcoBotIf needed, you can override auto-detected entities explicitly:
type: custom:saveecobot-card
aqi_entity: sensor.saveecobot_14634_aqi
pm25_entity: sensor.saveecobot_14634_pm25
pm10_entity: sensor.saveecobot_14634_pm10
temperature_entity: sensor.saveecobot_14634_temperature
humidity_entity: sensor.saveecobot_14634_humidity
title: Kyiv station- Check Settings → System → Logs for
ha_saveecobotentries - If you don't see stations during setup, refresh reference dictionaries and retry
- If the integration does not load, verify Internet access from Home Assistant
- If data does not refresh, check the configured
update_intervaland Home Assistant logs - If entity names or IDs look stale after an upgrade, reload the integration or restart Home Assistant
[English above ⬆️]
Кастомна інтеграція для моніторингу станцій SaveEcoBot у Home Assistant. Підтримує українську та англійську мови, динамічно створює сенсори для вибраної станції та автоматично оновлює дані.
- Налаштування через config flow: додавання інтеграції напряму з інтерфейсу Home Assistant
- Майстер налаштування на основі довідників: вибір
область → місто → район (за наявності) → станція - Локалізований інтерфейс: українська та англійська для налаштування й назв сутностей
- Динамічні сенсори якості повітря: AQI, пил, гази, температура, вологість, тиск та інші доступні показники
- Стабільні entity_id: наприклад,
sensor.saveecobot_14634_aqi - Групування за пристроєм: усі сутності станції зібрані під одним пристроєм
- Кастомна Lovelace-картка: оглядова картка станції з AQI, PM2.5, PM10, температурою, вологістю,
updated_atта статусом застарілих даних - Налаштування пристрою:
update_intervalдоступний для зміни через повзунок у блоціНалаштування
- Діагностика:
marker_idвідображається як сенсор лише для читання- таймери/відладка:
configured_interval_min,current_interval_min,next_update_in
- Автоматичне опитування: інтервал від 1 до 60 хвилин
- Відкрийте HACS
- Додайте цей репозиторій як кастомну інтеграцію, якщо потрібно
- Встановіть SaveEcoBot
- Перезапустіть Home Assistant
- Скопіюйте папку
custom_components/ha_saveecobotу директорію конфігурації Home Assistant за шляхом:custom_components/ha_saveecobot
- Перезапустіть Home Assistant
- Перейдіть у Налаштування → Пристрої та служби
- Натисніть Додати інтеграцію
- Знайдіть SaveEcoBot
- Оберіть область
- Оберіть місто
- Оберіть район (якщо доступний для вибраного міста)
- Оберіть станцію моніторингу
- Оберіть інтервал оновлення
- Область / Місто / Район / Станція: задаються в майстрі під час створення інтеграції
- Інтервал оновлення: задається під час створення та потім може змінюватися у блоці налаштувань пристрою
- Мова: береться з мови інтерфейсу Home Assistant
Майстер налаштування використовує попередньо згенеровані довідники у:
custom_components/ha_saveecobot/translations/en/*.jsoncustom_components/ha_saveecobot/translations/uk/*.json
Щоб оновити довідники з API SaveEcoBot, запустіть:
- Англійські довідники: встановіть
HA_UI_LANGUAGE=enі запустітьscripts/generate_reference_dictionaries.ps1 - Українські довідники: встановіть
HA_UI_LANGUAGE=ukі запустітьscripts/generate_reference_dictionaries.ps1
Скрипт оновлює лише нові marker ID і зберігає вже відомі дані, тому регулярні оновлення інкрементальні.
Після створення інтеграції:
update_intervalзалишається доступним для редагування повзунком у блоці Налаштуванняmarker_idдоступний як діагностичний сенсор лише для перегляду- таймерні/відладочні значення доступні окремими діагностичними сенсорами (
configured_interval_min,current_interval_min,next_update_in) - окреме вікно опцій для щоденних змін не використовується
- Для всіх підтримуваних параметрів станції сенсори створюються автоматично
- Приклади сутностей:
sensor.saveecobot_14634_aqisensor.saveecobot_14634_pm25sensor.saveecobot_14634_temperature
- Метадані станції, як-от широта, довгота, тип та подібні значення, відображаються як діагностичні сутності
AQIекспортується як числовий сенсор
Нижче наведено приклад того, як виглядають сенсори SaveEcoBot в інтерфейсі Home Assistant:
- Назви та одиниці вимірювання локалізовані
- Усі сутності станції згруповані під одним пристроєм SaveEcoBot
- Основні вимірювання відокремлені від діагностичних і конфігураційних значень
Деталі локалізації дивіться у translations/uk.json та translations/en.json.
Інтеграція містить вбудовану Lovelace-картку, яка показує головні показники якості повітря з кольоровою індикацією рівня забруднення.
- AQI
- PM2.5 / PM10
- температура / вологість
updated_at- статус
is_old - кольоровий акцент залежно від рівня забруднення
Після завантаження інтеграції додайте ресурс Lovelace:
- URL:
/ha_saveecobot/saveecobot-card.js - Тип ресурсу:
JavaScript module
type: custom:saveecobot-card
marker_id: 14634
title: SaveEcoBotЗа потреби можна явно вказати сутності замість автопошуку:
type: custom:saveecobot-card
aqi_entity: sensor.saveecobot_14634_aqi
pm25_entity: sensor.saveecobot_14634_pm25
pm10_entity: sensor.saveecobot_14634_pm10
temperature_entity: sensor.saveecobot_14634_temperature
humidity_entity: sensor.saveecobot_14634_humidity
title: Київська станція- Перевірте Налаштування → Система → Логи на наявність записів
ha_saveecobot - Якщо під час налаштування не видно станцій, оновіть довідники й повторіть спробу
- Якщо інтеграція не завантажується, перевірте доступ Home Assistant до Інтернету
- Якщо дані не оновлюються, перевірте налаштований
update_intervalі логи Home Assistant - Якщо після оновлення назви або ключі сутностей виглядають застарілими, перезавантажте інтеграцію або Home Assistant

