Consumption profiles

Topic moved here from Ideas about solar production forecasting - #40 by eddee54455 as requested by @BartButenaers

For info @craigcurtin


Hey Ed,

Thanks for the detailed description on the profiling of power etc.

Unfortunately all of our devices are semi smart i.e. you set them and have to push a button to get them to start - cant just cut the power - but they are not smart enough to have an API !! Luckily both my wife and i work from home - so it is fairly easy to send out emails to us both to say it is time to put on the load of washing, turn on the dryer etc.

The biggest struggle i have at the moment is how to visualise the profile of useage and then fit that into an available pool of energy

So lets say i have a pool of solar that is forecast to ramp up from 4KW at 9AM through to 9KW at 11AM and stay at that through to 2PM, when it starts to taper off from 9KW down to 0 by 4:30PM
(this is winter)

So i have my heatpump which is a constant 2.5KW load (when on low) so then i need to work out how to optimize each of the other devices so their power draws work in best.

I know that during the week (for instance) when we do a load of washing it takes very close to 65 minutes, the same with the clothes dryer it takes approximately 80 minutes etc etc.

I am trying to wrap my head around the best way to overlay all of these loads at the start of the day based on the solar forecast and some convoluted logic

For example we have the following loads which must run each day (i am only considering Winter here at the moment as we have heaps of excess solar for everything in summer)

So heatpump - essentially on low a flat draw of 2.5Kw (can be put into turbo mode and then uses 4.5Kw - but ignore that for the moment) Take that as a base load that runs all day between 9AM and 4PM

Poolpump - draws 1.2Kw - needs to run for 2 hours each day but can be started and stopped or even cancelled altogether with no side effects.

Dishwasher - needs to run each day - takes 3 hours with a variable power draw - but pretty low for most of the time until it gets to the last hour of the cycle

Washing Machine - needs to run 3 times per week (during the week) and has an overall low energy draw for most of the time and takes 65 minutes to run

Dryer - needs to run 3 times per week (but only after the washing machine!) and has a high sustained power draw of 2KW for most of the 80m cycle.

I guess the best way would be to slice these into (say) 5 min intervals and then map them and see what could be overlaid with what within the power pool.

What would be a good way to handle that in NodeRed and to then visualise it to enable programming decisions to be made ??

Indeed longer term you would then want a model to run when you brought a new appliance into the house to enable it to drop into this management system to enable it to be sequenced.

Have you tried to tackle this level of automation yet ??



Hi @craigcurtin,
This is another very interesting topic! I have done some experiments with that recently, to test one of my many new nodes which haven't seen the daylight yet. Will try to digg it up as soon as I find some time, and get back to you ...

But perhaps somebody (e.g. @Paul-Reed) can split this to a new topic (e.g. consumption profiles) because we are getting rather off-topic here ...


Thanks @BartButenaers and @Paul-Reed !!

Hi @craigcurtin

I run more with a "hedonistic" approach, ie what's available now, what can I turn on now? There are just too many "human elements" and hurt feelings involved with forecasting when someone is "allowed" to run the washing machine, dryer or whatever... In these instances, the "system" takes over once the device is set up and ready, then running it at the earliest convenience as solar is available. (the whole push button, set program, walk away scenario.)

A couple of time initially I had some complaints as to why washing machines etc had not started, but the logic: "Its raining and cloudy - Would you like me to run them manually so you can hang the washing up in the rain?" was touted and all of a sudden, waiting till the sun shone was a much better idea...LOL....But I digress...

That being said, I still have profiled the non "power consumption directly monitored" devices and know what their average draw is - ie for my compressor, it runs at around 900w to 1kw, with little change while it is running... As long as there is above 900W of power available, the device will turn on, then remain on, until available power drops below a second threshold that I preset - Not ideal, but it works....

For the "heavier power" items around the household, such as dishwasher and water heater, amongst others, I monitor the power output from the inverter and adjust on the fly as required.. Although I can pull a constant 5kw on the inverter, I have set an upper projected limit to 3.5kw - that allows for the unforeseen human elements to indulge without overloading anything - Should one of the elements turn on the cake mixer/band saw/hair dryer etc, the inverter output steps up, beyond either the nominal limit I have set or the solar availability, then node red does a quick add/subtract and resets the forecast available limit - in turn, the automated devices take a look at this limit and via their presets, then if beyond the parameters shut down till more power is available... Obviously, with fridges etc, a minimum pressure equalisation off time, timer, is invoked. (the air compressor feels nothing for start stop, it has a VFD that is triggered by a Sonoff).

Part of the parameters involved with all of the automated devices is the inclusion of a SOC upper and lower limit, a solar based delay time for start and stop, as well as, of course, the old "how much power is needed" number... Realistically, this sounds pretty complex, but is actually pretty simple to implement - Start and Stop timer with "Sunrise+ X Minutes" until "Sunset - Y Minutes", then this is combined with "SOC limits", then combined with "Immediate Solar Availability limits", penultimately it is then combined with a "Is there any heavy kit running already" type flag, and then finally combined with an "is it safe to start up delay type timer" ....

Sound complex, but very simple - it is almost a "humanised supervisor" for the appliance in question - In human terms it would be: Is it the right time to turn it on? Is there enough battery available? Is the dishwasher running? Is there enough solar being harvested? Is it safe to turn on now, based on when it was last on? - If yes to all, turn it on!!

Although a bit trickful to wrap the grey matter around, it works well and gets the job(plus a bit more), done quite effectively...

To model another additional appliance, all I need to know is whether it is a simple constant current draw (any power that can be catered for) or something that requires variable current monitoring and it is 1kw or more which might turn on in varying degrees - Based on this question, I install a basic sonoff for simple on off constant current devices, or a powR2 type thingy where I have to watch the power individually... Drop in a pretty much copy/paste flow dedicated to it and then away we go.... The little pi then decides when it can run what, how and when....

Here are a few sample parameter screens for some of the appliances:



Hope this helps...

1 Like

Hey @craigcurtin,

As promised above, I have done tonight a bit of homework. I have published a new node on Github, that allows users to generate time profiles: node-red-contrib-time-profile. Because otherwise this node would have become one my many nodes that never see the daylight...

At the bottom of the readme page you can see a demo flow. I had measured the power consumption of my wife's washing machine using a Shelly S plug, and stored the resulting profile (of two different washing machine modes) in Node-RED. Then I can show the consumption profiles in my dashboard:


Note that this demo is not production ready, but it gives you an idea of a "possible way" to visualize your profiles in your dashboard. It is based on one of the template examples from our friend @hotNipi, but it never looks as good as when he does it :wink:



Wow - let me say that again WOW Bart - great work.

What i was thinking about last night was going a bit crazy around here with all our major appliances (i have Sonoff POW or equivalent on most of them and store them minute by minute in an excel spreadsheet to get an initial visual representation and then try to work out some way to do an optimization by sliding different starting times left to right in excel until you go essentially a curve that is closest to the solar output.

You have given me a great way to visualise this in NR now !

Now what we need to is to able to overlay/add multiple devices.

I will have a look at your code to get an idea of how you did this !!


Great again.
We will be able to take the values of our various devices, display the brands of these devices in relation to this dynamic curve, then be able to make a database of the consumptions of all these.
A comparison between brands could be possible and be shared if we push all these values on a worldwide website powered by NR obviously.
A visual comparison of the consumptions of the devices that everyone uses at home.
It's great, I will be able to show visually the consumption to my wife.
I find it very telling and didactic !
I'm going to order plugs with integrated power measurements or other brands that you could recommend. I have a preference for the Zigbee or Zwave protocol.
The collected data can also be stored in an open and free DB.
Just bravo Bart.

I have added on my readme page (in the use case at the bottom) that - in case you might have measured your power consumption at high resolution (e.g. once every minute during the washing cycle) that it might be useful to remove the down-sampling nodes in my example flow. Because when you look at the load profile graph in higher resolution, you will see much more details (e.g. short peaks):

Hi @Jean-Luc,
We had another very interesting discussion about consumption profiles some time ago. From that discussion it became clear that worldwide all Node-RED users have the same energy scheduling issue: the wife in the automated home :thinking:

I showed the above consumption profiles to my wife, and explained that the large energy peak in the beginning of the washing cycle is very high due to rotations/heating. And that it is not a good idea (for peak consumption billing) to activate the laundry dryer at that same moment in time. But that it is no problem if she does that 10 minutes later.

But it appeared to me that she won't take this into account in the near future. So next year she will ask me most probably why the bill is so high :slight_smile:

I have bought a Shelly S plug with Wifi. I am not familiar with consumption meters on Zigbee or Zwave...

To make these Shelly work, I looked quickly on Duckduckgo if we could flash Tasmota into it, it seems so. So that's great! No data to the outside.

There's no need to install different firmware, just switch off the cloud in the Shelly settings, and use your local IP or even MQTT to communicate.


I have also used a trigger node that sends every minute a msg to a http-request node, which sends a request to the shelly plug to get the power consumption.

1 Like

If you use MQTT you don't have to request it, Shelly publishes it every (user config) seconds.
However, like you I'm not using MQTT.

here you go, Shelly S plug ordered :+1:
All that remains is to wait and test the version of the node

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.