Nur ausführen, wenn Profil NICHT aktiv?

L

lemon

Ambitioniertes Mitglied
3
Hi!

Ich habe aus der Tasker-Profil-DB ein Profil geladen, das mir ein Widget zur Verfügung stellt. Mit diesem Widget kann ich nun Autosync und Datenverkehr "immer ein" oder "alle 15 Minuten für 2 Minuten ein" schalten. Soweit alles ok.
Nun würde ich gerne ein zweites Profil erstellen (bzw. hab ich schon), das mir beim Aufladen den Datenverkehr aktiviert. Klappt auch, bis halt das andere Profil nach der Viertelstunde durchläuft und danach den Datenverkehr kappt.

Meine Überlegung war, in jenem Task des 15-Minuten-Profils, der die Datenverbindung wieder schließt, eine IF-Anweisung einzubauen, die einfach kontrolliert, ob gerade aufgeladen wird.

Hier der Task, den ich von der Tasker-DB habe:

Die Variable JUICE wird von dem Widget gesetzt, wenn sie 0 ist, dann wird alle 15 Minuten dieser Task ausgeführt

Code:
If %JUICE=0
  Autosync -> setzen An
  Mobile Daten -> An
  Warte -> MS 0 Sekunde 0 Minuten 1 Std. 0
  AutoSync -> Setzen Aus -> Wenn %JUICE=0
  Mobile Daten -> Setzen Aus -> Wenn %JUICE=0
End If
Nun habe ich versucht, das Ganze so umzubauen (das Profil, das den Datenverkehr beim Aufladen aktiviert, heißt "Aufladen"):

Code:
If %JUICE=0
  Autosync -> setzen An
  Mobile Daten -> An
  Warte -> MS 0 Sekunde 0 Minuten 1 Std. 0
  If %PACTIVE !~ Aufladen
    AutoSync -> Setzen Aus -> Wenn %JUICE=0
    Mobile Daten -> Setzen Aus -> Wenn %JUICE=0
  End If
End If
Ich schalte also den Datenverkehr nur dann aus, wenn "Aufladen" nicht aktiv ist.
Das klappt aber nicht, nach der Warteminute wird der Datenverkehr gekappt.

Wo ist hier der Fehler bzw. wie würdet Ihr es machen?

Vielen Dank schon mal!

Der ursprüngliche Beitrag von 09:04 Uhr wurde um 09:51 Uhr ergänzt:

So, hab jetzt haufenweise Beispiele im Netz durchgesehen, und da ist mir aufgefallen, dass die Profilnamen immer mit * stehen. Hab dann den Namen Aufladen mit *Aufladen* ersetzt und jetzt klappt's.

Die Lösung lautet also:
Code:
If %JUICE=0
  Autosync -> setzen An
  Mobile Daten -> An
  Warte  -> MS 0 Sekunde 0 Minuten 1 Std. 0
  If %PACTIVE !~ *Aufladen*
    AutoSync -> Setzen Aus -> Wenn %JUICE=0
    Mobile Daten ->  Setzen Aus -> Wenn %JUICE=0
  End If
End If
Vielleicht kann mir aber jemand noch die Bedeutung der Wenn-Klausel "Wenn %JUICE=0" erläutern, die ist doch eigentlich sinnfrei, oder? Immerhin steht das Ganze sowieso in einer If-Bedingung, die denselben Parameter abfragt.
 
Zuletzt bearbeitet:
Hi Gwadro,

also den Fehler hab ich ja schon gefunden.
Bei deinem Projekt ist es ja anscheinend so, dass der Datenverkehr immer an ist und bei "Display ein" nach einer gewissen Zeit abgeschaltet wird, außerdem wird regelmässig (Check in BG) im Hintergrund ein Autosync durchgeführt.
Bei meiner Lösung hab ich nur 2 Möglichkeiten: Datenverkehr immer an oder immer aus mit regelmässigem Datencheck. Diese Lösung finde ich für meine Zwecke interessanter, da ich recht häufig telefoniere und dann nicht immer der Datenverkehr aktiviert werden soll, das saugt zuviel am Akku.
 

Ähnliche Themen

N
Antworten
14
Aufrufe
531
senior-ipaq
S
P
Antworten
25
Aufrufe
1.063
Pentatulim
P
J
Antworten
6
Aufrufe
641
mbefore305
M
Zurück
Oben Unten