Between holidays, meetings, work and other stuff, I put CurrentCost stuff to one side for a few weeks.
I’m back now, and thought I’d share my plans for the app. If nothing else, I figure it’s useful for me to refresh my memory and plan my next step!
My CurrentCost app is a desktop application, written in Python so that it can be used on Windows or Linux (and presumably Mac OS, although I’ve not tried that). It reads data from a CurrrentCost meter, and displays it to the user.
The interface has a number of tabs:
- “Trends” – displays textual descriptions of patterns noticed
- “Hourly” – shows a bar graph of electricity usage where each bar shows electricity used in a two hour period
- “Daily” – shows a bar graph of electricity usage where each bar shows electricity used in a day
- “Monthly” – shows a bar graph of electricity usage where each bar shows electricity used in a month
- “Average day” – shows a bar graph showing a “typical weekday” – showing average electricity usage for each two hour period
- “Average week” – shows a bar graph showing a “typical week” – showing average electricity usage for each day
I’ve now created an accompanying website, where users can create a profile and log-in with a username/password. Profiles are used to create and join/leave groups. These could be groups such as “three bedroom houses” or “one bedroom flats”. However, to be honest, it’s fairly free-form. It’s just a collection of users with a group name and description.
The desktop app now includes a “Upload data to web” button which will upload the user’s historical electricity usage data to a web service sitting behind the website.
The next step is for the desktop app to add some new tabs which display data received from web services on the site. This will probably mean at least one tab for each group that the user is a member of. E.g. if you are a member of a “three bedroom houses” group, then the desktop app will have a “three bedroom houses” tab which shows your electricity usage compared with the average for this group.
I hope this will make the desktop app broader. Rather than just showing you what you use, it will start letting you see how your usage compares with other people’s.
I’m not sure how much longer this will take – my website is certainly fairly ugly at the moment, and could do with a visual makeover.
And I have other things I want to do before getting much further. For example, I’m thinking of shifting the way that electricity usage data is persisted by the desktop app, from a python dictionary that gets written to disk using pickle, to a database approach using sqllite.
Even so, I should have something that shows the basic idea pretty soon.
Feedback, as always, is very welcome. And if you have a CurrentCost meter and fancy being a tester for this when it’s ready to share, please do get in touch!
Tags: currentcost, python
Just waiting for my serial-usb cable to turn up, and I’ll have a (little) bit of data for the site; will definitely see what I can do (as well as some testing on a Mac).
Dale,
Just downloaded the beta version and it connected straight away through my USB-RJ45 cable (now available from eBay). Really pleased to see more effective data from the device – well done!
Regards
Steve
First beta:
Update: I’ve now ported the code to use sqlite to store history data. If you have a lot of history data from the old pickle-based approach, I’ve left in the ability to import data from those files.
[…] I’ve played with ways that CurrentCost users could compare their usage with their friends for a while. […]
[…] I’ve posted a lot about CurrentCost since I got the meter back in May, but in the past few months it seems like lots of people are giving it a try – I’m seeing more tweets and blog posts about the potential of CurrentCost, and I’m getting more and more emails about my Python CurrentCost app. […]
hello i would like to know where to buy current cost CC128,i have searched many many sites but with no response,appreciate your help.
thank you,
francis.
@francis – Have you tried
http://www.currentcost.com/where-to-buy.html ?