Zeigt her eure Tasker Profile 2.0! - Keine Diskussionen

L

LenovoP780

Stammgast
84
Hallo liebe Community!

Es gibt zwar schon den Thread "Zeigt her eure Tasker Profile!", aber mir fehlt ein Thread, in dem die Profile wirklich hergezeigt (!) werden. Daher dachte ich mir, jeder der ein Projekt/Profil oder einen Task hat, von dem ihr denkt, dass

- ihn die Community sehen soll,
- ihn andere auch brauchen könnten,
- ihr eine besonders elegante Lösung für ein Problem gefunden habt,
- oder ...

dann soll sie/er das Profil/Projekt oder den Task hierher, ins Forum, als "Description" exportieren und kurz beschreiben. Wer möchte kann natürlich auch zusätzlich die Datei zum Download bereitstellen.

Damit das hier kein Frage Thread wird, sollten hier nur fertige Profile/Tasks hergezeigt werden.

Damit das Ganze nicht zu unübersichtlich wird, würde ich (oder jemand anderes :confused2:) auf der ersten Seite eine Arte Inhaltsverzeichnis der Profile erstellen.
Bin gespannt was ihr über diesen Vorschlag denkt und hoffe auf rege Teilnahme. :thumbsup:
In diesem Sinne Zeigt her eure Tasker Profil (2.0)!

LG




Inhaltsverzeichnis:

- SMS-Nachrichten vorlesen und beantworten
- AppRadio - Bildschirm aus
- WiFi Automator
- Arbeitszeit in einer Google-Drive Tabellle speichern
- Uhrzeit mit Zeitdifferenz als Trigger
- WhatsApp-Nachrichten vorlesen (von luckyone)
- WhatsApp-Nachrichten vorlesen (von schmetty2)
- WhatsApp-Antworten per Spracheingabe
- Widget mit Double-Tap Funktion
- Zitat des Tages vorlesen
- Hintergrundbild von Bing Deutschland
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Pipolino, sgs9000A, avalon666 und 6 andere
Hallo!

Hier nochmals mein Profil, diesmal auch als Download.

Profil: SMS-Nachrichten vorlesen und beantworten

Beschreibung:
- Neue Nachricht kommt
- Absender der Nachricht wird vorgelesen
- Man wird gefragt, ob man die Nachricht hören möchte
- Die Nachricht wird vorgelesen
- Man wird gefragt ob man antworten möchte
- Die Antwort wird vorgelesen, danach kann man die Nachricht ändern oder absenden
Um den Code etwas übersichtlicher zu gestalten habe ich ein paar Absätze eingefügt und ein bisschen formatiert.


Code:
Profile: Read SMS (36)
    Event: Received Text [ Type:SMS Sender:* Content:* ]

Enter: Anon (50)
    
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 ] 



<[COLOR=RoyalBlue][B]Neue Nachricht[/B][/COLOR]>
    A8: Say [ Text:Eine neue Nachricht von %SMSRN. 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:[COLOR=RoyalBlue][B]Neue Nachricht[/B][/COLOR] ] If [ [B]%VOICE !~ okay/nein [/B]]
    


A12: If [ %VOICE ~ [COLOR=SeaGreen][B]okay[/B][/COLOR] ]
    A13: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A14: Say [ Text:%SMSRB 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 ] 
<[COLOR=RoyalBlue][B]Antworten[/B][/COLOR]>
    A16: Say [ Text:Möchtest du %SMSRN 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: Wait [ MS:5 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A18: Goto [ Type:Action Label Number:16 Label:[COLOR=RoyalBlue][B]Antworten[/B][/COLOR] ] If [ %VOICE !~[B] ja/nein[/B] ]
    A19: End If 
    


A20: If [ %VOICE ~ [COLOR=SeaGreen][B]ja[/B][/COLOR] ]
    A21: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    <[B][COLOR=RoyalBlue]Text ansagen[/COLOR][/B]>
    A22: 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 ] 
    A23: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):15 ] 
    A24: Variable Set [ Name:%message To:%VOICE Do Maths:Off Append:Off ] 
    A25: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
    A26: 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 ] 
    A27: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    <[COLOR=RoyalBlue][B]Senden[/B][/COLOR]>
    A28: 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 ] 
    A29: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):10 ] 
    A30: Wait [ MS:5 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A31: Goto [ Type:Action Label Number:29 Label:[B][COLOR=RoyalBlue]Senden[/COLOR][/B] ] If [ %VOICE [B]!~ nochmal/wiederholen/senden[/B] ]
    A32: Goto [ Type:Action Label Number:23 Label:[B][COLOR=RoyalBlue]Text ansagen[/COLOR][/B] ] If [ %VOICE [B]~ nochmal/wiederholen[/B] ]
    A33: Send SMS [ Number:%SMSRF Message:%message Store In Messaging App:On ] If [ %VOICE ~[COLOR=SeaGreen] [COLOR=Black]senden[/COLOR][/COLOR] ]
    A34: 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 ] 
    A35: Wait [ MS:500 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A36: Secure Settings [ Configuration:Keyguard Enabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ] If [ %savescreen ~ off ]
    A37: System Lock If [ %savescreen ~ off ]
    A38: Stop [ With Error:Off Task: ] 
    A39: End If 
    


A40: If [ %VOICE ~ [B][COLOR=SeaGreen]nein[/COLOR][/B] ]
    A41: Get Voice [ Title: Language Model:Free Form Maximum Results:1 Timeout (Seconds):10 ] 
    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: Stop [ With Error:Off Task: ] 
    A48: End If
Hier, auf Wunsch, das Profil (!) als Download:
Ich verwende auf meinem Smartphone allerdings nicht die Standard Voice-Engine, sondern Ivona, das müßte ihr beim Importieren natürlich berücksichtigen und wahrscheinlich ändern (falls Tasker es nicht automatisch tut).
Anhang anzeigen Read_SMS.zip

Achtung: Zwischen A16 und A17 fehlt ein GetVoice, muss beim hochladen irgendwie verloren gegangen sein :-/
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Oppossum, sgs9000A und avalon666
Ich habe da auch noch was für die Leute, die ein AppRadio verwenden und ihr Smartphone dort spiegeln.

Wer das hat weiß, dass dabei der Bildschirm des Smartphones an bleibt, was zum einen Teil unschön ist, Strom verbraucht und dazu noch das Gerät unnötig erwärmt.

Um den Bildschirm auf dem AppRadio zu spiegeln benötigt man:
1. eine entsprechende App, um die Verbindung zwischen dem Radio und dem Mobiltelefon. Ich benutze dafür AR unchained. Kostenlos über den PlayStore zu beziehen.
2. die App, um den Bildschirm auch wirklich abzuschalten (geht nicht mit jedem Phone, bei meinem HTC one und meinem SGS2 funktioniert es jedenfalls. Screen Stand By von nkahoang . Bezugsquelle: [APP/OPEN SOURCE]Screen Standby ♯ Root… | Android Development and Hacking | XDA Forums

Beide Apps benötigen Root!
Screen Stand By ist über Tasker steuerbar, was erst bei mir die volle Funktionalität ermöglichte.

Was macht mein Task:

1. Schaltet sich an, wenn das Telefon mit dem BT im Auto verbunden ist
2. Wartet eine kurze Zeit und schubst dann Screen Stand By an.
3. Dazu wird der Bildschirm aktiv gehalten, damit man jederzeit auf dem Radio tappen kann.
4. Zieht die Lautstärke-Regler hoch für BT, Klingelton, Benachrichtigungen etc.

Der Exit-Task arbeitet bei mir wie folgt:
1. Schliesst bei Beendigung der BT-Verbindung Screen Stand By, damit der Screen wieder aufgeschaltet wird.
2. Beendet eine laufende Navigation (ansonsten aktiviert sich evtl. GPS und pumpt den Akku leer, benötigt aber das zusätzliche Plugin Taskkill)
3. Setzt die Bildschirm-Aktivität wieder zurück, um nach voreingestellter Zeit wieder in den Standby gehen zu können.
4. Schaltet alle Lautstärken wieder runter


Hier das dazugehörige Script:

Das ist kein großer geistiger Erguss, es macht das Leben nur was einfacher... :winki:

Code:
BT-Connected

Event:
[SIZE=4][B]BT connected AppRadio SPH-DA11[/B][/SIZE]0

Start Task:
[SIZE=3][B]Screen Off[/B][/SIZE]

A1. Wait: 10 Sec
A2. Display Timeout: 59 Sec, 59Min, 59 Hours
A3. Wait: 2 Sec
A4. Send intent: Action: com.nkahoang.screenstandby.action.ENABLE
A5. Wait: 10 Sek
A6. BT Voice Volume: Level 16
A7. Wait: 5 Sec 
A8 Media Volume: Level 16
A9. Wait: 5 Sec
A10. System Volume: Level 16
A11. Wait 5 Sec
A12. Ringer Volume: Level 5

================================================

Exit Task:

[SIZE=3][B]Screen On[/B][/SIZE]

A1. Wait: 10 Sec
A2. Send intent: Action: com.nkahoang.screenstandby.action.DISABLE
A3. Wait: 5 Sec
A4. Configuration Method=Extreme; Package=com.navigon.navigator_select (Kann weg gelassen werden, oder auf die jeweilige navi-Software angepasst werden.)
A5. Wait: 5 Sec
A6. Display Timeout: 5 Min.
A7. Wait: 5 Sec
A8. BT Voice volume: Level 2
A9. Wait: 5 Sec
A10. Media Volume: Level 2
A11. Wait: 5 Sec
A12. Ringer volume: Level 1
A13. Wait: 5 Sec
A14. System Volume: Level 1
 
  • Danke
Reaktionen: avalon666 und LenovoP780
Hallo,

ich kann das Profil leider (noch) nicht in das Inhaltsverzeichnis hinzufügen, da der Bearbeitungszeitraum abgelaufen ist. Allerdings habe ich bereits einem Moderator geschrieben um die Funktion für mich wieder freizuschalten.

Anbei noch mein YAWA-Projekt bestehen aus 3 Profilen:

Projekt: YAWA (=Yet Another WiFi Automator)

Profil 1: CellNear - kontrolliert ob man in eine definierte Zelle eingeloggt ist.
Ist dies der Fall, dann wird Profil 2 aktiviert. Zusätzlich ersetze ich das Tasker-Icon durch das Signal-Icon.

Profil 2: WiFiNear - kontrolliert ob (ein bestimmtes) WiFi in der Nähe ist.
Ist dies der Fall, dann wird WLan und Profil 3 aktiviert.

Profil 3: WiFiConnected - sobald man mit dem WLan verbunden ist wird Profil 1 und Profil 2 und die Mobile Datenverbindung deaktiviert. Zusätzlich ändere ich noch das Tasker-Icon in ein Haus und lasse mir via Flash anzeigen, mit welchem WLan ich verbunden bin.
Wenn keine Verbindung mehr mit dem WLan vorhanden ist wird, nach einer kurzen Pause, Profil 1 aktiviert und Profil 3 deaktiviert.

Es gibt, da bin ich mir sicher, bessere und schönere Lösungen, aber alles funktioniert einwandfrei und ich bin sehr zufrieden damit.

Code:
[B]Profile: Cell Near[/B] (55)
    State: Cell Near [ Cell Tower / Last Signal: [I]EURE ZELLEN[/I] / Ignore Cells:* ]
    State: Not Airplane Mode



Enter: Anon (28)
    A1: Variable Set [ Name:%CellNear To:1 Do Maths:Off Append:Off ] 
    A2: Profile Status [ Name:WiFi Near Set:On ] 
    A3: Set Tasker Icon [ Icon:hd_aaa_ext_signal ] 
 
Exit: Anon (30)
    A1: Variable Clear [ Name:%CellNear Pattern Matching:Off ] 
    A2: Profile Status [ Name:WiFi Near Set:Off ] 
    A3: Set Tasker Icon [ Icon:cust_notification ] If [ %PACTIVE !~ *,WiFi Connected,* ]
Code:
[B]Profile: WiFi Near[/B] (58)
    State: Variable Value [ %CellNear ~ 1 ]
    State: Wifi Near [ SSID:[I]EUER WLAN[/I] MAC:[I]EUER WLAN[/I] Capabilities:* Min. Activate Signal Level:0 Channel:0 Toggle Wifi:On ]



Enter: Anon (40)
    A1: WiFi [ Set:On ] 
    A2: Profile Status [ Name:WiFi Connected Set:On ] 
    A3: Flash [ Text:WLAN aktiviert Long:Off ] 
 
Exit: Anon (41)
    A1: Wait [ MS:0 Seconds:0 Minutes:1 Hours:0 Days:0 ] 
    A2: Goto [ Type:Action Number Number:4 Label: ] If [ %WIFII !~ *CONNECTION* ]
    A3: Stop [ With Error:Off Task: ] 
    A4: WiFi [ Set:Off ] 
    A5: Flash [ Text:WLAN deaktiviert Long:Off ] 
    A6: Profile Status [ Name:WiFi Connected Set:Off ] 
    A7: Profile Status [ Name:WiFi Near Set:Off ]
Code:
[B]Profile: WiFi Connected[/B] (60)
    State: Wifi Connected [ SSID:[I]EUER WLAN[/I] MAC:[I]EUER WLAN[/I] IP:* ]



Enter: Anon (42)
    A1: Mobile Data [ Set:Off ] 
    A2: Flash [ Text:Mobile Datenverbindung deaktiviert Long:Off ] 
    A3: Set Tasker Icon [ Icon:hd_aaa_ext_home ] 
    A4: Write File [ File:tasker/SSID.txt Text:%WIFII Append:Off Add Newline:On ] 
    A5: Read Line [ File:tasker/SSID.txt Line:2 To Var:%ssid ] 
    A6: Flash [ Text:Verbindung mit %ssid hergestellt. Long:Off ] 
    A7: Profile Status [ Name:Cell Near Set:Off ] 
    A8: Profile Status [ Name:WiFi Near Set:Off ] 
 
Exit: Anon (45)
    A1: Read Line [ File:tasker/SSID.txt Line:2 To Var:%ssid ] 
    A2: Flash [ Text:Verbindung mit %ssid wurde getrennt. Long:Off ] 
    A3: Mobile Data [ Set:On ] 
    A4: Flash [ Text:Mobile Datenverbindung aktiviert Long:Off ] 
    A5: Variable Set [ Name:%mdata To:1 Do Maths:Off Append:Off ] 
    A6: Wait [ MS:0 Seconds:0 Minutes:1 Hours:0 Days:0 ] 
    A7: If [ %WIFII ~ *CONNECTION* ]
    A8: Flash [ Text:Verbindung mit %ssid wurde wieder hergestellt. Long:Off ] 
    A9: Mobile Data [ Set:Off ] 
    A10: Variable Set [ Name:%mdata To:0 Do Maths:Off Append:Off ] 
    A11: Flash [ Text:Mobile Datenverbindung deaktiviert Long:Off ] 
    A12: End If 
    A13: Goto [ Type:Action Number Number:15 Label: ] If [ %WIFII !~ *CONNECTION* ]
    A14: Stop [ With Error:Off Task: ] 
    A15: WiFi [ Set:Off ] 
    A16: Flash [ Text:WLAN deaktiviert Long:Off ] 
    A17: If [ %mdata ~ 0 ]
    A18: Mobile Data [ Set:On ] 
    A19: Flash [ Text:Mobile Datenverbindung aktiviert Long:Off ] 
    A20: End If 
    A21: Profile Status [ Name:Cell Near Set:On ] 
    A22: Set Tasker Icon [ Icon:cust_notification ] 
    A23: Profile Status [ Name:WiFi Connected Set:Off


EDIT:

Ich kann/darf den ersten Beitrag jetzt wieder ändern, danke dafür an die Moderatoren hier :). Ich werde mich bemühen, das Inhaltsverzeichnis aktuell zu halten. Zusätzlich haben Sie den Thread gleich auch angepinnt, wie ihr sehen könnt.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Oppossum, Wurlitzer, sgs9000A und eine weitere Person
Ich habe mir ein Profil gebastelt, dass meine Arbeitszeit in einer GoogleDrive-Tabelle speichert. Hierzu bin ich zunächst nach folgender Anleitung vorgegangen:
  1. In Drive ein neues Formular anlegen
  2. 2 Textfelder hinzufügen (StartEnde und Dauer)
  3. Jetzt auf "Live-Formular anzeigen" klicken. Ihr erhaltet dann einen langen URL in Form: "https://docs.google.com/forms/d/***ID***/edit". Diese müsst ihr euch merken
  4. Jetzt müsst ihr noch die IDs der Eingabefelder heraus finden (Chrome-Entwicklertools). Diese haben die Form: "entry_***ID***" -> auch beide merken
  5. Jetzt in Tasker ein neues Arbeitsprofil anlegen
  6. Der Eingangstask speichert die aktuelle Zeit in ms in einer Variablen und schickt das Formular ab
  7. Der Ausgangstask "berechnet" die Differenz und schickt danach das Formular ab
  8. Die Antworten werden in einer Tabelle gespeichert. Durch die Formel =TIME(0;0;***FELD***/1000) lässt sich die Zeit berechnen

Code:
Profil: Work (17)
Ort: ****** / ****** / 400.0m

Eingang: Anon (19)
A1: Variable Setzen [ Name:%Work Zu:1 Mathematisch:An Hinzufügen:Aus ] 
A2: Variable Setzen [ Name:%workStart Zu:%TIMEMS Mathematisch:An Hinzufügen:Aus ] 
A3: HTTP Post [ Server:Port:https://docs.google.com Pfad:forms/d/***ID***/formResponse Data / File:entry.578443004=Start Cookies: User Agent: Timeout:10 Inhalts Typ: Ausgabe Datei: Trust Any Certificate:Aus ]

Ausgang: Anon (20)
A1: Variable Setzen [ Name:%Work Zu:0 Mathematisch:An Hinzufügen:Aus ] 
A2: Variable Setzen [ Name:%end Zu:%TIMEMS Mathematisch:Aus Hinzufügen:Aus ] 
A3: Variable Setzen [ Name:%diff Zu:%end - %workStart Mathematisch:An Hinzufügen:Aus ] 
A4: Variable Setzen [ Name:%workStart Zu:0 Mathematisch:An Hinzufügen:Aus ] 
A5: HTTP Post [ Server:Port:https://docs.google.com Pfad:forms/d/**ID**/formResponse Data / File:entry.578443004=Ende
entry.152863983=%diff Cookies: User Agent: Timeout:10 Inhalts Typ: Ausgabe Datei: Trust Any Certificate:Aus ]
 
  • Danke
Reaktionen: Oppossum und avalon666
Nichts gegen Deine Initiative Lenovo, aber ich persönlich sehe keinen Vorteil in einem weiteren Thread, der die Profile der User präsentiert.
Stattdessen trägt er eher zur Unübersichtlichkeit bei.

Es spricht doch nichts dagegen, seine Profile auch als (gespoilerte) Description im bereits bestehenden Thema zu veröffentlichen.
 
Hallo Cramu!

Danke für dein ehrliches Feedback! Ich muss gestehen, ich verstehe dich! Du gehörst ja hier zu den Tasker-Experten und für dich sind die bisher vorgestellten Profile wahrscheinlich alle recht simpel und könntest sie problemlos selbst erstellen. Es wäre auch eine sehr gute Idee, welche ich sofort unterstützen würde, dass die Profile als (gespoilerte) Description im bereits bestehenden Thread hinzugefügt werden würde, nur leider tut dies niemand. :)

Zudem war meine Intention nicht, dass hier Profil á la "Wenn ich MusikApp öffne -> MedienLautstärke auf 10", sondern eben etwas komplexere Profile, was bisher ja auch der Fall ist. Zusätzlich finde ich es auch spannenden, was für Lösungswege die Community für ihre Profile so findet. Zum Beispiel gefällt mir bei meinem Profil "SMS Vorlesen" besonders gut, dass:

Goto [ Type:Action Label Number: Label: DUMMY ] If [ %VOICE !~ DUMMY1/DUMMY2 ]

wodurch verhindert wird, dass der Task bei falscher/unverständlicher Spracheingabe stoppt oder weiter macht, sondern nochmals nachfragt. Leider bin ich auf dieses "Sicherheitsfeature" nicht selbst gekommen, sonder habe es in einem englisch sprachigen Forum entdeckt. Wenn nun aber jemand sein Profil im ursprünglichen Thread vorstellt erfährt niemand davon...

Außerdem denke ich, dass es einige User gibt, welchen zwar bestimmte Profile gefallen, dieses auch gerne hätten, aber nicht wissen wie man es umsetzt und nicht nachfragen wollen/trauen/... .

Auch hoffe ich, dass durch diese Step-by-Step Anleitungen noch mehr User dazu verleitet werden Tasker zu nutzen, was wiederum zu mehr Input hier im Forum führen würde. :)

Zum Schluss würde ich mich freuen, wenn du hier mal eines deiner Profil posten würdest. :-D

LG


PS: Falls es dich stört, dass der Thread angepinnt wurde, da bin ich unschuldig...
 
  • Danke
Reaktionen: sgs9000A, Gelöschtes Mitglied 342348 und munny
Hallo,

das Fullquote ist schon recht nervig, vor allem wenn man mit der App online ist. Aber Anturix hat dich ja eh schon darauf hingewiesen...
Trotzdem eine kurze Antwort auf die Frage: Ja!
Hier noch ein kurzer Task, denn viele von euch wahrscheinlich kennen und ihn so, oder so ähnlich verwenden.

Task: Gibt eine (neu) berechnete Uhrzeit, mit einer definierten Zeitdifferenz aus um diese z.B. als Trigger zu verwenden. Beispiel: 5 Minuten bevor der Wecker klingelt mache... (Weckzeit z.B. mit AutoAlarm)

Code:
Uhrzeit Trigger (68)
A1: AutoAlarm [ Configuration:No configuration needed Package:com.joaomgcd.autoalarm Name:AutoAlarm Timeout (Seconds):2 ] 
A2: Variable Set [ Name:%temp1 To:%hour Do Maths:Off Append:Off ] 
A3: Variable Set [ Name:%temp2 To:%minute Do Maths:Off Append:Off ] 
<Zeitdifferenz in Minuten eintragen>
A4: Variable Set [ Name:%zeitdifferenz To:-242 Do Maths:Off Append:Off ] 
A5: If [ %zeitdifferenz > 60 ]
A6: Variable Set [ Name:%count To:0 Do Maths:Off Append:Off ] 
<PlusStunde>
A7: Variable Subtract [ Name:%zeitdifferenz Value:60 Wrap Around:0 ] 
A8: Variable Add [ Name:%count Value:1 Wrap Around:0 ] 
A9: Goto [ Type:Action Label Number:1 Label:PlusStunde ] If [ %zeitdifferenz > 60 ]
A10: Variable Add [ Name:%temp1 Value:%count Wrap Around:0 ] 
A11: End If 
A12: If [ %zeitdifferenz < -60 ]
A13: Variable Set [ Name:%count To:0 Do Maths:Off Append:Off ] 
<MinusStunde>
A14: Variable Add [ Name:%zeitdifferenz Value:60 Wrap Around:0 ] 
A15: Variable Add [ Name:%count Value:1 Wrap Around:0 ] 
A16: Goto [ Type:Action Label Number:1 Label:MinusStunde ] If [ %zeitdifferenz < 60 ]
A17: Variable Subtract [ Name:%temp1 Value:%count Wrap Around:0 ] 
A18: End If 
A19: Variable Add [ Name:%temp2 Value:%zeitdifferenz Wrap Around:0 ] 
A20: If [ %temp2 < 0 ]
A21: Variable Subtract [ Name:%temp1 Value:1 Wrap Around:0 ] 
A22: Variable Add [ Name:%temp2 Value:60 Wrap Around:0 ] 
A23: End If 
A24: If [ %temp2 > 59 ]
A25: Variable Add [ Name:%temp1 Value:1 Wrap Around:0 ] 
A26: Variable Subtract [ Name:%temp2 Value:60 Wrap Around:0 ] 
A27: End If 
A28: If [ %temp2 < 10 ]
A29: Variable Set [ Name:%cache To:%temp2 Do Maths:Off Append:Off ] 
A30: Variable Set [ Name:%temp2 To:0%cache Do Maths:Off Append:Off ] 
A31: End If 
A32: Variable Join [ Name:%temp Joiner:. Delete Parts:Off ] 
A33: Flash [ Text:%temp Long:Off ]
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: avalon666
Ich lasse mir jeden Morgen, kurz nachdem der Wecker geklingelt hat, abgesehen vom Wetter, das Zitat des Tages mit folgendem Task vorlesen.

Task: Zitat des Tages vorlesen

Code:
Quote Of The Day (8)
A1: HTTP Get [ Server:Port:zitate.de Path: Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File:quotes.txt Trust Any Certificate:Off ] 
A2: Read File [ File:quotes.txt To Var:%quotes ] 

A3: Variable Split [ Name:%quotes Splitter:„ Delete Base:Off ] 
A4: Variable Split [ Name:%quotes2 Splitter:“ Delete Base:Off ] 
A5: Variable Set [ Name:%quoteoftheday To:%quotes21 Do Maths:Off Append:Off ] 

A6: Variable Split [ Name:%quotes Splitter:( Delete Base:Off ] 
A7: Variable Split [ Name:%quotes2 Splitter:( Delete Base:Off ] 
A8: Variable Set [ Name:%author To:%quotes21 Do Maths:Off Append:Off ] 

A9: Say [ Text:Das Zitat für den heutigen Tag stammt von %author. Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 
A10: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] 
A11: Say [ Text:%quoteoftheday Engine:Voice:com.ivona.tts:deu-DEU Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ] 

A12: AutoNotification [ Configuration:Title: Zitat des Tages von %author
Status Bar Icon: content_edit
Text Expanded: "%quoteoftheday" Package:com.joaomgcd.autonotification Name:AutoNotification Timeout (Seconds):0 ]
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: NitramAkloh und avalon666
Guten Morgen

Die Idee mit dem Inhaltsverzeichnis (analog den PlugIns) finde ich klasse. Ich habe letztens alle Seiten (44) vom anderen "Zeigt her.. " nochmal durchgelesen, weil ich was gesucht hatte. Am Ende stellte sich heraus, das Gesuchte war nicht dort, hatte ich woanders gesehen.

mfg

Der ursprüngliche Beitrag von 07:51 Uhr wurde um 08:04 Uhr ergänzt:

Hier mein Beitrag

aktuelle WhatsApp Nachricht vorlesen.
Vorr.: Root; SQLite; SecureSettings
 

Anhänge

  • WhatsApp_vorlesen.tsk.zip
    1,4 KB · Aufrufe: 556
  • Danke
Reaktionen: One8se7en, Oppossum und avalon666
Hallo,

dann will ich mal an meinem letzten Beitrag anschließen.
Nachdem die WhatsApp vorgelesen wurde hier ein Profil zum direkten antworten per Sprache.

benötigt werden: Autovoice; Whatstasker; Autoinput und Autoshortcut
 

Anhänge

  • WA_Absender_antworten.prf.xml.zip
    16,1 KB · Aufrufe: 280
  • WT_Variablen.prf.xml.zip
    6 KB · Aufrufe: 267
Zuletzt bearbeitet:
  • Danke
Reaktionen: Oppossum
Hallo!

Hier ein Beispiel-Task für ein Widget mit "Double-Tap"-Funktionalität. Bei einer Berührung wird Wifi getoggelt, Bei zwei Berührungen kommt man in die Wifi-Settings. Gerade beim Ein- oder Ausschalten vom WiFi stört die kurze Wartezeit ja nicht...

Code:
WifiWidget (26)
    Abort Existing Task
    A1: If [ %WifiTap = 1 ]
    A2: Variable Set [ Name:%WifiTap To:0 Do Maths:Off Append:Off ] 
    A3: WIFI Settings 
    A4: Else 
    A5: Variable Set [ Name:%WifiTap To:1 Do Maths:Off Append:Off ] 
    A6: Wait [ MS:300 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A7: Variable Set [ Name:%WifiTap To:0 Do Maths:Off Append:Off ] 
    A8: WiFi [ Set:Toggle ] 
    A9: End If
Wichtig: Bei den Task-Settings muss Collision Handling "Abort Existing Task" ausgewählt werden!

Hier gefunden:
Extending Home Screen Shortcuts in Android with Tasker


Grüße, Jürgen.
 
Zuletzt bearbeitet:
Hi!

Ich habe hier auch ein Whatsapp Vorlese Projekt selbst erstellt.

Die Hauptfunktion ermöglicht das Vorlesen von WhatsApp Nachrichten.

Was es von anderen unterscheidet: Gleichzeitig oder schnell aufeinanderfolgende Nachrichten werden auch nacheinander vorgelesen und unterbrechen den Ablauf nicht.

Weiterhin kann man auch direkt mittels Sprachkommandos der letzten Nachricht antworten oder eine neue Whatsapp Nachricht über Sprache verfassen.

Alle Tasks sind mit passenden Prioritäten versehen, so dass man beim Verfassen von neuen Nachrichten oder antworten nicht von eintreffenden Whatsapp Nachrichten unterbrochen wird. Sie werden im Anschluss vorgelesen.

Profil 1: Whatsapp Nachricht trifft ein
Task 1: Nachricht wird in Arrays gespeichert
->folge Task: Nachrichten werden Vorgelesen.
->folge Task: Antworten? Ja, Nein, Abbrechen sind die Auswahlmöglichkeiten über Sprachkommandos
-> Inhalt wird verfasst und kann mit Sprachkommandos bearbeitet werden.

Profil 2: Autovoice befehl
(whatsapp nachricht|nachricht|whatsapp) (an|zu) <Kontakt>
z.B nachricht an martin, whatsapp zu michael, whatsapp nachricht an Horst

Task 2:
-Abfrage ob Absender richtig, ja, nein oder abbrechen, falls nein wird wiederholt.
-Inhalt wird mit Autovoice abgefragt. Kann mit Sprachkommandos vor dem Absenden überprüft und geändert werden.

Benötigt wird nur WhatsTasker und AutoVoice
Hat man kein AutoVoice und möchte sich die Nachrichten nur Vorlesen lassen, braucht man nur die Variable %Answer auf "off" stellen.

http://ul.to/vur2jeed
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: qwoka, Oppossum, Audipower und eine weitere Person
Das aktuelle Hintergrundbild von Bing Deutschland als Launcher Hintergrund einstellen.


Code:
Hintergrund Ändern (39)
A1: HTTP Get [ Server:Port:www.bing.com Path:HPImageArchive.aspx Attributes:format=js
idx=0
n=1
mkt=de-DE Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ] 
A2: JavaScriptlet [ Code:var arr = [];
arr = JSON.parse(global("HTTPD"));

for (var i = 0; i < arr.images.length; i++) {
var newwallpaper = arr.images[i].url;
} Libraries: Auto Exit:On Timeout (Seconds):45 ] 
A3: Variable Section [ Name:%newwallpaper From:2 Length:255 Adapt To Fit:On Store Result In: ] 
A4: HTTP Get [ Server:Port:www.bing.com Path:%newwallpaper Attributes: Cookies: User Agent: Timeout:10 Mime Type:image/jpeg Output File:bing_wallpaper.jpg Trust Any Certificate:Off ] 
A5: Set Wallpaper [ Image:bing_wallpaper.jpg Scale:Off Crop:On ]
 
  • Danke
Reaktionen: NitramAkloh
Da einige auch Probleme mit Google play services wakelock haben und ihr Smartphone nicht mehr ins Tiefschlaf kommt. Hat eurochild auf xda ein profil in tasker erstellt.

Der Task schaltet die SystemUpdateService beim booten an und wieder aus.
Somit sollte das Smartphone wieder ins Tiefschlaf kommen.

Profile: Disable UpdateService (20)
Event: Device Boot
Enter: On Boot (21)
A1: Run Shell [ Command:pm enable com.google.android.gms/.update.SystemUpdateService Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]
A2: Run Shell [ Command:pm disable com.google.android.gms/.update.SystemUpdateService Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]


Und hier der original post von eurochild

http://forum.xda-developers.com/showpost.php?p=59350828&postcount=2360
 
  • Danke
Reaktionen: NitramAkloh, Martl74 und RacingSystems
Edit: ursprünglichen Post geändert

Ich hatte für mich eine Abfrage per Tasker der einzelnen Lautstärke-Profile incl. "Notify"-Hinweis zusammengebastelt. Dabei ergab sich nachfolgendes Problem:
Ich suchte einen Weg um eine Variable über einen Gerätereboot hinaus zu behalten. Wollte gerne, dass nach dem Reboot das vorher eingestellte Profil auch wieder eingestellt und für mich in der Notify-Leiste sichbar wird.

Meine nun benutzte Lösung sieht jetzt wie folgt aus:
Jedes Mal, wenn ein LS-Profil gewählt wird, habe ich die Notify Meldung darüber nun auch per Tasker Fuktion "File/WriteFile" in die Datei "gültigesProfil.txt" im Ordner Tasker/Cache auf sd0 geschrieben.
Um nun nach einem Reboot wieder zu sehen, welches Profil aktiv ist, habe ich den Einstellungstasks des Projekts "LS-Profile" noch den Task "Zeige Profil nach Boot" hinzugefügt in dem per "ReadLIne" Befehl die Datei "gültiges Profil.txt" ausgelesen und deren Inhalt per Notify angezeigt wird. Dieser wird hierzu per "Profiles/DeviceBoot" Trigger im richtigen Moment gestartet.

Das ist vielleicht noch nicht der "Olymp" der Programmierung, erfüllt aber seinen Zweck!
Ergebnis: per "WriteFile" und "ReadLine" Befehl lässt sich die oben beschrieben Aufgabe lösen.:thumbup:

Der Vollständigkeit halber Im Anhang: Projekt u. Scene (BTW: die gewünschten Lautstärkewerte der einz. LS-Profile müssen (noch) in Tasker eingestellt werden!)
 

Anhänge

  • wähle_LS-Profile.zip
    3,6 KB · Aufrufe: 161
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: Hastenichgesehen
Hier noch mal der vorletzte Tipp von xXB0URN3Xx mit der Bitte an alle Poster,
descriptions von Tasker in Code-Tags -> # zu setzen:

Code:
Profile: Disable UpdateService (20)
Event: Device Boot
Enter: On Boot (21)
A1: Run Shell [ Command:pm enable com.google.android.gms/.update.SystemUpdateService Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ] 
A2: Run Shell [ Command:pm disable com.google.android.gms/.update.SystemUpdateService Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]

Ich habe nämlich gegrübelt, was das heißen könnte -> :pm
 
  • Danke
Reaktionen: xXB0URN3Xx
Formatieren von Datum und Zeit:

Code:
FormatDateTime (8)
    A1: Variable Set [ 
           Name:%par1 
           To:dd.MM.yyyy, HH:mm 'Uhr'  ] 
           If [ %par1 !Set ]

    A2: Java Function [ 
           Return:format 
           Class Or Object:SimpleDateFormat 
           Function:new {SimpleDateFormat} (String) 
           Param:%par1 ]
 
    A3: Variable Set [ 
           Name:%par2
           To:%TIMES ] 
           If [ %par2 !Set ]
   
    A4: Variable Set [ 
           Name:%par2 
           To:%par2 *1000 
           Do Maths:On ] 

    A5: Java Function [
           Return:date 
           Class Or Object:Date 
           Function:new {Date} (long) 
           Param:%par2  ]
 
    A6: Java Function [ 
           Return:%retval 
           Class Or Object:format 
           Function:format {String} (Date) 
           Param:date ] 

    A7: Return [ 
           Value:%retval ]

Aufruf mit "Task ausführen".

%par1: Hier kann ein Formatstring übergeben werden. Die möglichen Platzhalter findet man hier: SimpleDateFormat | Android Developers. Text muss in Anführungszeichen, also z.B. 'Uhr'. Punkt, Komma usw. können direkt verwendet werden, z.B. HH:mm. Bleibt %par1 leer wird der Formatstring aus A1 verwendet (den natürlich jeder nach Bedarf ändern kann).

%par2: Erwartet eine Zeitangabe in Sekunden seit Epoche, also z.b. den Wert von %TIMES. Bleibt %par2 leer, wird die aktuelle Zeit %TIMES verwendet.

Beispiel:
Code:
A1 Perform Task [ 
      Name: FormatDateTime 
      Priority: %priority 
      Parameter 1 (%par1): cccc, 'KW' w, HH:mm 'Uhr' 
      Parameter 2 (%par2): 
      Return Value Variable: %time_string 
      Stop:Off ]
liefert in %time_string z.B. "Donnerstag, KW 22, 18:13 Uhr"

Das SimpleDateFormat-Objekt verwendet die im Handy eingestellte Lokalisierung, also bei den meisten vermutlich "Deutsch/Deutschland".


Grüße, Jürgen.

Anhang anzeigen FormatDateTime.tsk.xml.zip
 
  • Danke
Reaktionen: NitramAkloh
Ich poste hier ein Profil, das automatisch Geburtstagsgrüsse an WhatsApp Kontakte sendet, wenn diese Geburtstag haben. Ich konnte das Profil nicht ausführlich testen, sollte aber funktionieren.

Vorraussetzung:
Google Now wird zum Versand der Nachrichten verwendet, deshalb wird auch die Aktuellste Version von Google Now benötigt. Auch sollten in Google Now alle nötigen Einstellungen zur Verwendung der Sprachsteuerungsoption getroffen worden sein. Also testet vorher ob ihr mittels Google WhatsApp Nachrichten versenden könnt.
Die Plugins "AutoInout" und "AutoContacts" sollten installiert sein. Die letztere in der Kostenpflichtigen Variante, da in der Freeware nur die ersten 20 Kontakte unterstützt. Vor der Benutzung "AutoContacts" direkt Starten und die Kontaktliste aktualisieren.

Zu beachten:
Wenn der Kontakt, der als nächstes Geburtstag hat nicht in Whatsapp eingetragen ist, passiert nichts.
Sollte der Kontakt nicht erkannt werden, kann man in den Einstellungen von "AutoContacts" einen Nickname hinzufügen.
Das Profil kann leicht so verändert werden das stattdessen, eine SMS versendet wird.

Funtionsweise:
Als Auslöser habe ich einfach nur die Zeit genommen, 5-6 Uhr Morgens. Profil so eingestellt das es nur einmal am Tag aktiv wird.
Im Task überprüft Autocontacts welcher Kontakt als nächstes Geburtstag hat. Der Name des Kontaktes wird in der Variabel %NEXTBNAME gespeichert, das Datum des nächsten Geburtstags in der Variabel %NEXTBDATE.
Dann werden die Variabeln %NEXTBDATE und %DATE verglichen, also überprüft ob der Geburtstag heute ist. Wenn dem so ist wird an die Googlesuche der Text "sende whatsapp-nachricht an %NEXTNAME mit dem Inhalt Herzlichen Glückwunsch zum Geburtstag" gesendet. Was bei Google dann den Versand dieser Nachricht auslöst.
Danach betätigt AutoInput noch zweimal die Zurück-Taste, dies ist leider wirklich, wie ich festellen musste nötig, da es sonst beim versand der nächsten Nachricht Probleme geben kann.
[doublepost=1448787733,1448787163][/doublepost]Im Anhang findet Ihr einen Task der die aktuelle Externe IP Adresse (IPV4 wie auch IPV6) protokolliert und mit Datum und Uhrzeit in eine Datei schreibt.
Das passende Profil zum Auslösen des Task könnt Ihr euch selber gestalten, z.b. beim Hochfahren des Smartphones oder zu einer bestimmten Uhrzeit etc.
 

Anhänge

  • Geburtstagsgrüsse.prf.zip
    2,7 KB · Aufrufe: 182
  • IP_Protokolieren.tsk.zip
    572 Bytes · Aufrufe: 154
  • Danke
Reaktionen: Lachgas
Lachgas schrieb:
nicht ausgetestet und mit jeder Menge zu erfüllender Grundbedingungen versehen.
Ob das so viele Anwender begeistert?

Trotzdem schön, dass Du uns Deine Kreation hier reinschiebst.:thumbup:
Wenn ich es so auch nicht verwenden werde, so lerne ich doch gerne aus den Ergebnissen anderer Problemlösungen.

In diesem Sinne, mach weiter so!

Getestet habe ich es schon. Aber ob es auch ausserhalb der "Laborbedingungen" funktioniert, weiss ich erst wenn mein nächster Kontakt Geburtstag hat :)
Das bestimmte Plugins installiert sein müssen, ist wohl eine Annehmbare und Verständliche Vorraussetzung. Auch das eine Aktuelle Version der Google App installiert sein sollte.
 

Ähnliche Themen

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