BYD Battery
Use this skill for operator-approved monitoring of BYD Battery-Box Premium HVS,
HVM, LVS, LVL, and older HV/LV family home-storage units. Prefer the bundled
helper for all protocol details:
node skills/byd-battery/byd-battery.cjs --format json read state-of-charge
node skills/byd-battery/byd-battery.cjs --format json read pack-telemetry
node skills/byd-battery/byd-battery.cjs --format json read cell-extremes
node skills/byd-battery/byd-battery.cjs --format json read inventory
node skills/byd-battery/byd-battery.cjs --format json read module-telemetry
node skills/byd-battery/byd-battery.cjs --format json read alarms
node skills/byd-battery/byd-battery.cjs --format json read firmware
node skills/byd-battery/byd-battery.cjs --format json read be-connect-metadata
node skills/byd-battery/byd-battery.cjs --format json read energy-counters
node skills/byd-battery/byd-battery.cjs --format json read state-of-charge --via fronius
Safety Boundary
Read-only v1. Do not attempt mutating actions through this skill. Remote
shutdown, BMU reset, capacity reconfiguration, installer-app operations,
cell-balancing overrides, write coils, and write-register requests are out of
scope because they can affect a high-voltage DC battery. If a future v2 adds
any mutating action, it must be red-stakes, require mandatory F8/F14 approval,
and include installer handover instructions.
Never ask for, print, or store installer-app passwords such as common default
installer codes in helper output. Treat them as SecretRef-managed even if they
are well known.
Setup
Set local BMU connection values in this order:
- Browser admin: open the active HybridClaw admin URL ending in
/admin/secrets and set the
BYD_BMU_* values.
- Browser
/chat or TUI fallback:
/secret set BYD_BMU_HOST "192.168.1.50" plus the matching port, unit id,
and model values.
- Local console fallback:
hybridclaw secret set BYD_BMU_HOST "192.168.1.50"
hybridclaw secret set BYD_BMU_MODBUS_PORT "8080"
hybridclaw secret set BYD_BMU_UNIT_ID "1"
hybridclaw secret set BYD_BMU_MODEL "Premium HVS"
The helper uses the SecretRef names in metadata and output. It does not expose
the configured LAN host, port, unit id, model, or any installer secret in
normal results.
F3 host policy should allow only the BMU LAN host and Modbus port. BYD local
Modbus does not require internet endpoints by default.
Operation Rules
- Use
read state-of-charge for current SoC, SoH, power direction, and summary
incident hints.
- Use
read pack-telemetry for pack/output voltage, current, power, and pack
temperature.
- Use
read cell-extremes for max/min cell voltage, voltage spread, and
max/min temperature.
- Use
read inventory and read firmware for service handoff: serial, model
family, tower/module topology, BMU/BMS firmware, hardware revision when
present in the BMU block, inverter family, and grid mode.
- Use
read module-telemetry for per-module voltage and temperature summaries
decoded from the read-only diagnostic 0x0558 pages. Larger systems may
require multiple sampled pages; the helper reads only the allowlisted
diagnostic holding-register range and never starts measurement with a write.
- Use
read be-connect-metadata for the read-only commissioning and firmware
metadata that can be recovered from local BMU registers. It intentionally
does not log in to Be Connect Plus or handle installer passwords.
- Use
read alarms to decode the alarm bitmap into human-readable codes and
R29 incident-card payloads.
- Use
read energy-counters to emit shape-stable R5 charge/discharge kWh
rollup fields.
- If local Modbus is not configured but the battery is paired to Fronius, use
--via fronius. The helper delegates to R21.111 Fronius
local-power-flow / local-storage-realtime surfaces instead of inventing a
BYD cloud path. This checkout does not currently bundle a Fronius helper
path; treat the emitted delegation payload as a handoff to the R21.111 skill
once that skill is present.
- Stop after the first Modbus connect, timeout, exception, or comms-lost
failure. The helper emits an R29
bmu-comms-lost incident-card payload; do
not retry-loop against the BMU.
- Be Connect Plus has no public API contract. For v1, use
read be-connect-metadata, read firmware, and read inventory for
read-only commissioning metadata available from local BMU registers; do not
automate installer-app login or password flows.
Register Boundary
The helper exposes only allowlisted read-holding-register ranges derived from
the community BYD Battery-Box Premium Modbus maps:
0x0000:0x0066 BMU identity, firmware, topology, inverter/grid mode.
0x0500:0x0019 live SoC, SoH, pack voltage/current, alarms, energy counters.
0x0010:0x0003 BMS parameter snapshot.
0x0558:0x0041 tower/module diagnostic block.
No arbitrary register passthrough exists. No write function codes are exposed.
References
1---2name: byd-battery3description: Read BYD Battery-Box HVS/HVM/LVS/LVL home-storage telemetry through local Modbus or paired-inverter delegation, with read-only safety boundaries.4---56# BYD Battery78Use this skill for operator-approved monitoring of BYD Battery-Box Premium HVS,9HVM, LVS, LVL, and older HV/LV family home-storage units. Prefer the bundled10helper for all protocol details:1112```bash13node skills/byd-battery/byd-battery.cjs --format json read state-of-charge14node skills/byd-battery/byd-battery.cjs --format json read pack-telemetry15node skills/byd-battery/byd-battery.cjs --format json read cell-extremes16node skills/byd-battery/byd-battery.cjs --format json read inventory17node skills/byd-battery/byd-battery.cjs --format json read module-telemetry18node skills/byd-battery/byd-battery.cjs --format json read alarms19node skills/byd-battery/byd-battery.cjs --format json read firmware20node skills/byd-battery/byd-battery.cjs --format json read be-connect-metadata21node skills/byd-battery/byd-battery.cjs --format json read energy-counters22node skills/byd-battery/byd-battery.cjs --format json read state-of-charge --via fronius23```2425## Safety Boundary2627**Read-only v1. Do not attempt mutating actions through this skill.** Remote28shutdown, BMU reset, capacity reconfiguration, installer-app operations,29cell-balancing overrides, write coils, and write-register requests are out of30scope because they can affect a high-voltage DC battery. If a future v2 adds31any mutating action, it must be red-stakes, require mandatory F8/F14 approval,32and include installer handover instructions.3334Never ask for, print, or store installer-app passwords such as common default35installer codes in helper output. Treat them as SecretRef-managed even if they36are well known.3738## Setup3940Set local BMU connection values in this order:41421. Browser admin: open the active HybridClaw admin URL ending in `/admin/secrets` and set the43 `BYD_BMU_*` values.442. Browser `/chat` or TUI fallback:45 `/secret set BYD_BMU_HOST "192.168.1.50"` plus the matching port, unit id,46 and model values.473. Local console fallback:4849```bash50hybridclaw secret set BYD_BMU_HOST "192.168.1.50"51hybridclaw secret set BYD_BMU_MODBUS_PORT "8080"52hybridclaw secret set BYD_BMU_UNIT_ID "1"53hybridclaw secret set BYD_BMU_MODEL "Premium HVS"54```5556The helper uses the SecretRef names in metadata and output. It does not expose57the configured LAN host, port, unit id, model, or any installer secret in58normal results.5960F3 host policy should allow only the BMU LAN host and Modbus port. BYD local61Modbus does not require internet endpoints by default.6263## Operation Rules6465- Use `read state-of-charge` for current SoC, SoH, power direction, and summary66 incident hints.67- Use `read pack-telemetry` for pack/output voltage, current, power, and pack68 temperature.69- Use `read cell-extremes` for max/min cell voltage, voltage spread, and70 max/min temperature.71- Use `read inventory` and `read firmware` for service handoff: serial, model72 family, tower/module topology, BMU/BMS firmware, hardware revision when73 present in the BMU block, inverter family, and grid mode.74- Use `read module-telemetry` for per-module voltage and temperature summaries75 decoded from the read-only diagnostic `0x0558` pages. Larger systems may76 require multiple sampled pages; the helper reads only the allowlisted77 diagnostic holding-register range and never starts measurement with a write.78- Use `read be-connect-metadata` for the read-only commissioning and firmware79 metadata that can be recovered from local BMU registers. It intentionally80 does not log in to Be Connect Plus or handle installer passwords.81- Use `read alarms` to decode the alarm bitmap into human-readable codes and82 R29 incident-card payloads.83- Use `read energy-counters` to emit shape-stable R5 charge/discharge kWh84 rollup fields.85- If local Modbus is not configured but the battery is paired to Fronius, use86 `--via fronius`. The helper delegates to R21.111 Fronius87 `local-power-flow` / `local-storage-realtime` surfaces instead of inventing a88 BYD cloud path. This checkout does not currently bundle a Fronius helper89 path; treat the emitted delegation payload as a handoff to the R21.111 skill90 once that skill is present.91- Stop after the first Modbus connect, timeout, exception, or comms-lost92 failure. The helper emits an R29 `bmu-comms-lost` incident-card payload; do93 not retry-loop against the BMU.94- Be Connect Plus has no public API contract. For v1, use95 `read be-connect-metadata`, `read firmware`, and `read inventory` for96 read-only commissioning metadata available from local BMU registers; do not97 automate installer-app login or password flows.9899## Register Boundary100101The helper exposes only allowlisted read-holding-register ranges derived from102the community BYD Battery-Box Premium Modbus maps:103104- `0x0000:0x0066` BMU identity, firmware, topology, inverter/grid mode.105- `0x0500:0x0019` live SoC, SoH, pack voltage/current, alarms, energy counters.106- `0x0010:0x0003` BMS parameter snapshot.107- `0x0558:0x0041` tower/module diagnostic block.108109No arbitrary register passthrough exists. No write function codes are exposed.110111## References112113- [BYD Battery-Box downloads](https://www.bydbatterybox.com/downloads)114- [ioBroker.bydhvs community Modbus decode](https://github.com/christianh17/ioBroker.bydhvs)115- [SmartHomeNG `byd_bat` plugin](https://github.com/smarthomeNG/plugins/tree/master/byd_bat)116- [Home Assistant BYD HVS integration](https://github.com/Romelium/home-assistant-byd-hvs)