Dienstag, 17. Mai 2011

[Profil] Powersafe mit AutoSync aller 15 Minuten wenn LCD aus

Ich habe ja hier schon mal mein PowerSafe Widget vorgestellt. Dabei wird die unter anderem die Datenverbindung deaktiviert, wenn der Powersafe Modus aktiviert wird.

Das Folgende Profil stellt nun eine Erweiterung des Powersafe Modus dar. So soll die Datenverbindung nun wieder aktiviert werden, wenn das Display entsperrt ist. Sobald das Display ausgeschalten wird, soll auch die Datenverbindung wieder deaktiviert werden. Des Weiteren soll bei ausgeschaltetem Display aller 15 Minuten die AutoSync Funktion aktiviert werden, so dass man trotz Powersafe regelmäßig über Emails informiert wird.

Als erstes sollte man sich ein Widget anlegen mit dem man einfach den Powersafe Modus aktivieren kann. Wie man das macht beschreibe ich hier:

[Profil] Powersafe Widget

Dort wurde schon die Variable %PSAFE gesetzt. Diese dient uns nun um den automatischen Datensync und die deaktivierte Datenverbindung bei ausgeschaltetem Display zu steuern. Damit nun auch nur bei ausgeschaltetem Display der PowerSafe Sync aktiviert wird, müssen wir noch die Variable %LCD einführen und setzen. Dies geschieht in den folgenden Profilen. Gleichzeitig nutze ich diese gleich noch um die Datenverbindung zu de-/aktivieren, sollte der Powersafe Modus aktiviert sein.
  • Profil 1: Display off
    • Trigger
      1. Event -> Display -> Display Off
    • Tasks
      1. Variable -> Variable Set
        • Name: %LCD
        • To: 0 
      2. Tasker -> IF %PSAFE ~ 1
      3. Net -> Auto Sync
        • Set: Off
      4. Net -> Mobile Data
        • Set: Off 
  • Profil 2: Display On
    • Trigger
      1. Event -> Display -> Display unlocked
    • Tasks
      1. Variable -> Variable Set
        • Name: %LCD
        • To: 1
      2. Tasker -> IF %PSAFE ~ 1
      3.  Net -> Mobile Data
        • Set: On
      4. Net -> Auto Sync
        • Set: On
Nun brauchen wir nur noch das Profil für den Auto Sync aller 15 Minuten. Als Trigger nehmen wir dafür den "Time" Kontext. Dort wird Start und End Zeit deaktiviert, dafür "Repeat" aktiviert und 15 Minuten eingestellt. Da der Task nur ausgeführt werden soll wenn das Display aus ist und Powersafe aktiviert wurde, müssen die entsprechenden Variablen noch als Trigger eingebunden werden.
  • Profil 3: PSafe Auto Sync
    • Trigger
      1. Time
        • Repeat: 15 Min
      2. State -> Variable Value
        • %LCD ~ 0
      3. State -> Variable Value
        • %PSAFE ~ 1
    • Tasks
      1. Net -> Mobile Data
        • Set: On
      2. Net -> Auto Sync
        • Set On
      3. Tasker -> Wait
        • Minutes: 1
      4. Net -> Auto Sync
        • Set: Off
      5. Net -> Mobile Data
        • Set: Off
Nun habe wir einen vollständigen Akkuspar-Modus, bei dem wir trotzdem noch regelmäßig über eingehende Emails informiert werden.

Kommentare:

  1. Wie bekommt mann mehrere Trigger undter bzw. kann diese einstellen, ich kann nur eines einstellen und dann kommt ja schon die Abfrage nach den Tasks?

    AntwortenLöschen
  2. Die weiteren Trigger musst du im Nachhinein erstellen. Wenn das Profil erstellt ist klickst du auf den Trigger in einem Popup Fenster kannst du dann verschiedene Funktionen wählen, wie zum Beispiel den Trigger zu Bearbeiten (Edit) aber auch einen neuen Trigger hinzuzufügen (Add).

    AntwortenLöschen
  3. Wenn ich das Widget und %Psafe einfach weglassen will, sondern nur abhängig vom LCD triggern möchte, vereinfacht sich dann der Trigger zu "Time" und "LCD off", oder brauche ich noch ein weiteres Profil, welches bei "LCD on" Sync und MobileData aktiviert?

    AntwortenLöschen
  4. Ein Profil um bei "LCD on" die Datenverbindung durchweg zu aktivieren brauchst du trotzdem.

    Dafür würde ich das Ereignis "Display unlocked" empfehlen, da dabei die Datenverbindung nicht aktiviert wird wenn du nur das LCD anschaltest aber nicht entsperrst, zBsp wenn du nur auf die Ihr schaust oder das Display ausversehen von alleine angegeangen ist.

    Ist dein Ziel einfach die Datenverbindung zu deaktivieren wenn das Display aus ist? Dann brauchst du nur diese 2 Profile:

    Profil1: Display aus
    Trigger: Display Off
    Task: Mobile Data: Off

    Profil2: Display an
    Trigger: Display unlocked
    Task: Mobile Data: On

    AntwortenLöschen
  5. Mir ist soeben aufgefallen das der Teil mit dem "Nachrichten Klick" Task verschwunden war. Ich habe ihn mal schnell neu geschrieben und wieder hinzugefügt. Ich hoffe das dies nicht auch bei anderen Profilen passiert ist.

    AntwortenLöschen
  6. Also so wirklich Sinn macht das Script meiner Meinung nach nicht.

    Das Script an sich aktiviert/deaktiviert ja nicht den Powersafe. Folglich macht es doch gar keinen Sinn die LCD Variable zu setzen und zu lesen.

    In Profil 2 (Display on) aktivierst du auch nur Mobile Daten und AutoSync, wenn PSAFE 0 ist. Wie aber soll das 0 werden?

    Hier das Szenario wo ich ein Problem sehe:
    Man aktiviert mit dem vorherigen Script (das du verlinkt hast) Powersafe. PSAFE ist nun 1. Nun mache ich meinen Screen aus LCD wird 0, PSAFE ist noch 1, AutoSync läuft alle 15 Minuten.
    Unlocke ich nun das Handy, bleibt wird LCD 1, PSAFE aber bleibt auf 1. Folglich bleiben Mobile Daten und AutoSync off, auch wenn der Screen on ist.
    Da auch LCD nun 1 ist und nicht mehr 0, wird auch der AutoSync nicht mehr alle 15 Minuten ausgelöst, so lang bis der LCD wieder aus ist.

    Ich glaube in Profil 2, Task 2 sollte es folgendermaßen sein:
    2. Tasker -> IF %PSAFE ~ 1

    So würde AutoSync auch bei aktiviertem LCD noch weiter funktionieren, obgleich man im Powersafe ist.

    AntwortenLöschen
  7. @André:
    JOp du hast vollkommen recht, habs grad mal mit meinem Profil verglichen, es muss natürlic IF PSAFE ~ 1 lauten, habs geändert.
    Danke

    AntwortenLöschen
  8. ich finde die Lösung zum Strom sparen gut. Jedoch habe ich noch zusätzliche Trigger, die den Ort (per NETZ) prüfen, wo ich mich befinde. Zum Beispiel Arbeit, zu Hause etc. Dies funktioniert dann jetzt aber nicht mehr. Gibts dafür ne Lösung?

    AntwortenLöschen
  9. Wenn die Datenverbindung deaktiviert ist funktioniert der "Net" Kontext nicht da er eine Datenverbindung benötigt. Als Alternative kannst du State -> Cell Near nutzen. Einfach mal alles Zellen am jeweiligen Ort scannen. Ich nutze nur diesen Kontext da er am wenigsten Energie benötigt.

    AntwortenLöschen
  10. Nur dass bei mir trotz "auto sync off" noch immer Emails ankommen.

    AntwortenLöschen
    Antworten
    1. Nutzt du die gmail App?
      Google pushed neue Emails direkt an die App, d.h. sie muss nicht danach fragen. Ich könnte mir vorstellen dass es daran liegt

      Löschen
    2. Ja. Ich nutze die stock "Email"-App.
      Kann ich das irgendwie umgehen? Mit einer anderen Email-App?
      Meine Emails laufen unter Exchange 2010

      Löschen
  11. joa das push kannste glaube in den einstellungen der gmail app irgendwo deaktivieren, weiß aber grad ni genau wo, geht aber

    AntwortenLöschen
    Antworten
    1. Danke
      Also muss ich in der Gmail-App von Push auf z.B. Abrufintervall 5 Minuten stellen? Dann werden (wenn AutoSync Off) keine Emails synchronisiert?

      Löschen
    2. genau. Meine Antwort hat leider etwas gedauert. Hatts funktioniert?

      Löschen
  12. Leider ohne Erfolg.
    Abrufintervall: 5 Minuten
    AutoSync für Email aus, Mails kommen jedoch weiterhin.

    AntwortenLöschen
    Antworten
    1. hm, dann weiß ich leider auch nicht weiter.
      Ist es denn unbedingt notwendig, dass die GMail Synchronisierung bei aktiver Internetverbindung deaktiviert wird? Durch die Push-Funktion wird ja schon kein zusätzlicher Traffic (& Akkuverbrauch) verursacht, da nur bei einer eingehenden Mail die Nachricht vom Server empfangen wird.

      Löschen
    2. Der Hintergedanke: ich möchte keine Emails mobil Empfangen wenn Outlook geöffnet ist (sprich z.B. bestimmter Standort).
      Denn Anroid entfernt ja leider nicht die Email-Notification wenn die Email über Outlook schon gelesen wurde.
      Dann blinkt weiter mein Mobile bis ich die Notification entfernt habe.

      Aber danke für deine Bemühungen. Spitze!

      Löschen
  13. ICh habe folgendes Problem, und zwar erkent Tasker scheinbar nicht, wenn das Display entsperrt ist. Wenn ich ein anderes Profil erstelle mit "Display unlocked" wird es nicht erkannt.

    AntwortenLöschen
    Antworten
    1. Entsperrst du das Display ganz normal über den Touchscreen?
      "Display unlocked" ist außerdem ein Ereignis, d.h. er reagiert auf das entsperren an sich, wenn du das Profil erst aktivierst, wenn das Display schon entsperrt ist, funktioniert es nicht.
      Nutzt du noch weitere Kontexte in dem Profil?

      Löschen
  14. Hallo Daniel,

    erst mal ein großes Lob.
    Reicht denn eine Minute für die Synchronisation ?
    Wie kann ich überprüfen, dass die Synchronisation erfolgreich erfolgt und dass die Profile wie gewünscht funktionieren ?

    Gruß
    Martin

    AntwortenLöschen
    Antworten
    1. eine Minute sollte bei hsdpa reichen, kannst es ja auch auf 2 Minuten oder mehr erhöhen. Überprüfen lässt sich eine erfolgreiche Syncronisation leider nicht.

      Löschen
  15. Hallo Daniel,
    sehr informative und hilfreiche Seite zu einem sehr umfangreichen Programm!

    Dazu hätte ich gleich mal eine Frage:
    Ich habe mir das Profil 3 angepasst (von 08-16 Uhr, alle 1 h, Net an, AutoSync an, 2 min warten, AutoSync aus, Net aus), da mir der Sync-Intervall momentan reicht.
    Wenn ich nun einen Exit-Task hinzufüge, würde der dann ebenfalls alle 1h ausgeführt, oder erst nach 16 Uhr?
    Hintergrund ist: Nach 16 Uhr soll die AutoSync so laufen, wie es das System vorgibt, unberührt von Tasker.
    Wäre das mit einem Exit-Task zu bewerkstelligen?

    Viele Grüße,
    Andreas

    AntwortenLöschen
    Antworten
    1. Hallo,
      ich schätze er würde erst nach 16 Uhr ablaufen, da vorher der Task ja noch aktiv ist, da e zwischen 8 und 16 Uhr ist.

      Löschen
    2. Hallo Daniel,

      das bedeutet, der Exit-Task läuft immer erst dann, wenn das Profil gar keine Bedingungen mehr erfüllt?
      Und nicht, wenn der Enter-Task abgeschlossen ist?

      Gruß,
      Andreas

      Löschen
  16. Hallo,

    wirklich toll diese Seite! Ich habe aber ein paar Fragen/ Probleme:

    1) wenn der Sync mit dem Tasker gemacht wird, soll dann die Autom. sync Einstellung (Konten) deaktiviert werden?
    2) Bei mir gibt es den State Display Unlock nicht mehr (ich glabe aber, dass er schon mal da war)
    3) ich hab es jetzt mit State Display on und off: es wird aber nicht angezeigt, dass das Profil aktiv ist.

    LG und danke für die Hilfe!
    Alex

    AntwortenLöschen
  17. Hallo, danke für den tollen Beitrag!! Schade, dass keine weiteren folgen - ich weiß ist auch ein enormer Aufwand. Bei mir dürfe das syncen nicht wirklich funktionieren. Hab einige E-Mails erhalten, jedoch erst, als ich das Display entsperrt habe. Ich verwende GMail. Hoffe du kannst mir helfen. Danke!! LG Thomas

    AntwortenLöschen
  18. Tolle Seite, ich lerne hier eine Menge. Und eine Frage habe ich auch schon.
    Wieso wird %LCD benutzt? Das scheint ja nur dazu zu dienen, bei "Profil 3: PSafe Auto Sync" festzustellen, ob das Display aus ist. Das kann man aber doch einfacher mit "State: Display off" lösen, oder liege ich da falsch?

    Ich habe da:
    Trigger
    Time Repeat: 15 Min
    State -> Display off

    Viele Grüße
    Thomas

    AntwortenLöschen
    Antworten
    1. hi,
      der Vortleil bei meiner Variante ist, dass der das Internet usw erst wieder aktiviert wenn das Display enntsperrt wird. D.h. wenn man nur mal kurz die Uhrzeit checkt bleibt alles noch im Stromsparmodus

      Löschen
    2. Hi,
      ich hab mir so ein ähnliches Profil erstellt. Hab das noch zeitlich begrenzt. Allerdings ohne Auto Sync. Sondern nur Mobile Daten an, warte 60s, Mobile Daten aus. Und da wird ja auch synchronisiert. Was ist denn der Unterschied zu Auto Sync? Steh da gerade etwas auf dem Schlauch.

      Löschen