Manage Tasklists with wunderlist and FHEM
-
A module to get a task list as readings from wunderlist. Tasks can be completed and deleted.
- JSON, Data::Dumper and MIME::Base64 have to be installed on the FHEM host.
- accessToken - set the access token for your wunderlist app
- active - set the device active (starts the timer for reading task-list periodically)
- inactive - set the device inactive (deletes the timer, polling is off)
- newAccessToken - replace the saved token with a new one.
- getTasks - get the task list immediately, reset timer.
- addTask - create a new task. Needs title as parameter.
set <DEVICE> addTask <TASK_TITLE>[:<DUE_DATE>]
Additional Parameters are:
- dueDate (due_date)=<DUE_DATE> (formatted as an ISO8601 date)
- assignee_id=<ASSIGNEE_ID> (integer)
- recurrence_type=<RECURRENCE_TYPE> (string)
- recurrence_count=<RECURRENCE_COUNT> (integer - is set to 1 if recurrence_type is given and recurrence_count is not)
- starred="true"|"false" (string)
Example:set <DEVICE> addTask <TASK_TITLE> dueDate=2017-01-15 starred=1 recurrence_type='week'
- updateTask - update a task. Needs Task-ID or wunderlist-Task-ID as parameter
Possible Parameters are:
- dueDate (due_date)=<DUE_DATE> (formatted as an ISO8601 date)
- assignee_id=<ASSIGNEE_ID> (integer)
- recurrence_type=<RECURRENCE_TYPE> (string)
- recurrence_count=<RECURRENCE_COUNT> (integer - is set to 1 if recurrence_type is given and recurrence_count is not)
- starred="true"|"false" (string)
- completed="true"|"false" (string)
- title=<TITLE> (string)
- remove=<TYPE> (comma seperated list of attributes which should be removed from the task)
Examples:
set <DEVICE> updateTask ID:12345678 dueDate=2017-01-15 starred=1 recurrence_type='week'
set <DEVICE> updateTask 1 dueDate=2017-01-15 starred=1 recurrence_type='week'
set <DEVICE> updateTask 2 remove=due_date,starred
<br /><br /> <li><b>completeTask</b> - completes a task. Needs number of task (reading 'Task_NUMBER') or the wunderlist-Task-ID (ID:<ID>) as parameter</li><br /> <code>set <DEVICE> completeTask <TASK-ID></code> - completes a task by number<br > <code>set <DEVICE> completeTask ID:<wunderlist-TASK-ID></code> - completes a task by wunderlist-Task-ID<br ><br /> <li><b>deleteTask</b> - deletes a task. Needs number of task (reading 'Task_NUMBER') or the wunderlist-Task-ID (ID:<ID>) as parameter</li><br /> <code>set <DEVICE> deleteTask <TASK-ID></code> - deletes a task by number<br > <code>set <DEVICE> deleteTask ID:<wunderlist-TASK-ID></code> - deletes a task by wunderlist-Task-ID<br ><br /> <li><b>sortTasks</b> - sort Tasks alphabetically<br /><br /> <li><b>clearList</b> - <b><u>deletes</u></b> all Tasks from the list (only FHEM listed Tasks can be deleted) </ul> <br /> <a name="wunderlist_Attributes"></a>
Attributes
- readingFnAttributes
- do_not_notify
- disable
- pollInterval get the list every pollInterval seconds. Default is 1800. Smallest possible value is 600.
- sortTasks
- 0: don't sort the tasks
- 1: sorts Tasks alphabetically after every update
- 2: sorts Tasks in wunderlist order
- getCompleted get's completed Tasks from list additionally.
<a name="wunderlist_Readings"></a>
Readings
- Task_XXX
the tasks are listet as Task_000, Task_001 [...]. - Task_XXX_dueDate
if a task has a due date, this reading should be filled with the date. - Task_XXX_ID
the wunderlist ID of Task_X. - Task_XXX_starred
if a task is starred, this reading should be filled with the 1. - Task_XXX_assigneeId
if a task has an assignee, this reading should be filled with the the corresponding ID. - Task_XXX_recurrenceType
if a task has recurrence_type as attribute, this reading should be filled with the type. - Task_XXX_recurrenceCount
if a task has recurrence_type as attribute, this reading should be filled with the count. - Task_XXX_completedAt
only for completed Tasks (attribute getCompleted). - Task_XXX_completedById
only for completed Tasks (attribute getCompleted). - User_XXX
the lists users are listet as User_000, User_001 [...]. - User_XXX_ID
the users wunderlist ID. - listText
a comma seperated list of tasks in the specified list. This may be used for TTS, Messages etc. - count
number of Tasks in list. - error
current error. Default is none. - lastCompletedTask
title of the last completed task. - lastCreatedTask
title of the last created task. - lastDeletedTask
title of the last deleted task. - lastError
last Error. - state
state of the wunderlist-Device
As preparation to use this module, you need a wunderlist account and you have to register an app as developer. You will need a CLIENT-ID and an ACCESS-TOKEN.
Notes:
Define
define <name> wunderlist <CLIENT-ID> <LIST-ID>
CLIENT-ID: You can get this ID, if you register an app at wunderlist.
LIST-ID: This ID can bee taken from the URL of your specified list on the wunderlist web page.
Example:
define Einkaufsliste wunderlist bed11eer1355f66230b9 257528237
Set