My name is Oliver Parson, and I'm currently employed as a Data Scientist at Centrica Connected Home. I'm interested in investigating the ways in which machine learning can be used to break down household energy consumption data into individual appliances, also known as Non-intrusive Appliance Load Monitoring (NIALM) or energy disaggregation.
Sunday, 14 October 2012
alertme2plotwatt - Using PlotWatt to disaggregate AlertMe data
Today I want to opensource a project I've been working called alertme2plotwatt, a python library for uploading AlertMe data to PlotWatt. I use an AlertMe system to collect second-by-second electricity data and upload it to the cloud. However, as yet AlertMe doesn't offer any disaggregation capability. Conversely, PlotWatt offers a hardware-agnostic cloud-based data analysis toolkit to disaggregate your energy data. Unfortunately, PlotWatt doesn't yet support AlertMe data out-of-the-box. Luckily, both AlertMe and PlotWatt offer their own APIs to provide data access. This has allowed me to write a script to download second-by-second household aggregate data collected by my AlertMe system and upload it to PlotWatt to be disaggregated into individual appliances.
To use this, you will need:
An AlertMe account (and subscription)
An AlertMe MeterReader attached to your household electricity input
So far, I've used the library to copy about a year of second-by-second data from my AlertMe account to my PlotWatt account. However, the project is far from perfect, so please feel free to contribute code to increase the reliability, flexibility or clarity of documentation.