Computing stuff tied to the physical world

Combined usage patterns

In Software on Feb 25, 2013 at 00:01

It’s going to be an interesting puzzle to try and deduce what all the different consumers are, just by looking at detailed electricity consumption graphs, such as this one:

Screen Shot 2013-02-18 at 16.03.20

I’ve already determined that the “double dip” patterns, such as the one at 15:41 to 15:52, is the thermostat + boiler “hunting” around to maintain its setpoint temperature.

The trouble of course, is that this whole house measurement approach doesn’t measure invidual appliances, but – as the term says – it can only report the total of all appliance consumption patterns. In this particular graph, you can see a second consumer kicking in around 15:15 and switching off again at 15:56. Fortunately though, this one is very characteristic as well: there’s a motor turning on, causing a brief very sharp blip at the start. It’s the kitchen fridge, in fact – and as the graph shows, it draws about 80 W.

In the general sense, this Knapsack problem is impossible to solve with certainty. But that doesn’t mean we can’t get a good insight of what’s going on around the house anyway.

There are several more known sources and consumption patterns around here, and once HouseMon is a bit further along, I hope to be able to identify them all in the collected data to be able to obtain fairly good estimates of the monthly consumption for each one of them. Also, once these patters are sufficiently accurately known, it should be possible to subtract them from the graph so to speak, and get a better view of the rest of the measurements.

  1. or maybe monitor separately the areas you want more detailed ?

  2. Could you not use a coloured stacked graph so that you can see how each one adds to the total? This way your one graph can show you all the data…

  3. There’s the law of diminishing returns at play here… I only want to understand enough of these consumption patterns to be able to identify steps I could take to further reduce the total energy consumption, and even that only up to a point really. For example, understanding what that fridge is costing us yearly in electricity, or that kitchen boiler, would help decide whether and when to replace it. Other than that, I suppose the info would be nice-to-have, but perhaps not that useful once the novelty wears off.

    Which is also why I don’t really want to install more measuring devices (well, perhaps a pluggable one to go around the house once to try and figure out all the signatures).

  4. If they can do this: Then maybe you can find each device’s “signature” also in the frequency domain (after FFT), or even in the time domain (which you already did for the fridge).

  5. jcw: it’s not just about knowing what it costs, it’s also about knowing when it steps out of line. Knowing that the fridge is using more than usual is an indicator that the seals are going for instance. You can also use finer grained data to tell you that someone left the door ajar.

  6. use finer grained data to tell you that someone left the door ajar

    Ah, yes, happens to me all the time. The seals are indeed getting old!

    It looks like this might lead to some serious number crunching in the future, if we do indeed get to the point of looking for signatures, possibly even with FFT thrown in!

    Thanks – great points and good to keep these options in mind.

  7. Would it help to distinguish between purely resistive loads and reactive (capacitive, inductive) loads? You could then tell the difference between a 1 kW heater and 1 kW electric motor without relying on spikes caused by the motor startup.

    Of course you need a meter that can measure and report the voltage and current separately. I think OpenEnergyMonitor can do this. But if you use e.g. the blinking LED in your typical smart meter, that will only tell you the power as a whole, not the current and voltage separately.

    • Yes, this will help. I’ve got a Flukso with 3 current clamps planned (single-phase, 3 groups), although it doesn’t (yet?) use zero-crossing detection to allow phase measurements.

  8. Hi,

    Disaggregation is a really interesting problem! I’m currently about 16 months into a computer science PhD on “smart meter disaggregation” and my ultimate aim is to produce an open-source disaggregation tool (probably mostly written in Python). I’m some distance from the goal though!

    As you probably know, the academic literature on disaggregation dates back to George Hart’s work in the 1980’s. Over the years, folks have tried lots of different approaches (neural networks, support vector machines, hidden markov models, rule-based approaches, high frequency (multiple kHz) sampling of the V and I waveforms, etc etc).

    If you want a quick overview of the literature then a good recent review is: K. C. Armel, A. Gupta, G. Shrimali, and A. Albert, ‘Is disaggregation the holy grail of energy efficiency? The case of electricity’, Energy Policy, vol. 52, pp. 213 – 234, 2013. DOI:10.1016/j.enpol.2012.08.062

    George Hart’s “classic” (and very readable) paper is: G. W. Hart, ‘Nonintrusive appliance load monitoring’, Proceedings of the IEEE, vol. 80, no. 12, pp. 1870–1891, Dec. 1992. DOI:10.1109/5.192069

    My literature database is online here:

    Let me know if I can be of any help.

    • Wow, thank you for sharing this valuable into. I’ll investigate – it’s still all quite new to me…

  9. MIT just published a more efficient FFT algorithm (up to 10 times) last year.

    So it might be doable on a Pi these days :-)

  10. And… welcome to DPA :) If it can (sometimes) be used to extract keys from badly designed smart cards…

Comments are closed.