live · Energy plants
For the owner who can’t tell a cloudy hour from a broken string.
Is it producing what it should?
Solar plants and batteries, read locally over SunSpec.
RuleProduction judged against the plant’s own expected figure; a string against its siblings; a fault by the inverter’s own event bits.
- 20:35:05Inverter 2 string 3 (Array A) is out: 0 W while its siblings make 5160 W. · work order #24
- 20:35:10String back · cleared by the reading
- 20:35:15Inverter 4 fault OVER_TEMP · the inverter’s own word · work order #25
- 20:35:25Grid event · 4 of 4 inverters, one alarm
- 20:35:35Solvarra Solar Plant exports 53.6 kW, over its limit of 20.0 kW.
What a plant owner actually hears.
Four sentences from the people who run plants. Each one is answered below, with the screen that answers it.
Four problems, four screens.
Each answer below is something the product did in the demo run, shown on the screen where it did it.
Expected is your own history. A dim day across the whole plant isn’t blamed on one part.
Expected production is your plant’s own history — this hour, this time of year — never a vendor’s yield model. Plant, array or inverter below its own expected band in daylight is a finding, once the plant knows its normal. An inverter or array is also compared with its siblings, and when everything is low together that comparison stays quiet.
From the demo run. Solvarra Solar Plant at 60 kW. Its expected band is shown once the plant knows its normal — fourteen days of history at this time of year; the demo plant is new on every run, so it is still learning.
A string near zero while its siblings on the same inverter produce is a finding.
A string at zero while its siblings on the same inverter produce. Named by inverter, string and array; cleared when it returns.
From the demo run. “Inverter 2 string 3 (Array A) is out: 0 W while its siblings make 5160 W.” at 20:35:05, work order #24; cleared at 20:35:10, when the string came back.
The fault in the standard’s own words, straight into a work order.
The inverter’s state and event bits, by the names the standard gives them — OVER_TEMP (over temperature), GROUND_FAULT (a ground fault), DC_OVER_VOLT (DC over voltage) — straight into a work order.
From the demo run. Inverter 4 reported FAULT, OVER_TEMP, at 20:35:15: work order #25.
A grid event is one alarm for the plant.
A grid event seen by every inverter at once is one alarm for the plant, not one per inverter.
From the demo run. “Grid event at Solvarra Solar Plant: GRID_DISCONNECT on 4 of 4 inverters (Inverter 1, Inverter 2, Inverter 3, Inverter 4).”
And the rest of the day’s work
The plant is the record. Everything attaches to it.
A plant is its arrays, its inverters and their strings, the meter at the point of connection, a battery and a weather station, read over SunSpec by a Field Agent at the plant.
Against the plant’s own expected band, once it knows its normal.
Near zero while the others produce is a finding.
State and events as SunSpec prints them.
Export against your limit.
Charge, status, cycles per day.
Every reading, finding and work order against the plant.
Fewer guesses. Fewer weeks lost to a dead string.
Stated as changes, not as numbers: your numbers are yours to measure, and Why it pays gives you the arithmetic.
- A low day could be clouds or a fault.
- A dead string is found at the monthly report.
- An inverter shows a code.
- A grid trip floods the alarm list.
- Expected comes from a vendor’s model.
- Each array and inverter is judged against its siblings, not the sky.
- A string near zero is a finding the same hour.
- The fault in the standard’s words, as a work order.
- One alarm for the plant.
- Expected is the plant’s own history.
OT and IT, in one twin.
OT and IT, in one twin. Inverters, the meter, the battery and the weather station over SunSpec are the OT; the Field Agent that reads them and the plant’s network are the IT. When every inverter loses the grid at once, the twin knows it is one event for the plant, not four inverter faults.
OT · what is measured
Each inverter’s DC inputs, AC power, state and event bits in the published SunSpec names; the meter at the point of connection; the battery’s charge state and limits; irradiance where measured.
IT · what keeps it reporting
A Field Agent at the plant, outbound only, reading SunSpec with function 03 and nothing else; the addresses you name, never a sweep; the path from any inverter back to the server, with the agent as a hop.
Buy the devices. Everything else comes inside.
One install bundle carries what a plant needs. A Field Agent box on the plant’s network reads the inverters and connects out to your server; the plant appears.
- One Linux server with Dockeryours, or one we run for you in the country you choose
- A small machine on the plant’s network for the Field Agentany Linux box or container
- The inverters, meter, battery and weather stationany that publishes SunSpec models over Modbus TCP
- The ports your IT opensthe install guide lists them
- The Field Agentits image and a standalone package, in the bundle
- The Field Agent at the plantreads SunSpec with function 03 only, and connects outbound only
- The database, the backups, the web entryone compose file, one address
- One scriptready in 2 min 42 s on the acceptance box (run 39194860273)
- Nightly backup, monthly restore drilla failed one is an alarm in the product
- Upgrade in placesame volumes, registrations and readings intact, proven on every release
- No telemetrythe bundled servers’ phone-home is off; CI fails if any container reaches out
The servers this kind of asset uses, each shown only when its acceptance run passed; statuses from the facts file.
Five systems, or one.
The same plants, run the usual way. No names: the categories are what matters.
- An inverter maker’s portal — one per make, its own codes.
- A yield model subscription — expected from someone else’s weather.
- A monitoring logger — a box per plant with its own cloud.
- A ticket tool — findings retyped as tickets.
- A spreadsheet for the month — kept by whoever remembers.
- Every inverter in the standard’s words — one plant view.
- Expected from your own history — no outside model.
- A Field Agent on your network — nothing goes to a vendor cloud.
- Findings become work orders — with the inverter and string.
- The plant’s history — every reading and finding.
Counted in devices. Never in people.
One licence per installation, per year, by device tier. An inverter or a meter is a device; an operator’s login and a technician’s phone are not. Add operators and technicians without a change to the bill.
The whole grid, every tier and every pack, is on Pricing — published, with what counts as a device and what is included.
- The platformUS$2,500
- The Energy packUS$3,000
- Operators and techniciansincluded
- The Field Agent, the phone appincluded
Your server. Your plant’s data. Nothing phones home.
Not a policy page: each of these is a property of the software you can check on your own server.
One installation, yours
Installed from a bundle that carries everything it needs. Never a shared cloud: one installation per customer, or one your integrator runs for you, each client a company of its own.
PostgreSQL you own
Every reading, alarm and record in a database you administer. A nightly backup you can restore anywhere, drilled monthly.
It reads. It doesn’t write.
SunSpec defines controls; HOLOIN never writes them. Findings become work orders for people. Nothing the twin learns changes a setpoint.
Nothing phones home
No telemetry in the product, none in the bundled servers. Proved with the network sealed on every release.
Your rules stay yours
Lines, rules and what the twin learned are text and arithmetic in your database; they leave with you.
An audit log that can’t be edited
Every change, by whom, from where — append-only in the database itself, for seven years, even for the database’s own administrator.
What you actually want to know.
Do I have to install anything?
No. We run HOLOIN for you on a dedicated server in the country you choose, never shared with another company, and you can take it with you. If you have your own servers, install it there instead; same product.
What do I need?
Inverters, a meter and a battery that publish SunSpec over Modbus TCP, and a Field Agent box on the plant’s network (it only connects outbound). The install guide lists the ports.
What does it cost?
Per installation, per year, by device tier: from US$5,500 a year for the platform and Energy, up to 100 devices. The whole grid is on Pricing. No per-seat fees; every operator and technician is included.
Who do I call?
Hours, channel and response time: on request. Every installation can produce a support bundle on demand, a readable archive with no personal data or secrets, which your IT team can check before it goes to us.
See it running on yours.
I’m responsible for the plants
Fifteen minutes on a plant like yours — no slides.
I install systems for clients
One installation per client, each a company of its own. The Field Agent at the plant, the ports in the install guide.
Start a partner conversation →