Ich empfehle den Umstieg auf den Dienst todoist und das Modul 98_todoist. wunderlist wird seinen Dienst in naher Zukunft einstellen. todoist ist eine sehr gute Alternative zu wunderlist und bietet aktuell sogar deutlich mehr, als das als deprecated eingestufte wunderlist. Weiterentwicklungen (u.a. Frontend) wird es vermutlich nur noch im todoist Modul geben. Ein kleines Modul zum Lesen einer wunderlist-Taskliste und zum erstellen oder ändern von Tasks in einer wunderlist. Das Modul tut bei mir eine Weile seinen Dienst. Benötigt wird ein wunderlist-Konto sowie die CLIENT-ID und ein ACCESS-TOKEN aus einer App (Entwicklerbereich). Support dazu gibt es bei wunderlist, nicht hier!
Als APP URL und AUTH CALLBACK URL kann jeweils
http://127.0.0.1 eingegeben werden.
Eine Taskliste kann folgendermaßen definiert werden:
define <name> wunderlist <CLIENT-ID> <LIST-ID>
Die ID der Liste kann als Anwender der URL entnommen werden, wenn man im Browser eine der wunderlist Listen aufruft. Der Access-Token wird über set gesetzt und verschlüsselt abgelegt.
Eine kleine Doku ist im Modul. Man benötigt die Perl-Module JSON, Data::Dumper and MIME::Base64. Das Modul ruft die Daten in einem Interval (Standard 1800 Sekunden) über die wunderlist-API ab. Das Interval ist über das Attribut pollInterval konfigurierbar, es darf aber nicht unter 600 Sekunden liegen. Das Modul sollte non-blocking sein. Neue Tasks können mit Optionen erstellt werden.
Das Modul wird zusammen mit einem FHEMWEB weblink-Widget geliefert (siehe Anlage). Damit das funktioniert, muss die Datei wunderlist.js aus dem git nach
<FHEMPFAD>/www/pgm2/
kopiert werden.
Der weblink wird dann bspw. so definiert:
define Einkaufsliste weblink htmlCode {wunderlist_Html("wunderlist_Einkaufsliste")}
für eine spezielle Liste. Dabei muss wunderlist_Einkaufsliste durch euer wunderlist-Device ersetzt werden.
define Einkaufslisten weblink htmlCode {wunderlist_AllHtml()}
für alle Listen im fhem-System nebeneinander.
Feedback ist gerne gesehen, Support zum Modul gibt es hier (nicht in Echtzeit), Support zu wunderlist oder der API nicht (da gibt es bessere Quellen).
Was ihr damit anfangen könnt, ist eurer Phantasie überlassen. Ich nutze es, um abends und/oder morgens noch einmal an die noch offenen Punkte einer gemeinsamen Einkaufsliste zu erinnern.
Installation:
update all https://raw.githubusercontent.com/marvin78/FHEM-wunderlist/master/controls_wunderlist.txt
Download: https://github.com/marvin78/FHEM-wunderlistBeispiele:
Setze einen neuen Punkt auf die Einkaufsliste:set Einkaufsliste addTask 3 Brötchen
Setze einen neuen Punkt auf die Einkaufsliste und setze ein Fälligkeitsdatum:set Einkaufsliste addTask 3 Brötchen due_date=2017-01-13
Ändere einen Punkt auf der Einkaufsliste (mit wunderlist-ID):set Einkaufsliste updateTask ID:12345678 title='5 Brötchen' due_date='2017-01-12'
Ändere einen Punkt auf der Einkaufsliste (mit FHEM-ID):set Einkaufsliste updateTask 2 title='5 Brötchen' due_date='2017-01-12' remove=starred,recurrence_type
Einen schon erledigten Task auf unerledigt setzen (mit wunderlist-ID):set Einkaufsliste updateTask ID:12345678 completed='false'
Einen schon erledigten Task auf unerledigt setzen (mit FHEM-ID):set Einkaufsliste updateTask 5 completed='false'
Hake einen Punkt auf der Einkaufsliste ab (mit wunderlist-ID):set Einkaufsliste completeTask ID:12345678
Hake einen Punkt auf der Einkaufsliste ab (mit FHEM-ID):set Einkaufsliste completeTask 3
Lösche einen Punkt von der Einkaufsliste (mit wunderlist-ID):set Einkaufsliste deleteTask ID:12345678
Lösche einen Punkt von der Einkaufsliste (mit FHEM-ID):set Einkaufsliste deleteTask 3
Lösche alle Tasksset Einkaufsliste clearList
Updates:Update: count Reading hinzugefügt.
Update 14.08.2016: UTF8 für Task Title, Readings count und listText korrigiert
Update 14.08.2016 (2): einfache Taskerstellung per newTask (bisher nur mit Titel)
Update 14.08.2016 (3): ID des Tasks wird als Reading bereit gestellt. Außerdem werden auch assignee_id und assigner_id ausgelesen.
Update 15.08.2016: Task kann über FHEM-Reading ID abgeschlossen werden (completeTask)
Update 16.08.2016: deleteTask löscht einen Task, newTask in addTask umbenannt.
Update 26.09.2016: addTask mit due_date erweitert.
Update 24.12.2016: alphabetisches Sortieren mit sortTasks
Update 06.01.2017: Ansprache der Tasks über ihre wunderlist-ID, zusätzliche Parameter bei addTask möglich
Update 07.01.2017: updateTask, neue Readings (Parameter des Tasks)
Update 09.01.2017: clearList (löscht alle Tasks der FHEM-Liste), Attribut "getCompleted" holt auch erledigte Aufgaben ab
Update 11.01.2017: User zur Liste werden ausgelesen
Update 14.01.2017: X_Copy und X_Delete eingebaut
Update 24.02.2017: attr <NAME> sortTasks 2 sortiert die Tasks in wunderlist Reihenfolge
Update 18.01.2017: neue weblink Widgets
Update 19.01.2017: Widget für mehrere Listen kann nun mit Filer (nach Devspec) versehen werden