100 days Free returns on the GridZeno Dongle. Try it on your own system. If it doesn't fit, we take it back and pay the shipping.

GridZeno features: What GridZeno actually does.

Each feature is explained with how it works, what it requires of your system, and a concrete example.

01

Real-time overview

All subscriptions

You see what is happening on your system right now, updated every 15 seconds.

The dongle reads the inverter over Modbus every 5 seconds and passes the measurements on every 15 seconds. GridZeno recalculates each quarter hour from scratch every time new measurements come in. A quarter hour that was disturbed by a brief network dropout is therefore corrected when the missing measurements turn up, instead of staying wrong for ever.

On the dashboard you see solar production, household consumption, the battery's state of charge and the power going out of and into the meter, together with today's electricity prices.

Updates
Read every 5 seconds, sent every 15 seconds
Resolution
Quarter hour, the same resolution as the Danish electricity market
History
Detailed measurements for 6 hours, quarter-hour data for 2 years
Requires
Dongle fitted in the inverter's RS485 port
Why quarter hours and not hours?
Electricity in Denmark is settled by the quarter hour. An hourly average would smooth out the price swings the control uses. GridZeno shows and calculates in all 96 quarter hours of the day.
02

Electricity prices, and what you actually pay

All subscriptions

The spot price is rarely the price you pay. GridZeno calculates all the way to the price on your bill.

Spot prices are fetched from Energinet's official dataset in quarter-hour resolution for both DK1 and DK2. On top of the spot price, GridZeno adds the four things that are actually also on your electricity bill:

  1. Your own grid company's grid tariff. Fetched directly from Energinet's DataHub. It often differs from hour to hour, with a more expensive peak period late in the afternoon. See the rates at each grid company.
  2. Energinet's system tariff. National, the same for everyone.
  3. Energinet's transmission grid tariff. Also national.
  4. Electricity tax. Set by law.
ExampleFrom spot price to the price you pay
Spot priceDKK 1.308
Grid tariff at your grid company+ DKK 0.092
System tariff (Energinet)+ DKK 0.072
Transmission grid tariff (Energinet)+ DKK 0.043
Electricity tax+ DKK 0.008
Total excluding VATDKK 1.523
VAT, 25%+ DKK 0.381
Your price per kWhDKK 1.904

A worked example from one grid company in DK1. Your own rates depend on your grid company and on current legislation. GridZeno fetches them for you and calculates with yours.

The selling price is calculated the same way, just the other way round: the spot price minus the feed-in tariff, the balance tariff, your grid company's own feed-in tariff and your buyer's trading fee, all including VAT. That's why the price you get for a kWh isn't the same as the price you pay for it. That difference is what the control earns on: a kWh you use yourself saves you the buying price. See what you get for surplus power, and what it's worth with a battery.

Your subscription with the electricity supplier isn't included
If you choose your electricity agreement in GridZeno, we include the supplier's mark-up per kWh in the price. We don't include the fixed monthly subscription with your electricity supplier in the kWh price, because it's the same no matter how much power you use.
03

Charts and history

All subscriptions

Production, consumption, buying, selling and battery, day by day, quarter hour by quarter hour.

The graphs show what actually happened on your system. On top of today's curve, GridZeno draws a dotted line with what the forecast predicted for exactly that day. So you can follow how well it hits as the day goes, not only afterwards.

Quarter-hour data is kept for two years.

ExampleHow to read a day when the forecast was off

The green curve stops at the current time: that's what has actually happened. The dotted one continues to the end of the day: that's the expectation.

If the dotted line is well above the green one in the middle of the day, there are usually two explanations: either the weather was worse than forecast, or the system has cut back because the battery was full and selling was stopped. GridZeno takes the second explanation into account in the forecast, precisely because it would otherwise look like a fault on the system.

04

Solar and consumption forecast

All subscriptions

A plan is only as good as what it expects. That's why GridZeno uses several weather sources and the physics of exactly your roof.

Several weather sources, ranked by how well they actually hit

GridZeno fetches weather forecasts from several independent sources. The system continuously compares what each source has predicted in the past with what the solar panels actually produced, and uses the one that has been most accurate. If a source drops out, the next one is used automatically.

Physics for each solar string on your roof

Production is calculated with a real solar physics model per string. If you have panels facing both east and west, they're calculated separately and added together.

An average of east and west gives an angle in between that none of the panels have. It predicts one sharp midday peak, where a real east/west system gives a broader curve with a morning peak and an afternoon peak.

ExampleWhat per-string physics does to the curve

A system with 5.5 kWp facing east and 4.0 kWp facing west: the same total daily energy, but the peak output drops from 3.38 kW to 2.71 kW, and the curve gets broader.

So the battery control plans for the two peaks the system actually gives.

Calibration against your own system

The physics doesn't know that there's a tree in the way, or that the panels need washing. That's why the forecast is scaled against your system's own production over the last 14 days. If you change the panel setup, the calibration starts over, because the old comparison would no longer be valid.

How often it's updated

Light
Three times a day
Smart
Every 3 hours
Pro
Every hour, plus an immediate recalculation if the forecast differs markedly from the actual production

Today's forecast is recalculated from "now" onwards, starting from the battery's real current state of charge. Quarter hours that have already passed are never overwritten. What has happened stays fixed.

If the day delivers less sun than expected, the plan also corrects the rest of the day based on what the system has actually produced so far. Then it charges from the grid in time, instead of waiting for sun that doesn't come.

05

Automatic control

Smart and Pro

GridZeno makes a plan you can read the reasons for, and the dongle carries it out locally at your home.

A plan you can read

The plan is made by a mathematical algorithm in seven steps. For every quarter hour you can see what the system will do, and why. Read how the algorithm decides.

  1. Prices are ranked across the whole planning horizon, so the other steps know which quarter hours are worth using.
  2. Your own consumption is covered first. If power is short, the battery is emptied before anything is bought from the grid. Surplus solar power isn't simply charged in the order it comes: GridZeno saves room in the battery for the surplus that's paid worst, and sells what is paid well. That gives the same battery level at the end of the day and more money for the sale.
  3. Charging by price. At negative prices, the battery always charges. With Pro, power is also bought in cheap quarter hours, but only when it pays off after the loss in the battery, and the battery can be held for a more expensive hour.
  4. Discharging at high prices. Sell from the battery in the best-paid quarter hours, and only the power the house won't need itself later. Pro only.
  5. Your strategy makes steps 3 and 4 more or less aggressive.
  6. Your own rules are applied last as hard limits. A ban always wins over an instruction. See Your own rules.
  7. Reasons are written, and identical quarter hours in a row are merged into readable lines.

Four strategies

Balanced
A sensible balance between self-consumption and price control. The default choice.
Maximise self-consumption
Use as much of your own solar power yourself as possible, rather than trading on the price.
Preserve the battery
Fewer charge and discharge cycles and a higher reserve, at the cost of some earnings.
Maximise savings
Makes the most of price swings, including selling from the battery at high prices. Pro only.

More to adjust with Pro

Charging time
Charge at the best time, prioritise charging from the grid first, or prioritise charging from the solar panels first.
Price forecast
The plan can look into tomorrow with expected prices, not only the prices that are already known.
Your own rules
Hard limits on what the control may do. See below.

The most important switch: Automatic or Manual

At the top of Automatic there's a main switch. When it's set to Manual, the dongle still fetches the plan and shows it, but changes nothing on the inverter. If GridZeno has changed something, the dongle puts the inverter's own settings back, including your own charge limits. It's exactly the same plan you would get in Automatic, so you can watch the system over its shoulder before you let it act.

Your limits are enforced in the inverter itself

GridZeno writes your minimum and maximum state of charge to the inverter's own limit registers. The limit therefore holds, even if the dongle loses power or connection.

No command queue
GridZeno never sends a command to your inverter. The dongle fetches the plan and translates it locally at your home. If you lose your internet connection, the dongle follows the plan it already has, or lets the inverter run on its own, depending on what you have chosen under Automatic.
06

Your own rules

Pro only

Eleven rule types that always win over the automatic control's own choices. Each of them can be controlled by time and by data.

With Pro you can put hard limits on top of the plan. A rule has three parts: what it does, when it applies, and at most one condition. The rules are fixed types, so the system can make sure they're followed.

What the rule does

Fully charged battery by a set time
The battery must be full by a certain time, for example before a cold morning.
At least X% by a set time
The same mechanism, but you choose the percentage yourself.
At least X% in a time window
The battery is kept above your percentage all the way through the time window.
Charge from the grid
Charge from the grid in the time window, optionally only up to a state of charge you choose.
Hold the battery
The battery is neither charged nor discharged, so the energy is saved for later.
Sell from the battery
Sell from the battery in the time window, but always keep at least the percentage you choose.
No discharging
Don't touch the battery in the time window.
Don't sell to the grid
Don't sell to the grid in the time window.
Limit selling to the grid
At most this many kW out onto the grid in the time window.
Max. charging from the grid
At most this many kW from the grid into the battery, for example out of consideration for the fuse.
No charging from the grid
Don't buy power into the battery in the time window.

When it applies

Time window
A daily time window, for example 17:00 to 21:00. Without a time window, the rule applies all day. A time window across midnight belongs to the day it starts.
Weekdays
Only the days you choose, for example Monday, Wednesday and Friday.
Period
From one date to another, for example while you're on holiday.

Conditions

When the buying price is below
A price in DKK per kWh. Known the day before, so the plan can take it into account.
When the selling price is above
Your real selling price, not the raw spot price.
When the selling price is below
For example, stop selling when the power is worth almost nothing.
When today's solar forecast is below
The whole day's expected production in kWh.
On a severe weather warning
When a warning has been issued for your area, from the warning level you choose.
When the house uses more than
Measured right now, for example when the electric car is charging.
When the battery drops below
Measured right now, from the battery's own state of charge.

Prices and forecasts are known in advance, so the plan takes them into account. The two measured conditions can't be planned, because nobody knows in advance when the electric car will be plugged in. The dongle decides those itself from each measurement, locally at your home. It needs two measurements in a row before it reacts, and stays in the new state for at least five minutes, so a single spike doesn't make the system switch back and forth.

Which conditions fit which rules

A rule can have at most one condition. Here are the ones that fit each rule. "Measured" means that the dongle decides it from the measurement right now.

Fully charged battery by a set time
  • Solar forecast below
At least X% by a set time
  • Solar forecast below
At least X% in a time window
  • Solar forecast below
  • Severe weather warning
Charge from the grid
  • Buying price below
  • Solar forecast below
  • State of charge belowmeasured
Hold the battery
  • Selling price below
  • Solar forecast below
  • Consumption abovemeasured
  • State of charge belowmeasured
Sell from the battery
  • Selling price above
No discharging
  • Consumption abovemeasured
  • State of charge belowmeasured
Don't sell to the grid
  • Selling price below
Limit selling to the grid
  • Selling price below
Max. charging from the grid
No condition. The rule is controlled by time window, weekdays and period.
No charging from the grid
No condition. The rule is controlled by time window, weekdays and period.

The combinations that are missing have been left out on purpose. "Sell from the battery when the buying price is low" would contradict itself, so that combination can't be created.

ExampleRules in practice

Fully charged battery by 18:00, Monday, Wednesday and Friday, but only when today's solar forecast is below 8 kWh. On the sunny days the sun manages on its own, and on the grey days GridZeno charges from the grid in the cheapest quarter hours before 18:00.

Hold the battery from 17:00 to 21:00 when the house uses more than 7 kW. When the electric car is plugged in, it charges from the grid, and the battery is saved for the rest of the evening.

ExampleWhen two rules disagree

You have set "charge from the grid 02:00-05:00" and "no charging from the grid 04:00-06:00". In the overlapping time window 04:00-05:00, the ban wins. A ban always wins, and a hold wins over both charging and selling. GridZeno chooses the cautious option and writes it in the plan's reasons.

If a rule is outright impossible to meet, for example "full battery at 06:00" on a day where there aren't enough hours to reach it, GridZeno writes in the plan that it can't be met.

07

Notifications

All subscriptions

Fifteen kinds of message, each with its own switch for e-mail and for push.

You choose what you want to be told about, and on which channel. Push works on both computer and phone, even when the tab is closed.

The dongle isn't reporting in

When the dongle hasn't reported in for 30 minutes, for example because it has lost power or internet, and again when it's back.

The dongle can't read the inverter

Only when the fault has lasted for 30 minutes in a row, not on a single short dropout. The message says what the dongle reports.

The dongle can read the inverter again

Only if you were told about the fault. You don't get an "all is well again" about a problem you never heard about.

Change to the system

When the dongle finds one battery module more or fewer, a new capacity, a different inverter or new firmware in it. The plan is redone straight away.

The battery is almost empty

When the battery reaches the limit you set yourself.

The battery is full, and the solar power isn't sold

When the sun is producing, the battery is full and nothing is sold, so the power the house doesn't use is lost.

Unusually high consumption

Measured against your own consumption in the same time window over the last 14 days, not against a fixed number.

Low selling price tomorrow

When tomorrow's selling price falls below your own limit in at least one quarter hour.

High selling price tomorrow

When tomorrow's selling price rises above your own limit in at least one quarter hour.

The control is set to manual

When GridZeno stops controlling the system.

The control is set to automatic

And when GridZeno follows the plan again.

Report for the system

Monthly, and with Pro also daily or weekly. You choose the time yourself.

Detailed report

With Pro: highest and lowest days, self-sufficiency rate and your own records.

Problems with the payment

When a payment doesn't go through, when the subscription has stopped, and 14 days before a payment if your card expires before then. Always sent by e-mail.

Your free period ends soon

Thirty days before a free period or a campaign code expires.

Alerts that don't turn into noise
The state-based alerts have a release threshold. A battery level that hovers around your limit doesn't send a message every five minutes. It has to go some way back past the limit before the message can be triggered again.

Seven of them require Smart or Pro, and the detailed report requires Pro. The messages about payment always come by e-mail. The price alerts use your real selling price, not the raw spot price, which would give the wrong answer for anyone who is paid less than the spot price says. Alerts about your subscription aren't sent in the app for Android and iPhone. There you instead get a message that there's a new notice, and you have to log in to GridZeno via the website to read it.

08

Reports

All subscriptions

An e-mail that shows what actually happened, and what it was worth.

The report comes every month, and with Pro also daily or weekly, with graphs and figures for production, consumption, buying, selling and battery. It contains four amounts, and they all describe something that has already happened:

The value of your solar production
What it would have cost to buy the same power instead.
Earnings from export
Real money you have already received for what you sold.
The value of imported power
What you have actually spent on buying power.
The value of timing
What it was worth that the power was used and stored at the right times rather than spread evenly over the day.

With Pro you also get a detailed report with the highest and lowest days, self-sufficiency rate, the most expensive and cheapest import times, a comparison with the previous period and your own records.

See how the four amounts are calculated

09

System data and changes

All subscriptions

GridZeno asks your system instead of asking you to type it in.

The dongle reads the inverter's and the battery's details itself: model, serial number, rated power, firmware, number of battery modules and capacity. This happens when it starts, every 6 hours, and when you press Read again under System. The plan uses the capacity that the battery's own management system (BMS) measures, so these aren't numbers you have to look up in a manual, and not numbers we guess either.

Each reading is compared with the previous one. If a battery module is added, the inverter is replaced, or the capacity changes by at least 5%, it shows as a change under System, you're notified, and the plan is redone straight away.

At the top of System is the inverter's state right now: whether the dongle can read it, and whether the inverter itself reports a fault or warning. Below that are the location and the panels, string by string, as the forecast uses them and as you can correct them yourself. The Dongle page shows whether the dongle is running, and what to do if it isn't.

10

Security and your data

All subscriptions

Your password never comes near the dongle, and tampered firmware can't be installed.

Pairing without sharing your password

The dongle creates its own secret the first time it starts, and registers itself. The actual linking to your account happens from your browser, where you're already logged in. Your password therefore never has to go into the hardware, and we never store the secret in plain text, only as a one-way fingerprint.

Signed replies and signed firmware

The replies from GridZeno to the dongle are signed, so a tampered connection can't feed it the wrong setup. Firmware is cryptographically signed on upload, and the dongle checks the signature while it downloads it, and rejects it before anything at all is written. The security lies in the signature, not in keeping the file secret.

Your data

Your system data is used to run your system. If you also want it to help improve the forecast models, that's a separate choice you switch on yourself. If you switch it off again, the data already copied is deleted, not just stopped.

The forecast service is physically separate from the rest and has no way of sending a single command to any inverter. It only makes predictions.

Read the full description of energy data

11

Home Assistant

BetaAll subscriptions

Your system in Home Assistant, directly from the dongle on your network.

GridZeno's integration for Home Assistant finds the dongle on your network, and you approve it in GridZeno with a 6-digit code. Home Assistant fetches the measurements directly from the dongle every 5 seconds, bypassing our server, and it also works when the internet is down.

All subscriptions
Solar, consumption, battery and grid right now, energy meters for Home Assistant's energy dashboard, the plan and who is in control.
Smart and Pro
Your buying and selling prices for every quarter hour today and tomorrow, the cheapest and most expensive quarter hours and GridZeno's solar forecast, also in the energy dashboard.
Manual control
When you're in control yourself: charge from the grid, hold the battery, sell from the battery or limit export, for a time from 15 minutes to 12 hours and within your own limits. When GridZeno is in control, Home Assistant can only read.

We're still building the feature, and more will come when the firmware in the dongle is updated. That happens automatically. See the guide to Home Assistant

The content was last reviewed on 24 September 2026.

It starts with your system

Ready for cheaper
power?

Check whether your inverter fits, and let the plan charge the battery and sell power in the right quarter hours.

Check your system