Taskstart stoppen, wenn ein anderes Ereignis eintritt...

  • 9 Antworten
  • Letztes Antwortdatum
M

mymomo

Stamm-User
143
Moin!

Ich habe seit kurzem das Mi9. Was mich ein wenig nervt ist, dass das Display nicht ausgeht, wenn man es zB in die Hosentasche steckt.

Ich würde nun also gerne ein Profil haben wollen, welches bei Aktivierung des Annäherungssensors noch einen kurzem Moment abwartet und dann das Display deaktiviert.
Das habe ich auch schon soweit gemacht... Bei Aktivität des Annäherungssensor einfach ein Wait von 5 Sekunden und dann Display aus.
Nun kann es aber ja auch mal vorkommen, dass man versehentlich kurz den Annäherungssensor auslöst, zB beim Umgreifen oder so. Auch in diesem Fall geht mein Gerät dann derzeit nach 5 Sekunden aus.

Ich würde gerne eine Abfrage einbauen wollen, welche überprüft, ob nachdem das Profil ausgelöst wurde innerhalb der nächsten 5 Sekunden (und somit dem Ausschalten des Displays) der Annäherungssensor wieder "frei" ist und es sich somit vermutlich um eine versehentliche Fehlauslösung handelt.

Ich hoffe ich habe das einigermaßen verständlich rübergebracht ;o).

Mit Tasker kenne ich mich leider bislang kaum aus. IF-Anweisungen oder Ähnliches bekomme ich da irgendwie nicht gebacken.
 
im Profil (z.B. mit dem Namen ProximitySensor) triggerst du ja den Näherungssensor.

Im Task dann
Screenshot_2019-04-13-23-24-57-574_net.dinglisch.android.taskerm.png
 
Moin maxe,

das hat bei mir leider noch nicht so hingehauen.
Was ist hier falsch?

Der Sensor reagiert und das Profil wird gestartet. Danach passiert einfach gar nichts mehr, als ob er den Task nicht verarbeiten könne
 

Anhänge

  • Screenshot_2019-04-14-08-19-00-615_net.dinglisch.android.taskerm[1].png
    Screenshot_2019-04-14-08-19-00-615_net.dinglisch.android.taskerm[1].png
    25,5 KB · Aufrufe: 204
  • Screenshot_2019-04-14-08-19-21-292_net.dinglisch.android.taskerm[1].png
    Screenshot_2019-04-14-08-19-21-292_net.dinglisch.android.taskerm[1].png
    19,7 KB · Aufrufe: 192
wen du den Näherungssensor 5sek. zu hältst, sollte der Screen ausgehen.
 
Ich habe meinen vorherigen Text hier nochmal gelöscht...

Folgendes Problem:
Generell geht es... Aber...

Ich halte den Sensor zu, sehe im Tasker dass das Profil aktiviert wird und nach 5 Sek geht das Display aus. Das kann ich beliebig oft wiederholen... Geht...

Wenn ich innerhalb der 5 Sek den Sensor wieder frei gebe, geht das Display auch wie gewollt nicht aus...

ABER - das geht nur einmalig:
Nach dem Abbruch, scheint das Profil zu hängen (glaube ich zumindest). Wenn ich den Sensor nun zuhalte, wird das Profil nicht mehr aktiv.

Kann man sowas wie ein Neustart des Profils einbauen?

Nochmal editiert:
Das Profil bleibt nicht immer hängen. Also doch nicht nur einmalig. Aber irgendwann hängt es halt
 
Zuletzt bearbeitet:
Vielleicht liegt es an den 5 Sekunden, stell mal 10 oder 15 Sekunden ein.
 
ok, versuche ich mal. danke für den Tipp
 
Moin

Code:
    Profile: Proximity
       State: Proximity Sensor
    Enter: Proximity
       Abort Existing Task
       A1: If [ %PACTIVE ~ *,Proximity,* ]
       A2: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
       A3: System Lock
       A4: End If 
    Exit: Proximity
    s.o.
Du legst als Entry- und als Exit-Task den selben Task (Proximity) fest.
In den Einstellungen des Tasks - Collision Handling: Abort Existing Task

Ich würde Dir statt dessen allerdings die App: WaveUp empfehlen.
Die arbeitet (prinzipbedingt) zuverlässiger als Tasker und hat mehr Optionen zur Steuerung.
 
Ich habe mit Tasker auch so was ähnliches gebastelt.
Ich nutzte zum Annäherungssensor zusätzlich noch den Lichtsensor. Bevor ich das Display ausschalte, blende ich eine Szene ein, welche Eingaben verhindert.
Im Projekt sind zwei Profile. Eins wertet den Lichtsensor mit Tasker aus, das andere mit AutoTools, welches bei mir zuverlässiger läuft.

Projekt importieren

Profil: Taschenmodus (95)
Priority: 50 Restore: no Enforce: no
Status: Näherungssensor
Status: Nicht Anruf [ Typ:Beliebig Nummer:* ]
Eingang: Taschenmodus (14)
A1: If [ %LIGHT < 3.1 ]
A2: Variable Addiere [ Name:%count Wert:1 Obergrenze:0 ]
A3: Vibrieren [ Zeit:200 ] If [ %count ~ 1 ]
A4: If [ %count ~ 5 ]
A5: Szene Anzeigen [ Name:Taschenmodus Anzeigen Als:Activity, No Bar, No Status, No Nav Horizontale Position:100 Vertikale Position:100 Animation:Keine Exittaste Anzeigen:An Show Over Keyguard:An sofort mit Task fortfahren:An ]
A6: Warte [ MS:0 Sekunden:3 Minuten:0 Std.:0 Tage:0 ]
A7: Szene Zerstören [ Name:Taschenmodus ]
A8: Warte [ MS:100 Sekunden:0 Minuten:0 Std.:0 Tage:0 ]
A9: Turn Off [ Dim:An Sperre:An ]
A10: Stopp [ (Fehler):Aus Task: ]
A11: End If
A12: Warte [ MS:100 Sekunden:0 Minuten:0 Std.:0 Tage:0 ]
A13: Goto Aktion [ Typ:Aktion Nummer Nummer:1 Bezeichnung: ]
A14: Else
A15: Variable Lösche [ Name:%count Mustervergleich:Aus Local Variables Only:Aus ]
A16: Warte [ MS:100 Sekunden:0 Minuten:0 Std.:0 Tage:0 ]
A17: Goto Aktion [ Typ:Aktion Nummer Nummer:1 Bezeichnung: ]

Ausgang: Anon (98)
A1: Stopp [ (Fehler):Aus Task:Taschenmodus ]
A2: Szene Zerstören [ Name:Taschenmodus ]
 
besten Dank, das schaue ich mir mal genauer an!
 

Ähnliche Themen

O
Antworten
5
Aufrufe
417
rtwl
rtwl
H
Antworten
3
Aufrufe
343
Horgul123
H
C
Antworten
1
Aufrufe
508
MeinNickname
MeinNickname
Zurück
Oben Unten