WhatsTasker - Task stoppt ohne Grund?!

  • 17 Antworten
  • Letztes Antwortdatum
L

LenovoP780

Stamm-User
84
Hallo,

ich hab mir ein Profil erstellt, dass mir ankommende Whats App Nachrichten vorliest und mich auch direkt antworten lässt. Das Ganze mache ich in Verbindung mit dem Plugin WhatsTasker.
Es funktioniert, eigentlich, auch problemlos,...

ABER: Nachdem er die Action "Nachricht senden" (Vom Plugin) ausgeführt hat hört er mit dem Task auf und arbeitet die noch ausstehenden Aktionen nicht ab...

Hat jemand eine Idee woran das liegen könnte?

LG
 
Hallo Lenovo,

das Problem hatte(habe) ich auch. Ich habe die nachfolgenden Aktionen vor die Whatstasker Aktion gelegt. War in meinen Fall möglich. Eine andere Lösung habe ich leider auch nicht gefunden.

mfg
 
Hallo,

ich kann sie leider nicht davor setzen,...
Wird bei dir das Profil dann auch beendet? Bei mir stoppt es und das Profil ist noch immer aktiv, aber arbeitet nicht mehr

LG

Edit:
Ich hätte eine Idee, wie man das Problem umgehen kann. Ich könnte einen neuen Task erstellen, dessen Aufgabe das Senden der Nachricht ist und im ursprünglichen Task mache ich ein PerformTask anstelle des Senden der Nachricht. Nicht wirklich schön, aber sollt so fubktionieren.
Falls jemand eine Lösung hat immer her damit :)
 
Zuletzt bearbeitet:
Zeig doch mal was du da hast...
 
Kann ich machen, ist aber etwas längerer Task.

Es hängt bei A34.

Code:
 Profile: WA Vorlesen - Teil 2 (25)
State: Variable Value [ %ReadWA ~ 1 ]
Enter: Anon (26)
Run Both Together
A1: Variable Set [ Name:%savescreen To:%SCREEN Do Maths:Off Append:Off ] 
A2: Wait [ MS:0 Seconds:3 Minutes:0 Hours:0 Days:0 ] 
A3: If [ %savescreen ~ off ]
A4: Secure Settings [ Configuration:Screen & Keyboard Lights On
5 Minutes Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ] 
A5: Secure Settings [ Configuration:Keyguard Disabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ] 
A6: End If 
A7: Media Volume [ Level:13 Display:Off Sound:Off ] 

A8: Say [ Text:Eine neue Nachricht von %WAAbsender1. Ich lese sie dir vor. Okay? Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A9: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):10 ] 
A10: Wait [ MS:5 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A11: Goto [ Type:Action Label Number:8 Label:Neue Nachricht ] If [ %VOICE !~ okay/nein ]
A12: If [ %VOICE ~ okay ]
A13: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A14: Say [ Text:%WANachricht1 Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A15: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 

A16: Say [ Text:Möchtest du antworten? Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A17: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):10 ] 
A18: Wait [ MS:5 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A19: Goto [ Type:Action Label Number:16 Label:Antworten ] If [ %VOICE !~ ja/nein ]
A20: End If 
A21: If [ %VOICE ~ ja ]
A22: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 

A23: Say [ Text:Was möchtest du antworten? Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A24: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):15 ] 
A25: Variable Set [ Name:%message To:%VOICE Do Maths:Off Append:Off ] 
A26: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
A27: Say [ Text:Deine Antwort lautet: %message Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A28: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 

A29: Say [ Text:Nachricht senden, oder wiederholen und nochmal versuchen? Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A30: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):10 ] 
A31: Wait [ MS:5 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A32: Goto [ Type:Action Label Number:29 Label:Senden ] If [ %VOICE !~ nochmal/wiederholen/senden ]
A33: Goto [ Type:Action Label Number:23 Label:Text ansagen ] If [ %VOICE ~ nochmal/wiederholen ]
A34: WhatsTasker Send Message [ Configuration:ID: %WANummer1
Message: %message Package:net.zhdev.whatstasker Name:WhatsTasker Send Message Timeout (Seconds):3 ] If [ %VOICE ~ senden ]
A35: Say [ Text:Die Nachricht wurde gesendet. Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A36: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A37: Secure Settings [ Configuration:Keyguard Enabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ] If [ %savescreen ~ off ]
A38: System Lock If [ %savescreen ~ off ]
A39: Goto [ Type:Action Label Number:1 Label:Array löschen ] 
A40: End If 
A41: If [ %VOICE ~ nein ]
A42: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A43: Say [ Text:Okay. Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A44: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
A45: Secure Settings [ Configuration:Keyguard Enabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ] If [ %savescreen ~ off ]
A46: System Lock If [ %savescreen ~ off ]
A47: Goto [ Type:Action Label Number:1 Label:Array löschen ] 
A48: End If 

A49: Array Pop [ Variable:%WAAbsender Position:1 To Var: ] 
A50: Array Pop [ Variable:%WAGruppe Position:1 To Var: ] 
A51: Array Pop [ Variable:%WANummer Position:1 To Var: ] 
A52: Array Pop [ Variable:%WANachricht Position:1 To Var: ] 
A53: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
A54: Goto [ Type:Action Label Number:1 Label:Neue Nachricht ] If [ %WAAbsender1 Set ]
A55: Array Clear [ Name:%WAAbsender ] 
A56: Array Clear [ Name:%WANummer ] 
A57: Array Clear [ Name:%WANachricht ] 
A58: Variable Clear [ Name:%ReadWA Pattern Matching:Off ]
 
Zuletzt bearbeitet:
Dann exportier das doch einfach, dann kann man mal live sehen, wo das klemmt...
 
Das habe ich nicht so genau beobachtet, da es sich um ein zeitgesteuertes Profil handelt welches bis zu max. 10 min aktiv ist. Deshalb war es immer deaktiviert als ich nachgesehen habe. Ich kann also nicht sagen ob es sich nach Ablauf abgeschalten hat.

mfg
 
Hmmm...

Was mir auffällt... Sendet das Script überhaupt?
Bin gerade dabei dein Script mal auseinander zu wurschteln.

Bleibt das nach dem Senden stehen? Der neue Tasker zeigt ja schön an, welcher Teil ausgeführt wird und welcher erfolgreich war.
 
Ja, die Nachricht wird gesendet und das Say danach nicht mehr ausgeführt.

Ja, dass meinte ich damit, dass es ein etwas längerer Task ist :)
 
Hast du mal ein Wait hinter das Senden gepackt?
Pack da ruhig mal 5Sek rein und probier mal aus.
 
Das Wait hat nichts gebracht, wäre wohl zu leicht gewesen ;-) Es kommt auch gar nicht zur nächsten Action, nachdem die Nachricht gesendet wurde (inkl. grüner Punkt) stoppt es, aber das Profil ist weiterhin aktiv. Bei der nächsten Aktion ist auch kein roter Punkt, da ist nichts...
 
Naja... manchmal reicht es schon einem Script ein wenig Zeit zum Luft holen zu geben... :-D
Was wäre denn, wenn du den Antwort-Abschnitt mal aus dem Lesebereich raus holst und das mit einem Goto dann verbindest, also unten ran hängst und die einzelnen If-Schleifen dann mit einem Exit belegst, denn eigentlich ist das Script zuende, wenn du z.B. Nein sagst.

Hast Du "WhatsTasker Send Message" das Häkchen gesetzt, dass es bei Fehler weiter läuft?
Irgendwie scheint der Sender da nicht fertig zu werden, weshalb das Script da hängen bleibt.
 
  • Danke
Reaktionen: LenovoP780
So einfach kann es sein, Haken gesetzt und alles funktioniert :)

Daran hab ich nicht gedacht, aber genau dafür gibt es ja das Forum. :)
 
:thumbsup:
Na also... geht doch.

Ich würde der Übersichtlichkeit wegen das Script aber trotzdem noch in Lese- und Antwortbereich teilen und mit Sprungmarken arbeiten.
 
Am Handy schaut es halb so wild aus, da man die If-Bedingungen ein- und ausklappen kann.

Was meinst du mit Sprungmarken?
 
Was ich damit meine ist, dass du den gesamten Bereich der Antwort aus der If-Schleife raus holst und mit Goto-Action ausserhalb der Schleife weiter arbeitest.

Aus meiner Sicht wäre das sauberer. Der Code wird damit deutlich lesbarer, die Einzelschritte besser erkennbar.

In einer If-Schleife sollte man nur Bedingungen verarbeiten. Die daraus resultierenden Folgen sollte man nach Möglichkeit nicht da mit vermischen.

Also:
If Bedingung 1=true, dann springe zu x, else mache y

Was ich mir als C-Halbwissender wünschen würde wäre eine ElseIf und Case-Struktur, damit wäre das übersichtlicher...
Ansonsten ist Tasker ein klasse Tool, man kann fast alles damit verwirklichen.
 
  • Danke
Reaktionen: LenovoP780
Okay, jetzt weiß ich was du meinst. Wenn ich Zeit habe werde ich das machen, momentan bin ich mal zufrieden, dass alles funktioniert.
 
Hallo,

Else If gibt es doch schon...

... und am Saubersten ist es meiner Meinung nach, wenn einzelne Funktionsblöcke komplett in eigene Tasks ausgelagert werden, die dann idealerweise auch für andere Aufgaben verwendet werden können.

Grüße, Jürgen.
 

Ähnliche Themen

G
Antworten
1
Aufrufe
181
bbfh
bbfh
H
Antworten
3
Aufrufe
367
Horgul123
H
holms
Antworten
11
Aufrufe
588
holms
holms
Zurück
Oben Unten