Identifying appliances like sense energy monitor


1/ I accidentally stumbled on the sense energy monitor. It has the very nice feature that it is able to automatically identify individual devices and their consumption. So far I see it is using the same mechanism as emonTx or emonPi to monitor the power consumption so I think that emonTx or emonPi should also be able to identify individual devices when equipped with the right algorithm.

I am wondering if we have considered this extension for the emonTx and emonPi ?

2/ Currently the emonTx/emonPi sketches are calculating the average consumption over a 10 second interval. While the sense site claims that the sense energy monitor is monitoring millions of times per second. Most likely a higher monitoring frequency and maybe also detection of the phase shift would allow to better detect individual appliances.

I am also wondering if changes to emonTx/emonPi sketches have been considered to give more detailed information (at higher frequency) that would make it easier to recognize individual appliances ?


In this wonderful world of technology-as-wealth, there are probably patents (or patents pending in the US) covering their tech, unless you can find public domain or prior art I would be wary. Innovation should be rewarded, having said that.

It has for a long time been a goal to identify an individual appliance from the aggregated consumption. I have yet to hear of a device that can do this with 100% success. I think there is one certainty: an emonTx or an emonPi cannot easily be changed to give more detailed information - the processing power is simply not there. To do so requires a completely different approach.
As I see it, there are many characteristics that, taken together, can identify an individual appliance. The problem becomes one of extracting a sufficient level of detail given the background clutter of every other running item, changes in the system voltage due to other loads and consumers in the locality switching things on and off, and noise and interference generally.
If you can develop an algorithm that will enable the emonTx to do this, I’m sure a lot of people will be very, very, interested.

Hi Robert,
thanks for sharing your view.
I have not dived into it, but I would expect that emonTx is able to measure current and voltage at a much higher frequency than once every 10 second. Most likely the bottleneck will be the sending part which might also be optimized in some way. Also information about the phase shift might help identifying the devices.

The way I see it is that emonTx will do some preprocessing, but the analysis and storing of data will happen on a more powerful device (e.g. raspberry pi or in the cloud). Note also the analysis will not only be based on the current data, but also on the data stored.


I think you will need a lot more than phase shift. Without thinking too hard, and aside from the current amplitude and phase as you mention, I can come up with this list:

  • the shape of the inrush envelope,
  • the shape of the current waveform,
  • variations in current amplitude and waveform during the operating cycle (think washing machine).

and that is without much effort. The challenge will be (a) to record enough data with enough accuracy and details so that you can (b) detect those and attribute them to an individual appliance on a continuing basis, because you also need to know when something switches off.
There is a very complicated signal processing task here.

If you read the bios of the people on the Sense team, their background is voice recognition. What is undoubtedly going on is the Sense is using a very sophisticated signal processing chip to break the main usage down into it’s various frequencies and harmonics, then looking for known signatures. At this level there is probably not a lot of difference between your freezer starting up and saying your name to SIRI. I’m sure its a lot more complicated than that, in fact its cutting edge, but you get the idea.

Its hard to know how much of their analysis is qualitative vs quantitative. That is to say if they can identify the start and run signatures of a device, can they also determine the power being used by that device. My guess is that they rely somewhat on historical data for that. That might be a problem with something like an inverter heat-pump, but pretty good for your washing machine.

Seems like the marketing, and they seem to have a big budget for that, concentrates more on the sizzle of having your phone tell you when the laundry is done or the kids are watching too much TV. It’s a big well funded venture. Be curious to see who buys it. The data is probably worth more than the consumer value.

There are many different techniques for doing this, all of them are quite challenging and the subject of hundreds of academic papers. The best search term is NILM Non-Intrusive Load Monitoring or NIALM Non-Intrusive Appliance Load Monitoring, it is also known as Disaggregation. in the UK. I found the guys here GitHub - nilmtk/nilmtk: Non-Intrusive Load Monitoring Toolkit (nilmtk) very helpful.
The father of the technology was George Hart who published the first significant paper on it in 1985. The most popular approaches currently seem to be machine deep learning based.