Skip to content

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.

  • state enum: ok, warning, alarm.
  • request enum: no-charge, mid-load, overload, low-battery, off.
  • battery enum: propulsion, accessory.

Published ​

device/30/<i>/life ​

metadata adds counter.

data fieldTypeUnitDescription
state / stateCodestring / int—State (enum)
request / requestCodestring / int—Charge request (enum)
voltagenumber (1 dec)VVoltage
currentnumber (1 dec)ACurrent
socint%State of charge
temperatureint°CTemperature
batterystring—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 fieldTypeUnitDescription
maxChargeVoltagenumber (1 dec)VMax charge voltage
maxChargeCurrentnumber (1 dec)AMax charge current
maxDischargeCurrentnumber (1 dec)AMax discharge current
minDischargeVoltagenumber (1 dec)VMin 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

Integration of multiplexed solutions
MUXEN and the MUXEN logo are trademarks of MUXEN SAS.