Map SunSpec Modbus battery storage telemetry using the battery information model blocks (models 802, 803, and 804).
domain: sunspec.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Read SunSpec Model 802 (Battery Base Model), a single fixed-length block containing SoC, SoCMax/SoCMin, DoD, SoH, cycle count, charge-state enums, voltage, cell voltage max/min/avg, current, power, and their scale-factor registers.
Read Model 803 (Battery Bank Model) for bank-level aggregated telemetry.
Read Model 804 (Battery String Model), which uses SunSpec's repeating-block feature to expose per-string data (e.g. string count, per-string voltage/current/temperature).
Apply each register's associated scale-factor point before interpreting raw integer values as engineering units.
Check for Model 805 (Battery Module Model) if per-module granularity is required, since it is a separate model from the base 802/803/804 set.
Cross-reference the official SunSpec Information Model reference (the model definition files in the sunspec/models repository) for the authoritative point list and enumerations.
Known gotchas
Model 802 itself has no temperature register — per-string/module temperature and imbalance data live in the repeating-block models (803/804/805), not in 802.
803/804/805 use SunSpec's repeating-block pattern, unlike 802's single fixed block, so parsers must read the model's count field to know how many repeating instances to decode.
All numeric values require applying the model's scale-factor points before use; skipping this yields values off by orders of magnitude.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?