Profile entprellen, wie wirds gemacht ?

Trans_Am

Trans_Am

Dauergast
452
Hi Tasker-Freunde,

ich bin mir unsicher wie ich ein Profil mit minimalem Aufwand gut entprellen kann.

Folgendes Profilszenario:

Ich lasse mir über die GSM-Funkzellen eine Variable auf YES setzen. Im Exit-Task wird sie wieder auf NO gesetzt.
Ab und an erwischt das Telefon für kurze Zeit aber eine Zelle die ich nicht konfiguriert habe, ich möchte sie aber auch nicht in die Liste mit aufnehmen. Also wird die Bedingung für wenige Sekunden nicht erfüllt und die Variable toggelt.

Ich möchte dieses Verhalten glätten, sodass z.Bsp. 25sek kein Umschalten erfolgt. Wird die Variable in dieser Zeit wieder auf YES gesetzt soll der Exit-Task (welcher die Variable ja auf NO setzt), garnicht erst weiter abgearbeitet werden.

Bisher habe ich einfach im EXIT-Task ein WAIT vor dem Setzen der Variable auf NO drin. Ich habe aber nach studieren des Logs den Eindruck das trotzdem danach der EXIT-Task weiter abgearbeitet wird, obwohl die Bedingung für de EXIT-Task nicht mehr erfüllt ist.

Gibt es sowas wie " Exit-Taks abrechen wenn Eingangsbedingung wieder erfüllt" oder wie glättet ihr eure Profile?

Gruss maat
 
Hallo,

Du musst zu dem Wait noch Stop Task einfügen wenn die Variable wieder yes ist.

mfg
 
Funzt perfekt!

Ich habe jetzt im Eingans- sowie Exit-Task als allererste Aktion ein STOP TASK IF variable equal YES oder NO.

Danke für den Anstoß !

Gruss maat
 
Moin
2 weitere Ansätze.

Variante 1:
Drehe die Bedeutung des Profils um (Also GSM-Zelle verbunden = Profil inaktiv) und arbeite dann mit Cooldown (Profil - Settings)

Variante 2:
Verwende den selben Task als Entry- und Exit-Task, mit Wait im Entry-Teil und setze das Collision Handling auf "Abort new Task" (Task - Settings)
 
Hi, danke für die Vorschläge.

Variante1: Das Cooldown arbeitet doch auch seriell ? Wäre dann eigentlich kein Unterschied oder ?

Variante2: könntest du da bitte näher erklären ? Danke dir.


Gruss maat
 
Moin

zu V1:
Der Cooldown verhindert, das ein Profil in einem Zeitraum x erneut aktiv wird (Entprellen auf Profilebene).
Damit lassen sich Trigger bauen, die innerhalb eines Zeitfensters nur einmalig aktiv werden.

zu V2:
Das Entprellen läuft auf Taskebene ab. Das Profil kann seinen Zustand beliebig oft ändern (sieht man dann im LOG), aber die Aktion in dem Zeitfenster nur einmalig ausgeführt.
Code:
If %PACTIVE ~ '*,PROFILNAME,*'
  ENTRY-Action
  Wait ZEITFENSTER
Else
  Wait ZEITFENSTER
  EXIT-Action
End if
 

Ähnliche Themen

-Sven-
Antworten
1
Aufrufe
250
note.apk
N
Viper73
Antworten
3
Aufrufe
211
Viper73
Viper73
N
Antworten
14
Aufrufe
574
senior-ipaq
S
Zurück
Oben Unten