Update todoist documentation for configuration flow (#28886)

This commit is contained in:
Allen Porter 2023-09-12 10:50:08 -07:00 committed by GitHub
parent de38ea9d21
commit be20c69ffd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,22 +13,17 @@ ha_platforms:
ha_integration_type: integration ha_integration_type: integration
--- ---
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes. This platform allows you to connect to your [Todoist Projects](https://todoist.com) as [calendar](/integrations/calendar/) entities. A calendar entity will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
### Prerequisites ## Prerequisites
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file. You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
### Basic Setup {% include integrations/config_flow.md %}
To integrate Todoist in Home Assistant, add the following section to your `configuration.yaml` file: ## Custom Projects
```yaml You can manually configure the integration using `configuration.yaml` which can specify "custom" projects which match against criteria you set.
# Example configuration.yaml entry
calendar:
- platform: todoist
token: YOUR_API_TOKEN
```
{% configuration %} {% configuration %}
token: token:
@ -58,8 +53,7 @@ custom_projects:
type: list type: list
{% endconfiguration %} {% endconfiguration %}
### Custom Projects Here's an example of a more advanced `configuration.yaml`:
Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -94,7 +88,7 @@ You can mix-and-match these attributes to create all sorts of custom projects. Y
Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below). Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
### Sensor attributes ## Calendar Entity attributes
- **offset_reached**: Not used. - **offset_reached**: Not used.
@ -122,7 +116,7 @@ Home Assistant does its best to [determine what task in each project is "most" i
- **due_today**: Whether the reported task is due today. - **due_today**: Whether the reported task is due today.
### Services ## Services
Todoist also comes with access to a service, `todoist.new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project. Todoist also comes with access to a service, `todoist.new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project.