Akku-Daten bei mobilen Geräten ermitteln

Aus LinuxUser 07/2017

Akku-Daten bei mobilen Geräten ermitteln

© Stanislav Komogorov, 123RF

Voll geladen

Unter Linux gibt es eine ganze Reihe hilfreicher Kommandozeilenwerkzeuge, die via ACPI ausführliche Daten über den Betriebszustand einer Notebook-Batterie ermitteln.

Bei der Arbeit mit einem Laptop müssen Sie darauf vertrauen können, dass der Akku noch genügend Ladung aufweist. Erreicht diese einen bestimmten unteren Schwellwert, erhalten Sie in vielen Fällen über die grafische Oberfläche eine entsprechende Nachricht. Das erlaubt es, alle Daten zu speichern und das Gerät sicher herunterzufahren. Alternativ wechseln Sie zum Weiterarbeiten in den Netzbetrieb, in dem sich die Batterie im Hintergrund wieder auflädt.

Die Daten für die Warnnachricht stammen aus dem Advanced Configuration and Power Interface [1] oder kurz ACPI [2]. Bereits 1996 erstmalig vorgestellt, hat die Technik inzwischen den Vorgänger Advanced Power Management (APM) abgelöst; die aktuelle Version 6 stammt vom April 2015. Mehr Informationen zum Thema APM und ACPI lesen Sie auf Tuxmobil [3] und im ACPI-Howto [4].

Früher war ACPI eine separate Komponente, heute pflegen die Kernel-Entwickler es im Rahmen des Unified Extensible Firmware Interface [5] (UEFI). Letzteres erlaubt, mithilfe von Tools für die Kommandozeile den Akku-Status eines Geräts auszulesen. Das betrifft nicht nur den Ladezustand, sondern auch den Zustand der Batterien selbst sowie des Temperatursensors. Unter Debian und dessen Derivaten heißen die dazu notwendigen Pakete acpi, acpid und acpi-support-base.

Bis zu Linux 2.6.26 lagen die Informationen zum ACPI im Proc-Filesystem [6] unter /proc/acpi/ [7]. Mittlerweile haben die Entwickler das Dateisystem etwas umsortiert und die Informationen nach /sys/class/power_supply/ verlegt.

Praxisbeispiel

Abbildung 1 zeigt Daten, wie sie unter Debian 8 auf einem Lenovo Thinkpad X250 [8] entstehen. Das Gerät verfügt über zwei Akkus, davon einer fest verbaut und einer zum Austauschen. Aus diesem Grund finden sich hier drei Stromzuführungen. Der Bereich AC steht für den Netzbetrieb, BAT0 und BAT1 für die erste beziehungsweise zweite Batterie.

Abbildung 1: Über das Pseudo-Dateisystem Sysfs erfahren Sie, welche Stromzuführung eine Hardware hat und ermitteln bei Bedarf detaillierte Informationen zu den einzelnen Komponenten.

Abbildung 1: Über das Pseudo-Dateisystem Sysfs erfahren Sie, welche Stromzuführung eine Hardware hat und ermitteln bei Bedarf detaillierte Informationen zu den einzelnen Komponenten.

Mithilfe der Kommandos cat, less oder more zeigen Sie den Inhalt der einzelnen Dateien an. Die Angabe Charging aus der Datei status verrät, dass die Batterie gerade lädt. Alternative Angaben lauten Discharging für das Entladen und Fully charged für einen vollständig geladenen Akku.

Werkzeuge

Das Auslesen der einzelnen Dateien gelingt immer. Das Zusammensuchen und Interpretieren der Daten bereitet aber mitunter etwas Mühe. Einige kleine Programme machen Ihnen das Leben leichter und bereiten die Daten in übersichtlicher Form auf. Dazu gehören die Werkzeuge Upower [9], Acpi [10] und Acpitool [11] sowie der Intelligent Battery Monitor Ibam [12].

Informationen über die einzelnen Energiequellen liefern alle vier Programme. Dafür kennt Upower den Schalter --enumerate (kurz: -e) (Listing 1), bei Acpi sind es die beiden Schalter --ac-adapter (-a) und --battery (-b) (Listing 2).

Listing 1

$ upower --enumerate
/org/freedesktop/UPower/devices/line_power_AC
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/battery_BAT1
/org/freedesktop/UPower/devices/DisplayDevice

Listing 2

$ acpi --ac-adapter --battery
Battery 0: Charging, 50%, 01:00:01 until charged
Battery 1: Unknown, 75%
Adapter 0: on-line

Acpitool hingegen liefert eine kompakte Übersicht (Listing 3). Während Upower lediglich die einzelnen Energiequellen auflistet, gehen Acpi und das Acpitool etwas mehr ins Detail.

Listing 3

$ acpitool
Battery #1  : Unknown, 75.35%
Battery #2  : Charging, 50.98%, 00:59:05
AC adapter  : online
Thermal info: <not available>

Sagt Ihnen die Ausgabe im Terminal nicht zu, greifen Sie auf die entsprechenden Werkzeuge der Desktop-Umgebung zurück. Abbildung 2 zeigt das anhand des Energiemanagements von XFCE4 [13]. Um flink den Ladezustand abzufragen, binden Sie das Applet in den Systray ein (Abbildung 3).

Abbildung 2: &Uuml;ber ein Tool in der Task-Leiste fragen Sie unter XFCE4 komfortabel den Status und Details der Energieversorgung ab.

Abbildung 2: Über ein Tool in der Task-Leiste fragen Sie unter XFCE4 komfortabel den Status und Details der Energieversorgung ab.


Abbildung 3: Die etwas kompaktere Variante des Programms f&uuml;r den Systray zeigt den Status der Batterien im Laptop an.

Abbildung 3: Die etwas kompaktere Variante des Programms für den Systray zeigt den Status der Batterien im Laptop an.

Details

Im nächsten Schritt geht es zunächst mit Upower ans Eingemachte: Rufen Sie es mit dem Schalter --show-info (-i) und dem Namen der Energiequelle auf, zeigt es alle Details dazu an. Der Schalter --dump (-d) listet sämtliche Energiequellen auf.

Listing 4 zeigt das Ergebnis für die zweite Batterie des Testgeräts. Neben dem Hersteller, der Modell- und Seriennummer sowie dem Typ – hier ein Lithium-Ionen-Akku – listet Upower mehrere für den Alltagsbetrieb nützliche Angaben auf. Daraus ersehen Sie unter anderem den Ladezustand der Batterie (hier nur noch bei rund 90 Prozent). Konzipiert für eine Kapazität von 71 Wh, fasst der Akku aufgrund fortgeschrittenen Alters nur noch 64 Wh. Die Zeile time to full zeigt, dass es etwa 90 Minuten dauert, die Batterie wieder vollständig zu laden.

Listing 4

$ upower --show-info /org/freedesktop/UPower/devices/battery_BAT1
  native-path:          BAT1
  vendor:               SANYO
  model:                45N1777
  serial:               27945
  power supply:         yes
  updated:              Di 09 Mai 2017 11:24:13 CEST (1 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               charging
    warning-level:       none
    energy:              34,2 Wh
    energy-empty:        0 Wh
    energy-full:         64 Wh
    energy-full-design:  71,28 Wh
    energy-rate:         21,177 W
    voltage:             11,566 V
    time to full:        1,4 hours
    percentage:          53%
    capacity:            89,7868%
    technology:          lithium-ion
    icon-name:          'battery-good-charging-symbolic'
  History (charge):
    1494321853  53,000  charging
  History (rate):
    1494321853  21,177  charging

Acpi geht nicht ganz so ins Detail, liefert aber immerhin ausreichend Informationen für einen schnellen Überblick. Dazu rufen Sie es mit dem Schalter --details (-i) auf. Das Kommando in Listing 5 beschränkt mithilfe von Grep die Ausgabe auf die Informationen zur ersten Batterie (Battery 0).

Listing 5

$ acpi -i | grep "Battery 0"
Battery 0: Charging, 56%, 01:18:07 until charged
Battery 0: design capacity 6127 mAh, last full capacity 5502 mAh = 89%

Eine vollständige Übersicht zu allen Energiequellen liefert der Aufruf von acpi --everything (kurz -V) sowie acpitool -Be. Die Ausgabe beinhaltet neben dem Ladestatus der Batterien den Wert des Temperatursensors sowie die Informationen zur Kühlung (Abbildung 4). Letztere Informationen erhalten Sie separat über die beiden Schalter --thermal (kurz -t) sowie --cooling (kurz -c).

Abbildung 4: Neben den Informationen zu den Stromquellen liefert Acpi &uuml;ber weitere Schalter Daten aus dem Temperatursensor sowie Daten zur K&uuml;hlung.

Abbildung 4: Neben den Informationen zu den Stromquellen liefert Acpi über weitere Schalter Daten aus dem Temperatursensor sowie Daten zur Kühlung.

Mit dem Schalter --show-empty (-s) zeigt Ihnen Acpi Geräte an, die gerade nicht funktionieren. So identifizieren Sie defekte oder nicht korrekt angeschlossene Systemkomponenten. Die Ausgabe in Listing 6 zeigt, dass mit beiden Batterien etwas nicht stimmt.

Listing 6

$ acpi -s
Battery 0: Unknown, 4%
Battery 1: Charging, 75%, charging at zero rate - will never fully charge.

Lauf- und Ladezeit

Das Tool Ibam errechnet sowohl die verbleibende Laufzeit als auch die vermutliche Ladedauer. In Listing 7 sehen Sie den Aufruf mit dem Schalter --battery, der eine verbleibende Arbeitsdauer von 19 Minuten anzeigt sowie eine Ladezeit von rund 90 Minuten prognostiziert.

Listing 7

$ ibam --battery
Battery time left:           0:19:12
Charge time left:            1:34:48
Adapted charge time left:    1:34:48

Für eine grafische Ausgabe kombinieren Sie Ibam mit Gnuplot [14]. Dabei nutzen Sie den Umstand, dass die Software bei jedem Aufruf die ermittelten Werte zum Ladezustand lokal unter ~/.ibam/ speichert. Über den Schalter --plot wertet es diese Daten aus. Sie erhalten ein Gnuplot-Fenster mit einer Darstellung des Ladezustands (Abbildung 5). Dabei repräsentiert die X-Achse den aufgezeichneten Ladezustand, die Y-Achse zeigt die Zeit.

Abbildung 5: Das Tool <code>ibam</code> speichert die Werte aus jedem Aufruf, und erm&ouml;glicht es, diese als Grafik auszugeben.

Abbildung 5: Das Tool ibam speichert die Werte aus jedem Aufruf, und ermöglicht es, diese als Grafik auszugeben.

Alternativ koppeln Sie das Tool über Gkrellm-ibam [15] mit dem Monitoring-Werkzeug Gkrellm [16], um den Ladezustand anzuzeigen. Das Plugin klinkt sich dazu in die Anzeige ein (Abbildung 6).

Abbildung 6: &Uuml;ber ein Plugin dockt Ibam an den Systemmonitor Gkrellm an und zeigt dort die Daten &uuml;ber den Ladezustand.

Abbildung 6: Über ein Plugin dockt Ibam an den Systemmonitor Gkrellm an und zeigt dort die Daten über den Ladezustand.

Fazit

Mit den vier Werkzeugen Upower, Acpi, Acpitool und Ibam behalten Sie den Zustand von Laptop-Akkus jederzeit im Blick. Insbesondere Acpi und Upower liefern erfahrungsgemäß präzise, zuverlässige Werte. Das schützt Sie vor unangenehmen Überraschungen bei der Arbeit mit dem mobilen Rechner. 

Danksagung

Der Autor bedankt sich bei Werner Heuser, Arne Wichmann und Justin Kelly für deren Kritik und Anregungen im Vorfeld des Beitrags.

Über den Autor

Frank Hofmann arbeitet von unterwegs – bevorzugt aus Berlin, Genf und Kapstadt – als Entwickler, Trainer und Autor. Er ist zudem Koautor des Debian-Paketmanagement-Buchs (http://www.dpmb.org).

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 07/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben