Sind wir mal ehrlich, um unser Smartphone aufzuladen benötigen wir Tasker nicht zwingend notwendig, aber warum darauf verzichten? Auch hier kann Tasker einige Aufgaben für uns übernehmen, wie immer gilt – der Kreativität sind keine Grenzen gesetzt!
Zunächst benötigen wir natürlich ein passendes Profil. Dies erstellen wir unter dem Menüpunkt ‚State‘. Dort wählen wir zunächst ‚Power‘ aus und anschließend noch einmal ‚Power‘. Jetzt haben wir die Auswahl zwischen Any, AC, USB, Wireless oder Other. Ihr könnt also festlegen, bei welcher Stromquelle der folgende Task ausgelöst werden soll. Ich für meinen Teil habe mich für Any entschieden.
Profile: Laden (8) State: Power [ Source:Any ]
So, das hätten wir erledigt, nun brauchen wir nur noch einen passenden Enter Task, bzw. Exit Task.
Hier hat man natürlich, wie bereits gesagt, jegliche Freiheiten. Ich z.B. deaktiviere grundsätzlich beim Laden des Telefons den Vibrationsalarm, einfach weil ich es ziemlich nervig finde, wenn das Handy irgendwo still und heimlich zum Laden liegen soll und dann vor sich hin vibriert. Desweiteren lasse ich mir gerne ausgeben, wie lange genau das Telefon geladen hat, bzw. wie viel in dieser Zeit geladen wurde.
Diese Werte ermittle ich durch einfache Rechenschritte mit Hilfe von zu Beginn und am Ende gesetzter Variablen.
Zu Beginn des Ladevorgangs, d.h. beim Verbinden mit einer Stromquelle setzte ich die Variable %Charge_start auf die Systemvariable %TIMES (Gibt die aktuelle Systemzeit in Sekunden aus). Ebenso setzte ich die Variable %Battery_start auf die Systemvariable %BATT (Gibt die aktuelle Akkuladung aus).
Task: ~Charging_on (4) A1: Vibrate On Ringer [ Set:Off ] A2: Variable Set [ Name:%Charge_start To:%TIMES Do Maths:Off Append:Off ] A3: Variable Set [ Name:%Battery_start To:%BATT Do Maths:Off Append:Off ]
Am Ende des Ladevorgangs, d.h. wenn der Stecker entfernt wird übergebe ich beide Variablen und errechne mir zwei neue Variablen, %Charge_stop und %Battery_stop. Dazu einfach zusätzlich beim Erstellen der beiden neuen Variablen einen Haken bei ‚Do Maths‘ setzten. %Charge_stop ergibt sich aus ( %TIMES – %Charge_start ) / 60 – Immer schön auf die Leerzeichen achten, sonst klappt es nicht. Ich subtrahiere quasi die neue Systemzeit von der Alten, beim Starten des Ladevorgangs zwischengespeicherten. Da die Systemzeit in Sekunden angegeben wird, müssen wir hier noch durch 60 teilen um die Ladezeit in Minuten zu erhalten. Genau so funktioniert es auch bei der Variable %Battery_stop. Diese erhalten wir durch einfache Subtraktion vom aktuellen Battery Status, %BATT und dem ebenfalls zwischengespeicherten Wert aus %Battery_start.
So, jetzt können wir die so errechneten Werte auch schon ausgeben. Da uns bei der Zeitangabe nur der vordere Teil und nicht die Nachkommastellen interessiert, splitten wir die variable ganz einfach mit ‚Variable Split‘. In meinem Fall werden die Infos aus Benachrichtigung, als notification ausgespuckt, dafür einfach einen passenden Text formulieren, wie z.B. „Akku zu %BATT% geladen (%Battery_stop% in %Charge_stop1 Minuten) .
Zu guter letzt sollten wir alle verwendeten Variablen am Ende einmal leeren, da es sonst bei nachfolgenden Ladevorgängen zu Rechenfehlern kommen kann.
A1: Vibrate On Ringer [ Set:On ] A2: Variable Set [ Name:%Charge_stop To:( %TIMES - %Charge_start ) / 60 Do Maths:On Append:Off ] A3: Variable Set [ Name:%Battery_stop To:%BATT - %Battery_start Do Maths:On Append:Off ] A4: Variable Split [ Name:%Charge_stop Splitter:. Delete Base:Off ] A5: Notify [ Title:Akku Text:Akku zu %BATT% geladen (%Battery_stop% in %Charge_stop1 Minuten) Icon:hd_device_access_battery Number:0 Permanent:Off Priority:3 ] A12: Variable Clear [ Name:%Charge_start Pattern Matching:Off ] A13: Variable Clear [ Name:%Charge_stop Pattern Matching:Off ] A14: Variable Clear [ Name:%Battery_start Pattern Matching:Off ] A15: Variable Clear [ Name:%Battery_stop Pattern Matching:Off ]
Eigentlich wären wir damit schon am Ende, aber wie oben schon erwähnt, … ist eure Kreativität gefragt! Eine Kleinigkeit die ich öfters einbaue möchte ich euch natürlich nicht vorenthalten! Bei uns zuhause gibt es mehr Ladegeräte als Geräte zum laden. Diese stecken meist in irgendwelchen Mehrfachsteckerleisten, … doch nur weil die da drin stecken, heißt es noch lange nicht, dass diese auch Strom haben. Schon oft genug ist es mir passiert, dass ich mein Smartphone über Nacht zum Laden eingesteckt habe und am nächsten Morgen feststellen musste, dass die Steckerleiste nicht eingesteckt war, … das ist natürlich unschön.
Ich arbeite seit dem gerne mit kurzen akustischen Rückmeldungen meiner Geräte. Auch hierbei soll sich jeder austoben, wie es ihm beliebt. Ich z.B. lasse mir nur kurz einmal den aktuellen Akku Status vorlesen und verkünden, dass mit dem Laden begonnen wird. Um sicher zu stellen, dass ich diese Rückmeldung auch dann bekomme, wenn das Handy auf Lautlos ist, speicher ich die aktuelle Lautstärke (%VOLM) in der Variable %Media_volume zwischen, setzte die Medienlautstärke auf angenehme ‚6‘ und nach dem Vorlesen wieder auf den vorher gespeicherten Wert.
Im Enter Task sieht das ganze dann so aus:
A4: If [ %Phoenix ~ 1 ] A5: Variable Set [ Name:%Media_volume To:%VOLM Do Maths:Off Append:Off ] A6: Media Volume [ Level:6 Display:Off Sound:Off ] A7: Say [ Text:Akku Ladung bei: %BATT %. . Beginne mit dem Laden! Engine:Voice:com.samsung.SMT:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] A8: Media Volume [ Level:%Media_volume Display:Off Sound:Off ]
Die Variable %Phoenix kommt hier bei mir nur zum Einsatz, da auch ich nicht immer ein akustisches Feedback von meinem Handy haben will, … so bin ich relativ flexibel und aktiviere/deaktiviere die Sprachausgabe nach Belieben.
Der Exit Task sieht dementsprechend so aus:
A7: If [ %Phoenix ~ 1 ] A8: Variable Set [ Name:%Media_volume To:%VOLM Do Maths:Off Append:Off ] A9: Say [ Text:%Charge_stop1 Minuten geladen ... Akku ist nun bei: %BATT%! Engine:Voice:com.samsung.SMT:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] A10: Media Volume [ Level:%Media_volume Display:Off Sound:Off ] A11: End If
So das wäre es dann auch schon. Ich hoffe ich konnte euch weiterhelfen, bzw. ein paar Ideen mit auf den Weg geben. Jetzt seid ihr gefragt!
Wo ist die Variable von @Phoenix gesetzt? finde ich nicht.
A10: Media Volume [ Level:%Media_volume Display:Off Sound:Off ] <– wie hast du das gemacht ? Bei lvl kann man doch nichts reinschreiben
mfg Sven
P.S. Deine Scripte sind Toll. Danke fürs Teilen.
Hey, danke fürs Kompliment. Mir fehlt derzeit leider ein wenig die Zeit neue Dinge mit Tasker zu probieren, aber kommt noch.
Die Variable @Phoenix setze ich an ganz anderer Stelle, die taucht relativ häufig in meinen Scripten auf. Ist ja quasi nur nen An/Aus-Schalter. Kannst die Variable überall wo es dir gefällt auf 1 oder 0 setzten,bzw. on oder off, an oder aus, wie es dir beliebt. 🙂
Was die Lautstärke angeht, da weiß ich gerade spontan auch keine Antwort drauf. Ich hab, wie gesagt, längere Zeit schon nichts neues mehr mit Tasker gemacht, da scheint es wohl ein Update gegeben zu haben, weswegen ich bei neuen Tasks jetzt auch keine Variable mehr angeben kann, sondern nur per Regler 0-X auswählen kann. Irgendwie merkwürdig, aber ich werde mir das irgendwann mal genauer anschauen 🙂