Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Lenovo ThinkPad Akku: Barcode-Nummer ermitteln (https://www.delphipraxis.net/201963-lenovo-thinkpad-akku-barcode-nummer-ermitteln.html)

schiel 13. Sep 2019 21:16

Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo - jeder Akku der ThinkPad-Laptops von Lenovo hat eine eindeutige, so genannte Barcodenummer (siehe beigefügter screenshot).
Weiß jemand, wie man diese Nummer ermitteln kann? GetSystemPowerStatus liefert da nichts.
Ich benötige diese Nummer, um die Ladeschwellen einstellen zu können, was Lenovo selbst seit Windows 8 kaum noch hinbekommt ...
Wär schön, wenn jemand eine Idee hat.
Michael

Luckie 13. Sep 2019 23:45

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Hast du es schon mal mit WMI probiert?

Petzig 14. Sep 2019 22:18

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Die sollte eigentlich in der Registry stehen, unterhalb von "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\PW RMGRV\ConfKeys\Data\".
"ChargeStopControl, ChargeStartControl, ChargeStopPercentage, ChargeStartPercentage" können auch direkt im Data-Zweig gesetzt werden - dann gelten die Werte für alle verbauten Akkus.

Quelle: https://it-services.netlogix.de/blog...ter-windows-10

schiel 24. Nov 2019 14:37

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Mit WMI habe ich bisher keine Erfahrungen. Ich werde mich mal kundig machen.

@Petzig: Der zitierte Artikel ist die Grundlage für mein kleines Programm - das Bearbeiten der Registry ist nicht jedermanns Sache.

Das Problem ist jedoch vielschichtig: Es gibt Rechner, da stehen unter Confkeys\Data mehrere Schlüssel mit unterschiedlichen Akku-Barcodenummern. Das ist auch sinnvoll, da die Ladeschwellen für jeden einzelnen Akku festgelegt werden können. Um nun die Werte für den aktuell eingesetzten Akku festlegen zu können, muss ich herausfinden, welchen Barcode der aktuell eingesetzte Akku hat. Es ist sogar möglich, dass ein ThinkPad gleichzeitig mit ZWEI Akus betrieben wird (Zusatzakku in der DVD-Bucht). Auch hier ist es erforderlich, herauszubekommen, welchen Barcode die Akkus haben.

Um das Treiben noch etwas komplizierter zu machen: Unter Windows 7 (Pro, 64 bit) stehen (zumindest bei mir) die Einträge nicht unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\PWRMGRV\ConfKeys\Data , sondern unter HKEY_CURRENT_USER\SOFTWARE\Lenovo\PWRMGRV\Data.
Zu allem Überfluss gibt es diese Einträge auf manchen Rechnern auch direkt unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lenovo\PWR MGRV\Data.

Ich wäre dankbar, wenn Leute mit Thinkpad und (funktionierender!) Ladeschwelleneinstellung mal in der Registry nachschauen und hier posten würden, wo die Werte für ChargeStopControl, ChargeStartControl, ChargeStopPercentage und ChargeStartPercentage stehen - bitte mit Angabe des Betriebssystems (Version und bit-Angabe). Danke schon mal im Voraus.

Michael

zeras 24. Nov 2019 14:48

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Zitat:

Zitat von schiel (Beitrag 1451941)

Ich wäre dankbar, wenn Leute mit Thinkpad und (funktionierender!) Ladeschwelleneinstellung mal in der Registry nachschauen und hier posten würden, wo die Werte für ChargeStopControl, ChargeStartControl, ChargeStopPercentage und ChargeStartPercentage stehen - bitte mit Angabe des Betriebssystems (Version und bit-Angabe). Danke schon mal im Voraus.

Michael

Ich habe ein TP. In der Registry komme ich aber nur bis Wow6432Node\Lenovo. Dann kommt nur noch \HardwareScanPlugin\Scheduler.
Wie kann man die Ladeschwelleneinstellung vornehmen, damit ich dir Werte liefern kann?

schiel 25. Nov 2019 19:18

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Die Registry-Schlüssel werden erst durch den Lenovo Power Management Driver bzw. ThinkPad Settings Dependency vorgenommen (und natürlich auch durch System Interface Foundation). Wenn keines dieser Softwarepakete installiert ist, existieren die Einträge wohl nicht. Ich möchte nun aber nicht, dass diese durchaus nicht nebenwirkungsfreie Software allein aus dem Grund aufgespielt wird, damit die Registry-Einträge erzeugt werden. Ich bin mir inzwischen ziemlich sicher, dass tatsächlich nur die oben von mir genannten zwei Pfade existieren und genutzt werden.

Auch habe ich inzwischen ein kleines Tool namens BatteryChargeManager fertiggestellt, das die entsprechenden Pfade nutzt, um für Lenovo-Thinkpads Ladeschwellen festzulegen (siehe https://www.batterychargemanager.de).

Einzig ungelöst ist die Eingangsfrage: Wie bekomme ich den so genannten Barcode des gerade eingesetzten Akkus heraus? Zum Teil stehen da in der Registry nämlich mehrere Werte, z.B. wenn man mehrere Akkus benutzt. Daraus ergibt sich die Frage: Welcher Barcode gehört zum aktuell eingelegten Akku? Vermutlich gibt es einen undokumentierten Funktionsaufruf - die Lenovo-eigene Software (Energie-Manager, Vantage, ....) zeigt jedenfalls immer den Barcode des aktuell eingesetzten Akkus an.

Moombas 26. Nov 2019 07:22

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Der "Barcode" ist ja egal. Was du willst, ist ja die Seriennummer des Akkus.

Diese wird garantiert Hardwareseitig irgendwie ans System übergeben bzw. auslesbar sein. Aber ich bezweifel das das hier jemand sagen kann wie & wo das Herstellerseitig gelöst ist. Sprich: dafür müsstest du wohl mal direkt an Lenovo ran treten ob die dir das sagen wollen, was ich bezweifel.

Denn dadurch können sie Fremdakkus entlarven über falsche oder keine Seriennummernübermittlung.

HolgerX 26. Nov 2019 07:36

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Hmm..

Mal ein bischen google...

https://blackit.de/2017/01/05/lenovo...mmer-auslesen/
https://wiki.ubuntuusers.de/dmidecode/

Windows-Version von dmidecode (mit Source):
http://gnuwin32.sourceforge.net/packages/dmidecode.htm

Teste dies mal und schaue, ob die Serial des Akkus dabei ist..
Mit dem Source könntest du Dir dann die Abfrage in Delphi nachbilden.

schiel 27. Nov 2019 01:37

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
Wow - das klingt vielversprechend - werde das spätestens Donnerstag in ein Programm verpacken und dann auf meinem Lenovo testen. Schon mal vielen Dank im Voraus für die investierte Zeit und Arbeit!

DMIdecode stürzt bei mir bis jetzt kommentarlos ab, auch Adminrechte helfen nicht. Da muss ich noch weiter testen. Ich bin mir aber nicht sicher, ob der Barcode (das heißt tatsächlich so, obwohl es die Seriennummer ist...) im Bios zu finden ist.

on the way ...
Michael

schiel 27. Nov 2019 16:48

AW: Lenovo ThinkPad Akku: Barcode-Nummer ermitteln
 
@Frühlingsrolle: Die Funktion liefert leider nur einen Leerstring. Da ich auf dem Laptop Delphi nicht installiert habe kann ich zunächst erstmal nicht herausfinden, ob dein Programm irgendwo hängen bleibt oder ob da tatsächlich ein Leerstring ausgelesen wird - ich vermute Letzteres. Vielleicht komme ich am Wochenende dazu, das mal genauer zu untersuchen.

Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz