It appears the app is programmed to provide a 5% buffer.
This was likely done to avoid completely discharging the PowerWalls.
Though the software should have handled this situation better. The TEG browser interface should provide the same reading.
And if they wanted to have a 5% reserve, they should show that in the readings on both the app and browser interface so it's clear to the customer what's going on...
I agree with you. I suspect that tesla underestimated / underestimates how often someone would look at the local interface via the app. Its even possible that the team working on the app and showing that information and the team that worked on the firmware / powerwall have little interaction with each other.
Its fairly obvious from a customer point of view that these numbers should match / be displaying the same data, but I suspect that at the beginning, the team that works on the app was focused on "easy to use information" and the team that was focused on programming the firmware / web interface for the powerwall just displaying what the powerwall actually sees "accurate information". There wouldnt be any reason for the firmware team working on the powerwall itself to display anything other than what the powerwall sees.
The team building the app likely made a conscious decision to build in a buffer, since the expectation is the customer is going to mess with the settings in the app, to protect the customer from making a mistake / protect the product from the customer.
Thus, we end up with this very strange situation where 2 bits of data that are supposed to be reporting the same thing, report something different.
I certainly wasnt there, this is just my guess as to how something ends up this way. Many of you work in IT as well, so I bet the above thought processes look familar to you.
Innocent decisions trying to make a system easier to use / protect the customer from making a mistake end up with a system that, looking from the outside, makes zero sense (supposedly same data being different on the same system in two different places).
Not an excuse, just guessing at a reason.