Add services to set/update and cancel Nest ETA (#7163)

* Reformat Nest structure services

* ✏️ Tweaks
This commit is contained in:
Matt Schmitt 2018-11-06 17:26:47 -05:00 committed by Alok Saboo
parent a597a26320
commit d14db798db

View File

@ -70,53 +70,110 @@ structure:
type: list type: list
{% endconfiguration %} {% endconfiguration %}
### {% linkable_title Services %} ### {% linkable_title Service `set_away_mode` %}
Currently there is a single `nest.set_mode` service available to switch between You can use the service `nest/set_away_mode` to set the structure(s) to "Home" or "Away".
"away" and "home" modes. This service requires a `home_mode` param and has an
optional `structure` param. While setting "away" mode, an estimated arrival time
can also be set with `eta`, `eta_window`, and `trip_id` parameters.
- **home_mode** (*Required*): `home` or `away` | Service data attribute | Optional | Description |
- **structure** (*Optional*): Structure(s). Default apply to all structures connected with Home Assistant. | ---------------------- | -------- | ----------- |
- **eta** (*Optional*): Estimated Time of Arrival from now. | `away_mode` | no | String, must be `away` or `home`.
- **eta_window** (*Optional*): ETA window (default is 1 minute). | `structure` | yes | String, will default to all configured Nest structures if not specified.
- **trip_id** (*Optional*): Unique ID for the trip. Using an existing trip ID will update that trip's ETA.
Examples:
```yaml ```yaml
# Example script to set away, no structure specified so will execute for all # Example script to set away, no structure specified so will execute for all
set_nest_away: script:
nest_set_away:
sequence: sequence:
- service: nest.set_mode - service: nest.set_away_mode
data: data:
home_mode: away away_mode: away
``` ```
```yaml ```yaml
# Example script to set home, structure specified # Example script to set home, structure specified
set_nest_home: script:
nest_set_home:
sequence: sequence:
- service: nest.set_mode - service: nest.set_away_mode
data: data:
home_mode: home away_mode: home
structure: structure:
- Building - Apartment
```
### {% linkable_title Service `set_eta` %}
You can use the service `nest/set_eta` to set or update the estimated time of arrival window. Calling this service will automatically set the structure(s) to "Away". Structures must have an associated Nest thermostat in order to use ETA function.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `eta` | no | Time period, estimated time of arrival from now.
| `eta_window` | yes | Time period, estimated time of arrival window. Default is 1 minute.
| `trip_id` | yes | String, unique ID for the trip. Default is auto-generated using a timestamp. Using an existing `trip_id` will update that trip's ETA.
| `structure` | yes | String, will default to all configured Nest structures if not specified.
Examples:
```yaml
# Example script to set ETA, no structure specified so will execute for all
script:
nest_set_eta:
sequence:
- service: nest.set_eta
data:
eta: 00:10:30
trip_id: Leave Work
``` ```
```yaml ```yaml
# Example script to set eta, structure specified # Example script to update ETA and specify window, structure specified
set_nest_eta: script:
nest_update_eta:
sequence: sequence:
- service: nest.set_mode - service: nest.set_eta
data: data:
home_mode: away eta: 00:11:00
structure:
- Building
eta: 00:10:30
eta_window: 00:05 eta_window: 00:05
trip_id: Leave Work
structure:
- Apartment
``` ```
{% linkable_title Troubleshooting %} ### {% linkable_title Service `cancel_eta` %}
You can use the service `nest/cancel_eta` to cancel an existing estimated time of arrival window. Structures must have an associated Nest thermostat in order to use ETA function.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `trip_id` | no | String, unique ID for the trip. Using an existing `trip_id` will update that trip's ETA.
| `structure` | yes | String, will default to all configured Nest structures if not specified.
Examples:
```yaml
# Example script to cancel ETA, no structure specified so will execute for all
script:
nest_cancel_eta:
sequence:
- service: nest.cancel_eta
data:
trip_id: Leave Work
```
```yaml
# Example script to cancel ETA, structure specified
script:
nest_cancel_eta:
sequence:
- service: nest.cancel_eta
data:
trip_id: Leave Work
structure:
- Apartment
```
### {% linkable_title Troubleshooting %}
- If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) instead of being able to see your Nest cameras, you may not have set up your developer account's permissions correctly. Go back through and make sure you've selected read/write under every category that it's an option. - If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) instead of being able to see your Nest cameras, you may not have set up your developer account's permissions correctly. Go back through and make sure you've selected read/write under every category that it's an option.