CurrentCost – the CC128

CC128 - the new display unitThe nice people at CurrentCost were kind enough to let me have a pre-production version of their next home electricity monitor to play with: the CC128.

I’ve been meaning to post some thoughts about it for a few weeks now, but the run up to Christmas meant it got forgotten.

But I finally had a bit of time to give it a try today.

If you already know about CurrentCost meters, nothing here will surprise you – this is more of a refinement to the current design, rather than something new and different. (If you don’t, I’ve written about CurrentCost meters before – this new one is just the same, except with a new display unit).

There are some improvements here that I like.

Longer history – The most obvious improvement is that this meter maintains a longer record of historical power usage than the current model. To summarise:

‘first gen’ ‘second gen’ CC128
2-hourly history none 1 day 31 days
daily history none 31 days 90 days
monthly history none 1 year 7 years

This is cool – my CurrentCost app uses the meter’s history as a data source, which means that I need to connect my app to the meter at least once a day to not lose any hourly usage records. With the CC128, I can connect once a month and still get the app to draw unbroken graphs of my hourly electricity usage.

Gaps in the hourly graph has been identified as a problem by several users of my app, and my own graph has lots of gaps in them.

Multiple inputs – The new meter has support for collecting data from not only the ‘whole house sensor’ as before, but also support for up to nine individual appliance sensors. There aren’t any individual appliance sensors available yet, but this is an exciting sign of things to come. Presumably at some point there will be plug adaptors which include a transmitter, making this new CurrentCost display an aggregator for multiple sources of input. That will be very cool.

CC128 - the LCDWith my current meter, the XML it produces gives separate values for each channel input for the current reading only. History is returned as an aggregation of all three channels.

Impressively, the CC128 maintains and produces separate history data for each individual sensor as well as the whole house sensor.

Electric logo – The meter also explicitly identifies the sensor type, with ‘1’ for ‘electricity’ – both on the display and in the XML data it produces. Again, this is an exciting teaser for what might be to come.

CC128 - the new flat pack boxPackaging – It’s a minor point, but the new flat pack box is a definite improvement over the bulky box that the current meters come in.

Reliable clock – Finally! The clock on my existing meter loses time constantly, so I regularly have to update the clock. I’ve heard that it should get better over time, but I’ve had the meter since May, and it’s still fairly unreliable. So far, first impressions are that the clock in the CC128 is going to be better.

Improved display unit – It’s a bit more attractive, and the hinged base is a nice touch – you can angle the display to face how you like, unlike the fixed base of the old meter.

Works with my old transmitter – As I said before, the only difference between this and my existing meter is that the display unit is new. This means I have been able to use the new display with my old transmitter – which is good.

the back of the meterDeveloper documentation – I spent a fair bit of time trying to reverse-engineer the fairly ambiguous history XML produced by the current meter.

It’s great to see that CurrentCost have started to produce a detailed description of the XML output by the CC128.

As a developer, this is one of my favourite improvements!

XML includes version number – The XML produced by the new display unit is different to that produced by my old meter. At some point, I need to get around to writing a new parser for the CC128. It’s good to see that the new XML does include a version number, although it’s disappointing that it’s not consistent with the old format.

It was: <src><name>CC02</name><sver>1.06</sver></src>

While the CC128 produces: <src>CC128-v0.09</src>

Speaking of things I’m less fond of, there are a few other disappointments:

CC128Two-hourly history – The meter still maintains historical electricity usage in two hour blocks. Why not hourly? I’d much rather see an hourly graph, even if this meant there was only space for 15 days worth of records. Two hours seems like an odd interval to use.

RS232 socket – I’m still not sure about whether it’s a good idea to use a RS232 physical socket to provide a serial connection. This has confused more than one user, and has been the topic of dozens of emails I’ve received from CurrentCost users. It’s fine once you know what you need, but it’s not exactly intuitive.

Confusing XML format – As I said above, having a documented XML format is a huge boon. But even so, the XML format is a bit clunky.

For example, the history data is still returned with relative tag names (e.g. <d07> for 7 days ago), which means any user of this data needs to do more than just parse the XML – it needs to be transformed into absolute data. Why? It’d be much easier if history data was just tagged with a proper timestamp.

Setup usability – The new meter has three physical buttons on it, so to perform tasks such as setting the clock, setting a cost of a unit, or choosing between ? and ?, means having to remember an obscure combination of buttons to press or hold. It’s a bit like those old LCD watches I used to have, except these buttons have even less labels.

I know that keeping the number of physical buttons to a minimum keeps production costs down, which is vital for this to be a realistic option for people. So, it’s perhaps understandable. But even so, it means that the setup usability is pretty horrible.

Finally, I should stress that as a pre-production beta version of the new meter, some or all of this may change before the meters are actually released… so you should take all of what I’ve said with a pinch of salt. But even so, from this first look, I’ve liked what I see so far.

Tags: ,

71 Responses to “CurrentCost – the CC128”

  1. marcel says:

    @ Phillip – Thanks for the tip

    So I took the plunge and got a CC128. To answer my own question above regarding distance between transmitter and receiver, I am getting 4 out of 5 bars on the receiver (!!) and there is (1) a solit metal box around the meter and transmitter and (2) 5 floors of concrete and brick walls/floors inbetween. I’m amazed, no Wi-Fi transmitter would be that strong and probably even a mobile phone transmitter would struggle with that. Now I’ve ordered the cable and look forward to using Dale’s software.

  2. Richard Bowden says:

    Hey, nice work so far on cc128 stuff, i have a quick question, how the the channel match with the senor number, ie the device outputs sensor 0 info but the wattage is listed under channel 1.

    Would channel 2 = wattge on sensor 1 ?

  3. dale says:

    @Richard – Thanks very much. I’m not sure – I’ve not played with multiple channels using CurrentCost yet, sorry.

  4. Darren says:

    Do you happen to have a pin out for the RS232 connector on the back? A full pin out for the RS232 cable would be great.

    Regards,

    Darren

  5. John Neal says:

    Had my cc128 just over a month;managed to get history records graphed OK; but suddenly the history updating of graphs has stopped .I have tried resetting (OK + UP BUTTON) but still does not update graphs; what am I doing wrong

  6. dale says:

    @John – Could you try and collect diagnostics – see http://code.google.com/p/currentcostgui/wiki/Debug – to help identify what is happening, please?

  7. John Neal says:

    I obtain my historical graphs/data by running currentcost.exe, is this correct?

    Cant find these diagnostics! –
    From startup – when starting the application, use the –debug option
    From the GUI – click on ‘Help -> Collect diagnostics’ to start it collecting. Click on the menu item again to stop it.

  8. dale says:

    @John – Do you have an old version of the app? (Click on Help -> Check for updates) It may be that you have a version of the app from before diagnostics code was added.

  9. John Neal says:

    My recent update was 0.9.25b; I have looked at the diagnostic file in the expanded zip and it reveals : 2009-08-12 20:13:21,046 ERROR encountered error while trying to read from CurrentCost meter.

    Is my problem in the software or the cc128 itself?

  10. John Neal says:

    I downloaded and installed 0.9.25b and the properties of the currentcost.exe application show it as 0.9.25b but when I run the application and look at Help > About it refers to 0.9.24?!!.

  11. dale says:

    @John

    …have looked at the diagnostic file in the expanded zip…

    Not sure what you mean about “in the zip”

    it reveals : 2009-08-12 20:13:21,046 ERROR encountered error while trying to read from CurrentCost meter.

    I’d need to see the whole trace file – not just one line. I’d need to know what happens leading up to this. What is the error written to the following line. And so on.

  12. John Neal says:

    Main problem:Cannot update Hourly,Daily,etc graphs!

    Tried;Dload History Once via Serial port = Dialogue Box – ‘waiting for data from current cost meter(1 update remaining)- no change after 15-30mins. therefore I cancel.
    Tried Downld History Stay Connected via Serial Port = Dialogue Box – ‘Data will continue to be downloaded ………..in background.However ………. > Redraw Graphs.Followed these instructions but graphs dont update.Close application and then get error message ‘wxPython:stdout/stderr’ = ERROR encountered error while trying to read from CurrentCost meter. NB This is also the message in Diagnostics Log.

    Hope this helps John

  13. dale says:

    @John
    I’m afraid that isn’t very helpful.

    A couple of minor points:

    1)

    Tried;Dload History Once via Serial port = Dialogue Box – ‘waiting for data from current cost meter(1 update remaining)- no change after 15-30mins. therefore I cancel. Tried Downld History Stay Connected…

    If ‘download once’ waits and never gets any information, then the ‘stay connected’ isn’t likely to be any more successful – it’s the same approach to making a connection to the meter, and will fail to receive any data for the same reason.

    2)

    ERROR encountered error while trying to read from CurrentCost meter

    As I said before, I need to see the diagnostics trace file if you want me to investigate this for you – not just a line or two. I need to see what happens leading up to the error.

    If you would like me to investigate this, please:

    1) Download and install the latest version from http://code.google.com/p/currentcostgui/downloads/list
    2) Run using the –debug switch
    3) Click on ‘Download history’ -> ‘Download once’ -> ‘Download via serial port’
    4) If the dialog never gets past “Waiting for data from CurrentCost meter”, then the meter never connected. Send me the diagnostics file so I can see why.
    5) If the dialog gets to “Received X history data items, Y live data items, Z invalid data items”, then check that the Y live data items number is incrementing. If it doesn’t, then the data being received is garbled. Send me the diagnostics file so I can see why.
    6) If the dialog gets to “Received X history data items, Y live data items, Z invalid data items”, then check that the Y live data items number is incrementing. After it does, hold the Down+OK button to start the meter outputting history data. If that doesn’t cause the history data number to start increasing, the history data is not being received. Send me the diagnostics file so I can see what is being output.

    Kind regards

    D

  14. John Neal says:

    Hi Dale,

    Not sure what you mean by ‘Run using debug switch’: but have loaded and run latest version.
    Results = All OK to your para 6. X History items =0,Y Live data items updating,Z Invalid items =0. Held Down+ OK buttons and as you predict History Data starts increasing, to finally give updated graphs!; as required.
    Will this method of updating graphs always be necessary?

    When you talk of diagnostics trace file do you mean diagnostics log file?

    Thanks again John

  15. dale says:

    I’m pleased to hear that you have got it working. Unfortunately, it doesn’t really help us understand what was going wrong before, but if the problem doesn’t recur, then I guess it doesn’t matter.

    Not sure what you mean by ‘Run using debug switch’

    I mean to run using –debug as you said in your earlier message:

    John Neal says:
    Friday 14th August 2009 at 12:39 pm


    From startup – when starting the application, use the –debug option
    From the GUI – click on ‘Help -> Collect diagnostics’ to start it collecting. Click on the menu item again to stop it.

    This is what causes the app to produce the trace file.

    When you talk of diagnostics trace file do you mean diagnostics log file?

    I mean the currentcostdiagnostics.log file

    Will this method of updating graphs always be necessary?

    I don’t know what you mean.

    If you mean using “Download once” instead of “Stay connected”, as I said before, there is no difference between how these two work. The only difference is that the first does it once and shows you what is happening, the second does it in the background repeatedly. If you are trying to identify what is happening, as we were, the former is naturally more useful.

    Finally, please can we not continue this discussion on my blog – this thread is starting to get very long, and isn’t even really relevant to this post. I’d prefer doing it on getSatisfaction.

  16. Paul Clarke says:

    My CC128 will not pair with the transmitter, tried everything, can anyone help?

  17. Richard 2 says:

    On the distance from sensor – I’ve put the display about as far from the sensor as possible, requiring signal to go through several thick walls. Much better coverage than WiFi, which requires a special antenna to get whole-house coverage.

    Thanks for writing currentcostgui, I’m really impressed with the degree of software support and this is a big factor in my using Current Cost meters.

  18. Graham says:

    Dale
    I’ve had a CC128 for almost a year now and a couple of weeks ago, I decided to buy slug to try to store live date from the CC. Upt to now, I have been using your CC GUI to store the history from the Envi. Great little app, but I got greedy and wanted to see the scond by second detail of usage.

    I tried to follow your (and some others) guides to flashing the firmware and istalled SlugOS/LE 5.3. All went OK with that, but I then started to run into problems when it came to installing MySQL and getting it to work and with installing Python. I’m a Windows man and know nada about Linux-based systems. Trying to drive the Slug via SSH (PuTTY) is like trying to plat fog! I’ve tried running an Ubuntu distro from a freebie disk, but I cant get the Slug mounted.

    Any chance you could help me out, as at the moment I have a little grey and silver box on my desk that is looking more and more like a big white elephant as the days go on. I’m really struggling.
    What’s the best place to get you, assuming you are able to help me?

    Cheers
    Graham

  19. dale says:

    Sorry – I think your best bet would be to find a local person who knows some Linux basics… I’m not really able to offer support.

    Good luck with it.

    Kind regards, D

  20. […] proposal is to use a Current Cost Envi (CC128) device. There is a helpful CC128 write up from dale lane. It has several nice […]