Time-variable grid fees ("hourly peak shaving"?)

Hello from Sweden!

There is a good discussion ongoing on the topic of time-variable grid fees here. Status is (as I understand it) that Victron is working on implementing time-variable costs in the DESS. But I think that my question is slightly different:

We will get something similar to time-variable grid fees in 2026. The grid fees (meaning kr / kWh) will stay the same during the day, but there’s an additional fee for the average of three peak kWh/h readings each month. If I, for example, during three different hours this month pulled 4, 5, and 6 kWh from the grid (and less during all other hours), I would pay 5 * 45 kr in addition to the grid fees. This peak-fee is independent of the total energy used during the month.

In 2026, this fee will become time-variable and will be about 130 kr per peak kWh/h during weekdays and 0 kr during nights and weekends. This means I can save quite some money by avoiding high-consumption hours. I am therefore looking for a way to limit the total energy pulled from the grid each hour. This is not exactly the same as the peak shaving implemented in the ESS, as that limits the short-time power, not the hourly energy. Of course peak-shaving will limit the hourly energy as well, but I’m happy to allow higher peak power drawn under short periods.

It’s more a smearing out of the energy pulled from the grid that I’m after. If I by 12:40 notice that I’ve only pulled 0.5 kWh, but I’m averaging 2 kWh this month (or have set the 2 kWh target by some other heuristic), I can charge the battery during the remaining 20 minutes. Likewise, if I’ve pulled 2.1 kWh from the grid and it’s only 13:30, I would like to discharge the battery for the next 30 minutes instead of using the grid. Of course, making smart decisions becomes more complicated in combination quarterly energy prices.

Does anyone have an idea where I can even start? We have a 3-phase MP-II ESS setup with a 10 kWh battery, a Cerbo GX. I use HomeAssistant and I’m not unfamiliar with programming but I haven’t used Node.Red.

Thanks a lot for your help!

See ongoing work from Victron on this topic: Capacity tariff peak shaving — effekttariff (SE) / capaciteitstarief (BE)

Status on that is actually: It is already done:

You can set up different price-equations based on different times.
For example, here, that would be 9.24 (instead of 15.69ct) Grid fees from 10 to 14:

We are already running evaluations for different strategies for this kind of tarrifs. (And checking if DESS would be a suitable tool to handle this)

As to my understanding, the “key” would be to keep the accumulated grid-pull per hour to a “minimum” to keep that fees low, right?

So, my first attempt would be the following:

  • Use regular ESS
  • Set a desired Grid-Setpoint of for example 2000W (24/7)
  • Your battery will charge continuously with the remaining energy, if consumption is bellow that value.
  • Configure Peak-Shaving to match this 2000W
  • Thus, whenever your consumption exceeds 2000W, Energy will be taken from the battery to “shave the peak” - and as soon as that consumption spike is over, the battery will continuously recharge for the next peak.

Over time, you could adjust this value to something that is suitable for your system. In theory, you achieved the “optimal, minimum continuous grid load” , when your battery never hits 100% and when it never hits minsoc.

  • if it hits 100% → You could lower the 24/7 setpoint.
  • if it hits minsoc → You can’t stockpile enough to cover your peaks, you need to accept a “higher grid pull” during peak times to make the battery last long enough.

And with a very little node-red you could even adjust the setpoint based on time, because nightly the impact on final costs is “halfed” (So, you could allow a 4000W continuous grid-pull there, yielding the same average-costs as allowing 2000W during the day)

For a 10 kWh Battery, you are probably more in the situation that you have to see, “how high” a minimum grid-pull during peak-times needs to be, to be able to cover Xh of increased loads. for instance, if you frequently encounter 5000W for 4h, your battery can compensate roughly 2.5 kWh per hour - so you would need to have a continuous grid-draw of 2500W to achieve that, else your 4th hour will spike to 5000W grid pull.

1 Like