I don't think it's just sporadic, I think this is data compression, i.e. don't output a value that doesn't change.
Well...I thought that at first, but lots are the same value even thought the time period changes.
for instance:
01/11/2013 00:04:33 1091
01/11/2013 00:04:34 1091
01/11/2013 00:08:33 1107
01/11/2013 00:08:36 1107
01/11/2013 00:08:37 1191
01/11/2013 00:08:40 1191
01/11/2013 00:08:41 1163
01/11/2013 00:08:56 1163
So it doesn't really make sense.
The onzo seems to write to 5 data streams at the same time.
public enum BlockType
{
ENERGY_LOW_RES = 1,
ENERGY_HIGH_RES = 2,
POWER_REAL_STANDARD = 3,
POWER_REAL_FINE = 4,
POWER_REACTIVE_STANDARD = 5
}
Are the names of them.
I am not clear what the difference is between fine and standard, is it the time granularity?
Well, more we look into this, the more a mess it seems to be.
Especially when in the original code are gems like:
" MM 2009-02-13 Totally broken format from current hardware\n quirks like data in big endian, ususable header\n\n "
Power Real Fine seems to be spot wattage readings every 1 sec.
I've not looked at standard yet, so not sure on the time period on that one.
These ones are like the total usage, and counts up from when the onzo started reading. A bit like how your electric meter does.
ENERGY_LOW_RES every 2048 seconds data is written
ENERGY_HIGH_RES every 512 seconds data is written
I mean why have a free running counter, then have to subtract that from the current time etc etc? which must all be done at the back end?
Lots of things don't quite make sense, I mean overall it seems quite a good system, until you start digging into it.
Mick