[APP][Pro] Piggy Bank

Solar power support is scheduled, so it will come at some point.

There is a discussion in this ticket about how to add the support. Can you please enter the ticket and review / give your comments on how the ideas would fit your needs or if you have better ideas? I am still a bit in the wild on how to best support solar power.

Meanwhile you may be best off using flow-cards to set the price points and operating modes.

1 Like

Version 0.20.1 is now available for testing

Major changes:

  • Added support for Belgian energy tariff
  • Added energy limiters for day and month (Note for Norwegian users: You need to enable this limit manually if you want to be within the limit for ‘strømstøtte’ per month. Note that it will not be very accurate before we cross into March)

Minor changes:

  • Added device support for:
    • com.ctmlyng.op:mtouch-one
    • net.filllip-namron:4512725
    • no.connecte:thermostat
    • net.filllip-namron:540139x
  • Added note for sensibly devices.
  • Added alarm to show when power is being limited.
  • Fixed a bug that ran code after the insights device was deleted.
  • Fixed a rare issue where the reported power could be negative after a restart.
  • Fixed a bug that didn’t accumulate estimated power correctly in case of missing power reporting.
  • Added Preview for functionality being added in version 0.21: Time schedules
  • Removed incorrect feedback that extended logging was enabled.

Thank you so much for a great app! I have some thermostats that I’d like to just turn off when the usage is too high, I do not want Piggy Bank to change any temperature. Then I have other thermostats that I’d like Piggy Bank to control the temperature on. Is it possible, or is it a function that is soon to come? As far as I can see, the only option now is to just turn on or off the temperature control option.

1 Like

If you use the option “Turn on” and “Turn off” under "price control instead of “change temp” then the intent is that the temperature should not be touched. Have you tried this? (click the “change temp” icon to switch to “Turn on” and “Turn off”)

I can choose “Off when crises”, “ignore”, or “Turn on”, and “Turn Off”. Is it “Off when crises” that maybe could be translated better? I understand that when the price is over ex High, “Off when crises” turns the thermostat off when the price limit is reached. “Ignore” makes Piggy Bank ignore the device, “Turn on” turns on the device when the price is high, and "Turn off " (since its gray) makes me think that it does nothing. Then again when you say what you do, I should try to choose Turn Off. But this is related to prices, I want to turn off then I use more power in total to avoid changing the “effect step”. Does the choice also affect this situation?

If you press the information button next to the “Action when the price is xxxx” you will see a description of all the different actions.

image

The colouring is a way to indicate what is the the best way to use the app to earn money. If it’s green it will be controlled as good as possible, if it’s yellow then it means there is potential for you to improve the setting (by enabling temperature control). If it’s gray then there is nothing to control because it’s off or ignored.

In this case you should not use “Turn Off”, just “Turn On” in replacement of “Change temp” because that will keep the device on as much as possible within the power limit and not touch the temperature.

I have turned off the “Allow Temperature Control” under units to control. I think it should work if i choose “Turn off when crises”, that means that it turns off when the effect limit is reached, correct? I have many flows that turns on and off the thermostats in other situations like when leaving the home. If I choose Turn On, Piggy Bank would turn it on as soon as the usage is under the effect limit. Is this correct? I hope so… And if this is correct, I would really love to have the choice under Units Control (Allow Temperature control" to be possible to set under each unit. But thanks for a super duper app!

Turn off when crisis will not turn the device on again… it’s primarily intended for non-essential lights.

It is the Turn on option you’re interested in… it will keep the heater on all the time except for when it need to use less power to reach the power tariff. It will turn on again when there is enough power.

If you disable the temperature control then you will not be able to control the temperature for different price points with your other heaters so I would leave it on if I were you.

You need to disable all flows controlling on/off operations outside of piggy. Instead create a mode in piggy called “home” and “not home” and switch between these instead.

Turn on will have it on whenever you’re below the power limit yes and off when it’s above.

It is… if you use the “Turn on” option instead of “change temp”… (although, it may set it to the base temperature you have set for the current mode, I don’t remember exactly. If it is, then you can use a virtual switch device in Homey to control the heater so the temperature control is not visible to piggy. This should work fine for now… In the next version this will be possible without virtual devices. - See Advanced->“Time Schedule” for a preview in the test version of the app)

1 Like

Super thx!!!

My HeatWater tank is normally controlled by Tibber where it’s always on the x number of cheapest hours pr day. But it’s only on x number of hours. When controlling it with Piggy Bank, it goes on when Cheap, and I can set a minim of x cheap hours every day. But if the day is cheap all day, the HeatWater tank will stay on all day, and I only want it to stay on 4 hours a day (preferably the 4 cheapest hours). I can’t see that this is possible in the app, or is it?

Having it on only the 4 cheapest hours will not fit well with meeting the power tariff.
Of course you want to move as much power as possible to the cheapest hours, but that will also make the electricity consumption for those single hours go up significantly, which could make you cross the next power step. Thus if you choose to have it on for only 4 hours it may end up in a situation where it is power throttled and will not reach sufficient temperature by the end of the cycle.

Besides, the prices doesn’t differ that much between the 4 cheapest hours and the next cheapest hours from there that you will save back what you save on the power tariff. My personal experience is that from the total savings I can get I will get 50% from the power tariff and 50% from moving from expensive to cheap hours.

Anyway, this is my schema:
Normal price: 65 degrees.
Cheap: +15 = 80 degrees
Dirt cheap: +20 = 85 degrees
Expensive: -10 = 55 degrees
Extreme: -30 = 35 degrees

Always have 4 hours cheap.

With this schema I will get the expensive hours cut off and always have sufficiently hot water. The heat reserve from cheap hours will ensure that the tank is off when it’s expensive.

Btw. If you don’t like the automatic price control you can set the price points by using flows instead…

So I experienced a very annoying situation today.
Apparently, my meter reader app had started malfunctioning so the meter reader did not give a single update for 28 hours. This totally ruined the power control today so I propose the following change to the app, what do you think?

  • Whenever the app has not received any meter reader signals for > x minutes (where x is configurable between 5 and 40. Default to 10) then the app goes into power save mode and puts all heating sources into frost guard and turns off all on/off devices.
  • At the same time an alarm flow is triggered so you can use this to restart the meter reader app (this resolved my problem at least)
  • An alarm indicator is also added to the insights device.
  • The alarm is also shown on the welcome screen for the app setup.

I created this ticket for the issue.

I think this is better than the current approach which is believing that the current power is what was reported 40 minutes ago.

Any thoughts?

1 Like

Will the override card still work during this error? I would love to able to “when error triggers” set certain units to “something” instead of off and frost settings all over the board.
Take my chances with the tariff and do something else than your defaults. I guess this will be cleaner on the GUI rather than making new settings for what to do during the meter error

Well, that’s the thing, nothing is decided yet, so we just have to come to a sensible arrangement:
My main requirements are:

  1. The error situation should not make you accidentally cross the power target
  2. The error situation must be alerted to the user.
  3. It must be possible to automatically resolve the situation.

So I am open to solve these in various ways.
If you want more control over 1 then I can create an emergency-handling page that has tick-boxes for every controlled device if they should be included in an emergency shutdown. I could also try to estimate the total energy usage from the power reported by every device individually, but I wasn’t thinking of doing either of these initially.
Normally I would guess that 3 will resolve the situation soon so the emergency shutdown is soon recovered automatically anyway.

All you can do here is to provide the error trigger, no? You can’t fix a API/cloud problem (restarting the app won’t cut it), and you can’t reboot the user’s router unless it’s controlled by Homey.

This is what I thought would make an already crowded GUI messier? harder for newcomers? And extra work for you. But I appreciate such a solution if you can fit it in.

This is where Homey apps have a disadvantage to a standard app on your phone. In order to get alerted in a timely manner, a push notification is needed/wanted. Even if automatically handled. So every awake Piggy user will add such a push notification flowcard to the error trigger, unless Piggy’s able to push without “our consent”? Since we all have to set such a flow, I thought it would be easy enough to add some “well thought out” manual overrides at the same time, if they don’t get ignored during the error that is.

Not sure if you mean this should hold true even if the user willingly sets every device to be ignored in the suggested emergency-handling page or not? A manual override, through flow cards or through a page with tick-boxes could lead to overshooting the power tariff. But mentioning this risk should be enough? If it happens during a winter night, I’m willing to accidentally overshoot the tariff to keep my children’s rooms warm.

The plan was just to give the trigger and provide an example image of how to connect it.

Bear in mind that this is to handle a very unlikely situation, I have not experienced this very often myself. Thus, I would much prefer it simple rather than a whole lot of this and that.

Well, the current situation is that if it starts malfunctioning after it reported a very high power the result will be exactly like the suggestion right now anyway because it thinks the high power is still enabled even when everything has been shut down, so everything just keep being shut down…, so I hardly think the suggested change would make the situation much worse than it already is. Though… I could instead react to such a situation in this way instead:

  • Turn on everything and set temperatures as if the PP is extremely expensive.
  • +force car-chargers to never charge more than half the selected power-tariff.

Hi again.
I think maybe your way of calculating the gliding average weights historic prices too much. In the attached pictures I have in blue the prices from NO3 from 12.feb to 16.feb this year. In orange is your calculation (previous hour*17 + future price)/18, and in grey is the average of the 6 previous hours and the 12 next hours. As you can see, the orange is much smoother, weigting historic prices more than the grey one. Is it possible to change the calculation? Otherwise, another option is to just change the wording in the “which hours to base the price on”.

Yes, I think you have spotted an error in my terminology.

What seems to closest describe what I am doing is the Exponential Moving Average (EMA).

I’m using a smoothing factor of 1 whereas the most common one is 2. And there is a + 1 for the number of days that I don’t account for.

I think the quickest fix I can do is to:

  • Change the wording to Exponential Moving Average.
  • Add the +1 to the days in the formula
  • Change the smoothing factor to 2 for completeness

That would probably leave out any confusion.

Will this work for you?

I created this ticket to follow up: Change reference value for prices ¡ Issue #201 ¡ frodeheg/no.sparegris ¡ GitHub

This may be the right way in some hoses, but not in mine. I have 210 square meters and the solution that turns on in max x hours when the price is at the lowest works fine. I’m quite desperate for a solution here, do you think its possible? To make a device only be on in the x hours when the price is low?

Power by the Hour app has such functionality build in