Merkwürdiges verhalten von Tasker - oder ein Denkfehler von mir?

  • 24 Antworten
  • Letztes Antwortdatum
Chubby

Chubby

Fortgeschrittenes Mitglied
38
Hallo,

ich habe mir 2 Profile in Tasker zur Akkustandsüberwachung mit entsprechenden Meldungen erstellt.

Das erste Profil = Akkuwarnung Low!!

Es soll mich warnen, wenn der Akku nicht geladen wird und eine Kapazität von weniger als 9% hat.
Und dies wiederkehrend in Minutenwarnungen bis 1% Akkukapazität.

Profil: Akkuwarnung LOW!!
Status: Akkustand [ Von:1 Zu:8 ]
Status: Nicht Power [ Quelle:Alle ]



Eingang Aufgabe: Akku - Warnung

A1: If [ %BATT < 9 ]

A2: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A3: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A4: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A5: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A6: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A7: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A8: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A9: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A10: Warte [
MS: 0
Sekunden: 2
Minuten: 0
Std.: 0
Tage: 0 ]

A11: Vorlesen [
Text: Akku bitte sofort laden! Der Akku hat nur noch %BATT %
Maschine: Stimme: default:default
Stream: 4
Tonhöhe: 5
Geschwindigkeit: 5
Audiofokus respektieren: An ]

A12: Vibrieren [
Zeit: 1000
Task Weiter Ausführen Nach Fehler:An ]

A13: End If

A14: Warte [
MS: 0
Sekunden: 0
Minuten: 1
Std.: 0
Tage: 0 ]

A15: Goto Aktion [
Typ: Aktion Nummer
Nummer: 1 ]


Dieses Profil funktioniert wunderbar, sowie ich das Handy ans Ladergerät hänge hören die Warnungen auf.


So weit so gut!


Das zweite Profil zur Akkustandsüberwachung = Akkuwarnung 85%

Dieses Profil soll mich warnen, wenn das Handy geladen wird und der Akku eine Kapazität von 85% erreicht hat.
Es soll die Warnungen in Minutentackt wiederholen, bis der Akku entweder vom Ladegerät getrennt wird oder 90% erreicht hat.

Profil: Akkuwarnung LOW!!
Status: Akkustand [ Von:1 Zu:8 ]
Status: Nicht Power [ Quelle:Alle ]



Eingang Aufgabe: Akku - Warnung

A1: If [ %BATT < 9 ]

A2: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A3: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A4: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A5: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A6: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A7: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A8: Vibrations Muster [
Muster: 100, 500, 50, 500, 50, 500, 500, 500, 50, 500, 50, 500
Task Weiter Ausführen Nach Fehler:An ]

A9: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A10: Warte [
MS: 0
Sekunden: 2
Minuten: 0
Std.: 0
Tage: 0 ]

A11: Vorlesen [
Text: Akku bitte sofort laden! Der Akku hat nur noch %BATT %
Maschine: Stimme: default:default
Stream: 4
Tonhöhe: 5
Geschwindigkeit: 5
Audiofokus respektieren: An ]

A12: Vibrieren [
Zeit: 1000
Task Weiter Ausführen Nach Fehler:An ]

A13: End If

A14: Warte [
MS: 0
Sekunden: 0
Minuten: 1
Std.: 0
Tage: 0 ]

A15: Goto Aktion [
Typ: Aktion Nummer
Nummer: 1 ]


Profil: Akkuwarnung 85%
Status: Akkustand [ Von:85 Zu:90 ]
Status: Power [ Quelle:Alle ]



Eingang Aufgabe: Akku 85

A1: If [ %BATT > 84 ]

A2: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A3: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A4: Popup (Tasker) [
Titel: Akkuwarnung 85%
Text: Akkuwarnung 85%
Layout: Popup
Timeout (Sekunden): 5
Über Tastatursperre anzeigen: An ]

A5: Vorlesen [
Text: Der Akku hat %BATT %! Das Handy bitte vom Ladegerät trennen!
Maschine: Stimme: default:default
Stream: 4
Tonhöhe: 5
Geschwindigkeit: 5
Audiofokus respektieren: An ]

A6: End If

A7: Warte [
MS: 0
Sekunden: 0
Minuten: 1
Std.: 0
Tage: 0 ]

A8: Goto Aktion [
Typ: Aktion Nummer
Nummer: 1 ]



Jetzt passieren folgenden Ungereimheiten im Verhalten von Tasker:

AkkuLow, alles wunderbar so wie ich es wollte, die Warnungen wird das erste mal gegeben, sowie die Akkukappazität 8% erreicht hat und wiederholen sich im Minutentackt so lange, bis ich mein Handy an ein Ladegerät angeschlossen habe.


Doch bei Akku 85%
die Warnung kommt mit erreichen von 85% Akkukappazität, jedoch wird sie weiterhin im Minutentackt wiederholt, obwohl ich das Handy vom Ladegerät getrennt habe, dies sollte eigentlich die Warnung beenden, da eine Eingangsbedingung ja nicht mehr erfüllt worden ist.


Über Ideen, Tipps und aufmerksam machen eines Denkfehlers von mir wäre ich erfreut und dankbar.

Liebe Grüße
Chubby
 
Die beiden Tasks laufen in einer Dauerschleife und werden nicht automatisch gestoppt wenn die Bedinungen nicht mehr erfüllt sind.
Wenn das Telefon bei 8% angeschlossen wird, lädt es vermutlich auf 9% in unter einer Minute. Dann ist die IF-Bedingung [ %BATT < 9 ] im Task nicht erfüllt und die Warnung wird nicht ausgegeben.
Nach dem Ausstecken braucht der Akku mehr als als eine Minute um von 85% auf 84% zu kommen und die Warnung wird ausgegeben.

Die Goto Aktion am Ende der Tasks kann weggelassen werden, wenn in den Profilen eine Zeit-Bedingung (Jede 1 Minute) hinzugefügt wird.

Alternativ kann auch ein Ausgangstask hinzugefügt werden mit der Aufgabe Task>Stopp mit dem entsprechendem Tasknamen.
 
Zuletzt bearbeitet:
  • Freude
Reaktionen: Chubby
@Mathens

Ahhh, das ist eine höchstwahrscheinliche Erklärung, bei so niedrigem Akkustand, werden 1% ratzfatz draufgepackt, doch von 85% auf 84% entladen zu werden, ja das dauert mehrere Minuten.

Ich habe um wiederholtes Abfragen, der Eingangsbedingungen Tick verwendet, wie sähe da eine Zeit-Bedingung aus?
Hast Du da einen konkreten Vorschlag?

Liebe Grüße
Chubby
Beiträge automatisch zusammengeführt:

@Mathens

Wenn Du Dich hier dazu gemeldet hast, hätte ich noch eine Frage zu Tasker, ist ähnlich gelagert.
Tasker verhält sich unzuverlässig.

Ich habe in 10%-Schritten Profile für Akkumeldungen erstellt, jedoch meldet Tasker nicht zuverlässig alle Akkustandsmeldungen, woran könnte das liegen?


Liebe Grüße
Chubby
 
Zuletzt bearbeitet:
Grundprinzip:Tasker präferiert ereignisorientierte Programmierung. Sowas wie zyklisch alle x Minuten mit weiteren Bedingungen wie Akkustand und Stromquelle. Nicht prozedural als Schleife mit Abfrage und programmierter Wartezeit darin. Hingerotztes Prinzip:
22054.jpg
 
Zuletzt bearbeitet:
@prx Evtl. sinnvoller, einfach eine Abkühlzeit von x Minuten für das Profil einzustellen.
 
@prx

Da ich da nur die Hälfte verstehe, glaube ich benötige ich weitere Erklärung für Dummies mit Deiner Vorgehensweise prx.

Bis dahin würde ichweiter mit Tick arbeiten, es fordert die Ereignisabfrage nach meinen Zeitvorgaben ab.

Liebe Grüße
Chubby
 
@holms Mir ging es mehr um dss Grundprinzip von Tasker, als um Details. Wenn in einer Task ein längeres Delay programmiert wird, ist man wahrscheinlich auf dem Holzweg.
 
  • Danke
Reaktionen: holms
@prx Schon klar, dazu hab ich ja auch nichts geschrieben :)
 
Chubby schrieb:
Bis dahin würde ichweiter mit Tick arbeiten
Auch ich habe in diesem Beispiel einen Tick drin. Aber mit zusätzlichen Randbedingungen.
 
@ Alle

Noch einfacher wird es wohl sein in der If-Anweisung den Ladestatus mit zu verarbeiten, dann springt zwar mit der GoTo-Anweisung, die Taskverarbeitung zurück zu Nummer 1, jedoch wird dann die If-Anweisungsbedinngungen nicht mehr erfüllt und damit der weitere Ablauf der Schritte unterbunden.

Ich glaube, dass sich das nach einer gut umsetzbaren Lösung anhört?

Wie seht Ihr das???

Liebe Grüße
Chubby
 
Gibt es einen Weg, Tasks im Forum so darzustellen, dass es nicht wie ein Telefonbuch aussieht? Das ist unlesbar, sorry.
 
@prx

Wie meinst Du das jetzt?
Ich verstehe Deine Frage jetzt nicht!

Das Tasker-Profil, was ich oben dargestellt habe, oder was meinst Du.

Liebe Grüße
Chubby
 
Chubby schrieb:
Wie meinst Du das jetzt?
Es geht um die Art, Tasks so im Forum darzustellen, dass die Struktur erkennbar wird. Das ist hier nicht der Fall. Der Programmierer selbst braucht das (vorerst) nicht, weil vor Augen im Tasker und ohnehin im Kopf. Fremde, die es lesen und verstehen sollen, aber schon.

Deutlicher: Ich mag sowas nicht lesen.
 
Zuletzt bearbeitet:
Und wo ist jetzt bei dieser Darstellung des Profils die Struktur des Tasks nicht erkennbar?

Profil: Akkuwarnung 85%
Status: Akkustand [ Von:85 Zu:90 ]
Status: Power [ Quelle:Alle ]



Eingang Aufgabe: Akku 85

A1: If [ %BATT > 84 ]

A2: Klingelton Abspielen [
Typ: Alarme
Sound: tos-redalert
Stream: 4 ]

A3: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

A4: Popup (Tasker) [
Titel: Akkuwarnung 85%
Text: Akkuwarnung 85%
Layout: Popup
Timeout (Sekunden): 5
Über Tastatursperre anzeigen: An ]

A5: Vorlesen [
Text: Der Akku hat %BATT %! Das Handy bitte vom Ladegerät trennen!
Maschine: Stimme: default:default
Stream: 4
Tonhöhe: 5
Geschwindigkeit: 5
Audiofokus respektieren: An ]

A6: End If

A7: Warte [
MS: 0
Sekunden: 0
Minuten: 1
Std.: 0
Tage: 0 ]

A8: Goto Aktion [
Typ: Aktion Nummer
Nummer: 1 ]


Wo gibt es zur Struktur / Reihenfolge Fragen?


Liebe Grüße
Chubby
 
Diese Darstellung finde ich angenehmer:
Code:
A1: If [ %BATT > 84 ]
     A2: Klingelton Abspielen [...]
     A3: Warte [...]
     A4: Popup (Tasker) [...]
     A5: Vorlesen [...]
A6: End If

A7: Warte [...]

A8: Goto Aktion [...]   <== Seit den 1970er verpönt.
 
Zuletzt bearbeitet:
@prx

ja genau so, dann sag doch einfach ohne Anweisung / Befehle, also die gekürzte Fassung.....doch der nächste wird genau die fehlenden Anweisungen / Befehle im Task anmahnen.

Hat Dir die Kurzfassung zu meiner letztren Frage weiter geholfen, welche Meinung hast Du dazu?


Liebe Grüße
Chubby
 
Chubby schrieb:
ja genau so, dann sag doch einfach ohne Anweisung / Befehle, also die gekürzte Fassung.....doch der nächste wird genau die fehlenden Anweisungen / Befehle im Task anmahnen.
Die Auslassungen waren Schreibfaulheit meinerseits. Nennt sich auch Pseudocode.
Beiträge automatisch zusammengeführt:

Apropos Minutentakt: Leg sowas auf deinen Schreibtisch und geh in die Kantine. Suche nach Rückkehr dein Handy, das die lieben Kollegen ins Klo geworfen haben. :)
 
Zuletzt bearbeitet:
@prx

Wo habe ich den ein längeres Delay programiert?


Gibt es denn dann auch seit den 1970ern eine vernünftige gut funktionierende Alternative zum alten und seit Basic gut bewährten Goto Befehl?


Ich bin für Anregungen, Tips und Hilfestellungen immer bereit!!!!!

Liebe Grüße
Chubby
Beiträge automatisch zusammengeführt:

@prx

Zitat: Apropos Minutentakt: Leg sowas auf deinen Schreibtisch und geh in die Kantine. Suche nach Rückkehr dein Handy, das die lieben Kollegen ins Klo geworfen haben. :)

Das ist nicht für Kollegen, sondern für mich und läuft auch nur zu Hause, oder im Auto....(grins)



Liebe Grüße
Chubby
 
Zuletzt bearbeitet:
Chubby schrieb:
Gibt es denn dann auch seit den 1970ern eine vernünftige gut funktionierende Alternative zum alten und seit Basic gut bewährten Goto Befehl?
Das damalige BASIC war genau das, was allen vom Fach auf den Wecker ging.
Beiträge automatisch zusammengeführt:

Chubby schrieb:
Gibt es denn dann auch seit den 1970ern eine vernünftige gut funktionierende Alternative zum alten und seit Basic gut bewährten Goto Befehl?
Hier: Scheife weg. Profil bauen, dass die Task jede Minute aufruft. Wenn zusätzlich dazu im Profil auch noch die Batteriestandsabfrage steckt (siehe Screenshot oben), ist auch die Bedingung weg.
 
Zuletzt bearbeitet:
Zurück
Oben Unten