EEEPC, Batstats und ein blöder Kommafehler

Für jeden Besitzer eines EEEPCs der ersten oder zweiten Generation ist das Programm Batstats geradezu Pflicht:

Da der Akku des EEEPCs leider per ACPI nur seine aktuelle Spannung mitteilt (andere Hersteller geben auch gleich noch Daten wie den aktuellen Ladestand und/oder die vermutete Restlaufzeit aus), muss, wer auch immer Interesse an letztgenannten Daten hat, diese anhand der Spannung berechnen.

Ein Programm, das daran virtuos scheitert, ist die Akkuanzeige von Windows XP. Oft wiederholtes Erlebnis: Akku verliert laut Anzeige innerhalb von 5-10min 10-30% seiner Ladung. Andererseits habe ich auch schon mit 7% Restladung (!) 1,5h lang gearbeitet (inkl. WLAN und Höhertaktung).

Batstats ist insofern besser, als das es für die üblicherweise in EEEPCs eingesetzten Akkus Listen mit den Spannungsentwicklungen über die Zeit mitbringt. Sobald Batstats per ACPI die Spannung ermittelt hat, schaut es einfach in der Tabelle nach und “weiß”, wie lange der Akku noch durchhalten sollte.

Da sich nun aber Akkus leider auch innerhalb einer Serie leicht unterschiedlich verhalten, bringt Batstats noch ein tolles Feature mit: das Erstellen eines individuellen Profiles für den eigenen Akku. Dieses praktiziert man, indem man einmal den Akku komplett lädt, den Stecker zieht, Batstats’ Profilerstellung startet und den EEEPC solange stehen lässt, bis er mangels Strom ausgeht. Während der gesamten Zeit bis zum Hungertod schreibt Batstats jede Minute die aktuelle Spannung in eine Datei, so dass man nach dieser Prozedur ein perfektes Profil für seinen Akku besitzt. Dank dieser sind die Akkustandsanzeige und die Restzeitangaben in der Zukunft sehr brauchbar.

Blöderweise ist dem Programmierer allerdings ein kleiner I18N-Fehler unterlaufen. Dieser führt (zumindest auf einem “typisch” deutschem System) dazu, dass BatStats beim Anlegen des individuellen Profils die Spannungen mit einem Dezimalkomma notiert, beim Laden des Profils aber leider Dezimalpunkte erwartet. Der Workaround besteht demzufolge vergleichsweise harmlos im Suchen/Ersetzen der Kommata durch Punkte.