Termin in Kalender

  • 11 Antworten
  • Letztes Antwortdatum
C

chestervomkortenhof

Neues Mitglied
6
Hallo,

ist es möglich in Tasker per Autovoice einen Kalendereintrag zu erstellen ?

Ich möchte gerne sagen z.B.: "Neuer Termin", "Terminname", "Datum", "Uhrzeit"
Dann soll automatisch in einem vorgegebenem Kalender der Termin angelegt werden.
Ort, Anfang und Ende oder ganztägig kann erstmal weggelassen werden.
Klar, könnte man per Autowear alles noch einbinden.

Hintergrund ist, das es mit Android Wear momentan noch nicht möglich ist, Kalendereinträge vorzunehmen.
Es sind nur Notizen möglich.
 
Habe nun schon mal den Kalendereintrag mit Calendar Insert hinbekommen.

Wie aber komme ich auf ein anderes Datum ?
Es gibt dort ja nur In / For (Minutes)

Muss ich da etwas mit Variablen machen ?
Wie lässt sich denn ein bestimmtes Datum ausrechnen ?
 
Hallo!

chestervomkortenhof schrieb:
Muss ich da etwas mit Variablen machen ?
Ja.


chestervomkortenhof schrieb:
Wie lässt sich denn ein bestimmtes Datum ausrechnen ?
Das ist ein bisschen tricky. Am besten rechnet man alles in Sekunden um und bildet die Differenz mit %TIMES.

Kenne mich mit AutoVoive nicht aus. In welchem Format hast du denn momentan die Daten in Tasker zur Verfügung? Datum und Uhrzeit müsste in die Form "YYYYMMDD HH.mm" gebracht werden. Für den Rest, hier ein Beispiel:

Code:
Test (42)
    A1: Variable Set [ 
          Name:%title 
          To:Test 
          Do Maths:Off 
          Append:Off ] 

    A2: Variable Set [ 
          Name:%date 
          To:20150218 18.30 
          Do Maths:Off 
          Append:Off ] 
  
    A3: Variable Set [ 
          Name:%duration 
          To:120 
          Do Maths:Off 
          Append:Off ] 
    
    A4: Variable Convert [ 
          Name:%date 
          Function:Date Time to Seconds 
          Store Result In:%seconds ]
 
    A5: Variable Set [ 
          Name:%minutes 
          To:floor((%seconds-%TIMES)/60)  
          Do Maths:On 
          Append:Off ]
 
    A6: Calendar Insert [ 
          In / For (Minutes):%minutes / %duration 
          Calendar:Google:a@b.c 
          Title:%title 
          Description: 
          Location: 
          Available:Off 
          All Day:Off ]
Wäre schön, wenn man für "Available" und "All Day" auch Variablen verwenden könnte.


Grüße,

Jürgen.
 
Hallo,

habe es jetzt schon mit Hilfe von androidkoller hinbekommen,eine Eintrag am 18.02.2015, wie im Beispiel, mit Autovoice in den Kalender einzutragen.

Habe dabei einen Titel über Autovoice generiert und %Duration erst mal weggelassen.

Das größte Problem momentan ist noch das Datum umzuwandeln.
Wenn ich in Autovoice ein Datum spreche wird z.b. folgendes erkannt:
achtzehnter Februar 2015 18 Uhr 30

Wie kriege ich das denn nun noch umgewandelt ?
 
Gute Frage - das Problem das ich mal bei einem ähnlichen Projekt hatte war, dass AutoVoice die Zahlen manchmal als Zahl selbst und dann wieder ausgeschrieben erstellt hat.

Ich wusste dann nicht wie ich z.B. "achtzehnter" in 18 umwandeln konnte.

Wenn er aber 18 Februar 18 Uhr 30 erkannt hat und als Variable abspeichert kannst du die Variable einfach teilen.

Eventuell ist eine getrennte Eingabe leichter zu realisieren, auch wenn es weniger schön ist.
 
Wie mache ich das denn mit einer getrennten Eingabe.
Also Abfrage Terminname, Jahr, Monat, Tag, Uhrzeit ?

Habe da was versucht:
Termin (121)
A1: Variable Set [ Name:%title To:%avcommnofilter Do Maths:Off Append:Off ]
A2: AutoVoice Recognize [ Configuration:

Prompt Text: Jahr
Voice command without headset
Command: "all" Package:com.joaomgcd.autovoice Name:AutoVoice Recognize Timeout (Seconds):120 ]
A3: Variable Set [ Name:%jahr To:%avcommnofilter Do Maths:Off Append:Off ]
A4: AutoVoice Recognize [ Configuration:

Prompt Text: Monat
Voice command without headset
Command: "all" Package:com.joaomgcd.autovoice Name:AutoVoice Recognize Timeout (Seconds):120 ]
A5: Variable Set [ Name:%monat To:%avcommnofilter Do Maths:Off Append:Off ]
A6: AutoVoice Recognize [ Configuration:

Prompt Text: Tag
Voice command without headset
Command: "all" Package:com.joaomgcd.autovoice Name:AutoVoice Recognize Timeout (Seconds):120 ]
A7: Variable Set [ Name:%tag To:%avcommnofilter Do Maths:Off Append:Off ]
A8: Variable Set [ Name:%date To:%jahr%monat%tag 18.30 Do Maths:Off Append:Off ]
A9: Variable Convert [ Name:%date Function Date Time to Seconds Store Result In:%seconds ]
A10: Variable Set [ Name:%minutes To:floor((%seconds-%TIMES)/60) Do Maths:On Append:Off ]
A11: Calendar Insert [ In / For (Minutes): Calendar:Google:Familie Title:%title Description: Location: Available:Off All Day:Off ]


Klappt aber nichts.
Und wie fügt man das hier richtig ein ?

Hier
https://groups.google.com/forum/#!msg/tasker/Nsqh3-q8Ey4/jhoazfkDhF4J und
Voice Calendar - Tasker Projects

hat das wohl schon jemand hinbekommen.
Aber so aufwendig möchte ich es gar nicht haben.

Aber wäre toll, wenn das jemand mal in deutsch übersetzen könnte und erklären könnte, wie das funktioniert.
 
Zuletzt bearbeitet:
Hallo,

Aber wäre toll, wenn das jemand mal in deutsch übersetzen könnte und erklären könnte, wie das funktioniert.

Keine Ahnung, da ist man glaube ich einen Moment beschäftigt, um das auseinander zu pflücken.

Am einfachsten löst man das imho mit einem Java-Script...

Grüße, Jürgen.
 
Kannst du mir denn zeigen, wie ich es nur mit der Abfrage von Terminname, Jahr, Monat, Tag, Uhrzeit mache ?

Danke,
chester
 
Ja, aber erst nach dem Champions-League-Spiel :biggrin:
 
Hallo,

eine erste Testversion ist fertig (siehe Anhang).

Beispieltask:
Code:
JavascriptTest (45)
    A1: Variable Set [ 
          Name:%path 
          To:/storage/sdcard1/data/tasker/ConvertEventData.js ]
 
    A2: Variable Set [ 
          Name:%data To:Stammtisch achtzehnter Februar 2015 18 Uhr 30 Dauer 2 Stunden] 

    A3: JavaScript [ 
          Path:%path]
 
    A4: Notify [ 
          Title:%title; %data]
 
    A5: Calendar Insert [ 
          In / For (Minutes):%data  
          Calendar:Google:a@b.c 
          Title:%title
          Description: 
          Location: 
          Available:Off 
          All Day:Off ]
  • Die .js Datei aufs Handy kopieren und den Pfad in A1 anpassen.
  • JavaScript findest du unter Action->Code->JavaScript.
  • A2: die Variable mit Titel, Datum, Uhrzeit und Dauer MUSS %data heißen. Also ändern zu "Name:%data To:%avcommnofilter" oder so ähnlich.
  • A4/A5: %title kommt ebenfalls aus dem Script und darf auch nicht geändert werden.


Das Script sollte folgendes verarbeiten können:

  • Stammtisch achtzehnter Februar 2015 18 Uhr 30 Dauer 2 Stunden
  • Stammtisch achtzehnter Februar 2015 ein Uhr 30 Dauer eine Stunde
  • Stammtisch achtzehnter Februar 2015 18 Uhr 30 Dauer 40 Minuten
  • Stammtisch achtzehnter Februar 2015 18 Uhr Dauer 40 Minuten
  • Edit: ohne Dauer sollte auch gehen, dann wird eine Stunde im Kalender eingetragen.

Bitte mal ausprobieren. Der Titel darf momentan nur aus einem Wort bestehen. Das müsste man noch anpassen, ist mir aber erst aufgefallen als alles fertig war...:confused2:


Und vermutlich sind da auch noch Fehler drin; Kommentare und Exception-Handling gibt es auch noch nicht.


Grüße, Jürgen.


Anhang anzeigen ConvertEventData.zip
 
Zuletzt bearbeitet:
Wow!
Leider klappt es nicht ohne die Angabe einer Dauer.
Wie kann ich deinen Task ändern, das keine Dauer angegeben werden muss und z.b. immer Dauer auf 1 Stunde gestellt wird ?
Oder kannst du nochmal nachschauen, ob es bei dir ohne Angabe einer Dauer klappt ?
 
Zuletzt bearbeitet:
Das kommt davon, wenn man zwei Sachen ändert und nur eine testet.

Aktualisierung im Anhang. Sollte jetzt funktionieren...

Grüße, Jürgen.

Anhang anzeigen ConvertEventData.zip
 

Ähnliche Themen

0
Antworten
4
Aufrufe
518
0karsten
0
android-micha
Antworten
12
Aufrufe
987
android-micha
android-micha
Zurück
Oben Unten