: Explained by OnStar: kWh data spike when battery enhancement is done
gieso 07-02-2012, 06:52 PM I have been escalating an OnStar/MyVolt.com issue where a large kWh data spike was reported to OnStar coincident with when I had my battery enhancement done. Others have reported the same issue.
Today, I received a phone call from the OnStar R&D Project Manager responsible for this software explaining what happened and what they are doing to address the situation. Here is what I was told.
Typical Operation:
There is a hardware sensor/counter in the Volt that tracks the total kWh drawn since the car was built.
The most recent value of this counter is kept separately for use in later calculations.
When a charging event completes, the most recent value is subtracted from the counter to determine the number of kWh drawn during that charge event.
The value of the counter is then saved off as the new most recent value.
Problem description:
The SW update required to add support for the new battery coolant level sensor also resets the sensor/counter in the Volt that tracks the kWh drawn by the car to zero.
At the completion of the next charging event, the previous value (a large number representing the total kWh drawn since car was built) is subtracted from the counter value (zero since it has been reset).
The value reported for this specific charge event is a large negative number.
The MyVolt.com site does not expect a negative number for this value and simply discards the minus sign leaving a very large reading for this specific charge event.
This large value is shown in efficiency graphs and is also included in the total kWh which is used to calculate kWh/100 mile figures and other efficiency figures.
This issue will happen for everyone that has the battery enhancement and related SW update.
Proposed Solution:
Back office software changes on the MyVolt.com site will be made to address the issue where negative values for kWh drawn are reported.
If a negative value is seen for kWh drawn during a charge event, that event will be disregarded and the data not reported on MyVolt.com and not used in calculating kWh/100 miles and other efficiency figures.
When this new back office update is rolled out, the large data spike will no longer be reported and incorrect values listed for kWh/100 miles and other efficiency figures will be calculated correctly.
Proposed Timeline:
The proposed solution is being reviewed now to insure the proposed fix is robust.
The Project Manager believes that the fix will be implemented by the end of July and rolled out on the MyVolt.com website a couple of weeks after that.
I am encouraged that they believe that they have located the root cause of the issue and that there appears to be a reasonable explaination for the behavior seen. While it seems like a long time to implement the fix, I am glad that they are taking their time to insure that this problem is addressed properly and completely.
It seems like it would make sense to correct the Software Update to support the battery coolant sensor to not reset the kWh counter, but I have no information on if this will happen or not.
We shall see how this plays out when the new MyVolt.com software rolls out in August.
ghostgs1 07-02-2012, 07:30 PM Thanks for the update, all they told me was they knew there was a problem and were working on the fix. I feel a lot better with your information.
Selling Volts At Sundance 07-02-2012, 07:32 PM gieso- Very complete and to the point as always- Thank you for your very complete post-
Tom-
Great information. Thanks for passing this along.
RScott 07-02-2012, 08:12 PM Good work getting that information! As a programmer, I can tell you that definitely sounds plausible.
tboult 07-02-2012, 08:19 PM Thanks for the post. The fix needs to be to MyVolt.com.. not the car.. since any battery replacement (e.g. failed unit) will cause a reset.
n
Replacing negative by positive is just silly bad programing.
Hopefully they get they cannot just ignore the negative.. they need to update their base to be the new level that made it negative. (Imaging replacing it with a partially used battery.. not zero but still negative).
Hopefully the get the should also be testing for any crazy values.. if out of range ignore. I had days with moderately arge spikes (50kw) and I've never had my battery in. My lifetime has been -- for months.
Its reported no data in the past 3 weeks (since 6/10) even though voltstats show data.
Sigh.. guess we wait to see if they fix things by August..
jbfalaska 07-02-2012, 11:19 PM Volts were relatively trouble free until this disastrous recall agreement. If given the choice, I'd opt out of tearing my whole car apart to slide in a few metal plates. The car was safer before the recall fixes.
AySz88 07-03-2012, 12:05 AM That explanation jives well with my guess that the "spike" magnitude is the number of kWh hours that have went into the battery to that point. Not too surprising.
Hopefully they still have the original data (with the sign included), or else they'll have to use some sort of heuristic (though I guess such a heuristic would be fairly easy in this case).
RScott 07-03-2012, 07:26 AM The fix needs to be to MyVolt.com.. not the car.. since any battery replacement (e.g. failed unit) will cause a reset.
I'd call it a bug with the software update on the car. If Chevrolet was the only one with access to the numbers in the car, they can do whatever they want. But where Chevrolet has given OnStar (and therefore the world, really) access to the data in the car, they need to make sure they do not change data incorrectly. If OnStar was told "This variable is the number of kWh downloaded since the car was built", with no mention of resets, it is a bug on the Chevrolet side. FWIW, the Volt has a variable "the number of minutes that have passed since the car was built"; I'll have to check to see if that gets reset after the update.
Of course, regardless of how it is documented, OnStar needs to fix their code!
Replacing negative by positive is just silly bad programing.
Close. Bad programming, yes. But silly implies that they meant to do that, something like this which would force the variable to be positive:
int x;
x=GetValue();
x=abs(x);
I'm guessing that they do not intentionally "discard the minus sign". That means that someone considered the possibility of getting a negative number, and decided in that case the best thing to do would be to discard the minus sign (which indeed would be silly!). I'm guessing that it happens more like this:
unsigned int x;
x=GetValue();
With 'x' an unsigned integer, if GetValue() tries to return a "negative" number, it will be have been converted to an unsigned integer, which would be positive.
Not that it really matter much, if they can simply change it to a signed integer, and discard any values below zero.
tboult 07-03-2012, 08:39 AM I'd call it a bug with the software update on the car. If Chevrolet was the only one with access to the numbers in the car, they can do whatever they want. But where Chevrolet has given OnStar (and therefore the world, really) access to the data in the car, they need to make sure they do not change data incorrectly. If OnStar was told "This variable is the number of kWh downloaded since the car was built", with no mention of resets, it is a bug on the Chevrolet side. FWIW, the Volt has a variable "the number of minutes that have passed since the car was built"; I'll have to check to see if that gets reset after the update.
It does not make sense for the variable to be KW since he car was built. I would expect this lives in the battery, and is KW since the battery was built. That is what I would want to know, since I do expect to change batteries sometime in my car's life.
Close. Bad programming, yes. But silly implies that they meant to do that, something like this which would force the variable to be positive:
int x;
x=GetValue();
x=abs(x);
I'm guessing that they do not intentionally "discard the minus sign". That means that someone considered the possibility of getting a negative number, and decided in that case the best thing to do would be to discard the minus sign (which indeed would be silly!). I'm guessing that it happens more like this:
unsigned int x;
x=GetValue();
With 'x' an unsigned integer, if GetValue() tries to return a "negative" number, it will be have been converted to an unsigned integer, which would be positive.
Not that it really matter much, if they can simply change it to a signed integer, and discard any values below zero.
True they could have just said unsigned int x.. then the battery would have been really crazy since it the cast would make a small negative number a really really big positive number. .. How big where the spikes?
and I still think its silly.. its not just "getGal" the the code would have been something like
unsigned int Oldval = GetVal(); // get kw val from storage
unsigned int newval = ReadVal(); // get kw from car
unsigned int used = newval - oldval; // compute how much was used...
when you subtract two variables and store the result in an unsigned it produces a warning (at least in my compilers).
gieso 07-03-2012, 09:27 AM Hopefully they still have the original data (with the sign included), or else they'll have to use some sort of heuristic (though I guess such a heuristic would be fairly easy in this case).
OnStar told me that the bad data is in the database as a large negative number and they are not changing that. They are just changing how hey deal with the data. In this case ignoring the negative values for kWh drawn.
I do not know where the sensor/counter is in the car, but it would make sense to be in the battery. Wherever it is, it sounds like a mistake to have reset it.
George S. Bower 07-03-2012, 12:47 PM Questions:
kwh drawn= drawn from where??
can we get hold of this number somehow?? ie w/ dashdaq
RScott 07-03-2012, 01:28 PM Questions:
kwh drawn= drawn from where??
can we get hold of this number somehow?? ie w/ dashdaq
It's possible that DashDaq could do so (requiring the Volt package, and perhaps not even then).
It is not part of the standard information that the car constantly sends on the primary CAN bus, but it might be accessible either by making a request for it (as DashDaq does), or on one of the other buses.
gieso 07-03-2012, 02:29 PM Questions:
kwh drawn= drawn from where??
can we get hold of this number somehow?? ie w/ dashdaq
The Project Manager did not provide specific details. The term "drawn" was my own interpretation from the discussion. Maybe the proper term should be "kWh Put" and not "kWh Drawn".
I don't know for sure, but I believe that this is the kWh drawn (or put) into the battery through the on-board charger during the charging event. This is not considering power put into the battery via regen, just power put in the battery during the charging event.
I have no idea if it is readable somehow other than what is uploaded to OnStar.
George S. Bower 07-03-2012, 03:04 PM The Project Manager did not provide specific details. The term "drawn" was my own interpretation from the discussion. Maybe the proper term should be "kWh Put" and not "kWh Drawn".
I don't know for sure, but I believe that this is the kWh drawn (or put) into the battery through the on-board charger during the charging event. This is not considering power put into the battery via regen, just power put in the battery during the charging event.
I have no idea if it is readable somehow other than what is uploaded to OnStar.
The kwh data that we are talking about,,,,where is it reported on myvolt.com. Is it the lifetime kwh/100miles number on the opening page?? for some reason my lifetime kwh/100 hrs is not listed it just has a dash in the slot.
ari_c 07-03-2012, 03:44 PM The kwh data that we are talking about,,,,where is it reported on myvolt.com. Is it the lifetime kwh/100miles number on the opening page?? for some reason my lifetime kwh/100 hrs is not listed it just has a dash in the slot.
I have the same problem. The lifetime kWh worked fine until I had the battery enhancement done back in April. Since then, all it has shown is "--".
tboult 07-03-2012, 04:05 PM I have the same problem. The lifetime kWh worked fine until I had the battery enhancement done back in April. Since then, all it has shown is "--".
No fix here and I too only get "--"/
George S. Bower 07-03-2012, 04:58 PM The kwh data that we are talking about in this thread,,where is it reported on myvolt.com. .
sorry, I'm still not sure where this number shows up
George S. Bower 07-03-2012, 06:45 PM sorry, I'm still not sure where this number shows up (total kwh drawn)
Since I got no response I will assume it's the lifetime kwh/100 miles number on myvolt.com
Why doesn't Voltstats use this number instead of back calculating it from total EV miles??
AySz88 07-03-2012, 07:33 PM Since I got no response I will assume it's the lifetime kwh/100 miles number on myvolt.com
Why doesn't Voltstats use this number instead of back calculating it from total EV miles??
No, if you look into your MyVolt (not VoltStats) charging history (and you did your battery replacement after they launched that feature), you'll find an entry that has a huge number. The "--" lifetime efficiency number might be caused by too, though.
Fulgerite 07-03-2012, 08:01 PM Volts were relatively trouble free until this disastrous recall agreement. If given the choice, I'd opt out of tearing my whole car apart to slide in a few metal plates. The car was safer before the recall fixes.
I disagree. Adding a coolant sensor was a significant safety improvement. The steel reinforcement is also a significant improvement. I had zero problems before the fix. I have zero problems after the fix.
And it was NOT a recall. It is a voluntary safety enhancement.
You can always use VoltStats instead of the broken MyVolt site anyways.
| |