AndroidPIT Akku Daten Sammel App
Einige von Euch haben ja schon angeregt mitverfolgt, wie häufig bei uns im Forum das Thema Akku-Verbrauch der Androiden diskutiert wird.
Um auf diesem Gebiet zu etwas fundierteren Aussagen zu kommen, (Theorie ist auch nicht alles) habe ich vor einiger Zeit eine kleine App geschrieben,
die uns alle dabei unterstützen kann.
Achtung: Versionsupdate vom 02.08.2010 auf Version 1.9 (Änderungen siehe unten)
Seit heute Abend gibt es nun die App Batman in einer neuen Version. Viele Eurer Vorschläge, Anregungen haben Einzug gefunden .. Aber lest weiter ...
Diese kleine App tut eigentlich nicht viel, Ihr einziger Lebenszweck ist es Daten über das Lade/Entlade-Verhalten Eurer Akkus zu sammeln und diese verfügbar zu machen. Sascha hat sich netter Weise bereiterklärt diese Daten zu sammeln und sie dann später aufbereitet für Jedermann (und natürlich auch FRAU) im Wiki zu hinterlegen. Ein Projekt was wohl bislang einzigartig in dieser Größenordnung ist.
Zur Sache. Die App kommt recht unspektakulär daher mit einem einfach Textscreen der sich, solange die App aktiv im Vordergrund läuft, auch mit jeder Änderung der Batterieverhältnisse updated. Und so schauts dann aus:
Das erste was die App mal macht, ist auf der SD-Karte automatisch das Logfile anzulegen und es mit mit der Information zu Eurem HandyTyp als erste Zeile zu befüllen. Das Logging ist damit aber noch nicht gestartet.
Darüber hinaus kann man nur das Menü aufklappen (Einfach die Menütaste am Handy drücken) und man bekommt folgendes Menü zu sehen:
Hier hat man nun genau vier Auswahlmöglichkeiten:
- Logging + App beenden
- Logging starten
- Akkuinfo
- Akku Verbraucher
- Log versenden (Mail)
- Mehr
- Neues Log anlegen
- Konfiguratiom
Das wichtigste zuerst:
Start logging:
Wenn Ihr diesen Menüpunkt auswählt, dann wird der Hintergrund Service gestartet, der auf Eurer SD-Karte eine Datei mit Namen : batman.csv anlegt. Dies geschieht natürlich nur wenn die SD-Karte auch gemounted (zum Schreiben/Lesen verfügbar gemacht) ist! Aber keine Sorge, Ihr werdet im Fehlerfall entsprechend darauf hingewiesen.
Dieser Service läuft solange, wie ihr die Applikation NICHT explizit über den Menüpunkt "Logging + App beenden" beendet.
Neu ist in deser Version nun, dass mit dem Starten des Service auch ein Icon in die Notification Bar gelegt wird. Dieses erinnert Euch einerseits daran, dass die App noch im Hintergrund mitloggt und andererseits
liefert es Euch eine Anzeige der bisherigen Logdauer dieses Logvorgangs mit.
Neues Log anlegen:
Dieser Menüeintrag ist für Euch nur dann interessant wenn Ihr bereits eine Zeitlang geloggt habt und nun ein neues Logfile anlegen wollt. Dabei wird ein bereits existierendes Logfile geläscht und ein neues angelegt
Zur Sicherheit bekommt Ihr nochmal eine Warnmeldung angezeigt.
Log Versenden (Mail):
Bei Auswahl dieses Menüpunktes werdet Ihr u.U. zunächst einen Screen wie diesen sehen:
Hier solltet Ihr normalerweise einfach auf Gmail klicken, woraufhin dann folgender Screen zu sehen sein wird:
Theoretisch könnt Ihr nun einfach auf Senden klicken und das fertige Logfile wird dann an Sasche gesendet und Ihr habt AndroidPIT und all seinen UserInnen einen großen Dienst erwiesen, indem Ihr bei der Datensammlung zum Thema Akkuverbrauch der Androiden einen wichtigen Beitrag geleistet habt.)
(Wer möchte kann Sascha, Norman und mir natürlich auch noch einen lieben Gruss dazutippen
Ihr könnt hier Eure eigene E-Mail Adresse (oder eine beliebige andere) eintragen und Euch das Logfile auf den PC schicken, um es zu analysieren oder sonstwie zu verarbeiten.
Wenn Ihr das Log verschickt, solltet Ihr mindestens 24 Stunden durchgehend geloggt haben. Nähere Informationen dazu findet Ihr auch auf der unten verlinkten Public Google Wave.
Logging + App beenden:
ACHTUNG Wenn Ihr diesen Menüpunkt auswählt, wird der unter Umständen im Hintergrund laufende Service, der die Daten sammelt beendet!
Ich musste letztlich irgendeine Möglichkeit schaffen, um den Service zu beenden ...
Ihr werdet aber noch zur Sicherheit darauf hingewiesen.
Wollt ihr die App Batmon also nur verlassen, aber der Service soll weiterlaufen, einfach die "Home" Taste am Handy drücken!
Noch ein Wort zur Notification Bar, hier seht ihr die bereits geloggte Zeitspanne und könnt, indem Ihr die Zeile anklickt auch die App öffnen.
Wichtig für alle die die App benutzen! :
Keinesfalls darf einer der verbreiteten Task Killer auf Autokill gestellt sein was diese App angeht. Das wäre natürlich kontraproduktiv!
Akkuinfo:
Mit Auswahl dieses Menüpunktes wird einfach die bereits im Handy eingebaute und versteckte App AkkuInfo gestartet. Dies ist eigentlich eine Diagnose Software, die somit auch in einigen einige Punkten (hauptsächlich im dortigen Menü: Telefoninfo) mit VORSICHT zu behandeln ist. allerdings bietet sie
auch einige sehr nützliche Punkte, nämlich Informationen dazu, welche Apps jeweils seit dem letzten Trennen vom Ladegerät wie viel Netzwerktraffic verursacht haben.
Akkuverbraucher:
Auch hier wird nur eine bereits auf dem Telefon vorhandene App gestartet, die darüber Auskunft gibt, welche Akkuverbraucher seit dem letzten Trennen vom
Ladegerät wieder den Akku leergezogen haben.
Mehr:
Hier verbergen sich noch zwei Einträge .. Konfiguration und Neues Log anlegen.
Inhalt .. Selbsterklärend ;) Nur soviel, die Sprachausgabe ist nützlich ;)
Änderungen in Version 1.5:
- Die bisher in Version 1.4 falsch geloggte Anzeige Helligkeit wird nun korrekt geloggt und angezeigt.
- Die Anzeige der bisherigen Logdauer in der Notification wird nach einem Autoneustart oder einem Autokill (durch System oder sonstwas) erhalten.
(erst bei einem korrekten Beenden über das Menü, wird diese Zeit zurückgesetzt)
Änderungen in Version 1.7:
Es sind wie weiter unten beschrieben, einige neue Logeinträge hinzugekommen, die eine wesentlich
bessere Beurteilung einer durch externe Umstände erzeugten Lastsitutation zu ermöglichen.
Weiters wurde de Anzahl der Logeintrag auslösenden Receiver erweitert, so das hier besser unterschieden
werden kann warum der Accu evtl schneller geleert wird.
Dazu wurden insgesamt 5 neue Eventreceiver in den Service eingebaut.
Es wird nun zusätzlich auch geloggt bei:
- MobileDataconnectionChange,
- MobileServiceStateChange,
- onCellLocationChange, (ohne hierbei jedoch die Location selber mit zuloggen!!!)
- onWifiConnectionStateChange
- onWifiHardwareStateChange
- onAirplaneModeChange
Die Ermittlung/Erkennung vieler zusätzlicher Mobiler Netzwerktypen ist nun möglich.
Der Airplanemode wird nun zuverlässiger erkannt, ebenso ein nach neuerlicher Mobiler Registrierung
beim Provider erfolgende Netzwechsel.
Im Mailheader wird der Handy-Typ als erstes mit angeführt.... Dient der besseren Zuordnung im Posteingang
insgesamt mit allen bisherigen Events sind das also nun 10 verschiedene Events (alle stark Akkuverbrauchend oder schonend) die hier zur erfassung des Batteriezustandes erfasst werden.
Darüber hinaus gibt die allerletzte Spalte jeweils Auskunft darüber eben welches dieser Events die Logzeile auslöste.
Es gibt nun in der Spalte Netzwerktyp wesentlich mehr Netzwerktypen die erkannt werden!
Die Zeitmessung für die Notification erfolgt nun korrekt und wird bei jeder Logzeile neu upgedatet. Wenn der Bildschirm längere Zeit an ist, erfolgt
der Update direkt, wenn man den Bildschirm einmal aus und wieder einschaltet.
Auch den Airplane bzw. Tiefschlaf modus übersteht diese Messung nun ... (zumindest auf dem G1!)
Neu hinzugekommen ist auch eine Berechtigung "ACCESS_COARSE_LOCATION" Diese benötigt die App lediglich
um einen Wechsel der Cell Location zu monitoren und dies als Logauslöser zu benutzen. Es werden keine
Location Details mitgeloggt und/oder an dritte übermittelt.
ACHTUNG: Da der Logheader sich geändert hat, solltet Ihr ein neues Log über das Menü anlegen. Im Falle des Falles
könnt ihr nötigenfalls das bisherige Logfile an die voreingetragene Mailadresse senden.
Neu in Version 1.9
Lange Zeit hat es gedauert und jetzt habe ich mich aus verschiedenen Gründen entschieden, die App früher als gedacht erneut
zu publizieren. In der App wurde mittlerweile eine Sprachausgabe integriert, die es erlaubt bei Ladung oder Entladung die Akkuladung
per Sprachausgabe in 10 % Schritten auszugeben. Dieses Feature ist über das neue Konfigurationsmenü unter "mehr" im Menü erreichbar
und konfigurierbar. Ebenso ist dort eine Logausgabe für Leute einschaltbar, welche die ADB aus dem Android SDK installiert haben. Damit
kann man sich Live ansehen was gerade so am Handy geschieht, hinsichtlich der ganzen mitgeloggten Parameter. Diese Option
macht die Logausgaben im Logcat sichtbar.
Weiters habe ich den ehemals als eigene App installierbare AkkuInfo mit integriert. (Via Menü - AkkuInfo). Ebenfalls direkt aus Batman aufrufbar
ist nun die Akkverbraucher App aus dem Telefoninfo Menü des Android.
Somit sind alle nützlichen Dinge beisammen und in einem Guß.
- Konfigurierbare Sprachausgabe des Akkulevels im Logging Modus
- Erweiterte Werte Ausgabe im Haupt-Screen
- Direkter Aufruf der Akkuverbraucher
- Direkter Aufruf von AkkuInfo (früher als eigene Starter App) integriert
- Konfigurations - Menü
- Konfigurierbare Debug-Option zur direkten Verfolgung der Handyaktivitäten am PC (nur mit installiertem ADB)
- Automatische Abschaltung des Logging bei zu geringer AkkuLadung um den Rest für Notfälle zu sparen
Weitere Dinge wie ein Widget und einiges mehr sind teilweise schon umgesetzt und müssen nur noch integriert werden.
ACHTUNG: Wenn Ihr die neue Version aus dem Market ladet, müsst ihr ggf. die bisherige Version 1.7 vorher deinstallieren!
Eigentlich ganz einfach oder? Wo bekommt Ihr diese App jetzt her? Ganz einfach, hier natürlich im Android Market:
Danke an alle die mitgeholfen haben diese Daten zu sammeln!
Ein besonderen Dank möchte ich an dieser Stelle Sascha und Norman aussprechen, die wesentliche Teile zum Erfolg beigetragen haben. Sei es
durch Testen der neuen Version oder dem einpflegen in die Google Wave oder dem unermüdlichen Beantworten von Fragen im Forum.
Weil es grundsätzlich gefragt wurde: Was wird eigentlich mitgeloggt:
in der momentanen Version 1.9 werden folgende Daten aufgezeichnet:
Handy Model und Devicebezeichnung sowie
Datum Zeit
Level % (0 -100 max)
Spannung (angepasst)
Temperatur °C
Display Helligkeit % (0-100)
Bluetooth off/on (0/100)
Signalstärke (asu 0 -31 max)
Laden
Netzwerktyp
Laden verbal
Betriebsart
NetzwerkTyp verbal
Bluetooth enabled/disabled
Akku Technologie
Real Spannung
Batterie Status
Mobile Verbindungs Status
Mobile Service Status
Logauslöser
Mehr wird definitiv nicht aufgezeichnet oder weitergegeben. Es werden lediglich oben genannte Daten im Logfile übermittelt.
Das mit der Helligkeitsregelung ist kein Bug in der App Batman sondern in Android. Das OS liefert bei eingeschalteter HElligkeitsautomatik leider keine veränderten Werte.
Die "angepasste Spannung" ist nicht zu hoch sondern angepasst um in Diagrammen die man aus dem Log erzeugt eine Spalte mit Werten zu haben, die direkt ohne Modifikation mit dem ebenfalls im Diagram verwendeten Level (0- bis 100) korreliert ohne das man Verzerrungen durch unterschiedliche Werteskalierungen bekommt.
Das mit dem Wlan ist mir persönlich noch nicht aufgefallen, da ich bis zu diesem Zeitpunkt noch kein Galaxy im Zugriff hatte. Werd ich mir aber mal ansehen.
Das mit den laufenden Anwendungen ist eine Möglichkeit. Muss ich mir mal ansehen.
Wirklich schöne App, die aber leider auf dem Samsung Galaxy S I9000 noch einige Bugs aufweist:
* bei automatischer Helligkeitsregelung wird immer nur die letzte manuell festgelegte Helligkeit angezeigt und geloggt
* die angepasste Spannung ist um den Faktor 10 zu hoch (41 statt 4 Volt)
* verwendet man WLAN und schaltet das Handy den Bildschirm aus, wird nach einiger Zeit "NetworkType: unknown" geloggt. Wahrscheinlich wird das WLAN-Modul zum Stromsparen automatisch abgeschaltet? Jedenfalls wird trotz der veränderten verbalen Beschreibung weiterhin der Netzwerktyp 50 geloggt (statt 5 für unbekannt). Nebenbei frage ich mich, ob trotzdem weiterhin E-Mail push funktionieren würde, das werde ich gleich mal testen...
Was auch ganz praktisch wäre: Eine Liste der gerade laufenden Anwendungen im Log (die man auch Advanced Task Killer finden würde). Die manche starten sich einfach im Hintergrund (selbst wenn ich K-9 Mail töte erscheint es nach einiger Zeit wieder) und sind potentielle Akkuverbraucher...
Neues Update und die App ist seit heute wieder im Market!
Danke für die Anregung Patrik, ich habs hier auch noch mal im Blogbeitrag hinzugefügt!
Daten wirds geben wenn Ende Juni die Sammlung beendet ist und die Daten alle ausgewertet wurden. Das da ne Menge zu tun ist könnt Ihr Euch vielleicht vorstellen.
Der Log sollte mindestens 24 stunden lang durchgehend aufgezeichnet werden.
Vielleicht sollte man noch rein schreiben, wann der Log abgeschickt werden soll....
Und wann gibts mal Daten? :p
So seit eben ist die neue Version 1.7 online. Diesmal allerdings über den Market!!!!!!!!!!
Hallo Holger, du startest einfach das logging und benutzt das gerät ganz normal. die App zeichnet alle Veränderungen automatisch auf.
Hallo an alle ich würde gern auch mein Log abgeben nur leider habe ich ein Problem. Was muss ich ändern wenn bei mir das das App läuft wenn auch das Display an ist oder muss das dann ständig an sein. Vielen dank schonmal und noch einen schönen Tag.
Holger
So kleiner Zwischenstand:
Ca. 100 Datensätze die auswertbar sind (danke an alle die sich schon dran beteiligt haben)
1. Extremlog heute eingegangen (Danke Markus S.)
6 Frauen haben sich bisher beteiligt (großen Respekt)
8 Registrierungen zum Extremlogging (ich weiß ihr könnt ne Zeitlang nicht spielen :-)
ca. die hälfte der Gesamt eingegangen Logs sind von aktuellen Geräten (Desire, Milestone und Nexus One)
1 Log ist vom X10 (wo steckt ihr?)
In diesem Sinne ruhiges Wochenende für euch. Ich werd anfangen zu sortieren :-)
Gruß Norman
Eure AndroidPIT Accu Crew
Das Milestone ist weggeratzt daher kein 48h log...
Weil ich mit dem Firmenname gebuzzt hatte und der Standort ein anderer wie hier im Impressum ist ;)
@I. Straubing
Supi, und zu den Standorten kann ich nichts sagen. Aber wie kommst du darauf?
So hab das ganze hier mal gebuzzt, vielleicht findet sich ja noch der ein oder andere. Morgen früh kommt dann noch mein 48h Log
PS: Hat AndroidPIT 2 Standorte in Berlin oder ist bei Google noch die Alte Adresse des Unternehmens? :D
Seht erstmal darüber hinweg, es wird daran gearbeitet. weiter loggen tut die App in jedenfall.
Gruß Norman
Ich habe auf dem Vodafone-Magic mit 1.6 den gleichen Effekt - wenn ich die Notification Bar ausklappe, springt die Anzeige der geloggten Zeit plötzlich auf 0 zurück.
Für morgen kündige ich schonmal an das es kleine Änderungen in der Gesamtplanung geben wird. Diese werden im Forum bekannt gegeben, hier im Blog und vorallem in den Waves.
Und immer dran denken immer schön loggen.
Gruß eure Accu Crew
PS: Wer einen Extremtest machen möchte bitte melden unter AccuCrew@googlemail.com Betreff: Extremtest
Ein paar freiwillige haben sich schon gefunden. Mehr Infos gibts morgen
Einen Taskkiller benutze ich nicht. Ich gucke morgen mal ins Logfile.
Ok das mit der Zeit kann zwei Ursachen haben, es gibt leider immer noch einen kleinen Bug im Update der Zeit. Warum ist noch nicht ganz klar. Ich arbeite daran .
Das sagt aber normalerweise nichts über das Logging selber aus. Das geht normalerweise weiter. Es sei denn Du hast einen der vielen Taskkiller installiert und die app wird immer wieder gekillt .. dann kann es nicht funktionieren.
Das mit dem Netzwerk hab ich mal notiert .. steht das auch im Logfile falsch drinnen ? oder nur in der Bildschirmanzeige der App?
Die im NotiBar meine ich. In der Appell selber wird bei mir auch keine Netzwerkverbindung angezeigt. Da steht immer "null" auch wenn ich Umts oder WiFi empfang habe...