Wie werden die Batteriezyklen gezählt?

14

Wie die meisten Benutzer, die gesucht haben, wissen, ist die ACPI-Implementierung des Herstellers ein Durcheinander, und für die meisten unserer Laptops sind die Akkuinformationen nicht verfügbar oder falsch (bei einem Dell Inspiron 15z wird die Rate durch 10 geteilt).

Gibt es eine Möglichkeit (mit einem Perl / Python / Bash-Skript, einem vorhandenen Paket oder was auch immer), Batteriezyklen unter Ubuntu 12.04 zu protokollieren?

(Was ist ein Batteriezyklus?)

Ein Ladezyklus bedeutet, die gesamte Energie des Akkus zu verbrauchen, aber das bedeutet nicht unbedingt eine einzelne Ladung. Beispielsweise könnten Sie Ihr [Gerät] mit der Hälfte seiner Leistung ein paar Stunden am Tag anhören und dann vollständig aufladen. Wenn Sie am nächsten Tag dasselbe tun, zählt dies als ein Ladezyklus und nicht als zwei. Es kann also mehrere Tage dauern, bis ein Ladezyklus abgeschlossen ist. Jedes Mal, wenn Sie einen Ladezyklus abschließen, verringert sich die Akkukapazität geringfügig, aber Sie können [Gerätebatterie] viele Ladezyklen durchlaufen, bis sie nur noch 80% der ursprünglichen Akkukapazität halten. Apple mit freundlicher Genehmigung

Mein Laptop ist ein Clevo W150HRM, und wenn ich das tue, cat /sys/class/power_supply/BAT0/cycle_count bekomme ich: 0 Mein Laptop ist 2 Jahre alt.

Vielen Dank im Voraus.

The_guy_with_a_laptop
quelle
Zähler sind nicht schwer. Mit welchen Daten können Sie zählen?
Grantbow
Natürlich sind die Zähler hart! Sie sind in der Batterie-Firmware gespeichert. (Ja, Batterien haben Firmwares)
Bahaïka

Antworten:

1

Ich habe mich gerade mit Ihrer Frage befasst. Es könnte also zu spät sein, sie zu beantworten, seitdem Sie sie seit Jahren gepostet haben.

Sie verwenden ein ziemlich altes Ubuntu, von dem zu diesem Zeitpunkt bekannt ist / war, dass es in dieser bestimmten Domäne Probleme gibt.

Ich empfehle Ihnen jedoch, diese Frage zu stellen: Wie kann man den Batteriestatus mit dem Terminal überprüfen?

Die Antwort von Lekensteyn ist der Beginn dessen, wonach Sie suchen.

Wie Sie in der Antwort sehen können, entwickelt sich die Angelegenheit entlang der Kernel-Version und so die Lösung ...

Um genauer zu sein und Ihre Bedingungen zu wiederholen (Status und Ubuntu 12.04 abrufen), benötigen Sie einen Upower in Ihrem System und können ein Skript wie das Folgende erstellen:

#!/bin/sh
DATE=$(date +%Y-%m-%d:%H:%M:%S)
STATE=$(upower -i /sys/class/power_supply/BAT0 | awk '/state/ {print $2}')
echo "$DATE $STATE" >> /var/log/battery_status.log

Fügen Sie es dann in eine Überwachungsschleife ein ... oder in eine Crontab.

Möglicherweise wird Root-Berechtigung benötigt (sudo)

Hoffe das hilft.

Antoine Rodriguez
quelle
Ich habe es versucht, der $ STATE kehrt leer zurück. auch nur die Linie separat laufen. Was fehlt? ys GCP
GCP420