Ukraine is still suffering from Russian aggression, please consider supporting Red Cross Ukraine with a donation.
[Українською нижче ⬇️]
Custom Home Assistant integration for Livoltek inverters and BESS via Livoltek cloud API.
- UI setup via Config Flow (no YAML required)
- 5-step setup wizard:
- API credentials (
server,secuid,key,token) - Site selection
- Device selection + update interval
- Data group selection (choose endpoint groups to enable)
- Optional BESS control credentials (
account,password)
- API credentials (
- Selective data collection by endpoint groups (13 groups)
- 110 sensors total (measurements + diagnostics)
- Human-readable enum values for statuses (PV, Grid, Load, Battery, Charging Pile, Running Status, Alarm Type, Battery Type)
- API rate limit enforcement (min 5 min interval, energy reports 1x/hour)
- BESS control entities:
- 5 buttons (start/stop/restart/BMS restart/emergency charging)
- 1 work mode select entity
- Service for setting work mode with optional schedule:
ha_livoltek.set_work_mode_schedule
- Multi-language UI (English/Ukrainian)
- Open HACS
- Add this repository as a custom integration (if needed)
- Install Livoltek system
- Restart Home Assistant
- Copy
custom_components/ha_livoltekto your Home Assistant config directory:custom_components/ha_livoltek
- Restart Home Assistant
server_type— Livoltek server region (international/european)secuid— Security IDkey— API keytoken— User tokenaccount(optional) — account for BESS controlpassword(optional) — password for BESS control (stored as MD5)
- API Credentials:
server_type,secuid,key,token— validates login on save - Interval & Groups:
update_interval(min 5 min),enabled_groups - BESS Control:
account,password(optional)
After saving, the integration fully reloads with fresh credentials.
- Go to: https://www.livoltek-portal.com/
- Sign in to your Livoltek account
- Open My Profile (top-right)
- Click Generate Token to create/get your user token (
token) - Click Secure ID to get:
secuid(Security ID)key(API key)
You can enable/disable data groups during setup and in options.
-
Power Flow (
power_flow)
PV/grid/load/battery power and statuses, battery SoC, EV charger status, update timestamp. -
Site Overview (
overview)
Current power, daily/monthly/yearly/lifetime generation, online devices, update timestamp. -
Site Details (
site_details)
Site type/status, PV capacity, alarm presence, country, timezone, update timestamp. -
Device Details (
device_details)
Serial number, product type, running status, firmware, manufacturer, work mode, update timestamp. -
Battery Storage (
storage)
BMS capacity, SoC, cycle count, battery serial. -
Device Electricity (
device_electricity)
Lifetime PV production and load consumption. -
Social Contribution (
social)
CO₂ reduction, trees saved, coal saved. -
Alarms (
alarms)
Alarm count, latest alarm name/time, top alarm details in attributes. -
Realtime (
realtime)
MPPT channels (PV1..PV12 voltage/current), AC phases, grid power/frequency, battery, EPS, timestamp. -
Daily Energy Report (
daily_energy)
Daily PV yield, load consumption, grid import/export, battery charge/discharge, EPS output, diesel generation, EV consumption. -
Site Installer (
site_installer)
Installer company name, organization code. -
Site Owner (
site_owner)
Owner name, email, login account, country. -
Device Basic Data (
device_basic)
Communication status, running status, registration time, daily power generation/grid export/import/charge/discharge/load.
- Total sensors: 110
- Each data group is a separate HA device (e.g.
HPXXXXXHYYMMNNN (⚡ Power Flow)) - Includes measurement and diagnostic entities
- Every sensor has
data_groupattribute showing its source group - Disabling a group in options automatically removes its device
button.inverter_startbutton.inverter_stopbutton.inverter_restartbutton.bms_restartbutton.emergency_charging
select.work_mode_select— sets inverter work mode
Service name: ha_livoltek.set_work_mode_schedule
Fields:
device_sn(required)work_mode(required)schedule_list(optional, JSON array)
Example:
service: ha_livoltek.set_work_mode_schedule
data:
device_sn: "HPXXXXXHYYMMNNN"
work_mode: 2
schedule_list:
- chargeType: 1
startHour: 11
startMin: 0
endHour: 18
endMin: 0
chargingDays: [0, 1, 2, 3, 4]A custom Lovelace card for Home Assistant to visualize Livoltek inverter and BESS power flow in a schematic, animated style.
- Schematic power flow: PV, Grid, Battery, Load, Inverter
- Animated SVG lines with moving dots for each flow
- Multi-language labels (EN/UA)
- Responsive design
- Visual editor for easy configuration in Lovelace UI
- Copy both files to your Home Assistant
wwwdirectory (preserving folders):custom_components/ha_livoltek/frontend/livoltek-power-card.jscustom_components/ha_livoltek/frontend/livoltek-power-card-editor.js
- Add both as resources in Home Assistant (Settings → Dashboards → Resources):
/ha_livoltek/livoltek-power-card.js/ha_livoltek/livoltek-power-card-editor.js
- Add the card via UI: "Add Card" → "Custom: Livoltek Power Card". Use the visual editor to select your sensors (only
sensor.livoltek_...will be shown).
See full details and usage: README-power-card.md
[English above ⬆️]
Кастомна інтеграція Home Assistant для інверторів Livoltek та BESS через хмарний API Livoltek.
- Налаштування через Config Flow (без YAML)
- Майстер налаштування з 5 кроків:
- API-дані (
server,secuid,key,token) - Вибір сайту
- Вибір пристрою + інтервал оновлення
- Вибір груп даних (endpoint groups)
- Опційні дані для керування BESS (
account,password)
- API-дані (
- Вибіркове отримання даних по 13 групах
- 110 сенсорів (основні + діагностичні)
- Читабельні значення статусів (PV, мережа, навантаження, батарея, EV, статус роботи, тип тривоги, тип батареї)
- Дотримання лімітів API (мін. 5 хв інтервал, звіти енергії 1 раз/годину)
- Сутності керування BESS:
- 5 кнопок (start/stop/restart/BMS restart/emergency charging)
- 1 select-сутність режиму роботи
- Сервіс для встановлення режиму з розкладом:
ha_livoltek.set_work_mode_schedule
- Багатомовний UI (англійська/українська)
- Відкрийте HACS
- Додайте цей репозиторій як custom integration (за потреби)
- Встановіть Livoltek system
- Перезапустіть Home Assistant
- Скопіюйте
custom_components/ha_livoltekу директорію конфігурації Home Assistant:custom_components/ha_livoltek
- Перезапустіть Home Assistant
server_type— регіон сервера Livoltek (international/european)secuid— Security IDkey— API keytoken— токен користувачаaccount(опційно) — обліковий запис для BESS-керуванняpassword(опційно) — пароль для BESS-керування (зберігається як MD5)
- API-дані:
server_type,secuid,key,token— перевірка логіну при збереженні - Інтервал і групи:
update_interval(мін. 5 хв),enabled_groups - BESS-керування:
account,password(опційно)
Після збереження інтеграція повністю перезавантажується з оновленими обліковими даними.
- Перейдіть на: https://www.livoltek-portal.com/
- Увійдіть у ваш акаунт Livoltek
- Відкрийте My Profile (правий верхній кут)
- Натисніть Generate Token для отримання токена користувача (
token) - Натисніть Secure ID для отримання:
secuid(Security ID)key(API key)
Групи можна вмикати/вимикати під час налаштування та в опціях.
-
Power Flow (
power_flow)
Потужності PV/мережі/навантаження/батареї, статуси, SoC батареї, статус EV, час оновлення. -
Site Overview (
overview)
Поточна потужність, генерація за день/місяць/рік/весь час, online-пристрої, час оновлення. -
Site Details (
site_details)
Тип/статус станції, PV-потужність, наявність тривог, країна, часовий пояс, час оновлення. -
Device Details (
device_details)
Серійний номер, тип продукту, статус роботи, прошивка, виробник, режим роботи, час оновлення. -
Battery Storage (
storage)
Місткість BMS, SoC, цикли батареї, серійний номер батареї. -
Device Electricity (
device_electricity)
Загальна генерація PV і споживання навантаження. -
Social Contribution (
social)
Зекономлений CO₂, дерева, вугілля. -
Alarms (
alarms)
Кількість тривог, остання тривога (назва/час), деталі тривог в атрибутах. -
Realtime (
realtime)
Канали MPPT (PV1..PV12 напруга/струм), AC-фази, потужність/частота мережі, батарея, EPS, timestamp. -
Daily Energy Report (
daily_energy)
Добові значення генерації/споживання, імпорт/експорт мережі, заряд/розряд батареї, вихід EPS, дизельна генерація, споживання EV. -
Site Installer (
site_installer)
Назва компанії-інсталятора, код організації. -
Site Owner (
site_owner)
Ім'я власника, email, акаунт, країна. -
Device Basic Data (
device_basic)
Статус зв'язку, статус роботи, час реєстрації, добова генерація/експорт/імпорт/заряд/розряд/навантаження.
- Усього сенсорів: 110
- Кожна група даних — окремий пристрій HA (наприклад,
HPXXXXXHYYMMNNN (⚡ Потоки енергії)) - Є вимірювальні та діагностичні сутності
- Кожен сенсор має атрибут
data_groupз назвою групи-джерела - Вимкнення групи в налаштуваннях автоматично видаляє її пристрій
button.inverter_startbutton.inverter_stopbutton.inverter_restartbutton.bms_restartbutton.emergency_charging
select.work_mode_select— вибір режиму роботи інвертора
Назва сервісу: ha_livoltek.set_work_mode_schedule
Поля:
device_sn(обов'язково)work_mode(обов'язково)schedule_list(опційно, JSON-масив)
Приклад:
service: ha_livoltek.set_work_mode_schedule
data:
device_sn: "HPXXXXXHYYMMNNN"
work_mode: 2
schedule_list:
- chargeType: 1
startHour: 11
startMin: 0
endHour: 18
endMin: 0
chargingDays: [0, 1, 2, 3, 4]Кастомна картка Lovelace для Home Assistant для візуалізації потоків енергії Livoltek у вигляді схеми з анімацією.
- Схематичний потік енергії: PV, Мережа, Акумулятор, Навантаження, Інвертор
- Анімовані SVG-лінії з рухомими точками
- Багатомовні підписи (UA/EN)
- Адаптивний дизайн
- Візуальний редактор для налаштування прямо в Lovelace
- Скопіюйте обидва файли у директорію
wwwHome Assistant (зберігаючи структуру папок):custom_components/ha_livoltek/frontend/livoltek-power-card.jscustom_components/ha_livoltek/frontend/livoltek-power-card-editor.js
- Додайте обидва файли як ресурси (Налаштування → Панелі → Ресурси):
/ha_livoltek/livoltek-power-card.js/ha_livoltek/livoltek-power-card-editor.js
- Додайте картку через UI: "Додати картку" → "Custom: Livoltek Power Card". Виберіть сенсори через візуальний редактор (будуть показані лише
sensor.livoltek_...).
