Hi, I am trying to find a way to use my HE to make easier to take care of basic home tasks: empty the dishwasher, take trash out, wash the windows, etc.
My main issue here is User Experience: how can I make easy for users to register and visualise tasks and mark them as done?
I am thinking here of some sort of dashboard that let's me view the tasks for the day and easily mark them as done.
Ideally I could also use Rule machine to trigger behaviors in case, for example, the trash hasn't been taken out for many days.
Any idea of dashboard or task management app that could handle this?
Set up each task as a virtual switch with on/off. You can then turn on the switch each AM or through a rule machine (if it is friday, turn on the following tasks). Once turned on, the user can visually see the required tasks and mark them complete (off).
This can then be set up as dashboards for each person. The go to the Dashboard Menu and then select their tasks. Alternatively, you could place the task switches into person-rooms and using the Phone App - Devices page, they just scroll down to their task room.
PS - This is also a good idea for persons memory issues to remind them to do certain daily tasks: Check in with child, Take Medications, Appointment today, etc.. Being old, I think of these alternative uses.
You could also write rules/notifications to notify of these tasks during the day (if on at 5PM, send notification or audio alert to a device). For example, at 9PM, send an audio alert with all switches on.
I have not thought any of this out in detail. This is a basis KISS solution. There are probably more elegant solutions available.
Here is a Google Calendar integration that could help with @djgutheinz’s idea to have switches turned on for each task. Some are using it as a reminder to take down the trash can every week. The Google API setup is a bit tricky but once setup you won’t ever need to touch it.
I love the switches ideas above, especially the Google Calendar Search. That's how I do it. Then stick an NFC tag somewhere on the dishwasher door, where you keep the garbage bags, by the Windex, etc. When the user taps their phone on the NFC tag have Tasker for Android send an HTTP request to turn the switch off.
Yeah, I consider that too, but them I will have to manually mark some tasks as done while (some of them) could be automatically marked as done via HE rule machine.
Also, I want to create some kind of visual notification at my home when tasks have been late for a while and up the tasks checking on hold if, for example, I am travelling.
Via Google console there is a task API too. My GCal integration could be extended to sync a switch with tasks I believe. I use calendar entries instead because repeating tasks don’t generate separate entries and I personally never found a good use case for them. I did explore them for an alarm type function but again ended up using calendar entry instead.
Thanks for the great input so far, guys! So far, this is what I will try to implement: Let's say I have in my calendar for tomorrow "Empty trash bin". I assume the event would have to be an all day event (my understanding is that the event has an end time the Google Calendar Search app will toggle the switch off). The user empties the trash bin and click on the virtual switch, marking it as done. Next day if we have another identical event my Rule machine will turn toggle the switch again.
However, I see a potential issue: If the user misses doing a task during a certain day, next day if that task isn't in the calendar (let's say it is a once-a-week task) then the switch will be toggled to OFF, no longer telling the user he needs to do that task. I guess this part is more a discussion for the Google Calendar Search thread...
The Google calendar search solution is designed to toggle a switch based on a calendar event start and end time. It won’t meet all your use cases of being a task engine with potential delayed completion of tasks.
Are you able to accomplish what you want in Google tasks? If yes I believe my app could be extended to the task api and toggle a switch if a task is scheduled and then if you toggle the switch the task is marked complete. Again I haven’t done this but believe the APIs exist to do this.
Yes, the proposed behaviour you mentioned using Google Calendar Task would work!
-So every day the app would search for tasks within the selected period.
-If the task exists, a virtual switch linked to it would be toggled (to off)
-If it does not exists, nothing changes with the virtual switch (i.e. we keep the state it already has, thinking here of cases when the user misses doing the task the previous day).
Ideally, I wish we could hide the virtual switches that are "Done" and relate to tasks that are not in the calendar for the day. (so, e.g., you would see a switch for window cleaning one the day for it arrives) But that's it not a deal breaker
Let me know if you need any help with testing or troubleshooting this. I used to be a software developer in the past, but I never created any code for Hubitat.
@maxnet21 I spent a little time yesterday editing my app to work with the Task API. Unfortunately it is not as straight forward as I had hoped because the Oauth credential type of “TVs and limited input devices” that my app uses doesn’t allow access to the Task API. Calendar isn’t listed either yet it works - there have been several changes by Google since I published the integration a few years ago and hoping this doesn’t break the calendar integration. Regardless this will require a complete overhaul to the code to get this working that unfortunately I don’t have time for at the moment.
I will let you know if I do find some time to tackle this in the future. If you or anyone else wants to try to adjust the app please feel free as I am happy to accept pull requests.
Alternatively, if you could add parameters to your Calendar app to not toggle off a virtual Switch when the event starts that could also enable me to achieve my result. What I imagine is like:
-Configure your App on my HE as usual. However:
-When the event starts the app toggles the virtual switch
-With the additional parameter, I could set it to not toggle it back when the event ends. So the switch is on until the user manually switches it off.
-Additionally, having the option for "do nothing" when the app does not find the event for that day (today you have a parameter that allows to set it on or off). This way, a once a week task would not be automatically switch if the user doesn't do it in the day he supposed to do.
This means that I could use calendar events as usual, and have the "Run dishwasher" task to be marked as "done" only when the user manually toggles the virtual switch.
You probably wouldn't want to do this anyway because what if someone accidentally toggles "done" on the wrong task? Also maybe you wouldn't want to immediately send to google - but have an evening routine that updates it and maybe sends a report or something, unless real time is important...
Circling back to this thread with an update made in the official Google Calendar Search thread. Long story short a major overhaul of the Google Calendar Search app is underway and that will include the ability to integrate with Google Tasks too.
@maxnet21 As I progress along with adding the Google Task API search I am finding that the API isn't supplying everything. In the UI, I can set a due date and time:
But notice when I query the API for the task details, the due date comes back at Midnight:
I am also finding an anomaly with daily repeating tasks too. I set up 3 as a test:
"old task" - single task with no repeat due on 1/20 that was not marked complete
Task lists correct due date of 1/20
"Daily past due" - Daily repeating where yesterday's was not marked complete
Task lists incorrect due date of today 1/22
"Daily Up to date" - Daily repeating where yesterday's was marked complete
The Google web UI shows everything correct with the uncompleted task showing up. So I need some guidance here on if this will work with your use case. Repeating tasks seem to be problematic but with my short testing window I am having to use daily repeating so weekly might not be as big of a deal assuming you complete the tasks within the week.
My other motivation getting tasks to work was for reminder or alarm clock type scenarios where I want something to happen at a specific time. Without the actual due date and time correctly coming across Tasks won't work. Definitely disappointed in this API.
Before I spend any more time on this I wanted to get your feedback. Thanks!
Hi @ritchierich,
So if I understand it right
-you get the data about the tasks but not the due date time.
-for repeating tasks, it seems that tasks not marked as done gets the due date updated (so I assume the would only go away once you mark them as done?)
If what I understood about is correct, I think your functionality still can help me. I get tasks that need to be done everyday, if the task is not done it will keep coming up... I can live with that and it even make sense in some cases.
Did you manage to mark the task as done via API?
If you manage to mark the task as done I can live with the limitations on Due date time.
Thanks!
@maxnet21 Please see my official beta announcement post that adds Google Task search capabilities. Given you don't care about the time part of the dates hopefully this will meet your needs. I did one final test of adding a weekly recurring task and it remained overdue with yesterday's date. I am sure if the task persists beyond the weekly recurrence it will update to the following week's date. Toggling (use this word since you have the option to make the switch On or Off when a matching task is found) the switch will mark the task complete in Google.
Now this said I really don't use Dashboards so that part of your use case will need to be developed on your own or making use of the many tiles capabilities that exist in this community. I am certainly open to changes within this app if they make sense to make that easier but I don't want to bloat the app with a bunch of unnecessary code.
We can call this thread complete from my side. Please post any issues with the Beta in the official thread above.