Donnerstag, 5. Mai 2011

[Profil] automatische Taschenlampe mit "Light Level"

Als ich gestern meine Taschenlampen App gesucht habe, da ich sie aufgrund fehlenden Platzes nicht mehr auf meinem Homescreen habe, ist mir die Idee zu einer automatischen Taschenlampe gekommen. Mein Handy sollte bei dunkelheit automatisch nachfragen, ob die Taschenlampe angeschalten werden soll. Außerdem soll es möglich sein auch mit angeschalteter LED noch andere Aufgaben wie im Browser surfen etc. durchzuführen.
Um den Helligkeitswert zu bekommen, gibt es zum einen die Variable %LIGHT und den Status "Light Level", diesen nutze ich als Trigger für mein Profil. Damit die Abfrage nicht auch kommt wenn das Display ausversehen in der Hosentasche angeht, habe ich noch das Event "Display Unlocked" als Trigger hinzugefügt.

Die Abfrage sollte so dezent wie möglich erscheinen, jedoch einen schnellen Zugriff auf die Taschenlampenfunktion ermöglichen. Mein erster Gedanke war dies über ein Popup zu realisieren, jedoch muss man dabei auch wenn man die Taschenlampe nicht nutzen will, erst einmal den Popup wegklicken. Das war mir nicht dezent genug :) Deswegen mache ich die Abfrage über einen Eintrag in die Benachrichtigungsleiste. Will man die LED einschalten brauch man nur die Leiste runterziehen und auf die Benachrichtigung klicken. Will man sie aus lassen kann man die Benachrichtigung getrost ignoerieren, da sie automatisch wieder gelöscht werden soll wenn das Display ausgeschalten wird. Wird die LED eingeschalten, soll eine neue Benachrichtigung generiert werden mit welcher sie wieder ausgeschalten werden kann, somit ist es möglich mit eingeschalteter LED noch andere Aktionen auszuführen.

Hierfür brauchen wir 3 Profile. Das erste erstellt die Benachrichtigung, das zweite reagiert auf ein klicken der Benachrichtigung, das dritte löscht die Benachrichtigung wenn das Display ausgeschalten wird:
  • Profil 1: "LED Note wenn dunkel"
    • Trigger:
      1. State -> Light Level
        • From: 0
        • To: 25
      2. Event -> Display unlocked
    • Tasks:
      1. Alert -> Notify
        • Title: Taschenlampe
        • Text: Hier klicken zum anschalten
  • Profil 2: "LED Toggle"
    • Trigger:
      1. Notification Click
        • Owner Application: Tasker
        • Title: Taschenlampe
    • Tasks:
      1. Alert -> Torch
        • Set: Toggle
      2. Tasker -> If %LED !~ 1
      3. Alert -> Notify
        • Title: Taschenlampe
        • Text: Hier klicken zum ausschalten
      4. Variable -> Variable Set
        • Name: %LED
        • To: 1
      5. Tasker -> Stop
      6. Tasker -> EndIf
      7. Variable -> Variable Set
        •  Name: %LED
        • To:  0
  • Profil 3: "Note löschen"
    • Trigger:
      1. Event -> Display Off
    • Tasks:
      1. Alert -> Notify Cancel
        • Title: Taschenlampe 
Um mit nur einem Profil zum ein und ausschalten der LED auszukommen, habe ich "Torch -> Toggle" genutzt. Damit die Benachrichtigung aber nicht auch kommt wenn man die LED ausschaltet, habe ich noch eine zusätzliche Variable eingeführt die den aktuellen Status der LED speichert. Wer mit der If - EndIf Schleife nichts anfangen kann, sollte sich mein Tutorial zur If Abfrage kurz ansehen. Die Aktion Stop beendet den Task um zu verhindern das die Aktion Nr. 7 noch ausgeführt wird Nachdem die If Schleife durchlaufen wurde.

Mit den Werten für "Light Level" muss man ein bisschen rumspielen, diese dürften sich auch von Handy zu Handy unterscheiden.

    6 Kommentare:

    1. Funktioniert auf dem Galaxy S2 leider nicht. Trotz Helligkeitseinstellung von 0-100 erscheint keine Benachrichtigung/wird das Profil "LED Note wenn dunkel" nicht aktiv.

      AntwortenLöschen
    2. hast du schon mal probiert ob LightLevel generell funktioniert? Also einfach die Variable %LIGHT mal in einem Popup ausgeben, vielleicht auch mal verschiedene Lichtverhältnisse schaffen, also einmal Finger drauf und einmal direkt in die Lampe halten.

      AntwortenLöschen
    3. Wenn's bisher immer noch nicht geht: Helligkeitssensor abdecken (0%) und anschließend unabgedeckt in eine Lichtquelle halten (100%). Dann Display aus- und wieder einschalten. Hat bei mir funktioniert ;-)

      AntwortenLöschen
    4. nettes Profil,
      kann man auch einstellen, wie hell die LED leuchten soll?
      Ich würde mir gerne einen Wecker basteln, bei dem die Helligkeit der LED zunimmt.

      AntwortenLöschen
      Antworten
      1. Ist in Tasker zurzeit nicht implementiert. Allerdings bietet die App "TeslaLED" einen Tasker Zugriff. Dieser ist dann als AKtion in "3rd Party" zu finden. Ich könnte mir vorstellen, dass man dort dann auch die Helligkeit einstellen kann.

        Löschen
    5. Hoffe der Beitrag ist noch eine Antwort würdig.

      Ich komme beim zweiten Profil nicht weiter
      Profil 2: "LED Toggle"
      Trigger:
      Notification Click

      Was für ein Trigger soll hier gewählt werden? Event / State?

      Finde die Idee echt klasse und würde mich über Hilfe freuen!

      AntwortenLöschen