HMSoft
Platform · A plant’s day

Accidents almost happen every day

Follow one ESS plant through 24 hours and see, in six near-misses, how the common way and ENERBOT part ways.

A reconstruction for explanation. The times are made up, but every scene actually happened in the field.

11:20 When a cloud passes

11:20
When a cloud passes

A passing cloud does not pull power from the grid

Solar output shifts more than ten thousand times a day. Only when commands go out on change, not on a timer, does the battery stop pulling the shortfall from the grid.

If it still pulls, a red row appears; after 30 seconds in a row (or 60 seconds within 5 minutes) charging stops.

Common way
  1. 10-second timer
  2. Up to 13 s late
  3. 456 kW command held
  4. 216 kW pulled from the grid
ENERBOT
  1. Read every 0.2 s
  2. Sent on change
  3. 228 kW within 0.4 s
  4. Zero grid pull
Does the command follow PV? (kW, 60 s)PV outputCommon timer commandENERBOT command
01002003004005000s10s20s30s40s50s60sPulled from grid

Illustrative example. While the orange line is above the yellow one, the battery charges from the grid.

14:05 When one of three PCS units fails

14:05
When one of three PCS units fails

One failed PCS does not stop the plant

Only the failed unit is taken out; the healthy ones share the command and keep running. Automatic resets go out at the set count and interval.

Exception · an emergency stop or fire stops the whole plant, and no automatic reset is sent.

Common way
  1. PCS #2 fails
  2. Whole plant stops
  3. No charge or discharge
  4. Someone drives out to reset
ENERBOT
  1. PCS #2 fails
  2. Only that unit is excluded
  3. Two units share the load
  4. Automatic reset
Plant output (kW, PCS 250 kW × 3)Common wayENERBOT
750750Before0500Right after750750After reset

Illustrative example. For the common way, “after reset” means after someone visited the site.

19:40 When battery-room humidity rises

19:40
When battery-room humidity rises

Battery-room limits differ per plant, and crossing them stops operation first

Condensation and insulation set different ranges; the low-temperature and high-humidity limits move together, and in-cell batteries have their own. The battery room decides first whether charging is allowed.

It stops when a limit is crossed, or when the limits cannot be read. Only plants without their own limits use the defaults of 18–28 ℃ and 80 %.

Common way
  1. Humidity rises
  2. Nothing until someone looks
  3. Risk of condensation
ENERBOT
  1. Per-plant limits
  2. Stop charging when crossed
  3. Adjust the air conditioner remotely
Battery-room humidity (%, every 10 min)HumidityThis plant’s limit 80 %
60708090Charging stopped

Illustrative example

22:10 When a device stops answering

22:10
When a device stops answering

What we do not know is never shown as normal

We ask in this order: not installed · switched off by us · asked but no answer · asked but could not tell. Turning “could not ask” into “nothing wrong” opens the safety gate.

Decide on the safe side; show it honestly.

Common way
  1. Sensor stops answering
  2. Last value 25 ℃ stays on screen
  3. Screen says normal
ENERBOT
  1. Sensor stops answering
  2. “Disconnected” in red
  3. Stop and alert
We ask in this order
1Not installedLeft out of decisionsNone
2Switched off by usNothing to do nowNot collected
3Asked, no answerSomeone goes on siteDisconnected
4Asked, could not tellLook for the cause-

Reverse the order and a plant without the device is stopped as “disconnected”, or a device we switched off is read as “failed”.

02:30 When the line to the server drops

02:30
When the line to the server drops

When the line drops, the plant stops safely and the record survives

If the server or internet drops, the ESS stops charging and discharging; it does not keep running on the last setting. Instead it alerts within a minute and loses no records.

While cut off, the field RTU keeps readings (ESS every minute, solar every 10 minutes) for up to 7 days and fills them into history at their own times once reconnected.

Common way
  1. Line drops
  2. Records lost meanwhile
ENERBOT
  1. Line drops
  2. Charging stops
  3. Phone alert within 1 min
  4. Kept 7 days, then filled in
Battery-room temperature (℃)Received liveFilled in later
Line down · charging stopped

Illustrative example. Once reconnected, readings go into history only, at their own times (screens and alerts untouched).

06:00 When many plants go quiet at once

06:00
When many plants go quiet at once

When many plants go quiet together, we look at our side, not the plants

If 14 of 40 plants go quiet at the same moment, fourteen plants did not break at once. At 3 or more plants and 30 % or more, we treat it as a server, VPN or line issue and send one alert to the administrator.

Picking the plants that need hands now, out of hundreds, is the job of monitoring.

Common way
  1. 14 plants quiet
  2. 14 alarms
  3. Blamed on equipment
ENERBOT
  1. 3 plants · 30 %+
  2. Judged as our side
  3. One alert to the admin
14 of 40 plants went quiet at the same momentNormal 26Quiet 14 (35 %)

Illustrative example

The answer to each of the six scenes came from 198 sites

SceneCommon wayENERBOT
11:20 CloudTimer commands · up to 13 s lateSent on change · 0.4 s
14:05 PCS failureWhole plant stopsRuns without the failed PCS · auto reset
19:40 HumidityNothing until someone looksStops on per-plant limits · remote A/C
22:10 No answerLast value shown as normalNot installed / not collected / disconnected / unknown · stop
02:30 Line downRecords lost meanwhileStop · 1-minute alert · 7 days kept, then filled in
06:00 Many quietA flood of alarms, one per plantRead as our side · one alert
198ESS plants built by HaemilSoft Co., Ltd.
0.2sPCS · battery · PV read cycle (field-measured 0.24–0.36 s)
0.4sFor the command to follow a change in solar
1minFrom a silent field to the person on call
This page is part 1 of 4 in our story · Protecting
Next in the story
The safety design and research behind the six scenes
Technology