Error checking rfxmeter
Posted: Tue Mar 23, 2010 6:27 pm
how do you guys do error checking on your rfxmeter readings ?
I have the following checks.
If the previuos reading was taken less than 10 seconds ago ignore reading
If the current reading is less than the previous reading AND the difference between the readings is more than 16000000 the meter has skipped over ( usage = 16777215-previous reading+current reading)
If the current reading is less than previous reading but not more than 16000000, error ignore
However these checks it seems are not enough, as 1 has cropped up twice the the last 2 days.
60000
60000
60000
.....80000
.....60002
..........60004
..........60004
Its the 80000 that confused the heck out of it, how would you catch this as an error ? ( the indents signify the different time 'batches' sent ) using the conditionals above my system would record the ones in bold.
Would one example be to not have the first conditional ( the time one ) capture all the readings in an array and choose the one that is closer and positive to the last recored reading ?
Or hows about the next one
60000
60000
60000
.....80000
..........60004
..........60004
This is the worst problem, I cannot even begin to understand how you'd catch this one.
So hows everyone else do this, or do you just keep an eye on it and manually alter any such mistakes.
Thanks
I have the following checks.
If the previuos reading was taken less than 10 seconds ago ignore reading
If the current reading is less than the previous reading AND the difference between the readings is more than 16000000 the meter has skipped over ( usage = 16777215-previous reading+current reading)
If the current reading is less than previous reading but not more than 16000000, error ignore
However these checks it seems are not enough, as 1 has cropped up twice the the last 2 days.
60000
60000
60000
.....80000
.....60002
..........60004
..........60004
Its the 80000 that confused the heck out of it, how would you catch this as an error ? ( the indents signify the different time 'batches' sent ) using the conditionals above my system would record the ones in bold.
Would one example be to not have the first conditional ( the time one ) capture all the readings in an array and choose the one that is closer and positive to the last recored reading ?
Or hows about the next one
60000
60000
60000
.....80000
..........60004
..........60004
This is the worst problem, I cannot even begin to understand how you'd catch this one.
So hows everyone else do this, or do you just keep an eye on it and manually alter any such mistakes.
Thanks