Перейти до вмісту

MQTT — формат повідомлень

Для кого:Монтажник

Налаштування брокера — MQTT і Home Assistant.

Кожні 5 секунд, для кожного порту, на якому вибрано протокол:

Тема Вміст
<назва>/p1, <назва>/p2 Дані пристрою на порту
<назва>/pN/b<адреса> Окрема батарея паралельної групи JK (лише для протоколу JK BMS · Parallel bus), наприклад AKB2/p1/b0

<назва> — назва пристрою (Device name). Шифрування (TLS) немає.

{
"device": "AKB2",
"port": 1, "protocol": 5, "key": "jk_modbus", "name": "JK BMS · Modbus", "kind": "bms",
"online": true, "age": 1, "frames": 1200, "errors": 2,
"data": {
"voltage": 53.12, "current": -5.65, "power": -299.9, "soc": 64, "cycles": 21,
"capacity_remaining": 201.93, "capacity_full": 314.0,
"mos_temp": 23.7, "balance_current": 0.0, "alarms": 524288,
"charging": true, "discharging": true,
"cells": [3.323, 3.320], "temps": [22.4, 22.8, 21.6, 22.0]
}
}
Поле Що означає
device Назва пристрою
port Номер порту
protocol, key, name id, ключ і назва протоколу (id протоколів)
kind bms, inverter або tool
online Була успішна відповідь за останні 30 секунд
age Секунди від останньої успішної відповіді. Немає, якщо відповідей ще не було
frames / errors Лічильники вдалих і невдалих опитувань
error Остання помилка, наприклад no reply. Зникає після першої вдалої відповіді
data Остання вдала відповідь. Якщо пристрій замовк, data лишається, а online стає false

Поле, якого протокол не повідомляє, у data відсутнє. cells і temps містять лише наявні комірки й датчики.

Поле Одиниці Що це
voltage В Напруга батареї
current А Струм, «+» — заряд
power Вт Потужність
soc % Рівень заряду
cycles Цикли
capacity_remaining, capacity_full, capacity_design А·год Залишок, повна й номінальна ємність
mos_temp °C Температура MOSFET
balance_current А Струм балансування
alarms Тривоги, бітова маска (біти JK)
charging, discharging true / false Ключі заряду й розряду
sampling_voltage, port_voltage В Напруги, які повідомляє PACE
missed_replies PACE: опитувань поспіль без відповіді
cells В Напруги комірок
temps °C Температури датчиків

У data: dc_voltage (В), dc_current (А), ac_frequency (Гц), power_factor.

"data": {
"metrics": { "pv_power": 0, "battery_power": 320, "battery_soc": 75, "grid_power": 465, "load_power": 480 },
"state": "normal",
"faults": ["F35 No AC grid"],
"device": { "model": "Deye Single-phase hybrid", "serial": "…", "protocol_version": "2.1" }
}
  • metrics — 52 показники; ключі й одиниці — у таблиці показників Deye.
  • state — standby, self-check, normal, alarm, fault або activating.
  • faults — активні коди з назвами (коди Deye).
  • device — модель, серійний номер, версія протоколу.

Тема порту містить підсумок групи (поля BMS, як вище) і pack:

"pack": {
"batteries": 3, "online": 3,
"cell_min": { "voltage": 3.428, "address": 1, "cell": 4 },
"cell_max": { "voltage": 3.451, "address": 0, "cell": 12 },
"cell_delta_mv": 23
}
Поле Що це
batteries / online Скільки батарей MiRCA бачила / скільки на зв’язку
cell_min, cell_max Найнижча й найвища комірка в групі: напруга, адреса батареї, номер комірки
cell_delta_mv Розкид напруг комірок, мВ

Підсумок: напруга — середня; струм, потужність, ємність — сума; SOC — зважений на ємність; тривоги — об’єднання; температура MOSFET — найвища. Враховуються лише батареї на зв’язку.

Кожна батарея публікується окремо в <назва>/pN/b<адреса>:

{
"device": "AKB2",
"address": 0, "name": "Battery 1 (master)", "role": "master", "online": true, "age": 2,
"voltage": 51.71, "current": 7.14, "soc": 99, "cycles": 149,
"cells": [3.450], "temps": [19.7, 20.0, 20.7, 19.9, 19.6]
}

role — master (адреса 0) або slave. Решта полів — як у BMS.

MiRCA · виробник kom-serviceЗастереження