Appearance
Battery concentrator (function 30)
A whole battery bank reported as one device, rather than one topic per module. It carries the same readings as a single battery — state, charge request, voltage, current, state of charge, temperature and the charge/discharge limits — plus which bank it is, propulsion or accessory.
Published only (no commands). All frames expireAfterSec: 30.
stateenum:ok,warning,alarm.requestenum:no-charge,mid-load,overload,low-battery,off.batteryenum:propulsion,accessory.
Published
device/30/<i>/life
metadata adds counter.
data field | Type | Unit | Description |
|---|---|---|---|
state / stateCode | string / int | — | State (enum) |
request / requestCode | string / int | — | Charge request (enum) |
voltage | number (1 dec) | V | Voltage |
current | number (1 dec) | A | Current |
soc | int | % | State of charge |
temperature | int | °C | Temperature |
battery | string | — | Battery type (enum, no Code) |
json
{
"data": {
"state": "ok",
"stateCode": 0,
"request": "mid-load",
"requestCode": 1,
"voltage": 51.2,
"current": 40.5,
"soc": 85,
"temperature": 25,
"battery": "propulsion"
},
"metadata": {
"rxdate": "2026-06-17T14:30:45.123Z",
"rxTimestamp": 1781793045,
"expireAfterSec": 30,
"counter": 3
}
}device/30/<i>/state
data field | Type | Unit | Description |
|---|---|---|---|
maxChargeVoltage | number (1 dec) | V | Max charge voltage |
maxChargeCurrent | number (1 dec) | A | Max charge current |
maxDischargeCurrent | number (1 dec) | A | Max discharge current |
minDischargeVoltage | number (1 dec) | V | Min discharge voltage |
json
{
"data": {
"maxChargeVoltage": 58.4,
"maxChargeCurrent": 100.0,
"maxDischargeCurrent": 150.0,
"minDischargeVoltage": 42.0
},
"metadata": {
"rxdate": "2026-06-17T14:30:45.123Z",
"rxTimestamp": 1781793045,
"expireAfterSec": 30
}
}bash
mosquitto_sub -h 127.0.0.1 -t 'device/30/+/#' -v