Industries / BESS & Energy Storage

Energy Storage Systems

BESS & Solar Inverter
Monitoring Platform

One control-room view over battery storage, PV inverters and every DC string. Live energy flows, state of charge, performance ratio and rule-based alarms — built on Modbus TCP, IEC 61850, SunSpec and MQTT.

What we build

Platform capabilities

Every capability below comes from monitoring systems the team has built and operated in production.

Real-time energy flow

Live single-line diagram showing power on every branch — PV array → inverters → AC bus → grid / load. Animation direction follows actual energy direction.

SOC / SOH analytics

Per-bank state of charge and state of health tracking. Battery cycle counts, thermal events and performance degradation trends surfaced in the dashboard.

String-level diagnostics

Performance ratio and health score for every DC string. Soiling, shading, connector faults and PID show up here long before they affect monthly yield.

Rule-based alarms

Configurable alarm rules over inverter, storage bank and POI telemetry. Critical / warning / info severity, time-stamped and source-attributed.

Protocol integration

Modbus TCP, IEC 61850, SunSpec and MQTT — direct polling or broker-based ingestion. Adapters for new inverter models added without core changes.

SCADA dashboard

Control-room view over battery storage banks, PV inverters and DC strings. Designed for operators managing multiple sites from one screen.

Live demo

Interactive BESS dashboard

A simulated hybrid plant: 11 MWh of storage across three banks, 18 PV inverters rated 100–125 kW and 90 DC strings. The simulated clock runs 120× faster than real time.

Interactive demo. Values come from a deterministic plant simulator, not from a live installation.
Solterra Hybrid Park2.05 MW AC · 11 MWh BESS · 18 inverters · 90 strings
1 Critical4 WarningLive13:20
PV generation82 %
1.68 MWof 2.05 MW AC
Battery powerCharging
1.30 MWof 5.5 MW
State of charge
79.0 %8.69 / 11 MWh
Site load
226 kWSelf-sufficiency 75 %
EV charging75 % solar
158 kW2 / 7 connectors busy
Grid exchangeImport
0 kWof 500 kW Import
Grid import today
1.90 MWhPeak 500 / 500 kW
Yield today
7.7 MWh↑ 0.00 MWh Export
Weather & PV forecast

Conditions driving irradiance, panel derating and charging demand

23.8 °CPartly cloudy
Cloud cover
29 %
Wind
15 km/h
Humidity
69 %
PV potential
1681 kW
Next 8 hours
  • 14:0025°1.7M
  • 15:0025°1.5M
  • 16:0024°919
  • 17:0023°668
  • 18:0022°636
  • 19:0022°539
  • 20:0021°223
  • 21:0019°0
Energy flow topology

Single-line diagram with live power on every branch. Animation direction follows the actual direction of energy.

1.68 MW1.68 MWImport 0 kWExport 0 kW226 kW158 kWCharging 1.30 MW
PV array
1.68 MW
2.46 MWp DCIrradiance 884 W/m²
Inverters
16 / 18
2.05 MW AC · 90 stringsη 98.5 %
AC bus
50.01 Hz
33 kV · cos φ 0.99Curtailed 0 kW
Grid / POI
0 kW
↓ 500
↑ 750
Today ↓1.9 ↑0.0 MWh
Site load
226 kW
Self-sufficiency 75 %Today 7.7 MWh PV
EV charging hub
158 kW
780 kW · 4 stationsToday 3620 kWh
BESS-01Charging
360 kW78.4 %
3 MWh · 1.5 MWSOH 98.2 % · 26.0 °C
BESS-02Charging
234 kW74.5 %
3 MWh · 1.5 MWSOH 96.4 % · 28.1 °C
BESS-03Charging
703 kW82.1 %
5 MWh · 2.5 MWSOH 99.1 % · 29.7 °C
EVSE-01Idle
0 kW44 %
240 kW · 2 conn1132 kWh · 16
EVSE-02Idle
0 kW30 %
200 kW · 2 conn639 kWh · 13
EVSE-03Charging
87 kW49 %
180 kW · 2 conn1022 kWh · 9
EVSE-04Charging
71 kW44 %
160 kW · 1 conn826 kWh · 7
BESS-01

3 MWh · 1.5 MW · LFP 1P416S

Charging
78%SOC
Power
360 kW
Available
2.02 MWh
SOH
98.2 %
Cycles
412
Cell temp.
26.0 °C
C-rate
0.12 C
BESS-02

3 MWh · 1.5 MW · LFP 1P416S

Charging
74%SOC
Power
234 kW
Available
1.63 MWh
SOH
96.4 %
Cycles
688
Cell temp.
28.1 °C
C-rate
0.08 C
BESS-03

5 MWh · 2.5 MW · LFP 2P416S

Charging
82%SOC
Power
703 kW
Available
3.67 MWh
SOH
99.1 %
Cycles
214
Cell temp.
29.7 °C
C-rate
0.14 C
24-hour power and state of charge

Generation, load, battery power and grid exchange over the simulated day. The vertical marker shows the current moment.

-1750-1250-750-2502507501250175000:0003:0006:0009:0012:0015:0018:0021:0024:00kWSOC %1000
  • PV generation
  • Site load
  • EV charging
  • Battery (+ discharge / − charge)
  • Grid (+ import / − export)
  • State of charge
Grid exchange by hour

500 kW import connection and 750 kW export limit, metered hour by hour at the interconnection point

  • Import
  • Export
Hourly grid import and export10005000500100000:00 · Import 176 kWh0001:00 · Import 360 kWh02:00 · Import 448 kWh03:00 · Import 338 kWh0304:00 · Import 231 kWh05:00 · Import 256 kWh06:00 · Import 41 kWh0607:00 · Import 42 kWh08:00 · Export 3 kWh08:00 · Import 3 kWh09:00 · Export 0 kWh09:00 · Import 0 kWh0910:00 · Import 0 kWh11:00 · Export 0 kWh11:00 · Import 0 kWh12:00 · Export 0 kWh12:00 · Import 0 kWh1213:00 · Export 0 kWh13:00 · Import 0 kWh14:00 · Export 330 kWh14:00 · Import 0 kWh15:00 · Export 617 kWh1516:00 · Export 65 kWh16:00 · Import 12 kWh17:00 · Export 106 kWh17:00 · Import 11 kWh18:00 · Export 207 kWh1819:00 · Export 216 kWh20:00 · Export 227 kWh21:00 · Export 227 kWh2122:00 · Import 38 kWh23:00 · Import 172 kWhkWh
Imported today
1.90 MWh
Peak 500 kW · of 500 kW
Exported today
0.00 MWh
Peak 24 kW · of 750 kW
Net balance
-1.89 MWh
Busiest hour in 448 kWh · out 617 kWh
Peak shaved by BESS
4 kWh
Battery covers demand above the 500 kW import cap

18 string inverters rated 100–125 kW, grouped into three blocks. The bar under each card shows load against nameplate rating, the segments below show per-string health.

INV-01Online
120.1 kW
125 kW · Block Aη 98.6 %
6 strings54 °C
INV-02Online
119.2 kW
125 kW · Block Aη 98.6 %
6 strings51 °C
INV-03Online
113.8 kW
120 kW · Block Aη 98.6 %
5 strings48 °C
INV-04Online
115.9 kW
120 kW · Block Aη 98.6 %
5 strings48 °C
INV-05Online
102.9 kW
110 kW · Block Aη 98.6 %
4 strings49 °C
INV-06Online
104.7 kW
110 kW · Block Aη 98.6 %
5 strings53 °C
INV-07Derated
62.6 kW
110 kW · Block Bη 96.3 %
6 strings56 °C
INV-08Online
94.4 kW
100 kW · Block Bη 98.6 %
4 strings52 °C
INV-09Online
95.9 kW
100 kW · Block Bη 98.6 %
4 strings49 °C
INV-10Online
121.3 kW
125 kW · Block Bη 98.6 %
6 strings48 °C
INV-11Online
111.3 kW
120 kW · Block Bη 98.6 %
5 strings48 °C
INV-12Online
108.3 kW
115 kW · Block Bη 98.6 %
5 strings52 °C
INV-13Fault
0.0 kW
110 kW · Block Cη 0.0 %
4 strings17 °C
INV-14Online
100.4 kW
105 kW · Block Cη 98.6 %
6 strings53 °C
INV-15Online
93.8 kW
100 kW · Block Cη 98.6 %
4 strings50 °C
INV-16Standby
0.0 kW
125 kW · Block Cη 0.0 %
6 strings23 °C
INV-17Online
111.8 kW
120 kW · Block Cη 98.6 %
5 strings48 °C
INV-18Online
104.4 kW
110 kW · Block Cη 98.6 %
4 strings51 °C
Technology

What runs under the hood

Protocols
  • Modbus TCP
  • IEC 61850
  • SunSpec
  • MQTT
Frontend
  • React 19
  • TypeScript
  • WebSocket
  • Canvas / SVG
Backend
  • Node.js / Express
  • TimescaleDB
  • Redis
  • OpenTelemetry
Alerting
  • Rule engine
  • Severity tiers
  • Webhook / email delivery

Building a BESS monitoring platform?

Share your inverter models and telemetry setup — we'll outline a realistic integration path and timeline within 24 hours.