home-assistant.io/source/_integrations/google_tasks.markdown
2024-12-16 19:39:43 +01:00

6.1 KiB
Raw Blame History

title description ha_category ha_iot_class ha_release ha_config_flow ha_domain ha_codeowners ha_integration_type ha_platforms related google_dev_console_link api api_link
Google Tasks Instructions on how to use Google Tasks in Home Assistant.
To-do list
Cloud Polling 2023.11 true google_tasks
@allenporter
integration
todo
docs title
/integrations/todo To-do list integration documentation
docs title
/integrations/#to-do-list List of to-do list integrations
docs title
/dashboards/todo-list/ To-do list card
url title
https://support.google.com/tasks/answer/7675772 Google Tasks
url title
https://console.cloud.google.com/apis/library/tasks.googleapis.com Google Developers Console
https://console.developers.google.com/start/api?id=tasks Google Tasks API https://console.cloud.google.com/apis/enableflow?apiid=tasks.googleapis.com

The Google Tasks integration allows you to connect your Google Tasks to Home Assistant. The integration adds a to-do list entity for each task list, allowing you to create, update, or delete items on the list from the To-do list dashboard.

You can use to-do lists in automations, such as adding a new task when Home Assistant detects a device has low batteries. When you combine with a Home Assistant voice assistant, you can manage your Google Tasks by saying something like Add clean out garage to personal task list.

Prerequisites

You need to configure developer credentials to allow Home Assistant to access your Google Account. These credentials are the same as the ones for Nest, Google Mail, and most other Google integrations. These are not the same as Device Auth credentials previously recommended for Google Calendar.

{% include integrations/google_client_secret.md %}

{% include integrations/config_flow.md %}

{% include integrations/google_oauth.md %}

Supported functionality

Entities

The Google Tasks integration provides the following entities.

To-do lists

The integration will create a to-do list entity for every task list. For example, a Google Tasks list named My Tasks then will have a Home Assistant to-do list entity named My Tasks.

The Google Task integration can create, update, or delete items on a to-do list. The to-do list entities support creating, updating, and deleting items on the to-do list. A to-do list item supports the following fields:

  • Item: The item is the Google Task Title field.
  • Due date: The Google Tasks Date. The time field in Google Tasks is not supported by the Google Tasks API.
  • Description: The Google Tasks Details field.
  • Status: The Google Tasks Completed check box corresponds to the to-do list status needs_action when not checked and completed when checked.

Actions

The Google Tasks integration provides all actions supported by a to-do list entity including actions for retrieving, creating, updating, and deleting to-do list items and the fields described above. See the To-do list: Actions documentation for more details.

Examples

Low Battery Maintenance

You can use Google Tasks to help you automate battery maintenance. To tackle this you can use this blueprint to send a notification with devices that have low low battery level. The notification includes a button that can add an item to your Google Tasks to-do list.

Low Battery Notifications & Actions

Data updates

The Google Tasks integration fetches task lists once initially, and creates a to-do list for each task list. Data for each to-do list refreshed refreshed by {% term polling %} every 30 minutes.

Updates to the to-do list in Home Assistant use the Google Tasks API and changes are reflected immediately in Google Tasks. This will also refresh the to-do list contents, {% term polling %} again for any new changes.

Known limitations

There are some known Google Tasks API limitations that affect this integration:

  • Only supports {% term polling %}. Updates in Google Tasks are not reflected immediately in Home Assistant.
  • Only supports viewing or setting a task due date. A task due time is not supported.

Troubleshooting

Cant setup the integration

Symptom: “The OAuth client was not found.”

When trying to configure the integration, the Google OAuth flows shows the message The OAuth client was not found and Error 401: invalid_client.

Description

This means that the application credentials in Home Assistant do not match the OAuth credentials in the Google Cloud console.

Resolution

To resolve this issue:

  1. Follow the instructions in Application Credentials to remove any existing credentials.
  2. Follow the steps above in the Prerequisites.
  3. Follow the steps above in the Configuration.

Symptom: "Unable to access the Google API: Tasks API has not been used in project before or it is disabled"

Home Assistant fails to configure the integration with the error Unable to access the Google API: Google Tasks API has not been used in project before or it is disabled.

Description

This means that Home Assistant is unable to use the Google Tasks API because it was not enabled in the Google Cloud Console.

Resolution

Follow the steps above in the Prerequisites to enable the Google Tasks API.

Removing the integration

This integration follows standard integration removal. No extra steps are required.

{% include integrations/remove_device_service.md %}

You will be asked if you would like to remove Application Credentials which you can do if you no longer plan to use Google Tasks with Home Assistant. You may want to also remove any credentials in the Google Cloud Console, created above in the Prerequisites, if they are no longer in use with any of your other Home Assistant integrations.