1. Möchtest Du unser Team im Android OS-Bereich unterstützen? Details dazu findest du hier!
  2. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Globale Variablen in Szenen

Dieses Thema im Forum "Tasker" wurde erstellt von CaveCanem, 21.02.2012.

  1. CaveCanem, 21.02.2012 #1
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    Hi,

    nach längerer Pause habe ich mich nun auch mal wieder mit Tasker beschäftigt und gleich mal die Szenen ausprobiert :)

    Ich habe mir ein Popup gebastelt welches bei eingehenden Emails und SMS die jeweiligen Nachrichten anzeigt.

    Damit beim drücken auf die Nachricht die passende App startet habe ich die Variable %Typ angelegt, welche in den jeweiligen Tasks gesetzt wird. Im Tap Reiter des Textfeldes wird dann je nachdem welchen Wert %Typ hat eine andere App gestartet. Während des editierens Zeigt Tasker mir auch richtig an ob die Bedingung erfüllt ist oder nicht (an dem roten/grünen Streifen erkennbar). Beim Ausführen funktioniert das dann aber nicht mehr, die an If %Typ ~ 1 (zBsp) gekoppelten Apps werden einfach nicht gestartet, egal welchen Wert %Typ annimmt.

    Hat jemand hier schonmal damit gearbeitet oder das gleiche Problem? Evtl hab ich ja was vergessen...

    Danke, grüße
     
  2. Malachit, 21.02.2012 #2
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Hallo, ich arbeite dort gar nicht mit Variablen (zumindest nicht bewusst) Ich habe mir mit Tasker 3 Popup Fenster gebastelt, in der mir die Mail, SMS, o.ä. angezeigt wird. Beim drücken der jeweiligen Felder startet dann die App. Meinst Du vielleicht sowas? Kann mir evtl. jemand erklären, wie man mit Variablen im bei Ereignissen arbeitet?
     
  3. CaveCanem, 21.02.2012 #3
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    joa verschiedene Szenen für Email, SMS wären dann mein Ausweg.
    Mit nur einer Szene fand ich es nur etwas schöner was die Umsetzung angeht :)

    Was meinst du mit Ereignissen?
     
  4. Malachit, 21.02.2012 #4
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Mit Ereignissen meine ich zum Beispiel Wochentage (Mo-Fr bzw. Sa+So). Es soll eine zeitlich unterschiedliche Aktivierung (WLAN, mobiles Internet, Lautlos, usw.) stattfinden. Dies habe ich momentan über unterschiedliche Profile gelöst (eines für's WE und eins für den Rest der Woche).

    Alternativ kannst Du ja die jeweiligen Szenen kopieren und dann deine jeweiligen Anpassungen vornehmen. (Variablen wie SMS Text, Betreff, Anrufer, usw. hinterlegen) Dann hast Du ein optisch gleichbleibendes Erscheinungsbild. Ich hatte damals auch überlegt mir Zoom vom gleichen Programmierer zuzulegen, glücklicherweise brachte er grad zu diesem Zeitpunkt die Tasker-Version mit den Szenen raus. :thumbsup:
     
  5. CaveCanem, 21.02.2012 #5
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    Achso, joa ich mach das auch über unterschiedliche Profile, wüsste gar nicht wie man es sonst anders (und einfacher) hin bekommt.

    Jop klar eine Szene für jeden Nachrichtentyp die alle gleich aussehen, so werde ich es wohl auch machen, in Benutzung fällt ja nicht auf das es verschiedene sind. Ich fänd es nur Programmiertechnisch schöner einer Szene die entsprechenden Variablen zu übergeben...

    Denn genauso hatte ich das in Zoom gelöst :D Das Popup soll nun mein Zoom WIdget ablösen und somit platz auf dem Homescreen schaffen.
     
  6. Malachit, 22.02.2012 #6
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Hast Du zufällig eine Idee, wie man bei Eingangsereignissen mit Variablen arbeitet?
     
  7. CaveCanem, 22.02.2012 #7
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    Ich steh grad aufm Schlauch...
    Meinst du Variablenwerte als Kontext für Profile nutzen?
    Das ginge mit State->Variable->Variable Value

    Innerhalb eine Taskes kannst du ja nicht auf Ereignisse reagieren, nur Systemvariablen abfragen...
     
  8. Malachit, 22.02.2012 #8
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Hab ich mich wieder kryptisch ausgedrückt :unsure:

    Meine Idee ist folgende (korrigiere mich, wenn's nicht funktioniert)
    Ich möchte zu bestimmten Wochentagen/Zeiten bestimmte Profile laufen lassen z.B.
    Wecken von Montag bist Freitag um sechs, am Wochenende dagegen um 8.
    Also muss ich ja irgendwo eine Variable haben die prüft, welcher Tag ist heute ist (wenn.., dann..., sonst...)
    So etwas in der Richtung, oder lauf ich da in die komplett falsche Richtung ?
     
  9. CaveCanem, 22.02.2012 #9
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    achso verstehe.

    Das einfachste wäre für unterschiedliche Tage unterschiedliche Profile zu erstellen die aber den gleichen Task starten. Beim Wecker sollte der Task ja identisch sein und nur die Anfangszeit sich ändern. Das kannst du ja über mehrere Kontexte realisieren, also Day: Mo-Fr & Time: 7 Uhr zBsp. Wenn du nun was an deinem Wecker Task ändern willst brauchst du nur den einen Task ändern und alle Profile nutzen dann automatisch den veränderten Task.

    Variante 2 ist ein Profil mit dem Kontext Day Mo-Fr zu machen welches nur eine globale Variable ( zBsp &Weekday) auf 1 setzt. und in allen Profilen die nur unter der Woche ausgeführt werden sollen deine Variable mit dem Kontext Variable Value: %WeekDay ~ 1 zu überprüfen. Diese Möglichkeit bietet den Vorteil dass du recht einfach einen weiteren Kontext für deine Variable %Weekday hinzufügen kannst. Alle deine mit der Variablen verknüpften Profile werden dann nur aktiv wenn auch dieser Kontext zutrifft.
    Dies lohnt sich also wenn mehrere Profile unter anderem auch auf diesen Kontext (hier Day) schauen
     
  10. Malachit, 22.02.2012 #10
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Und genau damit tue ich mich noch ein wenig schwer... :blushing:
    Ich benutze momentan eher "statische" Tasks, d.h. Mo-Fr um die Uhrzeit passiert folgendes...

    Was ich noch nicht verstanden habe ist, wie kann man die Variablen einsetzen, bzw. wie greift Tasker auf die dort hinterlegten Informationen zurück?
    Wie definiere ich z.B. eine Variable %DAYW, bzw. die Informationen der jeweiligen Wochentage?

    Wenn Du mir dort weiterhelfen könntest, wäre das super :thumbup:
     
  11. CaveCanem, 22.02.2012 #11
    CaveCanem

    CaveCanem Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    Variablen definierst du mit der Aktion Variable->Variable Set dort kannst du einer Variablen einen Wert zuweisen (dieser kann statisch sein oder wieder eine Variable, bzw eine Berechnung).

    Innerhalb eines Tages greifst du am besten über eine IF Bedingung auf Variablenionhalte zu, da du ja eh meistens bei einem bestimmten Zustand etwas machen willst.

    Willst du nun einen Task starten wenn deine Variable einen bestimmten Zustand hat nutzt du wie schon erwähnt Variable Status als Kontext.

    Kleines Beispiel:
    Profil1:
    Kontext1: Day: Mo - Fr
    Kontext2: Location->zuHause
    Task:
    1. Variable Set: %Home To 1
    Exit Task:
    1. Variable Set: %Home To 0

    Profil2:
    Kontext1: Variable Value: %Home ~ 1
    Kontext2: Time: 7 Uhr
    Task "Wecker"

    Profil3:
    Kontext1: Variable Value: %Home ~ 0
    Kontext2: Time: 10 Uhr
    Task "Wecker"

    Profil1 checkt ob du zu Hause bist und es Mo-Fr ist.
    Profil2 lässt den Wecker unter der Woche also 7 Uhr klingeln, insofern du zu Hause bist.
    Profil3 lässt den Wecker jeden Tag 10 Uhr klingeln wenn du entweder nicht zu Hause bist oder es Wochenende ist.
    Alles klar?

    Wenn nicht schau mal hier: Variablen
     
    Malachit bedankt sich.
  12. Malachit, 26.02.2012 #12
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    Ich danke Dir erst mal und werde mich mal ein wenig rein lesen :smile:
     
  13. Malachit, 27.02.2012 #13
    Malachit

    Malachit Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    1
    Registriert seit:
    14.08.2011
    Phone:
    HTC Sensation
    So langsam platzt der Knoten :winki:

    Ein paar Fragen habe ich noch:

    Variable Set: %Home To 1 Hast Du hierfür eine eigene Variable definiert? (%Home 1)?
    Ich denke ja, oder?

    Wie kann ich es einrichten, das ich eine Verbindung in Netzwerke (von Freunden) bekomme, für die ich bereits Zugangsdaten habe?
    Bin ich dort ebenfalls in der Lage eine Verbindung über Variablen herzustellen?
    Bis jetzt habe ich es eigentlich immer so gehandhabt, dass ich mir ein Profil erstellt habe und in dem Profil das Netzwerk explizit eingetragen habe.
    Das würde sich ja mit Variablen erübrigen...
     

Diese Seite empfehlen