Problem mit Autoprofil bei nachträglichem Autofenster schließen

I

Indurus

Stammgast
180
Habe folgendes Problem:
Ich habe ein Profil "Auto", das aktiviert wird, wenn das Handy mit dem Autoradio verbindet und einen Exittask (GPS-Fix [20 Sekunden Timeout]) ausführt, wenn es wieder getrennt wird. Funktioniert bis auf ein Szenario auch einwandfrei:

Wenn ich eingeparkt habe und draufkomme, dass ich vergessen habe die Fenster zus schließen, muss ich die Zündung noch einmal kurz einschalten, mein getaskertes Handy reagiert darauf wie folgt:
1) Ich parke ein und stell den Motor ab -> BT wird getrennt, Profil deaktiviert und der Exittask wird ausgeführt. Wenn er nicht gleich GPS-fixen kann, kann der Exittask >20 Sekundend dauern.
2) Ich komme drauf, dass die Fenster noch offen sind: Dreh die Zündugn auf -> BT wird wieder verbunden -> Tasker aktiviert daher das Autoprofil, wartet aber mit dem Eingangstask, da er noch am Exittask (des selben Profils) arbeitet, merkt sich aber, dass er diesen Eingangstask dann nachher ausführen muss
3) In der Zwischenzeit sind die Fenster zu und ich dreh den Motor wieder ab -> BT wird wieder getrennt
4) Jetzt ist Tasker soweit und startet den Eingangstask, den er sich noch von vorher aufgehoben hat, obwohl zu diesem Zeitpunkt die BT Verbindung gar nicht mehr besteht -> was zur Folge hat, dass er das Auto Profil dann nicht mehr verlässt, weil er mit dem Exit-Task ja wartet, bis BT wiede getrennt wird, was aber bereits passiert ist, bevor er den aufgeschobenen Eingangstask gestartet hat.

Hat vielleicht irgendjemand den Durchblick behalten und eine Idee das ganze zu umgehen oder vielleicht ganz anders anzugehen?
 
Es gibt in den Profileinstellungen eine Cooldown Time, die verhindert dass ein Profil innerhalb einer bestimmten Zeit erneut aktiviert wird. Allerdings habe ich jetzt nicht auf die schnelle rausbekommen ob der ab Aktivierung oder Deaktivierung anfängt mit zählen, ersteres wird dir nix bringen, letzteres wäre deine Lösung :)

Falls es nicht funktioniert :
Erstelle eine neue Variable zbsp %An die haust du per Variable Value (=0) als Kontext in dein Profil.
Im Exit Task setzt du die als erstes auf 1 und als letzten Schritt auf 0, somit kann das Profil nicht aktiv werden während der exit task läuft.
(wenn i jetzt keinen Denkfehler hab)

Gesendet von meinem Desire HD mit Tapatalk
 
  • Danke
Reaktionen: Indurus
Danke für die Anregungen und Lösungsvorschläge!
Wenn ich das jetzt richtig lese würde das aber in beiden Fällen bedeuten, dass wenn mir zB an einer Ampel der Motor abstirbt, der kurze Disconnect ein nachheriges neustarten des Profils mit Motorneustart (der ja in diesem Fall gewollt wäre) verhindern würde...?
 
Jop wenn der motorneustart innerhalb der abarbeitungzeit vom exit task erfolgt.

Aber Tasker kann ja nicht wissen ob absichtlich oder unabsichtlich kurz ausgeschalten hast.

Dafür bräuchtest du eine Art Delay im Entry Task, d.h. dass er sich erst verbindet wenn dein Auto 30sec läuft zbsp.

Gesendet von meinem Desire HD mit Tapatalk
 
  • Danke
Reaktionen: Indurus
Ja, auch das klingt nach einem überlegenswerten Ansatz.
Es würde mich ja gar nicht stören, dass er den Autmodus ganz kurz noch einmal einschaltet, wenn ich den Motor nur kurz aufdrehe. Das Problem ist ja vielmehr, dass er ihn nachher nicht mehr ausschaltet, weil der Exit-Task eben "übergangen" wird.
 
Mir kam grad ein Geistesblitz :)

Meine ersten Vorschläge verhindern ein erneutes verbinden nach Motorneustart nicht, da ja nach cooldown zeir bzw der exit task Abarbeitung der motor immernoch an ist und somit das Profil aktiviert und der entry Task ausgeführt wird.

Gesendet von meinem Desire HD mit Tapatalk
 
Aber wird ein Profil für den Kontext "BT-Connected" nicht nur im Übergangsmoment der beiden Zustände "nicht mit BT verbunden" zu "mit BT verbunden" aktiv? Sonst müsste es ja andauernd immer wieder aktiv werden, da der Zustand "verbunden" ja ohnehin länger andauert?
 
Denkansatz: https://www.android-hilfe.de/forum/...asker-lieben.16864-page-139.html#post-1570060

Ist fast das, was du suchst, du kommst aber mit einem Task aus:

Task "BT Verbunden"
Kontext "Bluetooth verbunden" (wenn gewünscht noch der Radio-Name, ich habe den weggelassen)
Aktion: Variable Setzen %BTCONNECT zu 1
Exit-Aktion:
1. Variable setzen: %BTCONNECT zu 0
2. Warte 1 Minute (oder länger, weniger lang,...)
3. GPS-Fix (wie beschrieben) wenn %BTCONNECT ~ 0

Nachteil: Der Exit-Task (also GPS-Fix) läuft effektiv erst 1 Minute nach Verlassen des Autos.
 
  • Danke
Reaktionen: Indurus
jna schrieb:
Denkansatz: https://www.android-hilfe.de/forum/...asker-lieben.16864-page-139.html#post-1570060

Ist fast das, was du suchst, du kommst aber mit einem Task aus:

Task "BT Verbunden"
Kontext "Bluetooth verbunden" (wenn gewünscht noch der Radio-Name, ich habe den weggelassen)
Aktion: Variable Setzen %BTCONNECT zu 1
Exit-Aktion:
1. Variable setzen: %BTCONNECT zu 0
2. Warte 1 Minute (oder länger, weniger lang,...)
3. GPS-Fix (wie beschrieben) wenn %BTCONNECT ~ 0

Nachteil: Der Exit-Task (also GPS-Fix) läuft effektiv erst 1 Minute nach Verlassen des Autos.

Wenn ich dann innerhalb der Wartezeit des Exit-Tasks BT wieder verbinde (weil ich die Fenster schließe) will Tasker das Profil "Bluetooth verbunden" wieder anwerfen, kann das aber nicht, weil der Exit-Task eben dieses Profils noch läuft und verschiebt es damit auf den Moment, in dem der Exit-Task vorbei ist. Zu diesem Zeitpunkt ist aber Bluetooth gar nicht mehr verbunden (weil das ja nur kurz der Fall war, weil das Fenster schließen ja nicht so lange dauert)-> das profil wird trotzdem angeworfen, aber nie mehr verlassen, weil er dafür auf den Disconnect wartet, der aber bereits stattgefunden hat! Genau das ist ja mein Problem!
 
Nein. Genau dies habe ich ja so implementiert. Wenn ich innerhalb der Zeit BT wieder verbinde, startet das Profil ein 2. Mal, setzt BTCONNECT auf eins und beim 1. Task wird der Ausgangstask übersprungen (da ja BTCONNECT nicht 0 ist).
 
  • Danke
Reaktionen: Indurus
Indurus schrieb:
Aber wird ein Profil für den Kontext "BT-Connected" nicht nur im Übergangsmoment der beiden Zustände "nicht mit BT verbunden" zu "mit BT verbunden" aktiv? Sonst müsste es ja andauernd immer wieder aktiv werden, da der Zustand "verbunden" ja ohnehin länger andauert?

Naja fast :)
Wenn dein Profil nur diesen einen Kontext hat dann ja.
Wenn du aber wie von mir vorgeschlagen noch einen zweiten Kontext verknüpfst, dann wird das Profil erst aktiv wenn beide Kontexte zutreffen.
Solange dein Bluetooth verbunden ist ist der Kontext aktiv und Tasker wartet mit der Ausführung des Taskes auf die Aktivierung des zweiten Kontextes.

Sind alle Kontext aktiviert wird der Task einmal ausgeführt.
 
  • Danke
Reaktionen: Indurus
Danke euch beiden, CaveCanem und jna, funktioniert beides! Jetzt hab ich die Wahl welche Variante ich nehme!

Eine Frage hätte ich nun aber noch: Ist es möglich GPS mit Tasker nicht punktweise zu fixen, sondern dauerhaft? (Wie das zB Maps macht, wenn der GPS Sender an ist)
Ich habs mit einer Schleife aus lauter einzelnen Punktfixes probiert, aber da bricht er nach der Standortbestimmung dann immer ab und startet sofort wieder eine neue, anstatt dass das Symbol in der Taskleiste gleich an bleibt!
 
Soweit ich weiß kann Tasker keine dauerhafte GPS Anfrage stellen, da er ja dann auch daueehaft in dem Task bleiben müsste was wiederum bedeutet dass keine weiteren tasks ausgeführt werden, da immer nur 1 task gleichzeitig ausgeführt wird, andere evtl. anstehende warten bis die laufenden fertig sind

Gesendet von meinem Desire HD mit Tapatalk
 
CaveCanem schrieb:
Soweit ich weiß kann Tasker keine dauerhafte GPS Anfrage stellen, da er ja dann auch daueehaft in dem Task bleiben müsste was wiederum bedeutet dass keine weiteren tasks ausgeführt werden, da immer nur 1 task gleichzeitig ausgeführt wird, andere evtl. anstehende warten bis die laufenden fertig sind

Gesendet von meinem Desire HD mit Tapatalk

Also bei mir führt Tasker auch mehrere Tasks gleichzeitig aus!
Ich habe den dauerhaften GPS-Fix jetzt mal so umgangen:

Profil: BT Connected (Kontext: "per BT mit Autoradio verbunden")
-> EntryTask: 1) Setze Variable Dummy=1 2) Get Location (GPS) 3) Goto 2, wenn Dummy=1
-> ExitTask: 1) Setze Variable Dummy=0


Solange er also mit dem Autoradio verbunden ist und das Profil dadurch aktiv ist, fixt er in einer Schleife immer wieder GPS. Wenn BT getrennt wird, wird der ExitTask ausgeführt (gleichzeitig mit dem natürlich immer noch in der Schleife laufenden EntryTask, da ja Dummy immer noch 1 ist). Dieser setzt dann Dummy auf 0 und bewirkt somit auch das Ende des EntryTasks.

Solange das profil BT Connected akiv ist, wird also ein Task ausgeführt (die geschleifte GPS-Fixerei). Währenddessen kann ich aber beliebeige andere Tasks durchführen!
 
Ok dachte das mal auf der Seite vom Entwickler gelesen zu haben, hab mich wohl geirrt

Gesendet von meinem Desire HD mit Tapatalk
 

Ähnliche Themen

G
Antworten
5
Aufrufe
783
Hastenichgesehen
H
HeinrichBerger
  • HeinrichBerger
Antworten
4
Aufrufe
612
HeinrichBerger
HeinrichBerger
rtwl
Antworten
23
Aufrufe
708
Cecoupeter
Cecoupeter
Zurück
Oben Unten