[APP][Pro] PELS - Save energy and money with automatic capacity control and price-aware load shifting

PELS – automatic capacity control and price-aware load shifting

PELS is an app that helps keep energy usage within limits based on both concurrent consumption and electricity price.

In practice, PELS can monitor how much power your home is using right now, reduce lower-priority loads when usage gets too close to a configured limit, and restore them again when enough headroom is available. It can also do price-aware load shifting, so flexible consumption is moved more toward cheaper hours instead of only reacting when power usage is already high.

Daily Budget

PELS also has a Daily Budget feature. That lets you set a soft daily energy target in kWh and have the app spread consumption more intelligently through the day based on both expected usage and price. The goal is not just to avoid peaks, but also to use energy at better times when possible.

Supported devices and use cases

The app started out mainly focused on thermostats, but it now supports a wider range of devices and use cases, including:

  • thermostats
  • water heaters
  • on/off devices such as smart plugs
  • heat pumps / aircon devices
  • ventilation devices
  • EV chargers

It also supports different operating modes, so you can configure different priorities and behavior for things like home, away, night, etc.

Price sources

PELS can use different price sources depending on how you want to set things up. It supports:

  • Complete Norwegian prices including norgespris, strømstøtte, grid tariffs (nettleie) and other taxes.
  • Homey Energy as a price source
  • Prices provided through Flow, for example from apps such as Power by the Hour

Flows and Insights

You can combine PELS with Flows in quite a few ways. For example:

  • Changing power settings on a water heater
  • Turning off certain devices during expensive hours or turning on devices during cheap hours
  • Changing modes
  • Changing daily budget e.g based on weather
  • Temporarily disable device management or exempt a device from budget restrictions

The app also includes a PELS Insights device with overview information, charts, and generated plan/price images.

Background

The app is heavily inspired by Piggy Bank, which I used for quite a while. That app worked really well for me for a long time, but since it has seemed unmaintained for some time and several features stopped working properly for me, I decided to build something similar myself.

The goal is broadly the same, but I have mostly focused on my own needs and how I want this kind of control to behave. Hopefully it can be useful for some of you as well.

Links

You can find the app here:
Live version:

Documentation, examples and more: com.barelysufficient.pels/docs at main · olemarkus/com.barelysufficient.pels · GitHub

Contributing

I am in general very happy to hear about new features you’d like. Just post them in this thread or create an issue here: GitHub · Where software is built

Test version

The test version is generally stable, but even I cannot test some aspects of the app before it has released to testing.

Link:

2 Likes

I’ve been iterating on PELS quite a bit since v1.5.9, and the main user-facing addition is a new Daily Energy Budget feature. The idea is simple: in addition to keeping you under an hourly capacity cap, you can now tell PELS roughly how many kWh you want to spend per day, and it will try to plan usage across the day in a way that follows electricity prices.

This budget is intentionally a soft constraint. That means it’s used for planning and limiting, but it won’t cause “panic behavior” like emergency shedding just because you’re trending above your daily target. Capacity control is still the hard safety rail; the daily budget is more of a steering wheel.

In practical terms, this gives you a way to avoid the classic “everything runs whenever it feels like it” pattern on days where you want to be stricter. If prices are uneven, the plan will try to allocate more of the day’s energy to cheaper hours and less to expensive ones. You also get a clearer view of what PELS thinks the day will look like versus what actually happened, including remaining/deviation and an estimated cost readout in NOK. When tomorrow’s prices are available, you can preview tomorrow’s plan as well.

I also improved reliability around price totals by making nettleie (grid tariff) fetching more robust in cases where the NVE API returns empty data, so totals are less likely to disappear.

Version: 1.7.4 (released January 3, 2026). If you run into issues or have suggestions for how daily budgeting should behave, post feedback here or open an issue on GitHub.

Denne appen var egentlig enkel og grei!
Planer om å gjøre det mulig å legge til av/på enheter med strømmåling feks piller for vvb og stikkontakter? og kansje vise prisen i innsikt?

har 12 enheter men bare 3 kommer inn i app (varmekabler og en adax panelovn). har 2 vvb og 5 panelovner som hadde trivdes godt i prioritetslisten.

No plans per se. But probably not too hard to implement. Just some complexity with how to display these in the UI. Also, I have dozens of on/off devices, so the list of devices may get noisy. I’ll make a note of this though.

1 Like

The test version of the app should now work with various on/off-devices. I had to filter by class (heater, thermostat, socket and heatpump) as the app didn’t behave as expected around certain on/off devices like EV chargers.

This version will go live as soon as I get confirmation it works as intended from someone with an actual on/off device. If you are willing to test, you can find the test version here: PELS | Homey

New version live now. Two changes that are interesting:

Prices should now be more accurate, taking governmental support and tax into consideration. Typically, this means there will be fewer expensive hours in a day.

Added support for on/off-devices. Since devices like EV chargers also have the onoff capability, I had to add some filtering as the app cannot really handle more complex devices. If you have devices missing that you feel should be supported, let me know.

Going to give it a try! Using dumb panel ovens with IKEA sockets / temperature monitors to make them smart-ish - I’ll toss some feedback after trying it a bit! :smile:

Edit: Any possibilities to add Norgespris to the grid section?

Also would be nice with a feature to «force off» an on/off device; using an external temperature → turns off the device, and when I reach the lower temperature it resumes to manage the device.

The Norwegian scheme is a bit messy. Norgespris is easy if you expect to always be below the monthly caps. Then you can easily do the grid tariffs with flows as that is the only non-static factor. But if you expect to go above, this becomes more complicated.

If I understand the second feature request correctly, you want an on/off device to be controlled by a second thermometer device. I believe this is similar to the VThermo app. I have considered creating a second app that does exactly this as well. But I don’t think PELS is the correct place to add this functionality.

Yeah I’m currently using VThermo to do it - but in general it can simply be done if I can «force off» a device with a flow. Can only seem to find it to be controllable or not controllable. That way I wouldn’t have to use VThermo and just use the default temperature readings from the IKEA app.

But I quite like the App, disabled Sparegris and tried this one out, it feels snappier.

Thanks for the feedback!

The controllable/uncontrollable flow cards is something I use to e.g force the my water heater to run regardless because I need warm water soon. I.e I make it uncontrolled, turn and ensure it is turned on max.

So technically, you could force a device off by making it uncontrolled and turn the device off. Then just make it controlled when you want to allow it to be turned back on again.

That’s an option! Was just used to the Sparegris flow where it’s «forced off» and I apparently got stuck in my thinking.

1 Like

Hello, thanks for the app. Ive tested it out a bit. I had versioner 1.7.4 and just upgraded to the newest one. On the previus version i could adjust my villavent ventilasjon from the app. In the new version i cannot. Please add it back. Also any auppoert for daikin airpump?

I briefly mentioned it earlier in this thread, but I had to be a bit more strict with which devices the app is allowed to manage. But adding support for those devices you mention shouldn’t be a problem. Could you go into settings → advanced → Log device and then log the devices you’d like support for? Then afterwards create a diagnostics report. That should give me what I need.

Thanks, the code is 70ee893d-71ea-404a-97c9-9f5e87173fc3

Got them. Thanks. So some form of support can be added for these devices. The ventilation unit behaves like a thermostat without any power usage metering. So the modes and price functionality should be fine, but we can’t turn the device on/off based on power usage constraints.

The aircon should be fine, but a caveat here is that it only reports cumulative energy usage, so the app has to calculate a delta and this won’t be as responsive and accurate as if it reported point-in-time power usage.

I’ll report back soon with a test version featuring support for these devices with the limitations mentioned above.

The test version should now have support for both of your devices. I don’t have any such devices myself, so it would be nice if you could test, @Fredrik3

Thsnk you for the fast response. Looks like the devices is back and can be managed :smiley:thanks. Is it also possible to make the ventilasjon go to ECO modus ? As well as make the heatpump go to Cooling mode ?

Thanks for testing. The version is now live, so you may want to revert to using the live version instead of the test version.

Eco mode and cooling mode may require device specific logic, and I don’t really want to add device specific logic to the app. That won’t really be maintainable for me. But if you let me know when you want to trigger ECO/cooling mode, I can maybe add ways for you to hook this type of logic into flows.

Hi struggling with the same as you that piggy bank have problems to restrict the power at ex 10kw lately.

This app looks god but missing some thinggs:

  • ev charger (easee)
  • Support for thermostat form the app VThermo

Let me know what you need and I can do some beta testing!

Thanks. I’d like to get some form of EV charger support into this app, but there are so many strategies out there on how to optimise EV charging. I would love some feedback on how people would like this to work.

VThermo should have worked out of the box, but I suspect it doesn’t provide energy usage in any way, which means it is tricky for this app to make any power-related decisions. Price based features (turning the temperature lower during expensive hours etc) should still work without energy usage, technically, but even those devices are currently gated by either measure_power or meter_power. Given these limitations, I can add support for this device.

1 Like