[APP][Pro] Piggy Bank

There are two options:

  • In the app settings, set the Mode to “Controllable” for the charge controller device and use the flow “Start charging cheapest xxxx kWh/hours before hh:00”
  • In the app settings, set the Mode to “Always on” for the charge controller device and it will only be power controlled.

Quick question.

Is this an issue?

On setup I did set this to 3-phase 230 but the controller defaults back to 1-phase 230.
The controller works but I get a lot of power adjustments.

Thank you for spotting that issue, I tested now and it was reproduced. I’ll fix it in the next version.
Regarding lot of power adjustments, you can change the Minimum toggle time to a higher number if you want less adjustments. 40 s seems to be quite low.

I know :sweat_smile: was just playing with the settings to see if I could get less “overshoot” was getting a lot of 11>25>13>20>11>32A
That’s what got me wondering about the 1/3-phase thing.

There might be another bump coming with this; Easee has three options with regards to phases, locked to 1 or 3, or Auto.
Will setting this to auto cause issues for the charge controller?
The reason I’m asking is locking to 1-phase will limit max. power to ≈ 7400W, and locking to 3-phase will limit min. power to ≈ 4400W (charging stops when <11A. Not sure if that’s an Easee or Tesla thing) so auto is kinda preferable considering the flexibility :grimacing:

Yes, big jumps can possibly be caused by incorrect phase calculations.

Regarding 3-phase, I don’t think it has a lower limit of 11A. As far as I know, when it’s at auto. If you start charging above 10A then it will be 3-phase and if you start charging below 11A then it will be 1-phase. Once you have started it will stay using 1-phase or 3-phase regardless of how many amps you use. I think you might even go lower in Amps with 3-phase than 1-phase, but I don’t know all the details. Nevertheless, this is the reason the start current in the device settings defaults to 11A, then those with 3-phases will get 3-phases and those that doesn’t have it will get 1-phase.

New test version 0.22.11

The test version has been updated significantly. The fixes are noted in this earlier post.
The checklist for things that need to be verified by test-users before it goes to stable can be found in this post.

Highlights:

  • Example flow images are now shown during pairing.
  • The camera interface now has a global token so it can be used in creative ways.

Again: If you have issues with this test version, please install the stable version over the test version. There is no difference in settings so it’s completely safe to go back to the stable version.

Very happye with piggy bank.
But lately it send a lot of push notification, that it cant hold 5kw/h limit, and its always 1000W over.
It sometimes says bad connection to Tibber Pulse, but the tibber pulse widget in homey and phone is always updatede. Suggestions?

First of all, can you verify that it is indeed over by going to elhub.no to view your actual data.
You said that there might be connection problems with Tibber Pulse. If this is the case then the power data will be estimated and this causes a lot of problems with the power control.

  • So first of all I would make sure that there is a good connection between Tibber Pulse and Homey.
  • Then after that I would go to homey insights and see look at the graphs for every device controlled by Piggy and make sure that they are indeed shut of when there was a hour that overshoot.
  • If they didn’t please check if they can be turned on/off manually in homey.
  • If they can be turned on/off then please make sure piggy is controlling the device. (you might have deleted the device and re-paired it, then it will be out of piggys control until you add it back in and save…)
  • Also look at the graph in piggys settings, if you click on any hour you will see the reliability of the meter-reader.

Thanks for helping

  • How to check connection quality between Pulse and Homey?
  • Today I get warnings with 1000Watt overlimit. Sparegris says “ukjent effekt”, but at same time Pulse in Homey reports data.
    My conclusion is that Pulse and Homey have connection, so its something internal inside Homey with Sparegris app?
  • Sparegris is set to 5KW hour limit, and at the moment pulse reports 222W, and all controled elements is shout time, as ev charger, heaters, VVB.


Hi, I have just recently started to use Piggy for charging with the latest test version (I’ve used Piggy for a while for other things), coming from Tibbers smart charging, which never worked that well for me with two cars on one charger (Easee).

I have three suggestions for the charge controller device.

  1. Have an “always on” mode option so that you can’t accidentally turn it off by clicking on the device tile in the app.
  2. Allow the price chart to be refreshed and drawn even though there is no charge plan scheduled.
  3. Allow for a charge schedule to not have an end time.
    Now I use the card “charge cheapest kWh before time” card to start charging.
    But, if I don’t need the car to be fully charged at a specific time, it could distribute the charging to the
    cheapest hours, and when the prices for tomorrow becomes available, stop and wait for a slot that
    day to continue if it is cheaper then.

And one suggestion for Piggy itself

  1. Have the active power limit reason available as a tag so it can be used for notifications and other things.

One last thing, in Piggy what does the “Power State” capability represent? For me it stays mostly at 100% but sometimes it changes to 80% and I don’t really know what it means.

This is very indicative about my earlier quote:

However, I have never tested if the app will safely come out of this situation in case it was the meter reader device that was deleted and re-paired (outside of piggy)

So, can you first confirm whether or not you have re-paired the meter reader device before the piggy problems?

Then, if you did, can you please check if it resolves itself if you enter the piggy settings and press the save button?
And then if it didn’ẗ help then go to the menu: “Units->Meter reader” and select Flow control for meter reader and save. Then change it back to your meter reader and save again. Does this fix the problem?

There already is, if you set the mode to always on.

Currently it defaults to showing the result from previous charging… How do you suggest I move from showing the result from previous charging to showing the future prices? It’s kind of difficult when there is only one refresh-button. Should it be reset with a maintenance action? A flow?

My suggestion is that I add a price graph to the piggy insights device so you can check that one for realtime data instead of in the charge controller, does this work for you?

There must be an end time, otherwise, it will always assume that future prices may be cheaper and as such never charge… I think the real problem is that when you schedule the charging the prices may not have been available. I am not sure exactly what happens in this case, but if you want more control of this, I can make a selector that lets you choose what to do when prices are missing. Maybe choose between the following:

  1. Set unavailable prices = the lowest known value.
  2. Set unavailable prices = the latest known value. (default)
  3. Set unavailable prices = the highest known value.

Does this sound like a good solution?

Yes I can add that.

Hmmm… I’m not sure if the english translation is the best here, It’s named “forbrukstilstand” in Norwegian, maybe you have a better word for it. What it means is how many % of your devices are allowed to use power at any given time. If it’s at 100% then no active limitations are ongoing. If it’s less than 100% then you are power limited by some degree…

New test version 0.22.14

Support for many new devices has now been added to the test version. The test version has no known bugs at the moment and is starting to look stable. The complete list of changes is noted in this earlier post.
The checklist for things that need to be verified by test users before it goes to stable can be found in this post.


Again: If you have issues with this test version, please install the stable version over the test version. There is no difference in settings so it’s completely safe to go back to the stable version.

There already is, if you set the mode to always on.

Yes, but this is not exactly what I want, but it is a good way to set an override when you need that as setting it to always on in piggy settings seem to disable the smart schedule. (and I can still toggle the controller on and off by clicking on the tile).
I want the charge controller to be on and controlled by Piggy. I just don’t want to be able to toggle the on/off state by clicking on the tile in the homey app. Just because it is too easy to accidentally turn it off by doing so.
All, or most at least smart sockets have an option in the device setting called “always on” that disable the function of turning the device off. This does however also disable the posibility to turn off by flows so it is also not exactly a good option as Piggy should be able to turn the device off if needed.
Maybe the on/off button could be set as an optional hidden capability so it can be visible for those who need, and thus have this manual on/off function disabled if it is hidden? (If it works that way at all).

Currently it defaults to showing the result from previous charging

One way could be as its done in the Power by the Hour app, and have a drop down meny ontop of the picture to select which picture to see (there the selection is prices today, tomorrow and next hours.
But maybe the better option is as you suggested to have this in the Piggy insight device.

There must be an end time

This was one of the good feature by Tibbers smart schedule, that an end time wasn’t necessary to set if you didn’t want.
My understanding of how they did it is that it tried to charge battery to full using the cheapest hours of the hours it had price available for, and then when tomorrow price came available, it reevaluated the schedule, and changed the schedule based on cheapest hours from both days. This could then of course pause charging to continue the next day at some point if the cheapest hours to fully charge were all on the next day. or distribute it on both days. If it was not fully charged by the time the prices for the third day came available, it would continue to reevaluate and stop to charge that day if it was cheaper, so it could potentially take days to fully charge if you have a big battery, and next day is always cheaper.
It should assume that unknown future prices is always more expencive than the known current prices.
(The reason for wanting this is because I don’t work normal office hours, so I don’t need the car charged at i.e. 07:00 every morning).

Power State

Now that I know what it is and represent, the translation is fine, at least I can’t think of a better one.

I have one more suggestion as well, to have the scheduled charging start and stop times be available as tags.

Lastly, thank you for making this app I really like it :slight_smile:

1 Like

It sounds like you want me to set the uiQuickAction to false for the onoff capability, which is a good suggestion, I’ll do that.

That will be done shortly after the charge controller is public.

Right now piggy tries to re-schedule the charge plan for every new hour in case it did not have price data available when the plan was first made, so this is already handled.

Though, if you’re looking for the charger to always charge the x cheapest hours in selected intervals, then this will be part of the time schedules (see an example from the menu “Advanced → Time Schedules”, then click a time interval and select operation “Cheapest X hours” and select your preferred amount of hours on.
This will become available some time after the charge controller device has become public.

It already is available… Just search for a tag named “Charge Plan xxx” where xxx is the name of the charge controller device. It is a json string.

1 Like

Great, thanks, this is good!
I see a few of my “issues” are already addressed i the next upcoming test release.

Ah, I didn’t notice the tag for the schedule before, I will play around with it. And json output is better than what my suggestion was, to have separate tags for start and end time as that would be quite inconvenient if the schedule was not in one continuos session.

One thing that isn’t really a Piggy issue, but more of a Homey thing, but thought to air it here in case some smart people have good ideas how to solve it.
It has with setting end time for charging in a convenient way. This is specifically aimed at my wife, so should be as simple as possible to do.
Currently I use the Telegram bot to send a question with the different hours when a car is connected to the charger, and when you reply to that question the chosen hour is set as end time in Piggy.
It is a bit bulky, but from the limited testing I’ve done so far, it works.
Ideally it would be great to use the alarm section in the homey app for this, but there are no flow cards or tags availablefor the alarm time itself that I can find.
A capability similar to temperature adjustment but with a clock would also be greate, but this is of course not available from Athom.
So do anyone have an idea on how to do this in a simple-wife-friendly-way?

I don’t understand how you plan on using the Homey alarms to set the end time, but here’s how to set the alarm time using Homeyscript:

let alarms = await Homey.alarms.getAlarms();
let alarm = _.find(alarms, a=>a.name=='AlarmName');
await Homey.alarms.updateAlarm({id:alarm.id, alarm: {time:'20:19'}});

Now you should be able to pass the alarm time as a tag to a flow card you create. Or are you planning on reading a set end time from Homey’s alarms to use in Piggy?

Another tip is to use Siri and the Shortcuts app, or Google assistant, to send webhooks using your voice instead of typing. I send my battery status (SoC) this way.

To help your wife you should set up a default action when plugging in. Which you or her can override both before and after plugging in. When I set my battery-% through Siri, a text variable gets changed and it also include the date when the variable was set. So when plugging in, the script checks if the manually set % stems from today, if not use the default %. Whenever I update the %, my flow checks if the car is plugged in, meaning a re-schedule if true.

Building on this logic you should be able to prepare the settings before she plugs in, adjust the settings after plugging in, or let your wife be able to control things herself through Siri (or something that sends webhooks). Contact me if more thorough examples are needed

Thank you for the suggestions and tips. This actually made me solve my “problem”.

I was planning to use the alarm time as end time in Piggy. Because then, to change end time I can simply change alarm time from the homey app. (I don’t like to use voice assistance, and prefer to keep Google out as much as possible).

Since I have no idea how to program in HomeyScrip I didn’t think of this as a solution before.
But your suggestion got me investigating, and after some searching I found this gem on the dutch part of the forum:
https://community.homey.app/t/wekker-tijd-uitlezen/74488/7

So I shamelessly copied this script and translated it to my needs (thank you @Hamster)

I made a flow to run this scrip at periodic intervals as I don’t know how you could make it trigger based. And this works perfectly, and now I can use HomeyAlarm time as charging end time in Piggy :smiley:

1 Like

I use a MQTT meter, and although I can select it as a meter device, it doesn’t work.
So currently I update power by flow, which works fine.

Today I thought I’d report the device, but when I follow the guide here, this device is not selectable from the list. Its also missing when selecting the “Device is not listed / missing”.
So I’m not sure how I can report it to you.
Its not a big deal though, since as mention, using a flow works just fine.

I still got two problems with the controller. The one I had earlier, that it only will charge at max 11A is back, don’t know why, I have not changed anything. I will try to delete the charge controller and add it one more time. But now I can’t do the first time setup anymore. It just says the easee charger is controlled from other app, but it is not. It is just piggy that can control this charger.