architecture icon indicating copy to clipboard operation
architecture copied to clipboard

New 'task' domain

Open iantrich opened this issue 6 years ago • 19 comments
trafficstars

I would like to propose a new 'task' domain that would be for task related components; e.g. Todoist, Rememberthemilk, our Shopping List, etc.

The calendar domain doesn't quite fit these services.

I plan to swing back around to this idea and try to define some clear requirements and supported features for the domain as a whole.

iantrich avatar Feb 14 '19 14:02 iantrich

Good idea. Then we can also implement syncing with Alexa to do lists 👍

Things that come to mind: Support for different lists. Add, Update, Remove, Clear completed. Move (up/down/indent/unindent?)

balloob avatar Feb 14 '19 19:02 balloob

Shared family chores that are distributed to whoever is home when they need doing.

I'm sure it sounds crazy to someone else, but it's my dream.

On Thu, Feb 14, 2019 at 1:23 PM Paulus Schoutsen [email protected] wrote:

Good idea. Then we can also implement syncing with Alexa to do lists 👍

Things that come to mind: Support for different lists. Add, Update, Remove, Clear completed. Move (up/down/indent/unindent?)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/home-assistant/architecture/issues/149#issuecomment-463757495, or mute the thread https://github.com/notifications/unsubscribe-auth/ABR-vzX3qxJW21dOjuEV-o6H7sWwo45iks5vNbedgaJpZM4a7uwG .

nelsonblaha avatar Feb 14 '19 19:02 nelsonblaha

Google Keep ( https://keep.google.com ) component would be nice for 'to-do' tasks and 'shopping list' stored on Google Keep.

image

image

There is unfortunately not an official public API for Google Keep in the G Suite yet, but there unofficial clients, like example:

https://github.com/kiwiz/gkeepapi

Google Assistant, including Google Express app and Google Home apps/speakers/displays/hubs, has a default Shopping List feature as well which is (again) stored in the above mentioned Google Keep

https://9to5google.com/2018/10/19/google-assistant-shopping-list-google-keep/

Our family uses the Google Keep shopping list feature through Google Keep/Assistant/Home/Express.

More on Google Keep in wikipedia => https://en.wikipedia.org/wiki/Google_Keep

Another popular online organization app/service based around the core idea of having 'to do' task lists is "Todoist", check out:

https://todoist.com/en

https://todoist.com/features

image

Hedda avatar Feb 15 '19 14:02 Hedda

I was looking at Trello Board integration. So far I just include a counter of outstanding tasks (cards) for the day (before the TV can be switched on ....)

Data-Monkey avatar Mar 22 '19 04:03 Data-Monkey

'been spending some time thinking about this... what about instead of a task domain we make it a checklist_sensor similar to the binary_sensor naming convention. I've been working on a ourgroceries component for a little while but getting myself reacquainted with the codebase makes me think i should migrate the current stand-alone shopping_list component into a shopping_list component that inherits a checklist_sensor domain.

a few things i see existing in the checklist_sensor domain are "tasks" withthe ability to ~~(add/remove/complete/clear-complete/list-all/list-last-x. )~~ track name and weight. This would allow us to rank each item, or track quantity, along with the name. Each component can chose to use weight or default to a value of 1 ... a Task list could ignore the weight field and set at 1, or use it to display importance and sort order. A shopping list might want the qty of items and use the weight field to track qty. Up to each of the components that way.

anything i'm missing? objections?

EDIT: clarify.

pironic avatar May 02 '19 16:05 pironic

Not all integrations will support all those options, would be my only point. So you'll need a way to track what is supported for each integration. Otherwise it sounds good.

iantrich avatar May 02 '19 16:05 iantrich

Just for info, I am using this custom component, working great, but ifttt still needed to say the task ingredient...

Maybe you can pull some ideas...

https://github.com/aFrankLion/hass-google_keep

pergolafabio avatar May 02 '19 16:05 pergolafabio

@nelsonblaha happened to be looking at this today and it is worth mentioning that with grocy and this grocy-chores-card you can track chores now

iantrich avatar Aug 29 '19 21:08 iantrich

Hi, I'd like to understand the status of this. Is the 'tasks' domain still being pursued, is the new focus more on 'checklist_sensor' or has it been abandoned at all because of non-local alternatives like Grocy or Google Keep? Reason I ask is that I"m not so keen on keeping my information outside of my own server, and the current shopping lists works just perfect (other than that you can only one of them, the reason for my search leading to this topic). I'm willing to assist where possible, test if needed etc, but wanted to know the status first as this thread is almost half a year since its last update.....

BigCabbage avatar Mar 23 '20 12:03 BigCabbage

Well, google start to shutdown all public api access. Would be hard to have long term Google Keep integration...

pvizeli avatar Mar 23 '20 16:03 pvizeli

At last, the tasks domain was just a discussion... although I set out to start working on it, I was pulled in other directions and have not made much progress. If you have the time, contributions would be welcome.

pironic avatar Mar 23 '20 17:03 pironic

In addition the things balloob's outlined that should be services (so they could easily integrate with other list management apps/programs), some higher level stuff to keep in mind: list management.... renaming list, merging lists, exporting lists (JSON?), deleting lists. And maybe user-based stuff... private lists per user, shared lists between users [which might allow for transferring a list between users]. Not sure, which, if any, of those should also be services. Just ideas to keep in mind while architecting.

mrand avatar May 01 '20 16:05 mrand

As mentioned before, came here when trying to find a way to have multiple lists. The only features that I really would like to see implemented are the ability to search a list, and a way to return all elements of a list. I mostly use the list with Google Assistant. I like to check if an element is already in the list, or prevent duplicates. I also like to know what's on the list already. I currently have set up my own little server that reads .shopping_list.json to search for elements or just return all elements but I would love to have this implemented directly in Home Assistant.

fcastilloec avatar May 14 '21 16:05 fcastilloec

My scenario for simplified task list is to have just a few fields:

  1. Title
  2. Due date
  3. Completed (true/false)

My use case is that I have few things in my house that needs to be done once or twice in the year and I would like HA to create those tasks for me and remind me completing them, such as checking the battery on old/non-smart sensors or manually turning on/off the heating cable for main water pipes when its too cold/hot outside.

Not sure if I have any specific suggestions on how to solve this in HA, but just wanted to describe my use case as well

ismarslomic avatar Jun 23 '21 22:06 ismarslomic

Such lists of 'tasks' could perhaps also be repurposed for one-time and reoccuring household/kids 'chores' like in the "Chore Tracker" made by djbrooks022.

https://www.home-assistant.io/blog/#chore-tracker

https://community.home-assistant.io/t/created-a-chore-tracker-with-points-system-in-home-assistant/316175

https://smarthomepursuits.com/chore-tracking-with-point-system-in-home-assistant/

image

Hedda avatar Jun 28 '21 08:06 Hedda

@Hedda I have been looking at Chore Tracker, but it requires quite a lot setup (custom input_boolean, automation, etc) to get started. Adding, Editing, Removing tasks should be super simple.

So I would rather want an extended version of the https://www.home-assistant.io/integrations/shopping_list/ with following extensions:

  1. possibility to set due date
  2. services for getting list of tasks that are incomplete, overdue, completed

ismarslomic avatar Jun 28 '21 09:06 ismarslomic

Total outsider here, but would todo.txt be a good standard upon which shopping list's backend could be built? Priority, due date, and categorization are all standardized. Cards could have regex filter options such that a given project, +shopping, for example, only shows up on the shopping card and so on.

EyesofBucket avatar Sep 07 '21 16:09 EyesofBucket

I wonder wether there should be a task-domain or maybe some generic list- type|domain|integration (sorry, my HA wording is fuzzy) with customizable colums and more generic services for add, delete, change, etc. rows

elfrinjo avatar Nov 23 '21 12:11 elfrinjo

TaskPaper would be a good standard to follow here

ChipWolf avatar Mar 10 '22 12:03 ChipWolf

Accidentally posted a largely duplicate topic on the forum with more or less the same suggestion. Only found this thread now. Cross-linking both just in case.

The only key point worth carrying over from there to here is CalDAV actually supporting tasks as an object type separate from events — and that's what I was actually hoping to find as I started digging into this. My intended use case was getting a read-only view of the tasks from Nextcloud Deck, which exports its cards into Nextcloud Tasks, which in turn can be requested over CalDAV.

D-side avatar Feb 28 '23 05:02 D-side

A way I might rephrase that is that rfc5545 support TODO and we have a few implementations (e.g. caldav, local calendar) that can support it). That is also nice since we can also show tasks on calendars easily too.

But just to clarify -- architecture discussions are for technical proposals that are planned to implement, and not necessarily feature requests.

allenporter avatar Feb 28 '23 05:02 allenporter