# Are there any methods to work out what appliances are running in my home from an aggregate power consumption sampled 6 times a minute?

I recently got a gizmo installed at home that samples my electricity usage once every 10 seconds. I've become a little transfixed watching the graph update as various appliances in my home turn on and off.

For instance, turning on lights results in a small and simple bump up a couple of hundred watts. Turning on the microwave a huge 1.2KW jump. The washing machine usage moves up and down depending on where it is in the cycle.

I started wondering whether there'd be some ways to automatically work out what devices are running by what you might call their 'power signature'.

Essentially what I want is an algorithm that watches what is effectively a 0.1Hz signal representing usage in watts, and can say 'Looks like your washing machine was on between 09:00 and 11:00 today.)

The complication of course is that multiple appliances can be running. As a human you can sometimes resolve that (E.g. This shape looks like the washing machine was on, but someone also turned on the microwave in the middle).

• Assuming no appliances have the same "signature", can't your algorithm simply measure the spikes, so that if at 9 AM it detects a spike it goes "washing machine on". Then at 10 AM another spike: "microwave on". Then at 10:05 a drop in consumption: "microwave off". And at 11 another drop: "washing machine off."
– Wasabi
Feb 16, 2016 at 10:03
• There is however the issue of if you turn on multiple appliances within 10 seconds of each other. If you have three appliances that consume 1, 2 and 5 W, then you can figure out that a 7 W spike means you turned on the last two (2 + 5 = 7). However, if you have a fourth appliance that consumes 6 W, then you'll never know if you turned on that one appliance or the 1 and 5 W appliances. If the spike is of 7 W, did you do 2 + 5 or 1 + 6?
– Wasabi
Feb 16, 2016 at 10:04
• Thanks @Wasabi for comments, but it's not quite that simple. We're not talking about precise steps or even intervals. I think it would require an heuristic approach of some sort, looking at overall shapes of the signal. Feb 16, 2016 at 10:46
• If each appliance uses a different power of 2's worth of power, it'd be easy to tell which ones are on :-) Feb 16, 2016 at 12:42
• This is a signal processing question, not an engineering one. As such, it will probably get more substantial answers at dsp.stackexchange.com. I would recommend looking into matched filtering. Feb 16, 2016 at 13:05

The word that will unlock your searching is disaggregation - there's quite a lot of research going on right now into energy disaggregation.

These generally involve some kind of learning algorithm, and the energy-disaggregation field is quite young, so you won't find a reliable off-the-shelf package.