My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

Author: Danny Tsang <geek94@gmail.com>

Introduction

energy@home is a project created to use the CurrentCost CC128 device. CC128 is the one with the black boarder around the display. I decided to make my own program to learn programming about in Linux. The goal of the project is to capture information from CC128 (and possibly other devices) and display it in a friendly manner. I found other Linux based programs to be complicated or did not do what I wanted to do. Currently the project is in it's very early form and is probably more complicated to set up than current ones but I hope over time it will over come this.

Features

  • Light-weight modular design - Comprises of storage (MySQL), Data Acquisition and processing (Python), Graphical web front end (HTML/Javascript/AJAX).
  • Web front end allows access to energy usage from most browsers.
  • 2 Graph types (live usage and total per hour) with varying display controls (hour, day, month, etc).
  • Data thinning - Ability to reduce data storage (at the expense of accuracy) based of trigger conditions (time, temperature difference and energy in watts deviation).
  • Data cleansing - Data integrity checks to ensure no wasted space by storing incorrect or invalid data.
  • Offline backup - Ability to store data to file if it was unable to store it in the database to prevent data loss.
  • Twitter integration - Tweets summary messages of energy consumption hourly and / or daily. Removed since authentication protocol have changed on Twitter.
  • Displays graph data in a table
  • Uses standard libraries and software within Linux (Ubuntu) repository.
  • Open Source (GPL3).

How It Works

Using the CurrentCost CC128 to capture the data connected via the FDI USB cable to a Ubuntu based Linux computer, the datalogger component written in Python listens to an XML string sent by the device. Once received it parses and saves the data into the MySQL database.

A web page is used to display the information stored in the database with relevant filters. A PHP server side script is used to handle AJAX GET requests and responds with graph data.

Twitter support is not longer working because of the switch to OAuth authentication protocol. I hope to correct this at some point. Please see this article for more information: http://www.wired.com/epicenter/2010/08/twitter-moves-to-oauth-the-oauthcalypse-is-nigh/

Compatibility

The software is designed to be as generic and therefore as independent as possible however there must be a scope in order to make it feasible. The back end data capture uses MySQL and Python. As long as the platform supports the database and the scripting language the datalogger component should work.

The front end web site is independent of the back end and requires a web server which supports PHP. Browsers must support JQuery, Javascript and HTML 5.

As for hardware, as long as it supports the above stated software it should run. Data capture can become quite big especially if data thinning is not applied or at the right level.

The officially supported monitor is by CurrentCost CC128 "Envi". Whilst it's not been tested the EnviR should also work. The software is only compatible with electricity monitoring using non-meter impulse sensors.

Install

Either download a release copy from the Downloads section or get the most up to date version from the Mercurial repository. The latter can be done by installing Mercurial:

$ sudo apt-get install mercurial

Then "clone" or get a copy from the repository:

$ hg clone https://energyathome.googlecode.com/hg/ energyathome

See install guide

Powered by Google Project Hosting