[APP][Pro] Piggy Bank

Yes, but I wouldn’t say this is very uncommon to do. For example, in the image below you can see the last hour meter reader in my house, you can see how my oil oven behaves when set to 750 W (note that Piggy is set to 10kW this month, so it doesn’t turn on/off anything in this interval, it’s all what the devices do themselves):

The oil-oven can be seen everywhere it’s a lot of switching. It’s on with 1500 W 30s, then off for 30s, with an average of 750 W… I don’t think the Aeotech switch will take damage using this kind of switching, but I would be more worried about doing this with AC devices.

In general, I think it’s better to use the temperature-control of piggy rather than the on/off switching. So if you have a temperature reading from the water heater, then I would rather create a virtual thermostat device for it and tell piggy to control the temperature. Then set temperature control to “preferred”, then piggy will never turn off your device, only change the temperature, then the virtual thermostat will translate this into on/off.

No, but I think you can sett the switching time in the virtual thermostat

Hi, Im trying to schedule floor heating one by one with use of flow card “override - Turn Off” to controll 2/3 heaters off when one is heating, and “override - deaktivate override” or Overide - governed" to release all if it is idle, and it seems to work fine, except that in the case when Piggy needs to deactivate/turn down devices according to priority list to keep total power consumption below a limit, the flow cards “deactivate override” and “governed” interrupts the attempt to keep power below the limit. Also tried activate/deactivate zone, but same issue there. Any suggestions?

Hi @Glenn_Johnsen,

I’m not sure if I understand your use case for using overrides to rotate between which heater is on. Piggy will ensure that the power budget is not exceeded, so there is no need to rotate for that reason. If you’re worried that the lowest prioritized heater will never become on then this is a false presumption because the heaters have thermostats and will automatically turn themselves off when the temperature has been reached, then piggy will automatically allocate the power for other devices. This also means that if your lowest prioritized device is not getting any power at all over the entire hour then you have set your power budget too low, so either it need to be increased or alternatively you need to turn down the heat to use less power.

Looking aside that, assuming you do have a need to use the overrides, “deactivate override” or “Controlled” will put the devices back into piggys control while “Forced on” / “Forced off” will force it out of piggys control, so shouldn’t be used in circumstances where you need piggy to have the freedom to turn them off in order to keep the budget. (“governed” is not an option, not sure what you meant by that)

Deactivate zone is like a force off. Activating a zone does nothing else than to put devices back into their preferred state set under Mode/price control.

Hi, thanks for your fast and thourough answer. To clarify, the motivation behind the idea to schedule the floor heaters, was to reduce the total power consumption they allocate when e.g. the price point changes that in turn make their temperature setpoint rise simultaneously, so that more power were available for EV charger and hot water heater within power budget. The first floor heater that turn heating on, then overrides the other to off until the first is finished, wich then disable override allowing all to start heating, but again, first to turn heating on will stop the others, and so on. Scheduling works fine, but not when piggy wants to stop the party due to overload of power budget (due to EV charger, hot water heating, Dad makes sandwiches, et cetera). It seams that when something is preventing piggy to turn off devices, it retries forever, but does not go up to the next device in the priority list until it managed to turn the first off, maybe deactivate override and override controlled is clundering it up. (Sorry, governed was “styrt”).

This is not what I recommend you to do, but the option that closest resembles what you want is to make one mode for each rotation, let’s call them “R1”, “R2” and “R3”.
In the different modes you set the following priorities:

  • R1: Heater 1, Charger, Heater 2, Heater 3
  • R2: Heater 2, Charger, Heater 3, Heater 1
  • R3: Heater 3, Charger, Heater 1, Heater 2

Then instead of rotating on/off outside of piggy you rotate between the modes.
Then, while charging, the prioritized heater will always be on while charging will be allocated as much power as possible. The rest of the heaters will only be on if there is enough power left after charging was allocated.


Another option is to set “temperature control” in Piggy to “preferred”. In this case Piggy will only control the temperature of the heaters and not the on/off state.

Alternatively, you can use the temperature control to do the rotation external to Piggy (switch between 5 degrees and 22 degrees) and let Piggy control the on/off.

Though, I still don’t think there is any point in rotating the devices to make more power available. Piggy will make sure you do not overshoot the power budget anyway.

What if you just have a mode in Piggy that is named Charging for example. Then in this mode you turn down the temperature setpoint on all the heaters by 3 degrees. This will give your charger more power with a similar effect as the rotation.

You can also put the charger at the top of the priority list if you really want to give it as much power as possible, but if it were me I would put the charger below the heaters in the priority list. I would do it during night anyway when I have temperatures set lower, so the charger would get most power anyway.

Kan du legge til Futurehome termostater?

Log ID: 2023-12-14T09:10:49.613Z
App version 0.21.7

+9:10:49.613: ----- ANALYZING DEVICE -----
+9:10:49.615: Report type: Experimental device is working
+9:10:49.625: Device name: Termostat
+9:10:49.626: Driver Id: homey:app:no.futurehome:thermostat
+9:10:49.627: Found onoff cap: onoff
+9:10:49.627: Found temp cap: true
+9:10:49.628: Device reliability: 1
+9:10:49.629: Capabilities: onoff,target_temperature,measure_temperature,measure_temperature.air,measure_temperature.floor,tuya_thermostat_load_status,measure_power,tuya_thermostat_mode,tuya_thermostat_sensor_type,tuya_child_lock
+9:10:49.630: Options for ‘onoff’: {“id”:“onoff”,“type”:“boolean”,“iconObj”:null,“title”:“Slått på”,“getable”:true,“setable”:true,“insights”:true,“insightsTitleTrue”:“Slått på”,“insightsTitleFalse”:“Slått av”,“value”:true,“lastUpdated”:“2023-12-13T14:08:20.155Z”}
+9:10:49.631: Options for ‘target_temperature’: {“id”:“target_temperature”,“type”:“number”,“iconObj”:null,“title”:“Ønsket temperatur”,“getable”:true,“setable”:true,“insights”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“min”:5,“max”:35,“units”:“°C”,“decimals”:0,“value”:23,“lastUpdated”:“2023-12-14T08:00:12.674Z”}
+9:10:49.632: Options for ‘measure_temperature’: {“id”:“measure_temperature”,“type”:“number”,“iconObj”:null,“title”:“Temperatur”,“getable”:true,“setable”:false,“insights”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“units”:“°C”,“decimals”:0,“value”:23,“lastUpdated”:“2023-12-14T09:04:56.773Z”}
+9:10:49.632: Options for ‘measure_temperature.air’: {“id”:“measure_temperature.air”,“type”:“number”,“iconObj”:null,“title”:“Lufttemperatur “,“getable”:true,“setable”:false,“insights”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“units”:“°C”,“decimals”:0,“value”:21,“lastUpdated”:“2023-12-13T09:54:25.566Z”}
+9:10:49.634: Options for ‘measure_temperature.floor’: {“id”:“measure_temperature.floor”,“type”:“number”,“iconObj”:null,“title”:“Gulvtemperatur”,“getable”:true,“setable”:false,“insights”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“units”:“°C”,“decimals”:0,“value”:23,“lastUpdated”:“2023-12-14T09:04:56.764Z”}
+9:10:49.634: Options for ‘tuya_thermostat_load_status’: {“id”:“tuya_thermostat_load_status”,“type”:“boolean”,“iconObj”:{“id”:“3e859b1dced81ecc8395a7e865eaf992”,“url”:”/api/icon/d820bd6a-aef7-4a5f-a631-65a4ae836604”},“title”:“Last aktiv”,“getable”:true,“setable”:false,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“value”:false,“lastUpdated”:“2023-12-14T09:04:57.102Z”}
+9:10:49.636: Options for ‘measure_power’: {“id”:“measure_power”,“type”:“number”,“iconObj”:null,“title”:“Effekt”,“getable”:true,“setable”:false,“insights”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“units”:“W”,“decimals”:2,“value”:0,“lastUpdated”:“2023-12-14T09:04:57.109Z”}
+9:10:49.636: Options for ‘tuya_thermostat_mode’: {“id”:“tuya_thermostat_mode”,“type”:“enum”,“iconObj”:null,“title”:“Termostat modus”,“getable”:true,“setable”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“values”:[{“id”:“0”,“title”:“Manuell”},{“id”:“1”,“title”:“Hjemme”},{“id”:“2”,“title”:“Bortreist”}],“value”:“0”,“lastUpdated”:“2023-12-13T09:54:25.319Z”}
+9:10:49.637: Options for ‘tuya_thermostat_sensor_type’: {“id”:“tuya_thermostat_sensor_type”,“type”:“enum”,“iconObj”:null,“title”:“Sensor type”,“getable”:true,“setable”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“values”:[{“id”:“0”,“title”:“Luftføler / Intern”},{“id”:“1”,“title”:“Gulvføler / Ekstern”},{“id”:“2”,“title”:“Maksvokter”}],“value”:“1”,“lastUpdated”:“2023-12-13T09:54:26.044Z”}
+9:10:49.639: Options for ‘tuya_child_lock’: {“id”:“tuya_child_lock”,“type”:“boolean”,“iconObj”:{“id”:“3247a8047e9221c1609a43617b3a0cb5”,“url”:“/api/icon/96240896-4e7d-4f7e-ab90-b80eef603341”},“title”:“Knappelås”,“getable”:true,“setable”:true,“insightsTitleTrue”:null,“insightsTitleFalse”:null,“value”:false,“lastUpdated”:“2023-12-13T09:54:25.797Z”}
+9:10:49.640: — ANALYZING DEVICE DONE —
+9:11:23.514: Email:%20optional.email@for.feedback%0AComment:Not supported
+9:11:23.577: Sending log

Thanks for your answer! What I see from Homey stats is that the water heater do not turn off until it has reached its temperature, it is the Aeotec switch that turns off the electricity. The water heater has got no temperature reporting so I can’t control it by temperature. I will follow up on this and see how it develops. Hopefully it will not be so much on and off going forward! Thanks again both for the app and your answers!

Hi, im having problems using Piggy to control my Easee charger. My case is that i have fixed power price, so i want the charger to always start when i connect the car, and i want Piggy to change the current allocated based on what’s left of my power budget. Right now the car wont start charging even when i start the charging flow manually. It looks like it still does some calculations based on the lower price of the power utility costs during nighttime.

Yes, they were added in version 0.21.8 (currently available for testing).

Yes, because fixed prices are not “fixed” anymore if you account for all the other variables:

  • There is a different grid tax day and night.
  • Then you have the (Norwegian) “strømstøtte”-arrangement which will pay you back more when the spot price is higher, making the resulting price inversely proportional to the spot price. (make sure to enable this under the price settings if you want to take advantage of this)

All these factors will affect when the charging will happen if you ask for charging the cheapest x hours. (you will see the charge plan in the settings page - and it will be much more accessible in the new charge controller when I make it public)
If you still don’t care about which hours are cheapest, you can always configure the flow like this:

  • Charge the 24 cheapest hours before hh:mm

Having a large enough number for hours will force it to always be enabled in the interval.

Great :blush: Thank you for the job you are doing :muscle: Is it any plans for integration of Zaptec Go charger?

Yes it’s part of the Piggy Charge controller device being developed [here].

It’s a bit overdue but that is only due to lack of testing, the controller is very near completion.

Please note though that the Zaptec and Tesla chargers will require some manual work because their drivers has not been made as accessible as the Easee charge driver. For perfect integration they need to expose the amp control as capabilities, but currently this has only been exposed as flows. If you can make the developers interested in adding this as capabilities then I wouldn’t hesitate to make the integration with piggy as easy as the click of a button.

I have sent them a question about this now. Hope they answer :blush:

Thanks.
To be clear, this request is because apps (in this case Piggy) cannot control flows, only capabilities of other devices. This is the reason it has to be a capability. (it can even be a hidden capability with no UI component)

Hi
My house is behaving different “naturally” due to the outside temperature, for example at minus 10, 0 or plus 10 degrees Celsius. And at these different stages of temperatures i would like to have my thermostat’s set at different temperatures. So my my thought was to make different modes in the app for these,(Daytime, Night, Daytime while at work) for different outside temperatures like, below minus 5, between minus 5 and plus 5, and above 5 degrees. If so i need more user defined modes available. Is that possible to have more available?
Or would you do this in another way @frodeheg?

Hi, if you need someone to test the zaptec go charger functionality, let me now. I will be happy to test this.

Considering the source of the problem, different outside temperatures, I may have another solution in mind. What do you think if I in the override flow introduced an option “offset temperature” as an override for a device?

I’m not sure what is the best solution at the moment. I also try to consider the time schedules that will be available once I get time to finalize the solution.

If you have other options I might consider that as well.

Meanwhile you anyway have the option of letting Piggy control virtual thermostats instead of the real thermostats, then you add/subtract an offset from these before the final value is sent to the real thermostats. …or maybe this is the best option for you already?

Thanks, that is great, I’ll send you a message once I feel the zaptec part of it is good enough covered.

It seems impossible to start charing my car manually when Piggy is controlling my Easee charger. The only way to make it work is disabling Piggy’s control over the charger. This flow doesn’t work… It starts charging, but stops again after less than a minute:

Does anyone have a working flow to accomplish this?

There is no forced on for Charging at the moment (this will change in a later version), for now you need to activate a charge plan in order to charge. Thus, run the flow “Charge the cheapest X hours before y’o clock” instead.

2 Likes

I am using Piggy Bank for EV charging. For VVB i have a manual flow turning on x cheapest hours, VVB will be turned off if Piggybank send the “Could not reduce power usage…” I can see that instead of changing charging power piggybank seems to send the “could not reduce…” and the VVB is turned off. Charging power is almost the same for the whole session. I have tried to manually send “The charging power should be changed” and my flow seems to be ok. My understanding is that charing power should be reduced first, then the “could not reduce power” command should be sendt. Is that correct?

Allthough using this flow is an option to control the VVB, the recommended way to control the VVB is not to use that flow. I would instead mark it as a controllable device and set it up to be on during the cheapest hours and off during the more expensive ones (within piggy).

Then, if piggy has turned off the VVB and all other controllable devices, piggy will send the “Could not reduce power usage” signal if the power cannot be reduced.

Yes, that is correct, if you have an Easee charger, but it does not happen with the flow charger controller. Then I think the “Could not reduce power” is sent at the same time as the flows are sent. If you are using the flow charging, do you receive all the flow signals from Piggy to reduce/increase charging power? Can you post an image on how you connected it / share the flow?

I have a brand new flow charger that will be exposed in January, but it is not public yet, so setting it up will be much easier after it has become public.

I assume by this that you meant that you replaced the Piggy trigger with your manual trigger and you saw that the charger power was reduced.