mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 08:16:53 +00:00
Rename 'service' to 'action' in automations and scripts (#34023)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
This commit is contained in:
parent
0bb40fd2cc
commit
6ca14d3efc
@ -18,7 +18,7 @@ automation:
|
|||||||
- platform: sun
|
- platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- light.kitchen
|
- light.kitchen
|
||||||
@ -37,11 +37,11 @@ automation 2:
|
|||||||
notification_action: notify.paulus_iphone
|
notification_action: notify.paulus_iphone
|
||||||
action:
|
action:
|
||||||
# Actions are scripts so can also be a list of actions
|
# Actions are scripts so can also be a list of actions
|
||||||
- service: "{{ notification_action }}"
|
- action: "{{ notification_action }}"
|
||||||
data:
|
data:
|
||||||
message: "Beautiful sunset!"
|
message: "Beautiful sunset!"
|
||||||
- delay: 0:35
|
- delay: 0:35
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Oh wow you really missed something great."
|
message: "Oh wow you really missed something great."
|
||||||
```
|
```
|
||||||
@ -58,7 +58,7 @@ automation:
|
|||||||
entity_id: sensor.office_occupancy
|
entity_id: sensor.office_occupancy
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Testing conditional actions"
|
message: "Testing conditional actions"
|
||||||
- condition: or
|
- condition: or
|
||||||
@ -70,7 +70,7 @@ automation:
|
|||||||
- condition: state
|
- condition: state
|
||||||
entity_id: sensor.office_illuminance
|
entity_id: sensor.office_illuminance
|
||||||
below: 10
|
below: 10
|
||||||
- service: scene.turn_on
|
- action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.office_at_evening
|
entity_id: scene.office_at_evening
|
||||||
```
|
```
|
||||||
|
@ -30,7 +30,7 @@ automation:
|
|||||||
entity_id: sensor.office_lux_sensor
|
entity_id: sensor.office_lux_sensor
|
||||||
below: 10
|
below: 10
|
||||||
action:
|
action:
|
||||||
- service: scene.turn_on
|
- action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.office_lights
|
entity_id: scene.office_lights
|
||||||
```
|
```
|
||||||
@ -50,7 +50,7 @@ automation:
|
|||||||
to: "on"
|
to: "on"
|
||||||
condition: "{{ state_attr('sun.sun', 'elevation') < 4 }}"
|
condition: "{{ state_attr('sun.sun', 'elevation') < 4 }}"
|
||||||
action:
|
action:
|
||||||
- service: scene.turn_on
|
- action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.office_lights
|
entity_id: scene.office_lights
|
||||||
```
|
```
|
||||||
|
@ -206,7 +206,7 @@ automation:
|
|||||||
entity_id: device_tracker.paulus
|
entity_id: device_tracker.paulus
|
||||||
id: paulus_device
|
id: paulus_device
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
Paulus just changed from {{ trigger.from_state.state }}
|
Paulus just changed from {{ trigger.from_state.state }}
|
||||||
@ -219,7 +219,7 @@ automation 2:
|
|||||||
- platform: mqtt
|
- platform: mqtt
|
||||||
topic: "/notify/+"
|
topic: "/notify/+"
|
||||||
action:
|
action:
|
||||||
service: >
|
action: >
|
||||||
notify.{{ trigger.topic.split('/')[-1] }}
|
notify.{{ trigger.topic.split('/')[-1] }}
|
||||||
data:
|
data:
|
||||||
message: "{{ trigger.payload }}"
|
message: "{{ trigger.payload }}"
|
||||||
@ -236,7 +236,7 @@ automation 3:
|
|||||||
# Trigger when someone leaves one of those lights on for 10 minutes.
|
# Trigger when someone leaves one of those lights on for 10 minutes.
|
||||||
for: "00:10:00"
|
for: "00:10:00"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
# Turn off whichever entity triggered the automation.
|
# Turn off whichever entity triggered the automation.
|
||||||
entity_id: "{{ trigger.entity_id }}"
|
entity_id: "{{ trigger.entity_id }}"
|
||||||
@ -257,7 +257,7 @@ automation 4:
|
|||||||
value_template: "{{ trigger.event.data.tag_id == '8b6d6755-b4d5-4c23-818b-cf224d221ab7'}}"
|
value_template: "{{ trigger.event.data.tag_id == '8b6d6755-b4d5-4c23-818b-cf224d221ab7'}}"
|
||||||
action:
|
action:
|
||||||
# Turn off various lights
|
# Turn off various lights
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- light.kitchen
|
- light.kitchen
|
||||||
|
@ -339,7 +339,7 @@ automation:
|
|||||||
minutes: "{{ states('input_number.high_temp_min')|int }}"
|
minutes: "{{ states('input_number.high_temp_min')|int }}"
|
||||||
seconds: "{{ states('input_number.high_temp_sec')|int }}"
|
seconds: "{{ states('input_number.high_temp_sec')|int }}"
|
||||||
action:
|
action:
|
||||||
- service: persistent_notification.create
|
- action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
{{ trigger.to_state.name }} too high for {{ trigger.for }}!
|
{{ trigger.to_state.name }} too high for {{ trigger.for }}!
|
||||||
@ -515,7 +515,7 @@ automation:
|
|||||||
minutes: "{{ states('input_number.lock_min')|int }}"
|
minutes: "{{ states('input_number.lock_min')|int }}"
|
||||||
seconds: "{{ states('input_number.lock_sec')|int }}"
|
seconds: "{{ states('input_number.lock_sec')|int }}"
|
||||||
action:
|
action:
|
||||||
- service: lock.lock
|
- action: lock.lock
|
||||||
target:
|
target:
|
||||||
entity_id: lock.my_place
|
entity_id: lock.my_place
|
||||||
```
|
```
|
||||||
@ -574,7 +574,7 @@ automation:
|
|||||||
# Can be a positive or negative number
|
# Can be a positive or negative number
|
||||||
below: -4.0
|
below: -4.0
|
||||||
action:
|
action:
|
||||||
- service: switch.turn_on
|
- action: switch.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: switch.exterior_lighting
|
entity_id: switch.exterior_lighting
|
||||||
```
|
```
|
||||||
@ -713,10 +713,10 @@ automation:
|
|||||||
entity_id: binary_sensor.motion
|
entity_id: binary_sensor.motion
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: climate.turn_on
|
- action: climate.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: climate.office
|
entity_id: climate.office
|
||||||
- service: input_datetime.set_datetime
|
- action: input_datetime.set_datetime
|
||||||
target:
|
target:
|
||||||
entity_id: input_datetime.turn_off_ac
|
entity_id: input_datetime.turn_off_ac
|
||||||
data:
|
data:
|
||||||
@ -727,7 +727,7 @@ automation:
|
|||||||
- platform: time
|
- platform: time
|
||||||
at: input_datetime.turn_off_ac
|
at: input_datetime.turn_off_ac
|
||||||
action:
|
action:
|
||||||
- service: climate.turn_off
|
- action: climate.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: climate.office
|
entity_id: climate.office
|
||||||
```
|
```
|
||||||
@ -744,7 +744,7 @@ automation:
|
|||||||
- platform: time
|
- platform: time
|
||||||
at: sensor.phone_next_alarm
|
at: sensor.phone_next_alarm
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.bedroom
|
entity_id: light.bedroom
|
||||||
```
|
```
|
||||||
|
@ -158,7 +158,7 @@ automation my_lights:
|
|||||||
before: "23:00:00"
|
before: "23:00:00"
|
||||||
action:
|
action:
|
||||||
# With a single service entry, we don't need a '-' before service - though you can if you want to
|
# With a single service entry, we don't need a '-' before service - though you can if you want to
|
||||||
- service: homeassistant.turn_on
|
- action: homeassistant.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: group.living_room
|
entity_id: group.living_room
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ automation my_lights:
|
|||||||
entity_id: all
|
entity_id: all
|
||||||
to: "not_home"
|
to: "not_home"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: all
|
entity_id: all
|
||||||
|
|
||||||
@ -184,7 +184,7 @@ automation my_lights:
|
|||||||
- condition: time
|
- condition: time
|
||||||
after: "20:00"
|
after: "20:00"
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Paulus left the house"
|
message: "Paulus left the house"
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ automation my_lights:
|
|||||||
event_data:
|
event_data:
|
||||||
entity_id: binary_sensor.cube_158d000103a3de
|
entity_id: binary_sensor.cube_158d000103a3de
|
||||||
action:
|
action:
|
||||||
- service: notify.pushover
|
- action: notify.pushover
|
||||||
data:
|
data:
|
||||||
title: "Cube event detected"
|
title: "Cube event detected"
|
||||||
message: "Cube has triggered this event: {{ trigger.event }}"
|
message: "Cube has triggered this event: {{ trigger.event }}"
|
||||||
@ -256,7 +256,7 @@ If you want to migrate your manual automations to use the editor, you'll have to
|
|||||||
below: 25
|
below: 25
|
||||||
value_template: "{{ float(state.state) + 2 }}"
|
value_template: "{{ float(state.state) + 2 }}"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
@ -271,7 +271,7 @@ trigger:
|
|||||||
to: "on"
|
to: "on"
|
||||||
|
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target: !input light_target
|
target: !input light_target
|
||||||
- wait_for_trigger:
|
- wait_for_trigger:
|
||||||
platform: state
|
platform: state
|
||||||
@ -279,7 +279,7 @@ action:
|
|||||||
from: "on"
|
from: "on"
|
||||||
to: "off"
|
to: "off"
|
||||||
- delay: !input no_motion_wait
|
- delay: !input no_motion_wait
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target: !input light_target
|
target: !input light_target
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ The output of this selector is a list of actions. For example:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example action selector output result
|
# Example action selector output result
|
||||||
- service: scene.turn_on
|
- action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.watching_movies
|
entity_id: scene.watching_movies
|
||||||
metadata: {}
|
metadata: {}
|
||||||
@ -1372,7 +1372,7 @@ a script sequence. For example:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target: !input lights
|
target: !input lights
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ trigger:
|
|||||||
entity_id: binary_sensor.motion_kitchen
|
entity_id: binary_sensor.motion_kitchen
|
||||||
|
|
||||||
action:
|
action:
|
||||||
service: >
|
action: >
|
||||||
{% if trigger.to_state.state == "on" %}
|
{% if trigger.to_state.state == "on" %}
|
||||||
light.turn_on
|
light.turn_on
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -104,7 +104,7 @@ Inputs are not limited to strings. They can contain complex objects too. So in t
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: >
|
action: >
|
||||||
{% if trigger.to_state.state == "on" %}
|
{% if trigger.to_state.state == "on" %}
|
||||||
light.turn_on
|
light.turn_on
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -238,7 +238,7 @@ trigger:
|
|||||||
entity_id: !input motion_sensor
|
entity_id: !input motion_sensor
|
||||||
|
|
||||||
action:
|
action:
|
||||||
- service: >
|
- action: >
|
||||||
{% if trigger.to_state.state == "on" %}
|
{% if trigger.to_state.state == "on" %}
|
||||||
light.turn_on
|
light.turn_on
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@ -272,7 +272,7 @@ automation:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
- alias: "Automation 2"
|
- alias: "Automation 2"
|
||||||
@ -281,7 +281,7 @@ automation:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
from: "home"
|
from: "home"
|
||||||
action:
|
action:
|
||||||
service: light.turn_off
|
action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
```
|
```
|
||||||
@ -303,7 +303,7 @@ trigger:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
```
|
```
|
||||||
@ -317,7 +317,7 @@ trigger:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
from: "home"
|
from: "home"
|
||||||
action:
|
action:
|
||||||
service: light.turn_off
|
action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
```
|
```
|
||||||
@ -334,7 +334,7 @@ alexa:
|
|||||||
intents:
|
intents:
|
||||||
LocateIntent:
|
LocateIntent:
|
||||||
action:
|
action:
|
||||||
service: notify.pushover
|
action: notify.pushover
|
||||||
data:
|
data:
|
||||||
message: "Your location has been queried via Alexa."
|
message: "Your location has been queried via Alexa."
|
||||||
speech:
|
speech:
|
||||||
@ -372,7 +372,7 @@ alexa:
|
|||||||
```yaml
|
```yaml
|
||||||
{% raw %}
|
{% raw %}
|
||||||
action:
|
action:
|
||||||
service: notify.pushover
|
action: notify.pushover
|
||||||
data:
|
data:
|
||||||
message: "Your location has been queried via Alexa."
|
message: "Your location has been queried via Alexa."
|
||||||
speech:
|
speech:
|
||||||
@ -413,7 +413,7 @@ automation:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
- alias: "Automation 2"
|
- alias: "Automation 2"
|
||||||
@ -422,7 +422,7 @@ automation:
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
from: "home"
|
from: "home"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
```
|
```
|
||||||
@ -444,7 +444,7 @@ automation: !include_dir_merge_list automation/
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
- alias: "Automation 2"
|
- alias: "Automation 2"
|
||||||
@ -453,7 +453,7 @@ automation: !include_dir_merge_list automation/
|
|||||||
entity_id: device_tracker.iphone
|
entity_id: device_tracker.iphone
|
||||||
from: "home"
|
from: "home"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.entryway
|
entity_id: light.entryway
|
||||||
```
|
```
|
||||||
|
@ -34,7 +34,7 @@ Templates can get big pretty fast. To keep a clear overview, consider using YAML
|
|||||||
script:
|
script:
|
||||||
msg_who_is_home:
|
msg_who_is_home:
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
{% if is_state('device_tracker.paulus', 'home') %}
|
{% if is_state('device_tracker.paulus', 'home') %}
|
||||||
|
@ -63,7 +63,7 @@ automation:
|
|||||||
from: "not_home"
|
from: "not_home"
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: scene.turn_on
|
action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.romantic
|
entity_id: scene.romantic
|
||||||
```
|
```
|
||||||
@ -81,7 +81,7 @@ automation:
|
|||||||
from: "not_home"
|
from: "not_home"
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: scene.apply
|
action: scene.apply
|
||||||
data:
|
data:
|
||||||
entities:
|
entities:
|
||||||
light.tv_back_light:
|
light.tv_back_light:
|
||||||
@ -110,7 +110,7 @@ automation:
|
|||||||
from: "not_home"
|
from: "not_home"
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: scene.turn_on
|
action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.romantic
|
entity_id: scene.romantic
|
||||||
data:
|
data:
|
||||||
|
@ -19,7 +19,7 @@ The menu on the top-right has options to **Duplicate scene** and **Delete scene*
|
|||||||
A scene can be called in {% term automation %} action and {% term scripts %} using a turn on scene {% term action %}:
|
A scene can be called in {% term automation %} action and {% term scripts %} using a turn on scene {% term action %}:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: scene.turn_on
|
action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.my_unique_id
|
entity_id: scene.my_unique_id
|
||||||
```
|
```
|
||||||
|
@ -21,11 +21,11 @@ script:
|
|||||||
sequence:
|
sequence:
|
||||||
# This is written using the Script Syntax
|
# This is written using the Script Syntax
|
||||||
- alias: "Turn on ceiling light"
|
- alias: "Turn on ceiling light"
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.ceiling
|
entity_id: light.ceiling
|
||||||
- alias: "Notify that ceiling light is turned on"
|
- alias: "Notify that ceiling light is turned on"
|
||||||
service: notify.notify
|
action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Turned on the ceiling light!"
|
message: "Turned on the ceiling light!"
|
||||||
```
|
```
|
||||||
@ -38,7 +38,7 @@ Performing an action can be done in various ways. For all the different possibil
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- alias: "Bedroom lights on"
|
- alias: "Bedroom lights on"
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: group.bedroom
|
entity_id: group.bedroom
|
||||||
data:
|
data:
|
||||||
@ -67,7 +67,7 @@ The variables {% term action %} allows you to set/override variables that will b
|
|||||||
- light.living_room
|
- light.living_room
|
||||||
brightness: 100
|
brightness: 100
|
||||||
- alias: "Control lights"
|
- alias: "Control lights"
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: "{{ entities }}"
|
entity_id: "{{ entities }}"
|
||||||
data:
|
data:
|
||||||
@ -85,7 +85,7 @@ Variables can be templated.
|
|||||||
variables:
|
variables:
|
||||||
blind_state_message: "The blind is {{ states('cover.blind') }}."
|
blind_state_message: "The blind is {{ states('cover.blind') }}."
|
||||||
- alias: "Notify about the state of the blind"
|
- alias: "Notify about the state of the blind"
|
||||||
service: notify.mobile_app_iphone
|
action: notify.mobile_app_iphone
|
||||||
data:
|
data:
|
||||||
message: "{{ blind_state_message }}"
|
message: "{{ blind_state_message }}"
|
||||||
```
|
```
|
||||||
@ -115,11 +115,11 @@ sequence:
|
|||||||
- variables:
|
- variables:
|
||||||
people: "{{ people + 1 }}"
|
people: "{{ people + 1 }}"
|
||||||
# At this scope, people will now be 1 ...
|
# At this scope, people will now be 1 ...
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "There are {{ people }} people home" # "There are 1 people home"
|
message: "There are {{ people }} people home" # "There are 1 people home"
|
||||||
# ... but at this scope it will still be 0
|
# ... but at this scope it will still be 0
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "There are {{ people }} people home" # "There are 0 people home"
|
message: "There are {{ people }} people home" # "There are 0 people home"
|
||||||
```
|
```
|
||||||
@ -296,9 +296,9 @@ This can be used to take different actions based on whether or not the condition
|
|||||||
- if:
|
- if:
|
||||||
- "{{ not wait.completed }}"
|
- "{{ not wait.completed }}"
|
||||||
then:
|
then:
|
||||||
- service: script.door_did_not_open
|
- action: script.door_did_not_open
|
||||||
else:
|
else:
|
||||||
- service: script.turn_on
|
- action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- script.door_did_open
|
- script.door_did_open
|
||||||
@ -308,7 +308,7 @@ This can be used to take different actions based on whether or not the condition
|
|||||||
- wait_template: "{{ is_state('binary_sensor.door_1', 'on') }}"
|
- wait_template: "{{ is_state('binary_sensor.door_1', 'on') }}"
|
||||||
timeout: 10
|
timeout: 10
|
||||||
continue_on_timeout: false
|
continue_on_timeout: false
|
||||||
- service: switch.turn_on
|
- action: switch.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: switch.some_light
|
entity_id: switch.some_light
|
||||||
- wait_for_trigger:
|
- wait_for_trigger:
|
||||||
@ -318,7 +318,7 @@ This can be used to take different actions based on whether or not the condition
|
|||||||
for: 2
|
for: 2
|
||||||
timeout: "{{ wait.remaining }}"
|
timeout: "{{ wait.remaining }}"
|
||||||
continue_on_timeout: false
|
continue_on_timeout: false
|
||||||
- service: switch.turn_off
|
- action: switch.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: switch.some_light
|
entity_id: switch.some_light
|
||||||
```
|
```
|
||||||
@ -380,7 +380,7 @@ The following {% term automation %} example shows how to capture the custom even
|
|||||||
- platform: event
|
- platform: event
|
||||||
event_type: event_light_state_changed
|
event_type: event_light_state_changed
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "kitchen light is turned {{ trigger.event.data.state }}"
|
message: "kitchen light is turned {{ trigger.event.data.state }}"
|
||||||
```
|
```
|
||||||
@ -404,7 +404,7 @@ script:
|
|||||||
flash_light:
|
flash_light:
|
||||||
mode: restart
|
mode: restart
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: "light.{{ light }}"
|
entity_id: "light.{{ light }}"
|
||||||
- alias: "Cycle light 'count' times"
|
- alias: "Cycle light 'count' times"
|
||||||
@ -412,13 +412,13 @@ script:
|
|||||||
count: "{{ count|int * 2 - 1 }}"
|
count: "{{ count|int * 2 - 1 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- delay: 2
|
- delay: 2
|
||||||
- service: light.toggle
|
- action: light.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: "light.{{ light }}"
|
entity_id: "light.{{ light }}"
|
||||||
flash_hallway_light:
|
flash_hallway_light:
|
||||||
sequence:
|
sequence:
|
||||||
- alias: "Flash hallway light 3 times"
|
- alias: "Flash hallway light 3 times"
|
||||||
service: script.flash_light
|
action: script.flash_light
|
||||||
data:
|
data:
|
||||||
light: hallway
|
light: hallway
|
||||||
count: 3
|
count: 3
|
||||||
@ -445,7 +445,7 @@ repeat:
|
|||||||
- "kitchen"
|
- "kitchen"
|
||||||
- "office"
|
- "office"
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: "light.{{ repeat.item }}"
|
entity_id: "light.{{ repeat.item }}"
|
||||||
```
|
```
|
||||||
@ -465,7 +465,7 @@ repeat:
|
|||||||
- language: Dutch
|
- language: Dutch
|
||||||
message: Hallo Wereld
|
message: Hallo Wereld
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.phone
|
- action: notify.phone
|
||||||
data:
|
data:
|
||||||
title: "Message in {{ repeat.item.language }}"
|
title: "Message in {{ repeat.item.language }}"
|
||||||
message: "{{ repeat.item.message }}!"
|
message: "{{ repeat.item.message }}!"
|
||||||
@ -484,7 +484,7 @@ is run. The sequence will be run _as long as_ the condition(s) evaluate to true.
|
|||||||
script:
|
script:
|
||||||
do_something:
|
do_something:
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.get_ready_for_something
|
- action: script.get_ready_for_something
|
||||||
- alias: "Repeat the sequence AS LONG AS the conditions are true"
|
- alias: "Repeat the sequence AS LONG AS the conditions are true"
|
||||||
repeat:
|
repeat:
|
||||||
while:
|
while:
|
||||||
@ -495,7 +495,7 @@ script:
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ repeat.index <= 20 }}"
|
value_template: "{{ repeat.index <= 20 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.something
|
- action: script.something
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
@ -538,7 +538,7 @@ automation:
|
|||||||
repeat:
|
repeat:
|
||||||
sequence:
|
sequence:
|
||||||
# Run command that for some reason doesn't always work
|
# Run command that for some reason doesn't always work
|
||||||
- service: shell_command.turn_something_on
|
- action: shell_command.turn_something_on
|
||||||
# Give it time to complete
|
# Give it time to complete
|
||||||
- delay:
|
- delay:
|
||||||
milliseconds: 200
|
milliseconds: 200
|
||||||
@ -590,12 +590,12 @@ script:
|
|||||||
state: 0
|
state: 0
|
||||||
then:
|
then:
|
||||||
- alias: "Then start cleaning already!"
|
- alias: "Then start cleaning already!"
|
||||||
service: vacuum.start
|
action: vacuum.start
|
||||||
target:
|
target:
|
||||||
area_id: living_room
|
area_id: living_room
|
||||||
# The `else` is fully optional and can be omitted
|
# The `else` is fully optional and can be omitted
|
||||||
else:
|
else:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Skipped cleaning, someone is home!"
|
message: "Skipped cleaning, someone is home!"
|
||||||
```
|
```
|
||||||
@ -633,24 +633,24 @@ automation:
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ now().hour < 9 }}"
|
value_template: "{{ now().hour < 9 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.sim_morning
|
- action: script.sim_morning
|
||||||
# ELIF day
|
# ELIF day
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ now().hour < 18 }}"
|
value_template: "{{ now().hour < 18 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.living_room
|
entity_id: light.living_room
|
||||||
- service: script.sim_day
|
- action: script.sim_day
|
||||||
# ELSE night
|
# ELSE night
|
||||||
default:
|
default:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.kitchen
|
entity_id: light.kitchen
|
||||||
- delay:
|
- delay:
|
||||||
minutes: "{{ range(1, 11)|random }}"
|
minutes: "{{ range(1, 11)|random }}"
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: all
|
entity_id: all
|
||||||
```
|
```
|
||||||
@ -673,22 +673,22 @@ automation:
|
|||||||
{{ trigger.to_state.state == 'Home' and
|
{{ trigger.to_state.state == 'Home' and
|
||||||
is_state('binary_sensor.all_clear', 'on') }}
|
is_state('binary_sensor.all_clear', 'on') }}
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.arrive_home
|
- action: script.arrive_home
|
||||||
data:
|
data:
|
||||||
ok: true
|
ok: true
|
||||||
- conditions: >
|
- conditions: >
|
||||||
{{ trigger.to_state.state == 'Home' and
|
{{ trigger.to_state.state == 'Home' and
|
||||||
is_state('binary_sensor.all_clear', 'off') }}
|
is_state('binary_sensor.all_clear', 'off') }}
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.turn_on
|
- action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: script.flash_lights
|
entity_id: script.flash_lights
|
||||||
- service: script.arrive_home
|
- action: script.arrive_home
|
||||||
data:
|
data:
|
||||||
ok: false
|
ok: false
|
||||||
- conditions: "{{ trigger.to_state.state == 'Away' }}"
|
- conditions: "{{ trigger.to_state.state == 'Away' }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: script.left_home
|
- action: script.left_home
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
@ -713,7 +713,7 @@ automation:
|
|||||||
below: 4
|
below: 4
|
||||||
action:
|
action:
|
||||||
# This must always apply
|
# This must always apply
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
data:
|
data:
|
||||||
brightness: 255
|
brightness: 255
|
||||||
color_temp: 366
|
color_temp: 366
|
||||||
@ -728,7 +728,7 @@ automation:
|
|||||||
entity_id: binary_sensor.livingroom_tv
|
entity_id: binary_sensor.livingroom_tv
|
||||||
state: "on"
|
state: "on"
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
data:
|
data:
|
||||||
brightness: 255
|
brightness: 255
|
||||||
color_temp: 366
|
color_temp: 366
|
||||||
@ -741,7 +741,7 @@ automation:
|
|||||||
entity_id: binary_sensor.studio_pc
|
entity_id: binary_sensor.studio_pc
|
||||||
state: "on"
|
state: "on"
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
data:
|
data:
|
||||||
brightness: 255
|
brightness: 255
|
||||||
color_temp: 366
|
color_temp: 366
|
||||||
@ -777,18 +777,18 @@ automation:
|
|||||||
action:
|
action:
|
||||||
- alias: "Turn on devices"
|
- alias: "Turn on devices"
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.ceiling
|
entity_id: light.ceiling
|
||||||
- service: siren.turn_on
|
- action: siren.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: siren.noise_maker
|
entity_id: siren.noise_maker
|
||||||
- alias: "Send notifications"
|
- alias: "Send notifications"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.person1
|
- action: notify.person1
|
||||||
data:
|
data:
|
||||||
message: "The motion sensor was triggered!"
|
message: "The motion sensor was triggered!"
|
||||||
- service: notify.person2
|
- action: notify.person2
|
||||||
data:
|
data:
|
||||||
message: "Oh oh, someone triggered the motion sensor..."
|
message: "Oh oh, someone triggered the motion sensor..."
|
||||||
```
|
```
|
||||||
@ -813,10 +813,10 @@ automation:
|
|||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- parallel:
|
- parallel:
|
||||||
- service: notify.person1
|
- action: notify.person1
|
||||||
data:
|
data:
|
||||||
message: "These messages are sent at the same time!"
|
message: "These messages are sent at the same time!"
|
||||||
- service: notify.person2
|
- action: notify.person2
|
||||||
data:
|
data:
|
||||||
message: "These messages are sent at the same time!"
|
message: "These messages are sent at the same time!"
|
||||||
```
|
```
|
||||||
@ -834,10 +834,10 @@ script:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: binary_sensor.motion
|
entity_id: binary_sensor.motion
|
||||||
to: "on"
|
to: "on"
|
||||||
- service: notify.person1
|
- action: notify.person1
|
||||||
data:
|
data:
|
||||||
message: "This message awaited the motion trigger"
|
message: "This message awaited the motion trigger"
|
||||||
- service: notify.person2
|
- action: notify.person2
|
||||||
data:
|
data:
|
||||||
message: "I am sent immediately and do not await the above action!"
|
message: "I am sent immediately and do not await the above action!"
|
||||||
```
|
```
|
||||||
@ -915,12 +915,12 @@ it encounters an error; it will continue to the next {% term action %}.
|
|||||||
```yaml
|
```yaml
|
||||||
- alias: "If this one fails..."
|
- alias: "If this one fails..."
|
||||||
continue_on_error: true
|
continue_on_error: true
|
||||||
service: notify.super_unreliable_service_provider
|
action: notify.super_unreliable_service_provider
|
||||||
data:
|
data:
|
||||||
message: "I'm going to error out..."
|
message: "I'm going to error out..."
|
||||||
|
|
||||||
- alias: "This one will still run!"
|
- alias: "This one will still run!"
|
||||||
service: persistent_notification.create
|
action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
title: "Hi there!"
|
title: "Hi there!"
|
||||||
message: "I'm fine..."
|
message: "I'm fine..."
|
||||||
@ -943,13 +943,13 @@ script:
|
|||||||
# The message will not be sent.
|
# The message will not be sent.
|
||||||
- enabled: false
|
- enabled: false
|
||||||
alias: "Notify that the ceiling light is being turned on"
|
alias: "Notify that the ceiling light is being turned on"
|
||||||
service: notify.notify
|
action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Turning on the ceiling light!"
|
message: "Turning on the ceiling light!"
|
||||||
|
|
||||||
# This action will run, as it is not disabled
|
# This action will run, as it is not disabled
|
||||||
- alias: "Turn on the ceiling light"
|
- alias: "Turn on the ceiling light"
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.ceiling
|
entity_id: light.ceiling
|
||||||
```
|
```
|
||||||
|
@ -18,7 +18,7 @@ Use the "Actions" tab under **Developer tools** to discover available actions.
|
|||||||
Perform the action `homeassistant.turn_on` on the {% term entity %} `group.living_room`. This will turn all members of `group.living_room` on. You can also use `entity_id: all` and it will turn on all possible entities.
|
Perform the action `homeassistant.turn_on` on the {% term entity %} `group.living_room`. This will turn all members of `group.living_room` on. You can also use `entity_id: all` and it will turn on all possible entities.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: homeassistant.turn_on
|
action: homeassistant.turn_on
|
||||||
entity_id: group.living_room
|
entity_id: group.living_room
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ The following example uses a single action to turn on the lights in the
|
|||||||
living room area, 2 additional light devices and 2 additional light entities:
|
living room area, 2 additional light devices and 2 additional light entities:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
area_id: living_room
|
area_id: living_room
|
||||||
device_id:
|
device_id:
|
||||||
@ -50,7 +50,7 @@ target:
|
|||||||
You can also specify other parameters beside the entity to target. For example, the `light.turn_on` action allows specifying the brightness.
|
You can also specify other parameters beside the entity to target. For example, the `light.turn_on` action allows specifying the brightness.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
entity_id: group.living_room
|
entity_id: group.living_room
|
||||||
data:
|
data:
|
||||||
brightness: 120
|
brightness: 120
|
||||||
@ -66,7 +66,7 @@ You can use [templating] support to dynamically choose which action to perform.
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: >
|
action: >
|
||||||
{% if states('sensor.temperature') | float > 15 %}
|
{% if states('sensor.temperature') | float > 15 %}
|
||||||
switch.turn_on
|
switch.turn_on
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -85,8 +85,8 @@ For example, you may test turning on or off a 'group' (See [groups](/integration
|
|||||||
To turn a group on or off, pass the following info:
|
To turn a group on or off, pass the following info:
|
||||||
|
|
||||||
- Domain: `homeassistant`
|
- Domain: `homeassistant`
|
||||||
- Service: `turn_on`
|
- Action: `turn_on`
|
||||||
- Service Data: `{ "entity_id": "group.kitchen" }`
|
- Action data: `{ "entity_id": "group.kitchen" }`
|
||||||
|
|
||||||
### Use templates to determine the attributes
|
### Use templates to determine the attributes
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ Templates can also be used for the data that you pass to the action.
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: thermostat.set_temperature
|
action: thermostat.set_temperature
|
||||||
target:
|
target:
|
||||||
entity_id: >
|
entity_id: >
|
||||||
{% if is_state('device_tracker.paulus', 'home') %}
|
{% if is_state('device_tracker.paulus', 'home') %}
|
||||||
@ -114,7 +114,7 @@ You can use a template returning a native dictionary as well, which is useful if
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: climate.set_temperature
|
action: climate.set_temperature
|
||||||
data: >
|
data: >
|
||||||
{% if states('sensor.temperature_living') < 19 %}
|
{% if states('sensor.temperature_living') < 19 %}
|
||||||
{"hvac_mode": "heat", "temperature": 19 }
|
{"hvac_mode": "heat", "temperature": 19 }
|
||||||
@ -138,7 +138,7 @@ that contains the response data. You can define any name for your `response_vari
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: calendar.get_events
|
action: calendar.get_events
|
||||||
target:
|
target:
|
||||||
entity_id: calendar.school
|
entity_id: calendar.school
|
||||||
data:
|
data:
|
||||||
@ -160,7 +160,7 @@ Which data fields can be used in an action depends on the type of notification t
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.gmail_com
|
action: notify.gmail_com
|
||||||
data:
|
data:
|
||||||
target: "gduser1@workspacesamples.dev"
|
target: "gduser1@workspacesamples.dev"
|
||||||
title: "Daily agenda for {{ now().date() }}"
|
title: "Daily agenda for {{ now().date() }}"
|
||||||
|
@ -108,7 +108,7 @@ If there is an automation that handles that event, it will be automatically trig
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: event_light_state_changed
|
event_type: event_light_state_changed
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Light is turned {{ trigger.event.data.state }}"
|
message: "Light is turned {{ trigger.event.data.state }}"
|
||||||
```
|
```
|
||||||
|
@ -45,13 +45,13 @@ alarm_control_panel:
|
|||||||
safe_alarm_panel:
|
safe_alarm_panel:
|
||||||
value_template: "{{ states('alarm_control_panel.real_alarm') }}"
|
value_template: "{{ states('alarm_control_panel.real_alarm') }}"
|
||||||
arm_away:
|
arm_away:
|
||||||
service: alarm_control_panel.alarm_arm_away
|
action: alarm_control_panel.alarm_arm_away
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.real_alarm
|
entity_id: alarm_control_panel.real_alarm
|
||||||
data:
|
data:
|
||||||
code: !secret alarm_code
|
code: !secret alarm_code
|
||||||
arm_home:
|
arm_home:
|
||||||
service: alarm_control_panel.alarm_arm_home
|
action: alarm_control_panel.alarm_arm_home
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.real_alarm
|
entity_id: alarm_control_panel.real_alarm
|
||||||
data:
|
data:
|
||||||
@ -60,7 +60,7 @@ alarm_control_panel:
|
|||||||
- condition: state
|
- condition: state
|
||||||
entity_id: device_tracker.paulus
|
entity_id: device_tracker.paulus
|
||||||
state: "home"
|
state: "home"
|
||||||
- service: alarm_control_panel.alarm_disarm
|
- action: alarm_control_panel.alarm_disarm
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.real_alarm
|
entity_id: alarm_control_panel.real_alarm
|
||||||
data:
|
data:
|
||||||
|
@ -132,7 +132,7 @@ Using a combination of the available {% term actions %} and attributes, you can
|
|||||||
entity_id: alarm_control_panel.alarm_panel
|
entity_id: alarm_control_panel.alarm_panel
|
||||||
attribute: chime
|
attribute: chime
|
||||||
state: False
|
state: False
|
||||||
- service: alarmdecoder.alarm_toggle_chime
|
- action: alarmdecoder.alarm_toggle_chime
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.alarm_panel
|
entity_id: alarm_control_panel.alarm_panel
|
||||||
data:
|
data:
|
||||||
@ -142,7 +142,7 @@ Using a combination of the available {% term actions %} and attributes, you can
|
|||||||
entity_id: alarm_control_panel.alarm_panel
|
entity_id: alarm_control_panel.alarm_panel
|
||||||
attribute: chime
|
attribute: chime
|
||||||
state: True
|
state: True
|
||||||
- service: alarmdecoder.alarm_toggle_chime
|
- action: alarmdecoder.alarm_toggle_chime
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.alarm_panel
|
entity_id: alarm_control_panel.alarm_panel
|
||||||
data:
|
data:
|
||||||
|
@ -135,7 +135,7 @@ provided by the `alert` integration:
|
|||||||
- platform: group
|
- platform: group
|
||||||
name: john_phone_sms
|
name: john_phone_sms
|
||||||
services:
|
services:
|
||||||
- service: twilio_sms
|
- action: twilio_sms
|
||||||
data:
|
data:
|
||||||
target: !secret john_phone
|
target: !secret john_phone
|
||||||
```
|
```
|
||||||
@ -291,7 +291,7 @@ but you will still receive the done message.
|
|||||||
event_data:
|
event_data:
|
||||||
data: "/garage_acknowledge"
|
data: "/garage_acknowledge"
|
||||||
action:
|
action:
|
||||||
- service: alert.turn_off
|
- action: alert.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: alert.garage_door
|
entity_id: alert.garage_door
|
||||||
```
|
```
|
||||||
|
@ -220,7 +220,7 @@ Then add the intent to your `intent_script` section in your HA configuration fil
|
|||||||
intent_script:
|
intent_script:
|
||||||
ActivateSceneIntent:
|
ActivateSceneIntent:
|
||||||
action:
|
action:
|
||||||
service: scene.turn_on
|
action: scene.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: scene.{{ Scene | replace(" ", "_") }}
|
entity_id: scene.{{ Scene | replace(" ", "_") }}
|
||||||
data:
|
data:
|
||||||
@ -274,7 +274,7 @@ Then add the intent to your intent_script section in your HA configuration file:
|
|||||||
intent_script:
|
intent_script:
|
||||||
RunScriptIntent:
|
RunScriptIntent:
|
||||||
action:
|
action:
|
||||||
service: script.turn_on
|
action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: script.{{ Script | replace(" ", "_") }}
|
entity_id: script.{{ Script | replace(" ", "_") }}
|
||||||
speech:
|
speech:
|
||||||
@ -304,7 +304,7 @@ The configuration is the same as an intent with the exception being you will use
|
|||||||
intent_script:
|
intent_script:
|
||||||
amzn1.ask.skill.08888888-7777-6666-5555-444444444444:
|
amzn1.ask.skill.08888888-7777-6666-5555-444444444444:
|
||||||
action:
|
action:
|
||||||
service: script.turn_on
|
action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: script.red_alert
|
entity_id: script.red_alert
|
||||||
speech:
|
speech:
|
||||||
@ -337,7 +337,7 @@ intent_script:
|
|||||||
speech:
|
speech:
|
||||||
text: Done. Good night!
|
text: Done. Good night!
|
||||||
action:
|
action:
|
||||||
service: switch.turn_off
|
action: switch.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.room1
|
- switch.room1
|
||||||
@ -347,7 +347,7 @@ intent_script:
|
|||||||
text: Alright
|
text: Alright
|
||||||
amzn1.ask.skill.08888888-7777-6666-5555-444444444444.SessionEndedRequest:
|
amzn1.ask.skill.08888888-7777-6666-5555-444444444444.SessionEndedRequest:
|
||||||
action:
|
action:
|
||||||
service: switch.turn_off
|
action: switch.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.room1
|
- switch.room1
|
||||||
|
@ -87,7 +87,7 @@ engine:
|
|||||||
Say to all `media_player` device entities:
|
Say to all `media_player` device entities:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: tts.amazon_polly_say
|
- action: tts.amazon_polly_say
|
||||||
data:
|
data:
|
||||||
message: "<speak>Hello from Amazon Polly</speak>"
|
message: "<speak>Hello from Amazon Polly</speak>"
|
||||||
```
|
```
|
||||||
@ -95,7 +95,7 @@ Say to all `media_player` device entities:
|
|||||||
or
|
or
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: tts.amazon_polly_say
|
- action: tts.amazon_polly_say
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
<speak>
|
<speak>
|
||||||
@ -106,7 +106,7 @@ or
|
|||||||
Say to the `media_player.living_room` device entity:
|
Say to the `media_player.living_room` device entity:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: tts.amazon_polly_say
|
- action: tts.amazon_polly_say
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.living_room
|
entity_id: media_player.living_room
|
||||||
message: >
|
message: >
|
||||||
@ -118,7 +118,7 @@ Say to the `media_player.living_room` device entity:
|
|||||||
Say with break:
|
Say with break:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: tts.amazon_polly_say
|
- action: tts.amazon_polly_say
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
<speak>
|
<speak>
|
||||||
@ -140,7 +140,7 @@ Amazon Polly supports accented bilingual voices and you may find that you'd pref
|
|||||||
Note: You now need to enclose all new and previous TTS input within the `<speak></speak>` tags. To use SSML in automation, you can follow these steps, for instance:
|
Note: You now need to enclose all new and previous TTS input within the `<speak></speak>` tags. To use SSML in automation, you can follow these steps, for instance:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.amazon_polly_say
|
action: tts.amazon_polly_say
|
||||||
data:
|
data:
|
||||||
cache: true
|
cache: true
|
||||||
entity_id: media_player.mpd
|
entity_id: media_player.mpd
|
||||||
|
@ -292,7 +292,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: up
|
movement: up
|
||||||
@ -304,7 +304,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: down
|
movement: down
|
||||||
@ -316,7 +316,7 @@ elements:
|
|||||||
bottom: 25px
|
bottom: 25px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: left
|
movement: left
|
||||||
@ -328,7 +328,7 @@ elements:
|
|||||||
bottom: 25px
|
bottom: 25px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: right
|
movement: right
|
||||||
@ -340,7 +340,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: left_up
|
movement: left_up
|
||||||
@ -352,7 +352,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: right_up
|
movement: right_up
|
||||||
@ -364,7 +364,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: left_down
|
movement: left_down
|
||||||
@ -376,7 +376,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: right_down
|
movement: right_down
|
||||||
@ -388,13 +388,13 @@ elements:
|
|||||||
right: 25px
|
right: 25px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: zoom_in
|
movement: zoom_in
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: amcrest.ptz_control
|
action: amcrest.ptz_control
|
||||||
data:
|
data:
|
||||||
entity_id: camera.lakehouse
|
entity_id: camera.lakehouse
|
||||||
movement: zoom_out
|
movement: zoom_out
|
||||||
|
@ -119,7 +119,7 @@ You can launch an app on your device using the `media_player.select_source` comm
|
|||||||
```yaml
|
```yaml
|
||||||
start_netflix:
|
start_netflix:
|
||||||
sequence:
|
sequence:
|
||||||
- service: media_player.select_source
|
- action: media_player.select_source
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.fire_tv_living_room
|
entity_id: media_player.fire_tv_living_room
|
||||||
data:
|
data:
|
||||||
@ -127,7 +127,7 @@ start_netflix:
|
|||||||
|
|
||||||
stop_netflix:
|
stop_netflix:
|
||||||
sequence:
|
sequence:
|
||||||
- service: media_player.select_source
|
- action: media_player.select_source
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.fire_tv_living_room
|
entity_id: media_player.fire_tv_living_room
|
||||||
data:
|
data:
|
||||||
@ -147,7 +147,7 @@ In an [action](/getting-started/automation-action/) of your [automation setup](/
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: androidtv.adb_command
|
action: androidtv.adb_command
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.androidtv_tv_living_room
|
entity_id: media_player.androidtv_tv_living_room
|
||||||
data:
|
data:
|
||||||
@ -189,7 +189,7 @@ As an example, an action in a [script](/docs/scripts) could be changed from this
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Send the "UP" command (slow)
|
# Send the "UP" command (slow)
|
||||||
- service: androidtv.adb_command
|
- action: androidtv.adb_command
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.fire_tv_living_room
|
entity_id: media_player.fire_tv_living_room
|
||||||
data:
|
data:
|
||||||
@ -200,7 +200,7 @@ to this:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Send the "UP" command using `sendevent` (faster)
|
# Send the "UP" command using `sendevent` (faster)
|
||||||
- service: androidtv.adb_command
|
- action: androidtv.adb_command
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.fire_tv_living_room
|
entity_id: media_player.fire_tv_living_room
|
||||||
data:
|
data:
|
||||||
@ -325,7 +325,7 @@ You can also send other Android keys using the syntax `input keyevent {key}`, re
|
|||||||
**Example to send sequence of commands:**
|
**Example to send sequence of commands:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
device_id: 12345f9b4c9863e28ddd52c87dcebe05
|
device_id: 12345f9b4c9863e28ddd52c87dcebe05
|
||||||
data:
|
data:
|
||||||
|
@ -64,7 +64,7 @@ Example:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Launch the YouTube app
|
# Launch the YouTube app
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
media_content_type: app
|
media_content_type: app
|
||||||
media_content_id: com.google.android.youtube.tv
|
media_content_id: com.google.android.youtube.tv
|
||||||
@ -91,7 +91,7 @@ Example:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Open a specific YouTube video:
|
# Open a specific YouTube video:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
media_content_type: url
|
media_content_type: url
|
||||||
media_content_id: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
media_content_id: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
||||||
@ -107,7 +107,7 @@ Example:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Change channel to number 15:
|
# Change channel to number 15:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
media_content_type: channel
|
media_content_type: channel
|
||||||
media_content_id: 15
|
media_content_id: 15
|
||||||
@ -136,19 +136,19 @@ media_player:
|
|||||||
browse_media_entity: media_player.living_room_tv_cast
|
browse_media_entity: media_player.living_room_tv_cast
|
||||||
commands:
|
commands:
|
||||||
turn_off:
|
turn_off:
|
||||||
service: media_player.turn_off
|
action: media_player.turn_off
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.living_room_tv_remote
|
entity_id: media_player.living_room_tv_remote
|
||||||
turn_on:
|
turn_on:
|
||||||
service: media_player.turn_on
|
action: media_player.turn_on
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.living_room_tv_remote
|
entity_id: media_player.living_room_tv_remote
|
||||||
volume_up:
|
volume_up:
|
||||||
service: media_player.volume_up
|
action: media_player.volume_up
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.living_room_tv_remote
|
entity_id: media_player.living_room_tv_remote
|
||||||
volume_down:
|
volume_down:
|
||||||
service: media_player.volume_down
|
action: media_player.volume_down
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.living_room_tv_remote
|
entity_id: media_player.living_room_tv_remote
|
||||||
```
|
```
|
||||||
@ -249,7 +249,7 @@ Example actions:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Open the currently selected item on the Android TV
|
# Open the currently selected item on the Android TV
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_CENTER
|
command: DPAD_CENTER
|
||||||
target:
|
target:
|
||||||
@ -258,7 +258,7 @@ target:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Long press on the currently selected item on the Android TV
|
# Long press on the currently selected item on the Android TV
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_CENTER
|
command: DPAD_CENTER
|
||||||
hold_secs: 0.5
|
hold_secs: 0.5
|
||||||
@ -268,7 +268,7 @@ target:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Launch YouTube
|
# Launch YouTube
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: https://www.youtube.com
|
activity: https://www.youtube.com
|
||||||
target:
|
target:
|
||||||
@ -277,7 +277,7 @@ target:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Open a specific YouTube video:
|
# Open a specific YouTube video:
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
activity: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
||||||
target:
|
target:
|
||||||
@ -318,7 +318,7 @@ cards:
|
|||||||
icon: mdi:arrow-up-bold
|
icon: mdi:arrow-up-bold
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_UP
|
command: DPAD_UP
|
||||||
target:
|
target:
|
||||||
@ -335,7 +335,7 @@ cards:
|
|||||||
icon: mdi:arrow-left-bold
|
icon: mdi:arrow-left-bold
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_LEFT
|
command: DPAD_LEFT
|
||||||
target:
|
target:
|
||||||
@ -346,14 +346,14 @@ cards:
|
|||||||
icon: mdi:circle
|
icon: mdi:circle
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_CENTER
|
command: DPAD_CENTER
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_CENTER
|
command: DPAD_CENTER
|
||||||
hold_secs: 0.5
|
hold_secs: 0.5
|
||||||
@ -363,7 +363,7 @@ cards:
|
|||||||
icon: mdi:arrow-right-bold
|
icon: mdi:arrow-right-bold
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_RIGHT
|
command: DPAD_RIGHT
|
||||||
target:
|
target:
|
||||||
@ -374,14 +374,14 @@ cards:
|
|||||||
icon: mdi:arrow-left
|
icon: mdi:arrow-left
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: BACK
|
command: BACK
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: BACK
|
command: BACK
|
||||||
hold_secs: 0.5
|
hold_secs: 0.5
|
||||||
@ -391,7 +391,7 @@ cards:
|
|||||||
icon: mdi:arrow-down-bold
|
icon: mdi:arrow-down-bold
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: DPAD_DOWN
|
command: DPAD_DOWN
|
||||||
target:
|
target:
|
||||||
@ -402,14 +402,14 @@ cards:
|
|||||||
icon: mdi:home-outline
|
icon: mdi:home-outline
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: HOME
|
command: HOME
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: HOME
|
command: HOME
|
||||||
hold_secs: 0.5
|
hold_secs: 0.5
|
||||||
@ -423,14 +423,14 @@ cards:
|
|||||||
icon: mdi:skip-previous
|
icon: mdi:skip-previous
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_PREVIOUS
|
command: MEDIA_PREVIOUS
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_REWIND
|
command: MEDIA_REWIND
|
||||||
target:
|
target:
|
||||||
@ -439,14 +439,14 @@ cards:
|
|||||||
icon: mdi:play-pause
|
icon: mdi:play-pause
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_PLAY_PAUSE
|
command: MEDIA_PLAY_PAUSE
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_STOP
|
command: MEDIA_STOP
|
||||||
target:
|
target:
|
||||||
@ -455,14 +455,14 @@ cards:
|
|||||||
icon: mdi:skip-next
|
icon: mdi:skip-next
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_NEXT
|
command: MEDIA_NEXT
|
||||||
target:
|
target:
|
||||||
entity_id: remote.living_room_tv
|
entity_id: remote.living_room_tv
|
||||||
hold_action:
|
hold_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MEDIA_FAST_FORWARD
|
command: MEDIA_FAST_FORWARD
|
||||||
target:
|
target:
|
||||||
@ -471,7 +471,7 @@ cards:
|
|||||||
icon: mdi:volume-off
|
icon: mdi:volume-off
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: MUTE
|
command: MUTE
|
||||||
target:
|
target:
|
||||||
@ -482,7 +482,7 @@ cards:
|
|||||||
icon: mdi:volume-medium
|
icon: mdi:volume-medium
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: VOLUME_DOWN
|
command: VOLUME_DOWN
|
||||||
target:
|
target:
|
||||||
@ -493,7 +493,7 @@ cards:
|
|||||||
icon: mdi:volume-high
|
icon: mdi:volume-high
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
data:
|
data:
|
||||||
command: VOLUME_UP
|
command: VOLUME_UP
|
||||||
target:
|
target:
|
||||||
@ -508,7 +508,7 @@ cards:
|
|||||||
icon: mdi:youtube
|
icon: mdi:youtube
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: https://www.youtube.com
|
activity: https://www.youtube.com
|
||||||
target:
|
target:
|
||||||
@ -519,7 +519,7 @@ cards:
|
|||||||
icon: mdi:netflix
|
icon: mdi:netflix
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: com.netflix.ninja
|
activity: com.netflix.ninja
|
||||||
target:
|
target:
|
||||||
@ -531,7 +531,7 @@ cards:
|
|||||||
https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Amazon_Prime_Video_logo.svg/450px-Amazon_Prime_Video_logo.svg.png
|
https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Amazon_Prime_Video_logo.svg/450px-Amazon_Prime_Video_logo.svg.png
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: com.amazon.amazonvideo.livingroom
|
activity: com.amazon.amazonvideo.livingroom
|
||||||
target:
|
target:
|
||||||
@ -543,7 +543,7 @@ cards:
|
|||||||
https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Disney%2B_logo.svg/440px-Disney%2B_logo.svg.png
|
https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Disney%2B_logo.svg/440px-Disney%2B_logo.svg.png
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: remote.turn_on
|
action: remote.turn_on
|
||||||
data:
|
data:
|
||||||
activity: com.disney.disneyplus
|
activity: com.disney.disneyplus
|
||||||
target:
|
target:
|
||||||
|
@ -62,7 +62,7 @@ Examples:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Open the Netflix app at a specific title
|
# Open the Netflix app at a specific title
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
media_content_type: url
|
media_content_type: url
|
||||||
media_content_id: https://www.netflix.com/title/80234304
|
media_content_id: https://www.netflix.com/title/80234304
|
||||||
@ -72,7 +72,7 @@ target:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Open a specific YouTube video:
|
# Open a specific YouTube video:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
media_content_type: url
|
media_content_type: url
|
||||||
media_content_id: youtube://www.youtube.com/watch?v=dQw4w9WgXcQ
|
media_content_id: youtube://www.youtube.com/watch?v=dQw4w9WgXcQ
|
||||||
@ -128,7 +128,7 @@ being in a fixed place on the home screen:
|
|||||||
lounge_appletv_netflix:
|
lounge_appletv_netflix:
|
||||||
alias: "Select Netflix"
|
alias: "Select Netflix"
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.lounge_appletv
|
entity_id: remote.lounge_appletv
|
||||||
data:
|
data:
|
||||||
@ -147,7 +147,7 @@ the Media Player:
|
|||||||
apple_tv_sleep:
|
apple_tv_sleep:
|
||||||
alias: "Make the Apple TV sleep"
|
alias: "Make the Apple TV sleep"
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.lounge_appletv
|
entity_id: remote.lounge_appletv
|
||||||
data:
|
data:
|
||||||
@ -155,14 +155,14 @@ apple_tv_sleep:
|
|||||||
delay_secs: 1
|
delay_secs: 1
|
||||||
command:
|
command:
|
||||||
- home
|
- home
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.lounge_appletv
|
entity_id: remote.lounge_appletv
|
||||||
data:
|
data:
|
||||||
delay_secs: 1
|
delay_secs: 1
|
||||||
command:
|
command:
|
||||||
- select
|
- select
|
||||||
- service: media_player.turn_off
|
- action: media_player.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.lounge_appletv
|
entity_id: media_player.lounge_appletv
|
||||||
```
|
```
|
||||||
@ -170,7 +170,7 @@ apple_tv_sleep:
|
|||||||
Send 3 `left` commands with delay between each:
|
Send 3 `left` commands with delay between each:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.apple_tv
|
entity_id: remote.apple_tv
|
||||||
data:
|
data:
|
||||||
|
@ -72,7 +72,7 @@ config:
|
|||||||
## Example action
|
## Example action
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: notify.NOTIFIER_NAME
|
- action: notify.NOTIFIER_NAME
|
||||||
data:
|
data:
|
||||||
message: "A message from Home Assistant"
|
message: "A message from Home Assistant"
|
||||||
```
|
```
|
||||||
@ -80,7 +80,7 @@ config:
|
|||||||
If you're using configuration files to store your Apprise URLs in, then you have the added bonus of associating tags with them. By default, Apprise in Home Assistant will only notify the elements that have no tags associated with them. You can optionally focus on only notifying a specific service based on the tag(s) you assigned them like so:
|
If you're using configuration files to store your Apprise URLs in, then you have the added bonus of associating tags with them. By default, Apprise in Home Assistant will only notify the elements that have no tags associated with them. You can optionally focus on only notifying a specific service based on the tag(s) you assigned them like so:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: notify.NOTIFIER_NAME
|
- action: notify.NOTIFIER_NAME
|
||||||
data:
|
data:
|
||||||
message: "A message from Home Assistant"
|
message: "A message from Home Assistant"
|
||||||
target: [
|
target: [
|
||||||
|
@ -161,7 +161,7 @@ Using the lock operation sensors, you can detect when a user operates a lock and
|
|||||||
action:
|
action:
|
||||||
- data: {}
|
- data: {}
|
||||||
entity_id: camera.inside
|
entity_id: camera.inside
|
||||||
service: camera.turn_off
|
action: camera.turn_off
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
@ -85,7 +85,7 @@ automation:
|
|||||||
platform: sun
|
platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
action:
|
action:
|
||||||
service: notify.test_queue
|
action: notify.test_queue
|
||||||
data:
|
data:
|
||||||
message: "Sun is going down"
|
message: "Sun is going down"
|
||||||
title: "Good evening"
|
title: "Good evening"
|
||||||
|
@ -40,7 +40,7 @@ The action has no additional options or parameters.
|
|||||||
Example action:
|
Example action:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: backup.create
|
action: backup.create
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example: Backing up every night at 3:00 AM
|
### Example: Backing up every night at 3:00 AM
|
||||||
@ -56,7 +56,7 @@ automation:
|
|||||||
at: "03:00:00"
|
at: "03:00:00"
|
||||||
action:
|
action:
|
||||||
alias: "Create backup now"
|
alias: "Create backup now"
|
||||||
service: backup.create
|
action: backup.create
|
||||||
```
|
```
|
||||||
|
|
||||||
## Restoring a backup
|
## Restoring a backup
|
||||||
|
@ -60,7 +60,7 @@ The Bang & Olufsen integration supports different playback types in the `media_p
|
|||||||
Playing [DR P1](https://www.dr.dk/lyd/p1) from a URL:
|
Playing [DR P1](https://www.dr.dk/lyd/p1) from a URL:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -71,7 +71,7 @@ data:
|
|||||||
Activating the first favourite:
|
Activating the first favourite:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -82,7 +82,7 @@ data:
|
|||||||
Playing a local file:
|
Playing a local file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -93,7 +93,7 @@ data:
|
|||||||
Playing a radio station:
|
Playing a radio station:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -104,7 +104,7 @@ data:
|
|||||||
Playing a Deezer flow. Optionally define a Deezer user ID:
|
Playing a Deezer flow. Optionally define a Deezer user ID:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -117,7 +117,7 @@ data:
|
|||||||
Playing a Deezer playlist. Optionally define starting position for the playlist:
|
Playing a Deezer playlist. Optionally define starting position for the playlist:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -130,7 +130,7 @@ data:
|
|||||||
Playing a Deezer album. Optionally define starting position for the album:
|
Playing a Deezer album. Optionally define starting position for the album:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -143,7 +143,7 @@ data:
|
|||||||
Playing a Deezer track:
|
Playing a Deezer track:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -154,7 +154,7 @@ data:
|
|||||||
Playing a Tidal playlist. Optionally define starting position for the playlist:
|
Playing a Tidal playlist. Optionally define starting position for the playlist:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -167,7 +167,7 @@ data:
|
|||||||
Playing a Tidal album. Optionally define starting position for the album:
|
Playing a Tidal album. Optionally define starting position for the album:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -180,7 +180,7 @@ data:
|
|||||||
Playing a Tidal track:
|
Playing a Tidal track:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -208,7 +208,7 @@ Extra keys available:
|
|||||||
Playing a local file with an absolute volume as an overlay:
|
Playing a local file with an absolute volume as an overlay:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -222,7 +222,7 @@ data:
|
|||||||
Playing a Bang & Olufsen Cloud TTS message with an offset volume (as TTS messages can be quiet):
|
Playing a Bang & Olufsen Cloud TTS message with an offset volume (as TTS messages can be quiet):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
@ -235,7 +235,7 @@ data:
|
|||||||
|
|
||||||
Playing a Bang & Olufsen Cloud TTS message with a local language:
|
Playing a Bang & Olufsen Cloud TTS message with a local language:
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.beosound_balance_12345678
|
entity_id: media_player.beosound_balance_12345678
|
||||||
data:
|
data:
|
||||||
|
@ -49,12 +49,12 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
entity_id: sensor.illumination_34ce00xxxx11
|
entity_id: sensor.illumination_34ce00xxxx11
|
||||||
below: 300
|
below: 300
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_34ce00xxxx11
|
entity_id: light.gateway_light_34ce00xxxx11
|
||||||
data:
|
data:
|
||||||
brightness: 5
|
brightness: 5
|
||||||
- service: automation.turn_on
|
- action: automation.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: automation.MOTION_OFF
|
entity_id: automation.MOTION_OFF
|
||||||
- alias: "If there no motion for 5 minutes turn off the gateway light"
|
- alias: "If there no motion for 5 minutes turn off the gateway light"
|
||||||
@ -66,10 +66,10 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
for:
|
for:
|
||||||
minutes: 5
|
minutes: 5
|
||||||
action:
|
action:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_34ce00xxxx11
|
entity_id: light.gateway_light_34ce00xxxx11
|
||||||
- service: automation.turn_off
|
- action: automation.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: automation.Motion_off
|
entity_id: automation.Motion_off
|
||||||
```
|
```
|
||||||
@ -84,7 +84,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
from: "off"
|
from: "off"
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
service: climate.set_operation_mode
|
action: climate.set_operation_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.livingroom
|
entity_id: climate.livingroom
|
||||||
data:
|
data:
|
||||||
@ -98,7 +98,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
for:
|
for:
|
||||||
minutes: 5
|
minutes: 5
|
||||||
action:
|
action:
|
||||||
service: climate.set_operation_mode
|
action: climate.set_operation_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.livingroom
|
entity_id: climate.livingroom
|
||||||
data:
|
data:
|
||||||
@ -114,7 +114,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
entity_id: group.family
|
entity_id: group.family
|
||||||
state: "not_home"
|
state: "not_home"
|
||||||
action:
|
action:
|
||||||
- service: notify.notify_person
|
- action: notify.notify_person
|
||||||
data:
|
data:
|
||||||
message: "The door has been opened"
|
message: "The door has been opened"
|
||||||
```
|
```
|
||||||
@ -129,11 +129,11 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
from: "off"
|
from: "off"
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: notify.html5
|
- action: notify.html5
|
||||||
data:
|
data:
|
||||||
title: Fire alarm!
|
title: Fire alarm!
|
||||||
message: Fire/Smoke detected!
|
message: Fire/Smoke detected!
|
||||||
- service: xiaomi_aqara.play_ringtone
|
- action: xiaomi_aqara.play_ringtone
|
||||||
data:
|
data:
|
||||||
gw_mac: xxxxxxxxxxxx
|
gw_mac: xxxxxxxxxxxx
|
||||||
ringtone_id: 2
|
ringtone_id: 2
|
||||||
@ -152,7 +152,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
|
|||||||
from: "off"
|
from: "off"
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: notify.html5
|
- action: notify.html5
|
||||||
data:
|
data:
|
||||||
title: Gas alarm!
|
title: Gas alarm!
|
||||||
message: "Gas with a density of {{ state_attr('binary_sensor.natgas_sensor_158dxxxxxxxxxx', 'density') }} detected."
|
message: "Gas with a density of {{ state_attr('binary_sensor.natgas_sensor_158dxxxxxxxxxx', 'density') }} detected."
|
||||||
@ -173,7 +173,7 @@ As indicated in the table on top of this page there are 3 versions of the button
|
|||||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||||
click_type: single
|
click_type: single
|
||||||
action:
|
action:
|
||||||
service: switch.toggle
|
action: switch.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: switch.wall_switch_left_158d000xxxxx01
|
entity_id: switch.wall_switch_left_158d000xxxxx01
|
||||||
- alias: "Toggle couch light on double click"
|
- alias: "Toggle couch light on double click"
|
||||||
@ -184,7 +184,7 @@ As indicated in the table on top of this page there are 3 versions of the button
|
|||||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||||
click_type: double
|
click_type: double
|
||||||
action:
|
action:
|
||||||
service: switch.toggle
|
action: switch.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: switch.wall_switch_right_158d000xxxxx01
|
entity_id: switch.wall_switch_right_158d000xxxxx01
|
||||||
- alias: "Let a dog bark on long press"
|
- alias: "Let a dog bark on long press"
|
||||||
@ -195,7 +195,7 @@ As indicated in the table on top of this page there are 3 versions of the button
|
|||||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||||
click_type: long_click_press
|
click_type: long_click_press
|
||||||
action:
|
action:
|
||||||
service: xiaomi_aqara.play_ringtone
|
action: xiaomi_aqara.play_ringtone
|
||||||
data:
|
data:
|
||||||
gw_mac: xxxxxxxxxxxx
|
gw_mac: xxxxxxxxxxxx
|
||||||
ringtone_id: 8
|
ringtone_id: 8
|
||||||
@ -215,7 +215,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
|||||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||||
action_type: flip90
|
action_type: flip90
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_28xxxxxxxxxx
|
entity_id: light.gateway_light_28xxxxxxxxxx
|
||||||
data:
|
data:
|
||||||
@ -228,7 +228,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
|||||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||||
action_type: flip180
|
action_type: flip180
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_28xxxxxxxxxx
|
entity_id: light.gateway_light_28xxxxxxxxxx
|
||||||
data:
|
data:
|
||||||
@ -241,7 +241,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
|||||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||||
action_type: move
|
action_type: move
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_28xxxxxxxxxx
|
entity_id: light.gateway_light_28xxxxxxxxxx
|
||||||
data:
|
data:
|
||||||
@ -254,7 +254,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
|||||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||||
action_type: tap_twice
|
action_type: tap_twice
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_28xxxxxxxxxx
|
entity_id: light.gateway_light_28xxxxxxxxxx
|
||||||
data:
|
data:
|
||||||
@ -267,7 +267,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
|||||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||||
action_type: shake_air
|
action_type: shake_air
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_28xxxxxxxxxx
|
entity_id: light.gateway_light_28xxxxxxxxxx
|
||||||
data:
|
data:
|
||||||
@ -289,7 +289,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
|||||||
entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
|
entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
|
||||||
click_type: single
|
click_type: single
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_34xxxxxxxx13
|
entity_id: light.gateway_light_34xxxxxxxx13
|
||||||
data:
|
data:
|
||||||
@ -312,7 +312,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
|||||||
entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
|
entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
|
||||||
click_type: single
|
click_type: single
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_34xxxxxxxx13
|
entity_id: light.gateway_light_34xxxxxxxx13
|
||||||
data:
|
data:
|
||||||
@ -335,7 +335,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
|||||||
entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
|
entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
|
||||||
click_type: both
|
click_type: both
|
||||||
action:
|
action:
|
||||||
service: light.turn_off
|
action: light.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: light.gateway_light_34xxxxxxxx13
|
entity_id: light.gateway_light_34xxxxxxxx13
|
||||||
```
|
```
|
||||||
@ -355,7 +355,7 @@ This automation toggles the living room lamp on vibration/tilt.
|
|||||||
entity_id: binary_sensor.vibration_xxxx000000
|
entity_id: binary_sensor.vibration_xxxx000000
|
||||||
movement_type: vibrate
|
movement_type: vibrate
|
||||||
action:
|
action:
|
||||||
service: light.toggle
|
action: light.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: light.living_room_lamp
|
entity_id: light.living_room_lamp
|
||||||
- alias: "Turn on Living Room Lamp on tilt"
|
- alias: "Turn on Living Room Lamp on tilt"
|
||||||
@ -366,7 +366,7 @@ This automation toggles the living room lamp on vibration/tilt.
|
|||||||
entity_id: binary_sensor.vibration_xxxx000000
|
entity_id: binary_sensor.vibration_xxxx000000
|
||||||
movement_type: tilt
|
movement_type: tilt
|
||||||
action:
|
action:
|
||||||
service: light.toggle
|
action: light.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: light.living_room_lamp
|
entity_id: light.living_room_lamp
|
||||||
```
|
```
|
||||||
|
@ -116,10 +116,10 @@ This example script shows how to take a picture with your camera, named `My Came
|
|||||||
```yaml
|
```yaml
|
||||||
alias: "Blink Snap Picture"
|
alias: "Blink Snap Picture"
|
||||||
sequence:
|
sequence:
|
||||||
- service: blink.trigger_camera
|
- action: blink.trigger_camera
|
||||||
target:
|
target:
|
||||||
entity_id: camera.blink_my_camera
|
entity_id: camera.blink_my_camera
|
||||||
- service: camera.snapshot
|
- action: camera.snapshot
|
||||||
target:
|
target:
|
||||||
entity_id: camera.blink_my_camera
|
entity_id: camera.blink_my_camera
|
||||||
data:
|
data:
|
||||||
@ -140,7 +140,7 @@ Here, this example assumes your blink module is named `My Sync Module` and that
|
|||||||
entity_id: all
|
entity_id: all
|
||||||
to: "not_home"
|
to: "not_home"
|
||||||
action:
|
action:
|
||||||
service: alarm_control_panel.alarm_arm_away
|
action: alarm_control_panel.alarm_arm_away
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.blink_my_sync_module
|
entity_id: alarm_control_panel.blink_my_sync_module
|
||||||
```
|
```
|
||||||
@ -157,7 +157,7 @@ Similar to the previous example, this automation will disarm blink when arriving
|
|||||||
entity_id: all
|
entity_id: all
|
||||||
to: "home"
|
to: "home"
|
||||||
action:
|
action:
|
||||||
service: alarm_control_panel.alarm_disarm
|
action: alarm_control_panel.alarm_disarm
|
||||||
target:
|
target:
|
||||||
entity_id: alarm_control_panel.blink_my_sync_module
|
entity_id: alarm_control_panel.blink_my_sync_module
|
||||||
```
|
```
|
||||||
@ -178,7 +178,7 @@ The following example assumes your camera's name (in the Blink app) is `My Camer
|
|||||||
entity_id: binary_sensor.blink_my_camera_motion_detected
|
entity_id: binary_sensor.blink_my_camera_motion_detected
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: blink.save_video
|
- action: blink.save_video
|
||||||
target:
|
target:
|
||||||
entity_id: camera.blink_my_camera
|
entity_id: camera.blink_my_camera
|
||||||
data:
|
data:
|
||||||
@ -206,7 +206,7 @@ The file name of the downloaded video file is not configurable.
|
|||||||
- platform: time_pattern
|
- platform: time_pattern
|
||||||
minutes: /3
|
minutes: /3
|
||||||
action:
|
action:
|
||||||
- service: blink.save_recent_clips
|
- action: blink.save_recent_clips
|
||||||
target:
|
target:
|
||||||
entity_id: camera.my_camera
|
entity_id: camera.my_camera
|
||||||
data:
|
data:
|
||||||
|
@ -79,7 +79,7 @@ The name of the action is `notify.bmw_connected_drive_<your_vehicle>`.
|
|||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
action:
|
action:
|
||||||
service: notify.bmw_connected_drive_<your_vehicle>
|
action: notify.bmw_connected_drive_<your_vehicle>
|
||||||
data:
|
data:
|
||||||
message: The name of the POI # this is shown on the iDrive dashboard
|
message: The name of the POI # this is shown on the iDrive dashboard
|
||||||
data:
|
data:
|
||||||
|
@ -69,36 +69,36 @@ media_player:
|
|||||||
browse_media_entity: media_player.sony_tv_native
|
browse_media_entity: media_player.sony_tv_native
|
||||||
commands:
|
commands:
|
||||||
turn_off:
|
turn_off:
|
||||||
service: media_player.turn_off
|
action: media_player.turn_off
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
turn_on:
|
turn_on:
|
||||||
service: media_player.turn_on
|
action: media_player.turn_on
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
select_source:
|
select_source:
|
||||||
service: media_player.select_source
|
action: media_player.select_source
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
source: "{{ source }}"
|
source: "{{ source }}"
|
||||||
media_play:
|
media_play:
|
||||||
service: media_player.media_play
|
action: media_player.media_play
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
media_pause:
|
media_pause:
|
||||||
service: media_player.media_pause
|
action: media_player.media_pause
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
media_play_pause:
|
media_play_pause:
|
||||||
service: media_player.media_play_pause
|
action: media_player.media_play_pause
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
media_previous_track:
|
media_previous_track:
|
||||||
service: media_player.media_previous_track
|
action: media_player.media_previous_track
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
media_next_track:
|
media_next_track:
|
||||||
service: media_player.media_next_track
|
action: media_player.media_next_track
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.sony_tv_native
|
entity_id: media_player.sony_tv_native
|
||||||
```
|
```
|
||||||
@ -119,7 +119,7 @@ The `play_media` {% term action %} can be used in an {% term automation %} or {%
|
|||||||
**Example to open YouTube app:**
|
**Example to open YouTube app:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.bravia_tv
|
entity_id: media_player.bravia_tv
|
||||||
data:
|
data:
|
||||||
@ -130,7 +130,7 @@ data:
|
|||||||
**Example to switch to channel number 11:**
|
**Example to switch to channel number 11:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.bravia_tv
|
entity_id: media_player.bravia_tv
|
||||||
data:
|
data:
|
||||||
@ -141,7 +141,7 @@ data:
|
|||||||
**Example to switch to channel including 'news' in its name:**
|
**Example to switch to channel including 'news' in its name:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.bravia_tv
|
entity_id: media_player.bravia_tv
|
||||||
data:
|
data:
|
||||||
@ -158,7 +158,7 @@ The commands that can be sent to the TV depend on the model of your TV. To displ
|
|||||||
**Example to send `Down` key command:**
|
**Example to send `Down` key command:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bravia_tv
|
entity_id: remote.bravia_tv
|
||||||
data:
|
data:
|
||||||
|
@ -58,7 +58,7 @@ The **Bring** integration offers an action to send push notifications to the Bri
|
|||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
action:
|
action:
|
||||||
service: bring.send_message
|
action: bring.send_message
|
||||||
target:
|
target:
|
||||||
entity_id: todo.bring_shoppinglist
|
entity_id: todo.bring_shoppinglist
|
||||||
data:
|
data:
|
||||||
@ -72,7 +72,7 @@ Note that for the notification type `urgent_message` the attribute `item` is **r
|
|||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
action:
|
action:
|
||||||
service: bring.send_message
|
action: bring.send_message
|
||||||
target:
|
target:
|
||||||
entity_id: todo.bring_shoppinglist
|
entity_id: todo.bring_shoppinglist
|
||||||
data:
|
data:
|
||||||
|
@ -92,7 +92,7 @@ To learn IR codes, call `remote.learn_command` with the device name and command
|
|||||||
script:
|
script:
|
||||||
learn_tv_power:
|
learn_tv_power:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.learn_command
|
- action: remote.learn_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -113,7 +113,7 @@ Learning RF codes takes place in two steps. First call `remote.learn_command` wi
|
|||||||
script:
|
script:
|
||||||
learn_car_unlock:
|
learn_car_unlock:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.learn_command
|
- action: remote.learn_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.garage
|
entity_id: remote.garage
|
||||||
data:
|
data:
|
||||||
@ -137,7 +137,7 @@ In order to streamline the learning process, you may want to provide a list of c
|
|||||||
script:
|
script:
|
||||||
learn_tv_commands:
|
learn_tv_commands:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.learn_command
|
- action: remote.learn_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -164,7 +164,7 @@ If the code works sometimes, and sometimes it doesn't, you can try to relearn it
|
|||||||
script:
|
script:
|
||||||
learn_tv_power_button:
|
learn_tv_power_button:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.learn_command
|
- action: remote.learn_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -200,7 +200,7 @@ To send a command that you've learned, call `remote.send_command` with the devic
|
|||||||
script:
|
script:
|
||||||
tv_power:
|
tv_power:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -217,7 +217,7 @@ Use `num_repeats:` to send the same command multiple times:
|
|||||||
script:
|
script:
|
||||||
turn_up_tv_volume_20:
|
turn_up_tv_volume_20:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -235,7 +235,7 @@ You can provide a list of commands to be sent sequentially:
|
|||||||
script:
|
script:
|
||||||
turn_on_ac:
|
turn_on_ac:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -254,7 +254,7 @@ Sometimes you may want to send a base64 code obtained elsewhere. Use the `b64:`
|
|||||||
script:
|
script:
|
||||||
turn_on_tv:
|
turn_on_tv:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -270,7 +270,7 @@ You can send a sequence of base64 codes just like normal commands:
|
|||||||
script:
|
script:
|
||||||
turn_on_ac:
|
turn_on_ac:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -288,7 +288,7 @@ You can mix commands and base64 codes:
|
|||||||
script:
|
script:
|
||||||
turn_on_ac:
|
turn_on_ac:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.send_command
|
- action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -317,7 +317,7 @@ To delete a command, call `remote.delete_command` with the device name and the c
|
|||||||
script:
|
script:
|
||||||
delete_tv_power:
|
delete_tv_power:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.delete_command
|
- action: remote.delete_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
@ -334,7 +334,7 @@ You can provide a list of commands to be deleted:
|
|||||||
script:
|
script:
|
||||||
delete_tv_commands:
|
delete_tv_commands:
|
||||||
sequence:
|
sequence:
|
||||||
- service: remote.delete_command
|
- action: remote.delete_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bedroom
|
entity_id: remote.bedroom
|
||||||
data:
|
data:
|
||||||
|
@ -41,7 +41,7 @@ trigger:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: button.my_button
|
entity_id: button.my_button
|
||||||
action:
|
action:
|
||||||
- service: notify.frenck
|
- action: notify.frenck
|
||||||
data:
|
data:
|
||||||
message: "My button has been pressed!"
|
message: "My button has been pressed!"
|
||||||
```
|
```
|
||||||
@ -53,7 +53,7 @@ The button entities exposes a single {% term action %}: {% my developer_call_ser
|
|||||||
This action can be called to trigger a button press for that entity.
|
This action can be called to trigger a button press for that entity.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: button.press
|
- action: button.press
|
||||||
target:
|
target:
|
||||||
entity_id: button.my_button
|
entity_id: button.my_button
|
||||||
```
|
```
|
||||||
|
@ -93,7 +93,7 @@ automation:
|
|||||||
event: start
|
event: start
|
||||||
entity_id: calendar.personal
|
entity_id: calendar.personal
|
||||||
action:
|
action:
|
||||||
- service: persistent_notification.create
|
- action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
message: >-
|
message: >-
|
||||||
Event {{ trigger.calendar_event.summary }} @
|
Event {{ trigger.calendar_event.summary }} @
|
||||||
@ -129,10 +129,10 @@ automation:
|
|||||||
- if:
|
- if:
|
||||||
- "{{ trigger.event == 'start' }}"
|
- "{{ trigger.event == 'start' }}"
|
||||||
then:
|
then:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
entity_id: light.front
|
entity_id: light.front
|
||||||
else:
|
else:
|
||||||
- service: light.turn_off
|
- action: light.turn_off
|
||||||
entity_id: light.front
|
entity_id: light.front
|
||||||
```
|
```
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
@ -167,7 +167,7 @@ You either use `start_date_time` and `end_date_time`, or `start_date` and `end_d
|
|||||||
This is a full example of a {% term service %} call in YAML:
|
This is a full example of a {% term service %} call in YAML:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: calendar.create_event
|
action: calendar.create_event
|
||||||
target:
|
target:
|
||||||
entity_id: calendar.device_automation_schedules
|
entity_id: calendar.device_automation_schedules
|
||||||
data:
|
data:
|
||||||
@ -180,7 +180,7 @@ Home Assistant Calendars do not allow zero duration Calendar events. The followi
|
|||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
service: calendar.create_event
|
action: calendar.create_event
|
||||||
target:
|
target:
|
||||||
entity_id: calendar.device_automation_schedules
|
entity_id: calendar.device_automation_schedules
|
||||||
data:
|
data:
|
||||||
@ -207,7 +207,7 @@ Use only one of `end_date_time` or `duration`.
|
|||||||
{% endnote %}
|
{% endnote %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: calendar.get_events
|
action: calendar.get_events
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- calendar.school
|
- calendar.school
|
||||||
@ -233,7 +233,7 @@ This example uses a template with response data in another action:
|
|||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.nina
|
action: notify.nina
|
||||||
data:
|
data:
|
||||||
title: Daily agenda for {{ now().date() }}
|
title: Daily agenda for {{ now().date() }}
|
||||||
message: >-
|
message: >-
|
||||||
|
@ -65,7 +65,7 @@ For example, the following action in an automation would send an `hls` live stre
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: camera.play_stream
|
action: camera.play_stream
|
||||||
target:
|
target:
|
||||||
entity_id: camera.yourcamera
|
entity_id: camera.yourcamera
|
||||||
data:
|
data:
|
||||||
@ -93,7 +93,7 @@ For example, the following action in an automation would take a recording from "
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: camera.record
|
action: camera.record
|
||||||
target:
|
target:
|
||||||
entity_id: camera.yourcamera
|
entity_id: camera.yourcamera
|
||||||
data:
|
data:
|
||||||
@ -119,7 +119,7 @@ For example, the following action in an automation would take a snapshot from "y
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: camera.snapshot
|
action: camera.snapshot
|
||||||
target:
|
target:
|
||||||
entity_id: camera.yourcamera
|
entity_id: camera.yourcamera
|
||||||
data:
|
data:
|
||||||
|
@ -43,7 +43,7 @@ cast_downstairs_on_kitchen:
|
|||||||
dashboard_path: lovelace-cast
|
dashboard_path: lovelace-cast
|
||||||
entity_id: media_player.kitchen
|
entity_id: media_player.kitchen
|
||||||
view_path: downstairs
|
view_path: downstairs
|
||||||
service: cast.show_lovelace_view
|
action: cast.show_lovelace_view
|
||||||
```
|
```
|
||||||
|
|
||||||
{% important %}
|
{% important %}
|
||||||
@ -70,7 +70,7 @@ You can play MP3 streams like net radios, FLAC files or videos from your local n
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Play a video file from the local network:
|
# Play a video file from the local network:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
data:
|
data:
|
||||||
@ -80,7 +80,7 @@ data:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Show a jpeg image:
|
# Show a jpeg image:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
data:
|
data:
|
||||||
@ -93,7 +93,7 @@ For the possible metadata types and values check [Google cast documentation > Me
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Play a movie from the internet, with extra metadata provided:
|
# Play a movie from the internet, with extra metadata provided:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
data:
|
data:
|
||||||
@ -110,7 +110,7 @@ data:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Play a netradio, with extra metadata provided:
|
# Play a netradio, with extra metadata provided:
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
data:
|
data:
|
||||||
@ -161,7 +161,7 @@ Example values to cast [this episode](https://www.bbc.co.uk/iplayer/episode/b09w
|
|||||||
```yaml
|
```yaml
|
||||||
alias: "Cast BBC iPlayer to My Chromecast"
|
alias: "Cast BBC iPlayer to My Chromecast"
|
||||||
sequence:
|
sequence:
|
||||||
- service: media_player.play_media
|
- action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.my_chromecast
|
entity_id: media_player.my_chromecast
|
||||||
data:
|
data:
|
||||||
@ -202,7 +202,7 @@ Example values to cast [BBC Radio 1](https://www.bbc.co.uk/sounds/play/live:bbc_
|
|||||||
```yaml
|
```yaml
|
||||||
alias: "Cast BBC Sounds to My Chromecast"
|
alias: "Cast BBC Sounds to My Chromecast"
|
||||||
sequence:
|
sequence:
|
||||||
- service: media_player.play_media
|
- action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.my_chromecast
|
entity_id: media_player.my_chromecast
|
||||||
data:
|
data:
|
||||||
@ -252,7 +252,7 @@ Optional:
|
|||||||
"media_id": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
|
"media_id": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
|
||||||
"media_type": "video/mp4"
|
"media_type": "video/mp4"
|
||||||
}'
|
}'
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
```
|
```
|
||||||
|
|
||||||
### [NRK Radio](https://radio.nrk.no)
|
### [NRK Radio](https://radio.nrk.no)
|
||||||
@ -286,7 +286,7 @@ Example values to cast the item at <https://radio.nrk.no/podkast/tazte_priv/l_84
|
|||||||
"app_name": "nrkradio",
|
"app_name": "nrkradio",
|
||||||
"media_id": "l_8457deb0-4f2c-4ef3-97de-b04f2c6ef314"
|
"media_id": "l_8457deb0-4f2c-4ef3-97de-b04f2c6ef314"
|
||||||
}'
|
}'
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
```
|
```
|
||||||
|
|
||||||
### [NRK TV](https://tv.nrk.no)
|
### [NRK TV](https://tv.nrk.no)
|
||||||
@ -318,7 +318,7 @@ Example values to cast the item at <https://tv.nrk.no/serie/uti-vaar-hage/sesong
|
|||||||
"app_name": "nrktv",
|
"app_name": "nrktv",
|
||||||
"media_id": "OUHA43000207"
|
"media_id": "OUHA43000207"
|
||||||
}'
|
}'
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
```
|
```
|
||||||
|
|
||||||
### Plex
|
### Plex
|
||||||
@ -329,7 +329,7 @@ To cast media directly from a configured Plex server, set the fields [as documen
|
|||||||
'cast_plex_to_chromecast':
|
'cast_plex_to_chromecast':
|
||||||
alias: "Cast Plex to Chromecast"
|
alias: "Cast Plex to Chromecast"
|
||||||
sequence:
|
sequence:
|
||||||
- service: media_player.play_media
|
- action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
data:
|
data:
|
||||||
@ -376,7 +376,7 @@ Example values to cast the item at <https://www.supla.fi/audio/3601824>
|
|||||||
"app_name": "supla",
|
"app_name": "supla",
|
||||||
"media_id": "3601824"
|
"media_id": "3601824"
|
||||||
}'
|
}'
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
```
|
```
|
||||||
|
|
||||||
### YouTube
|
### YouTube
|
||||||
@ -408,7 +408,7 @@ Optional:
|
|||||||
"app_name": "youtube",
|
"app_name": "youtube",
|
||||||
"media_id": "dQw4w9WgXcQ"
|
"media_id": "dQw4w9WgXcQ"
|
||||||
}'
|
}'
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
```
|
```
|
||||||
|
|
||||||
## Troubleshooting automatic discovery
|
## Troubleshooting automatic discovery
|
||||||
|
@ -69,7 +69,7 @@ Here are the automations for the above screenshot:
|
|||||||
- platform: webhook
|
- platform: webhook
|
||||||
webhook_id: build_failed
|
webhook_id: build_failed
|
||||||
action:
|
action:
|
||||||
service: notify.cisco_webex_teams_notify
|
action: notify.cisco_webex_teams_notify
|
||||||
data:
|
data:
|
||||||
message: "<blockquote class=danger>Build 0.89.5 compile failed."
|
message: "<blockquote class=danger>Build 0.89.5 compile failed."
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ Here are the automations for the above screenshot:
|
|||||||
- platform: webhook
|
- platform: webhook
|
||||||
webhook_id: build_unstable
|
webhook_id: build_unstable
|
||||||
action:
|
action:
|
||||||
service: notify.cisco_webex_teams_notify
|
action: notify.cisco_webex_teams_notify
|
||||||
data:
|
data:
|
||||||
title: "<strong>Build 0.89.6 is unstable.</strong>"
|
title: "<strong>Build 0.89.6 is unstable.</strong>"
|
||||||
message: "<blockquote class=warning>Version 0.89.6 failed verifications.
|
message: "<blockquote class=warning>Version 0.89.6 failed verifications.
|
||||||
@ -105,7 +105,7 @@ Here are the automations for the above screenshot:
|
|||||||
- platform: webhook
|
- platform: webhook
|
||||||
webhook_id: build_passed
|
webhook_id: build_passed
|
||||||
action:
|
action:
|
||||||
service: notify.cisco_webex_teams_notify
|
action: notify.cisco_webex_teams_notify
|
||||||
data:
|
data:
|
||||||
title: "<strong>✅ Version 0.89.7 passed all tests and deployed to production!</strong>"
|
title: "<strong>✅ Version 0.89.7 passed all tests and deployed to production!</strong>"
|
||||||
message: "<blockquote class=info>Version 0.89.7 passed all verifications.
|
message: "<blockquote class=info>Version 0.89.7 passed all verifications.
|
||||||
|
@ -65,7 +65,7 @@ trigger:
|
|||||||
- platform: sun
|
- platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
action:
|
action:
|
||||||
- service: notify.clicksend_tts
|
- action: notify.clicksend_tts
|
||||||
data:
|
data:
|
||||||
message: "The sun has set"
|
message: "The sun has set"
|
||||||
```
|
```
|
||||||
|
@ -42,7 +42,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_aux_heat
|
- action: climate.set_aux_heat
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -68,7 +68,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_preset_mode
|
- action: climate.set_preset_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -96,7 +96,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_temperature
|
- action: climate.set_temperature
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -111,7 +111,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_temperature
|
- action: climate.set_temperature
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -137,7 +137,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_humidity
|
- action: climate.set_humidity
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -161,7 +161,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_fan_mode
|
- action: climate.set_fan_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -185,7 +185,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_hvac_mode
|
- action: climate.set_hvac_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
@ -209,7 +209,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: climate.set_swing_mode
|
- action: climate.set_swing_mode
|
||||||
target:
|
target:
|
||||||
entity_id: climate.kitchen
|
entity_id: climate.kitchen
|
||||||
data:
|
data:
|
||||||
|
@ -59,7 +59,7 @@ Example usage in an {% term automation %}, taking the album art present on a Chr
|
|||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
|
|
||||||
action:
|
action:
|
||||||
- service: color_extractor.turn_on
|
- action: color_extractor.turn_on
|
||||||
data_template:
|
data_template:
|
||||||
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
||||||
entity_id: light.shelf_leds
|
entity_id: light.shelf_leds
|
||||||
@ -76,7 +76,7 @@ With a nicer transition period of 5 seconds and setting brightness to 100% each
|
|||||||
entity_id: media_player.chromecast
|
entity_id: media_player.chromecast
|
||||||
|
|
||||||
action:
|
action:
|
||||||
- service: color_extractor.turn_on
|
- action: color_extractor.turn_on
|
||||||
data_template:
|
data_template:
|
||||||
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
||||||
entity_id: light.shelf_leds
|
entity_id: light.shelf_leds
|
||||||
|
@ -155,7 +155,7 @@ automation:
|
|||||||
event_data:
|
event_data:
|
||||||
level: ERROR
|
level: ERROR
|
||||||
action:
|
action:
|
||||||
service: counter.increment
|
action: counter.increment
|
||||||
target:
|
target:
|
||||||
entity_id: counter.error_counter
|
entity_id: counter.error_counter
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: cover.open_cover
|
- action: cover.open_cover
|
||||||
target:
|
target:
|
||||||
entity_id: cover.demo
|
entity_id: cover.demo
|
||||||
```
|
```
|
||||||
@ -87,7 +87,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: cover.set_cover_position
|
- action: cover.set_cover_position
|
||||||
target:
|
target:
|
||||||
entity_id: cover.demo
|
entity_id: cover.demo
|
||||||
data:
|
data:
|
||||||
@ -111,7 +111,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: cover.set_cover_tilt_position
|
- action: cover.set_cover_tilt_position
|
||||||
target:
|
target:
|
||||||
entity_id: cover.demo
|
entity_id: cover.demo
|
||||||
data:
|
data:
|
||||||
|
@ -39,11 +39,11 @@ cover:
|
|||||||
friendly_name: "Garage Door"
|
friendly_name: "Garage Door"
|
||||||
value_template: "{{ states('sensor.garage_door')|float > 0 }}"
|
value_template: "{{ states('sensor.garage_door')|float > 0 }}"
|
||||||
open_cover:
|
open_cover:
|
||||||
service: script.open_garage_door
|
action: script.open_garage_door
|
||||||
close_cover:
|
close_cover:
|
||||||
service: script.close_garage_door
|
action: script.close_garage_door
|
||||||
stop_cover:
|
stop_cover:
|
||||||
service: script.stop_garage_door
|
action: script.stop_garage_door
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
@ -189,18 +189,18 @@ cover:
|
|||||||
- condition: state
|
- condition: state
|
||||||
entity_id: sensor.garage_door
|
entity_id: sensor.garage_door
|
||||||
state: "off"
|
state: "off"
|
||||||
- service: switch.turn_on
|
- action: switch.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: switch.garage_door
|
entity_id: switch.garage_door
|
||||||
close_cover:
|
close_cover:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: sensor.garage_door
|
entity_id: sensor.garage_door
|
||||||
state: "on"
|
state: "on"
|
||||||
- service: switch.turn_off
|
- action: switch.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: switch.garage_door
|
entity_id: switch.garage_door
|
||||||
stop_cover:
|
stop_cover:
|
||||||
service: switch.turn_on
|
action: switch.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: switch.garage_door
|
entity_id: switch.garage_door
|
||||||
icon_template: >-
|
icon_template: >-
|
||||||
@ -231,23 +231,23 @@ cover:
|
|||||||
cover_group:
|
cover_group:
|
||||||
friendly_name: "Cover Group"
|
friendly_name: "Cover Group"
|
||||||
open_cover:
|
open_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "open"
|
modus: "open"
|
||||||
close_cover:
|
close_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "close"
|
modus: "close"
|
||||||
stop_cover:
|
stop_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "stop"
|
modus: "stop"
|
||||||
set_cover_position:
|
set_cover_position:
|
||||||
service: script.cover_group_position
|
action: script.cover_group_position
|
||||||
data:
|
data:
|
||||||
position: "{{position}}"
|
position: "{{position}}"
|
||||||
set_cover_tilt_position:
|
set_cover_tilt_position:
|
||||||
service: script.cover_group_tilt_position
|
action: script.cover_group_tilt_position
|
||||||
data:
|
data:
|
||||||
tilt: "{{tilt}}"
|
tilt: "{{tilt}}"
|
||||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||||
@ -274,14 +274,14 @@ sensor:
|
|||||||
script:
|
script:
|
||||||
cover_group:
|
cover_group:
|
||||||
sequence:
|
sequence:
|
||||||
- service: "cover.{{modus}}_cover"
|
- action: "cover.{{modus}}_cover"
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- cover.bedroom
|
- cover.bedroom
|
||||||
- cover.livingroom
|
- cover.livingroom
|
||||||
cover_group_position:
|
cover_group_position:
|
||||||
sequence:
|
sequence:
|
||||||
- service: cover.set_cover_position
|
- action: cover.set_cover_position
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- cover.bedroom
|
- cover.bedroom
|
||||||
@ -296,7 +296,7 @@ automation:
|
|||||||
event: sunset
|
event: sunset
|
||||||
offset: "+00:30:00"
|
offset: "+00:30:00"
|
||||||
action:
|
action:
|
||||||
- service: cover.set_cover_position
|
- action: cover.set_cover_position
|
||||||
target:
|
target:
|
||||||
entity_id: cover.cover_group
|
entity_id: cover.cover_group
|
||||||
data:
|
data:
|
||||||
@ -318,15 +318,15 @@ cover:
|
|||||||
cover_group:
|
cover_group:
|
||||||
friendly_name: "Cover Group"
|
friendly_name: "Cover Group"
|
||||||
open_cover:
|
open_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "open"
|
modus: "open"
|
||||||
close_cover:
|
close_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "close"
|
modus: "close"
|
||||||
stop_cover:
|
stop_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "stop"
|
modus: "stop"
|
||||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||||
@ -353,15 +353,15 @@ cover:
|
|||||||
cover_group:
|
cover_group:
|
||||||
friendly_name: "Cover Group"
|
friendly_name: "Cover Group"
|
||||||
open_cover:
|
open_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "open"
|
modus: "open"
|
||||||
close_cover:
|
close_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "close"
|
modus: "close"
|
||||||
stop_cover:
|
stop_cover:
|
||||||
service: script.cover_group
|
action: script.cover_group
|
||||||
data:
|
data:
|
||||||
modus: "stop"
|
modus: "stop"
|
||||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||||
|
@ -201,7 +201,7 @@ automation:
|
|||||||
id: remote_control_1
|
id: remote_control_1
|
||||||
event: 1002
|
event: 1002
|
||||||
action:
|
action:
|
||||||
- service: light.toggle
|
- action: light.toggle
|
||||||
target:
|
target:
|
||||||
entity_id: light.lamp
|
entity_id: light.lamp
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ automation:
|
|||||||
id: remote_control_1
|
id: remote_control_1
|
||||||
event: 2002
|
event: 2002
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.lamp
|
entity_id: light.lamp
|
||||||
data:
|
data:
|
||||||
@ -231,7 +231,7 @@ automation:
|
|||||||
id: remote_control_1
|
id: remote_control_1
|
||||||
event: 3002
|
event: 3002
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.lamp
|
entity_id: light.lamp
|
||||||
data:
|
data:
|
||||||
@ -248,7 +248,7 @@ automation:
|
|||||||
id: remote_control_1
|
id: remote_control_1
|
||||||
gesture: 7
|
gesture: 7
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.lamp
|
entity_id: light.lamp
|
||||||
```
|
```
|
||||||
@ -269,7 +269,7 @@ automation:
|
|||||||
id: tint_remote_1
|
id: tint_remote_1
|
||||||
event: 6002
|
event: 6002
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
data:
|
data:
|
||||||
xy_color:
|
xy_color:
|
||||||
- '{{ trigger.event.data.xy.0 }}'
|
- '{{ trigger.event.data.xy.0 }}'
|
||||||
@ -293,7 +293,7 @@ automation:
|
|||||||
entity_id: binary_sensor.doorbell_motion
|
entity_id: binary_sensor.doorbell_motion
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: deconz.configure
|
- action: deconz.configure
|
||||||
data:
|
data:
|
||||||
entity: light.hue_lamp
|
entity: light.hue_lamp
|
||||||
field: /state
|
field: /state
|
||||||
@ -304,7 +304,7 @@ automation:
|
|||||||
bri: 255
|
bri: 255
|
||||||
alert: "breathe"
|
alert: "breathe"
|
||||||
- delay: 00:00:15
|
- delay: 00:00:15
|
||||||
- service: deconz.configure
|
- action: deconz.configure
|
||||||
data:
|
data:
|
||||||
entity: light.hue_lamp
|
entity: light.hue_lamp
|
||||||
field: "/state"
|
field: "/state"
|
||||||
|
@ -29,5 +29,5 @@ Example:
|
|||||||
type: turn_off
|
type: turn_off
|
||||||
entity_id: light.bowl
|
entity_id: light.bowl
|
||||||
action:
|
action:
|
||||||
- service: camera.turn_off
|
- action: camera.turn_off
|
||||||
```
|
```
|
||||||
|
@ -55,7 +55,7 @@ If you have a sensor session running, and once you have enabled the Dexcom integ
|
|||||||
after: "22:00:00"
|
after: "22:00:00"
|
||||||
before: "06:00:00"
|
before: "06:00:00"
|
||||||
action:
|
action:
|
||||||
- service: light.turn_on
|
- action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.kitchen
|
entity_id: light.kitchen
|
||||||
```
|
```
|
||||||
|
@ -109,10 +109,10 @@ intent_script:
|
|||||||
speech:
|
speech:
|
||||||
text: Turning {{ Room }} lights {{ OnOff }}
|
text: Turning {{ Room }} lights {{ OnOff }}
|
||||||
action:
|
action:
|
||||||
- service: notify.pushbullet
|
- action: notify.pushbullet
|
||||||
data:
|
data:
|
||||||
message: Someone asked via apiai to turn {{ Room }} lights {{ OnOff }}
|
message: Someone asked via apiai to turn {{ Room }} lights {{ OnOff }}
|
||||||
- service: >
|
- action: >
|
||||||
{%- if OnOff == "on" -%}
|
{%- if OnOff == "on" -%}
|
||||||
switch.turn_on
|
switch.turn_on
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
|
@ -97,7 +97,7 @@ At the moment, the following buttons are supported:
|
|||||||
A typical action for pressing several buttons looks like this.
|
A typical action for pressing several buttons looks like this.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.directv_entity
|
entity_id: remote.directv_entity
|
||||||
data:
|
data:
|
||||||
|
@ -114,7 +114,7 @@ To include messages with embedding, use these attributes underneath the `embed`
|
|||||||
### Example action
|
### Example action
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: notify.discord
|
- action: notify.discord
|
||||||
data:
|
data:
|
||||||
message: "A message from Home Assistant"
|
message: "A message from Home Assistant"
|
||||||
target: ["1234567890", "0987654321"]
|
target: ["1234567890", "0987654321"]
|
||||||
@ -127,7 +127,7 @@ To include messages with embedding, use these attributes underneath the `embed`
|
|||||||
### Example action with attachments sourced from remote URLs
|
### Example action with attachments sourced from remote URLs
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: notify.discord
|
- action: notify.discord
|
||||||
data:
|
data:
|
||||||
message: "A message from Home Assistant"
|
message: "A message from Home Assistant"
|
||||||
target: ["1234567890", "0987654321"]
|
target: ["1234567890", "0987654321"]
|
||||||
@ -143,7 +143,7 @@ Note that `verify_ssl` defaults to `True`, and that any remote hosts will need t
|
|||||||
### Example embed action
|
### Example embed action
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: notify.discord
|
- action: notify.discord
|
||||||
data:
|
data:
|
||||||
message: ""
|
message: ""
|
||||||
target: ["1234567890", "0987654321"]
|
target: ["1234567890", "0987654321"]
|
||||||
|
@ -41,7 +41,7 @@ URIs generated while browsing will look like the Object ID form above. However,
|
|||||||
Using a path URI:
|
Using a path URI:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.living_room_tv
|
entity_id: media_player.living_room_tv
|
||||||
data:
|
data:
|
||||||
@ -51,7 +51,7 @@ data:
|
|||||||
Using a query URI:
|
Using a query URI:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.living_room_tv
|
entity_id: media_player.living_room_tv
|
||||||
data:
|
data:
|
||||||
|
@ -38,7 +38,7 @@ dominos:
|
|||||||
Now you can use the Dominos {% term action %} to order pizza within your automations:
|
Now you can use the Dominos {% term action %} to order pizza within your automations:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- service: dominos.order
|
- action: dominos.order
|
||||||
data:
|
data:
|
||||||
order_entity_id: dominos.medium_pan
|
order_entity_id: dominos.medium_pan
|
||||||
```
|
```
|
||||||
|
@ -220,7 +220,7 @@ image_processing:
|
|||||||
entity_id:
|
entity_id:
|
||||||
- binary_sensor.driveway
|
- binary_sensor.driveway
|
||||||
action:
|
action:
|
||||||
- service: image_processing.scan
|
- action: image_processing.scan
|
||||||
target:
|
target:
|
||||||
entity_id: image_processing.doods_camera_driveway
|
entity_id: image_processing.doods_camera_driveway
|
||||||
```
|
```
|
||||||
|
@ -108,7 +108,7 @@ The example automation below shows how to turn on a light when somebody presses
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: doorbird_driveway_gate_somebody_pressed_the_button
|
event_type: doorbird_driveway_gate_somebody_pressed_the_button
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.side_entry_porch
|
entity_id: light.side_entry_porch
|
||||||
```
|
```
|
||||||
|
@ -80,7 +80,7 @@ automation:
|
|||||||
platform: sun
|
platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
action:
|
action:
|
||||||
service: notify.dovado
|
action: notify.dovado
|
||||||
data:
|
data:
|
||||||
message: "The sun has set"
|
message: "The sun has set"
|
||||||
target: "+14151234567"
|
target: "+14151234567"
|
||||||
|
@ -55,7 +55,7 @@ Along with the event the following payload parameters are available:
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: downloader_download_failed
|
event_type: downloader_download_failed
|
||||||
action:
|
action:
|
||||||
service: persistent_notification.create
|
action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
message: "{{trigger.event.data.filename}} download failed"
|
message: "{{trigger.event.data.filename}} download failed"
|
||||||
title: "Download Failed"
|
title: "Download Failed"
|
||||||
|
@ -171,7 +171,7 @@ template:
|
|||||||
- platform: time_pattern
|
- platform: time_pattern
|
||||||
seconds: "*"
|
seconds: "*"
|
||||||
action:
|
action:
|
||||||
- service: easyenergy.get_energy_usage_prices
|
- action: easyenergy.get_energy_usage_prices
|
||||||
response_variable: response
|
response_variable: response
|
||||||
data:
|
data:
|
||||||
config_entry: "013713c172577bada2874a32dbe44feb"
|
config_entry: "013713c172577bada2874a32dbe44feb"
|
||||||
|
@ -96,7 +96,7 @@ The `ecobee` notify platform allows you to send notifications to an ecobee therm
|
|||||||
Example action:
|
Example action:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.send_message
|
action: notify.send_message
|
||||||
data:
|
data:
|
||||||
message: "Hello, this is your thermostat."
|
message: "Hello, this is your thermostat."
|
||||||
entity_id: notify.ecobee
|
entity_id: notify.ecobee
|
||||||
|
@ -147,7 +147,7 @@ The integration has a `raw_get_positions` action to retrieve device and chargers
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: ecovacs.raw_get_positions
|
action: ecovacs.raw_get_positions
|
||||||
target:
|
target:
|
||||||
entity_id: vacuum.deebot_n8_plus
|
entity_id: vacuum.deebot_n8_plus
|
||||||
```
|
```
|
||||||
|
@ -87,7 +87,7 @@ a binary sensor (a doorbell) is triggered:
|
|||||||
entity_id: binary_sensor.doorbell
|
entity_id: binary_sensor.doorbell
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: elgato.identify
|
- action: elgato.identify
|
||||||
target:
|
target:
|
||||||
entity_id: light.elgato_key_light
|
entity_id: light.elgato_key_light
|
||||||
```
|
```
|
||||||
|
@ -124,7 +124,7 @@ The following is an example implementation of an automation:
|
|||||||
type: keypress
|
type: keypress
|
||||||
key: Fwd
|
key: Fwd
|
||||||
action:
|
action:
|
||||||
- service: media_player.volume_up
|
- action: media_player.volume_up
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.amplifier
|
entity_id: media_player.amplifier
|
||||||
```
|
```
|
||||||
|
@ -140,7 +140,7 @@ template:
|
|||||||
- platform: time_pattern
|
- platform: time_pattern
|
||||||
hours: "*"
|
hours: "*"
|
||||||
action:
|
action:
|
||||||
- service: energyzero.get_energy_prices
|
- action: energyzero.get_energy_prices
|
||||||
response_variable: prices
|
response_variable: prices
|
||||||
data:
|
data:
|
||||||
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
||||||
|
@ -118,7 +118,7 @@ automation:
|
|||||||
id: [0xYY, 0xYY, 0xYY, 0xYY]
|
id: [0xYY, 0xYY, 0xYY, 0xYY]
|
||||||
pushed: 0
|
pushed: 0
|
||||||
action:
|
action:
|
||||||
service: "{% if trigger.event.data.onoff %} light.turn_on {% else %} light.turn_off {%endif %}"
|
action: "{% if trigger.event.data.onoff %} light.turn_on {% else %} light.turn_off {%endif %}"
|
||||||
target:
|
target:
|
||||||
entity_id: "{% if trigger.event.data.which == 1 %} light.hall_left {% else %} light.hall_right {%endif %}"
|
entity_id: "{% if trigger.event.data.which == 1 %} light.hall_left {% else %} light.hall_right {%endif %}"
|
||||||
```
|
```
|
||||||
|
@ -40,7 +40,7 @@ trigger:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: event.doorbell
|
entity_id: event.doorbell
|
||||||
action:
|
action:
|
||||||
- service: notify.frenck
|
- action: notify.frenck
|
||||||
data:
|
data:
|
||||||
message: "Ding Dong! Someone is at the door!"
|
message: "Ding Dong! Someone is at the door!"
|
||||||
```
|
```
|
||||||
|
@ -130,7 +130,7 @@ For **AutoWithEco**, the period of time is a `duration` is up to 24 hours.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- action:
|
- action:
|
||||||
- service: evohome.set_system_mode
|
- action: evohome.set_system_mode
|
||||||
data:
|
data:
|
||||||
mode: AutoWithEco
|
mode: AutoWithEco
|
||||||
duration: {hours: 1, minutes: 30}
|
duration: {hours: 1, minutes: 30}
|
||||||
@ -140,7 +140,7 @@ For the other modes, such as **Away**, the duration is a `period` of days, where
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- action:
|
- action:
|
||||||
- service: evohome.set_system_mode
|
- action: evohome.set_system_mode
|
||||||
data:
|
data:
|
||||||
mode: Away
|
mode: Away
|
||||||
period: {days: 30}
|
period: {days: 30}
|
||||||
@ -162,7 +162,7 @@ This action will set the `setpoint` of a zone, as identified by its `entity_id`,
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- action:
|
- action:
|
||||||
- service: evohome.set_zone_override
|
- action: evohome.set_zone_override
|
||||||
target:
|
target:
|
||||||
entity_id: climate.loungeroom
|
entity_id: climate.loungeroom
|
||||||
data:
|
data:
|
||||||
@ -173,7 +173,7 @@ The `duration` can be up to 24 hours, after which the zone mode will revert to s
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- action:
|
- action:
|
||||||
- service: evohome.set_zone_override
|
- action: evohome.set_zone_override
|
||||||
target:
|
target:
|
||||||
entity_id: climate.loungeroom
|
entity_id: climate.loungeroom
|
||||||
data:
|
data:
|
||||||
|
@ -52,7 +52,7 @@ automation:
|
|||||||
platform: sun
|
platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
action:
|
action:
|
||||||
service: notify.facebook
|
action: notify.facebook
|
||||||
data:
|
data:
|
||||||
message: "Good Evening"
|
message: "Good Evening"
|
||||||
target:
|
target:
|
||||||
@ -114,7 +114,7 @@ You could also send rich messing (cards, buttons, images, videos, etc). [Info](h
|
|||||||
script:
|
script:
|
||||||
test_fb_notification:
|
test_fb_notification:
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.facebook
|
- action: notify.facebook
|
||||||
data:
|
data:
|
||||||
message: Some text before the quick replies
|
message: Some text before the quick replies
|
||||||
target: 0034643123212
|
target: 0034643123212
|
||||||
|
@ -45,7 +45,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: fan.set_percentage
|
- action: fan.set_percentage
|
||||||
target:
|
target:
|
||||||
entity_id: fan.kitchen
|
entity_id: fan.kitchen
|
||||||
data:
|
data:
|
||||||
@ -69,7 +69,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: fan.set_preset_mode
|
- action: fan.set_preset_mode
|
||||||
target:
|
target:
|
||||||
entity_id: fan.kitchen
|
entity_id: fan.kitchen
|
||||||
data:
|
data:
|
||||||
@ -93,7 +93,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: fan.set_direction
|
- action: fan.set_direction
|
||||||
target:
|
target:
|
||||||
entity_id: fan.kitchen
|
entity_id: fan.kitchen
|
||||||
data:
|
data:
|
||||||
@ -117,7 +117,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: fan.oscillate
|
- action: fan.oscillate
|
||||||
target:
|
target:
|
||||||
entity_id: fan.kitchen
|
entity_id: fan.kitchen
|
||||||
data:
|
data:
|
||||||
@ -151,7 +151,7 @@ automation:
|
|||||||
platform: time
|
platform: time
|
||||||
at: "07:15:00"
|
at: "07:15:00"
|
||||||
action:
|
action:
|
||||||
- service: fan.turn_off
|
- action: fan.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: fan.kitchen
|
entity_id: fan.kitchen
|
||||||
data:
|
data:
|
||||||
@ -178,7 +178,7 @@ automation:
|
|||||||
type: press
|
type: press
|
||||||
subtype: raise
|
subtype: raise
|
||||||
action:
|
action:
|
||||||
- service: fan.increase_speed
|
- action: fan.increase_speed
|
||||||
target:
|
target:
|
||||||
entity_id: fan.dining_room_fan_by_front_door
|
entity_id: fan.dining_room_fan_by_front_door
|
||||||
```
|
```
|
||||||
@ -203,7 +203,7 @@ automation:
|
|||||||
type: press
|
type: press
|
||||||
subtype: lower
|
subtype: lower
|
||||||
action:
|
action:
|
||||||
- service: fan.decrease_speed
|
- action: fan.decrease_speed
|
||||||
target:
|
target:
|
||||||
entity_id: fan.dining_room_fan_by_front_door
|
entity_id: fan.dining_room_fan_by_front_door
|
||||||
```
|
```
|
||||||
|
@ -42,23 +42,23 @@ fan:
|
|||||||
oscillating_template: "{{ states('input_select.osc') }}"
|
oscillating_template: "{{ states('input_select.osc') }}"
|
||||||
direction_template: "{{ states('input_select.direction') }}"
|
direction_template: "{{ states('input_select.direction') }}"
|
||||||
turn_on:
|
turn_on:
|
||||||
service: script.fan_on
|
action: script.fan_on
|
||||||
turn_off:
|
turn_off:
|
||||||
service: script.fan_off
|
action: script.fan_off
|
||||||
set_percentage:
|
set_percentage:
|
||||||
service: script.fans_set_speed
|
action: script.fans_set_speed
|
||||||
data:
|
data:
|
||||||
percentage: "{{ percentage }}"
|
percentage: "{{ percentage }}"
|
||||||
set_preset_mode:
|
set_preset_mode:
|
||||||
service: script.fans_set_preset_mode
|
action: script.fans_set_preset_mode
|
||||||
data:
|
data:
|
||||||
preset_mode: "{{ preset_mode }}"
|
preset_mode: "{{ preset_mode }}"
|
||||||
set_oscillating:
|
set_oscillating:
|
||||||
service: script.fan_oscillating
|
action: script.fan_oscillating
|
||||||
data:
|
data:
|
||||||
oscillating: "{{ oscillating }}"
|
oscillating: "{{ oscillating }}"
|
||||||
set_direction:
|
set_direction:
|
||||||
service: script.fan_direction
|
action: script.fan_direction
|
||||||
data:
|
data:
|
||||||
direction: "{{ direction }}"
|
direction: "{{ direction }}"
|
||||||
speed_count: 6
|
speed_count: 6
|
||||||
@ -175,21 +175,21 @@ fan:
|
|||||||
friendly_name: "Helper Fan"
|
friendly_name: "Helper Fan"
|
||||||
value_template: "{{ states('input_boolean.state') }}"
|
value_template: "{{ states('input_boolean.state') }}"
|
||||||
turn_on:
|
turn_on:
|
||||||
- service: input_boolean.turn_on
|
- action: input_boolean.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.state
|
entity_id: input_boolean.state
|
||||||
turn_off:
|
turn_off:
|
||||||
- service: input_boolean.turn_off
|
- action: input_boolean.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.state
|
entity_id: input_boolean.state
|
||||||
percentage_template: >
|
percentage_template: >
|
||||||
{{ states('input_number.percentage') if is_state('input_boolean.state', 'on') else 0 }}
|
{{ states('input_number.percentage') if is_state('input_boolean.state', 'on') else 0 }}
|
||||||
speed_count: 6
|
speed_count: 6
|
||||||
set_percentage:
|
set_percentage:
|
||||||
- service: input_boolean.turn_{{ 'on' if percentage > 0 else 'off' }}
|
- action: input_boolean.turn_{{ 'on' if percentage > 0 else 'off' }}
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.state
|
entity_id: input_boolean.state
|
||||||
- service: input_number.set_value
|
- action: input_number.set_value
|
||||||
target:
|
target:
|
||||||
entity_id: input_number.percentage
|
entity_id: input_number.percentage
|
||||||
data:
|
data:
|
||||||
@ -213,18 +213,18 @@ fan:
|
|||||||
friendly_name: "Preset Mode Fan Example"
|
friendly_name: "Preset Mode Fan Example"
|
||||||
value_template: "{{ states('fan.percentage_fan') }}"
|
value_template: "{{ states('fan.percentage_fan') }}"
|
||||||
turn_on:
|
turn_on:
|
||||||
- service: fan.turn_on
|
- action: fan.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: fan.percentage_fan
|
entity_id: fan.percentage_fan
|
||||||
turn_off:
|
turn_off:
|
||||||
- service: fan.turn_off
|
- action: fan.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: fan.percentage_fan
|
entity_id: fan.percentage_fan
|
||||||
percentage_template: >
|
percentage_template: >
|
||||||
{{ state_attr('fan.percentage_fan', 'percentage') }}
|
{{ state_attr('fan.percentage_fan', 'percentage') }}
|
||||||
speed_count: 3
|
speed_count: 3
|
||||||
set_percentage:
|
set_percentage:
|
||||||
- service: fan.set_percentage
|
- action: fan.set_percentage
|
||||||
target:
|
target:
|
||||||
entity_id: fan.percentage_fan
|
entity_id: fan.percentage_fan
|
||||||
data:
|
data:
|
||||||
@ -247,7 +247,7 @@ fan:
|
|||||||
off
|
off
|
||||||
{% endif %}
|
{% endif %}
|
||||||
set_preset_mode:
|
set_preset_mode:
|
||||||
- service: fan.set_percentage
|
- action: fan.set_percentage
|
||||||
target:
|
target:
|
||||||
entity_id: fan.percentage_fan
|
entity_id: fan.percentage_fan
|
||||||
data:
|
data:
|
||||||
|
@ -31,7 +31,7 @@ automation:
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: feedreader
|
event_type: feedreader
|
||||||
action:
|
action:
|
||||||
service: script.turn_on
|
action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: script.my_action
|
entity_id: script.my_action
|
||||||
```
|
```
|
||||||
@ -47,7 +47,7 @@ automation:
|
|||||||
event_data:
|
event_data:
|
||||||
feed_url: "https://hasspodcast.io/feed/podcast"
|
feed_url: "https://hasspodcast.io/feed/podcast"
|
||||||
action:
|
action:
|
||||||
service: persistent_notification.create
|
action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
title: "New HA Podcast available"
|
title: "New HA Podcast available"
|
||||||
message: "New Podcast available - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}"
|
message: "New Podcast available - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}"
|
||||||
|
@ -121,7 +121,7 @@ automation:
|
|||||||
platform: state
|
platform: state
|
||||||
entity_id: sensor.incidents
|
entity_id: sensor.incidents
|
||||||
action:
|
action:
|
||||||
service: light.turn_on
|
action: light.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: light.bedroom
|
entity_id: light.bedroom
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ automation:
|
|||||||
attribute: message_to_speech_url
|
attribute: message_to_speech_url
|
||||||
state: None
|
state: None
|
||||||
action:
|
action:
|
||||||
- service: media_player.play_media
|
- action: media_player.play_media
|
||||||
data_template:
|
data_template:
|
||||||
entity_id: media_player.nest_hub_bedroom
|
entity_id: media_player.nest_hub_bedroom
|
||||||
media_content_id: >
|
media_content_id: >
|
||||||
@ -150,7 +150,7 @@ automation:
|
|||||||
platform: state
|
platform: state
|
||||||
entity_id: switch.response_button
|
entity_id: switch.response_button
|
||||||
action:
|
action:
|
||||||
service: homeassistant.turn_on
|
action: homeassistant.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: switch.incident_response
|
entity_id: switch.incident_response
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ automation:
|
|||||||
platform: homeassistant
|
platform: homeassistant
|
||||||
event: start
|
event: start
|
||||||
action:
|
action:
|
||||||
service: cast.show_lovelace_view
|
action: cast.show_lovelace_view
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.nest_hub_bedroom
|
entity_id: media_player.nest_hub_bedroom
|
||||||
view_path: fsr
|
view_path: fsr
|
||||||
|
@ -85,7 +85,7 @@ automation:
|
|||||||
button_name: flic_81e4ac74b6d2
|
button_name: flic_81e4ac74b6d2
|
||||||
click_type: single
|
click_type: single
|
||||||
action:
|
action:
|
||||||
service: homeassistant.turn_on
|
action: homeassistant.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: group.lights_livingroom
|
entity_id: group.lights_livingroom
|
||||||
```
|
```
|
||||||
@ -108,7 +108,7 @@ automation:
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: flic_click
|
event_type: flic_click
|
||||||
action:
|
action:
|
||||||
- service: notify.html5
|
- action: notify.html5
|
||||||
data:
|
data:
|
||||||
title: "flic click"
|
title: "flic click"
|
||||||
message: "flic {{ trigger.event.data.button_name }} was {{ trigger.event.data.click_type }} clicked"
|
message: "flic {{ trigger.event.data.button_name }} was {{ trigger.event.data.click_type }} clicked"
|
||||||
|
@ -53,7 +53,7 @@ trigger:
|
|||||||
- platform: time_pattern
|
- platform: time_pattern
|
||||||
minutes: /5
|
minutes: /5
|
||||||
action:
|
action:
|
||||||
- service: flume.list_notifications
|
- action: flume.list_notifications
|
||||||
data:
|
data:
|
||||||
config_entry: 1234 # replace this with your config entry id
|
config_entry: 1234 # replace this with your config entry id
|
||||||
response_variable: notifications
|
response_variable: notifications
|
||||||
@ -63,7 +63,7 @@ action:
|
|||||||
{{ notifications.notifications | selectattr('type', 'equalto', 1) |
|
{{ notifications.notifications | selectattr('type', 'equalto', 1) |
|
||||||
sort(attribute == ('created_datetime', reverse == true) | length > 0 }}
|
sort(attribute == ('created_datetime', reverse == true) | length > 0 }}
|
||||||
then:
|
then:
|
||||||
- service: notify.all
|
- action: notify.all
|
||||||
data:
|
data:
|
||||||
message: >-
|
message: >-
|
||||||
{%- set usage_alert == notifications.notifications |
|
{%- set usage_alert == notifications.notifications |
|
||||||
|
@ -257,7 +257,7 @@ The Addressable v3 (0xA3) models allow setting a color effect per zone. The leng
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
#Example action
|
#Example action
|
||||||
service: flux_led.set_zones
|
action: flux_led.set_zones
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- light.addressable_v3_8e2f7f
|
- light.addressable_v3_8e2f7f
|
||||||
@ -287,7 +287,7 @@ The RGB with MIC (0x08), Addressable v2 (0xA2), and Addressable v3 (0xA3) models
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
#Example action
|
#Example action
|
||||||
service: flux_led.set_music_mode
|
action: flux_led.set_music_mode
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- light.addressable_v3_8e2f7f
|
- light.addressable_v3_8e2f7f
|
||||||
|
@ -57,7 +57,7 @@ automation:
|
|||||||
platform: state
|
platform: state
|
||||||
entity_id: event.created
|
entity_id: event.created
|
||||||
action:
|
action:
|
||||||
service: notify.notify
|
action: notify.notify
|
||||||
data:
|
data:
|
||||||
title: New image captured!
|
title: New image captured!
|
||||||
message: "Created {{ trigger.to_state.attributes.file }} in {{ trigger.to_state.attributes.folder }}"
|
message: "Created {{ trigger.to_state.attributes.file }} in {{ trigger.to_state.attributes.folder }}"
|
||||||
|
@ -73,7 +73,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: up
|
movement: up
|
||||||
@ -85,7 +85,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: down
|
movement: down
|
||||||
@ -97,7 +97,7 @@ elements:
|
|||||||
bottom: 25px
|
bottom: 25px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: left
|
movement: left
|
||||||
@ -109,7 +109,7 @@ elements:
|
|||||||
bottom: 25px
|
bottom: 25px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: right
|
movement: right
|
||||||
@ -121,7 +121,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: top_left
|
movement: top_left
|
||||||
@ -133,7 +133,7 @@ elements:
|
|||||||
bottom: 50px
|
bottom: 50px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: top_right
|
movement: top_right
|
||||||
@ -145,7 +145,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: bottom_left
|
movement: bottom_left
|
||||||
@ -157,7 +157,7 @@ elements:
|
|||||||
bottom: 0px
|
bottom: 0px
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: foscam.ptz
|
action: foscam.ptz
|
||||||
data:
|
data:
|
||||||
entity_id: camera.bedroom
|
entity_id: camera.bedroom
|
||||||
movement: bottom_right
|
movement: bottom_right
|
||||||
|
@ -62,7 +62,7 @@ automation:
|
|||||||
platform: event
|
platform: event
|
||||||
event_type: foursquare.push
|
event_type: foursquare.push
|
||||||
action:
|
action:
|
||||||
service: script.turn_on
|
action: script.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: script.my_action
|
entity_id: script.my_action
|
||||||
```
|
```
|
||||||
|
@ -105,7 +105,7 @@ The following script can be used to easily add a reconnect button to your UI. If
|
|||||||
fritz_box_reconnect:
|
fritz_box_reconnect:
|
||||||
alias: "Reconnect FRITZ!Box"
|
alias: "Reconnect FRITZ!Box"
|
||||||
sequence:
|
sequence:
|
||||||
- service: button.press
|
- action: button.press
|
||||||
target:
|
target:
|
||||||
entity_id: button.fritzbox_7530_reconnect
|
entity_id: button.fritzbox_7530_reconnect
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ automation:
|
|||||||
- platform: time
|
- platform: time
|
||||||
at: "05:00:00"
|
at: "05:00:00"
|
||||||
action:
|
action:
|
||||||
- service: button.press
|
- action: button.press
|
||||||
target:
|
target:
|
||||||
entity_id: button.fritzbox_7530_reconnect
|
entity_id: button.fritzbox_7530_reconnect
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ automation:
|
|||||||
entity_id: switch.fritzbox_7530_wifi_myssid
|
entity_id: switch.fritzbox_7530_wifi_myssid
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
title: "Guest Wi-Fi is enabled"
|
title: "Guest Wi-Fi is enabled"
|
||||||
message: "Password: ..."
|
message: "Password: ..."
|
||||||
|
@ -56,7 +56,7 @@ automation:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: sensor.phone
|
entity_id: sensor.phone
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
title: "Phone"
|
title: "Phone"
|
||||||
message: >-
|
message: >-
|
||||||
|
@ -55,7 +55,7 @@ trigger:
|
|||||||
from: "off"
|
from: "off"
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
service: media_player.turn_on
|
action: media_player.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: "media_player.badezimmer"
|
entity_id: "media_player.badezimmer"
|
||||||
```
|
```
|
||||||
|
@ -100,7 +100,7 @@ You can use the `fully_kiosk.load_url` action to have the tablet open the specif
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: fully_kiosk.load_url
|
action: fully_kiosk.load_url
|
||||||
data:
|
data:
|
||||||
url: "https://home-assistant.io"
|
url: "https://home-assistant.io"
|
||||||
target:
|
target:
|
||||||
@ -120,7 +120,7 @@ You can use the `fully_kiosk.set_config` action to change the many configuration
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: fully_kiosk.set_config
|
action: fully_kiosk.set_config
|
||||||
data:
|
data:
|
||||||
key: "startURL"
|
key: "startURL"
|
||||||
value: "https://home-assistant.io"
|
value: "https://home-assistant.io"
|
||||||
@ -140,7 +140,7 @@ You can use the `fully_kiosk.start_application` action to have the tablet launch
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: fully_kiosk.start_application
|
action: fully_kiosk.start_application
|
||||||
data:
|
data:
|
||||||
application: "de.ozerov.fully"
|
application: "de.ozerov.fully"
|
||||||
target:
|
target:
|
||||||
|
@ -95,7 +95,7 @@ Each such entity has a state attribute that will contain a list of any such issu
|
|||||||
entity_id: sensor.geniushub_errors
|
entity_id: sensor.geniushub_errors
|
||||||
above: 0
|
above: 0
|
||||||
action:
|
action:
|
||||||
- service: notify.pushbullet_notifier
|
- action: notify.pushbullet_notifier
|
||||||
data:
|
data:
|
||||||
title: "Genius Hub has errors"
|
title: "Genius Hub has errors"
|
||||||
message: >-
|
message: >-
|
||||||
@ -115,7 +115,7 @@ This alert may be useful to see if the CH is being turned on whilst you're on a
|
|||||||
platform: state
|
platform: state
|
||||||
entity_id: binary_sensor.dual_channel_receiver_2_1
|
entity_id: binary_sensor.dual_channel_receiver_2_1
|
||||||
action:
|
action:
|
||||||
- service: notify.pushbullet_notifier
|
- action: notify.pushbullet_notifier
|
||||||
data:
|
data:
|
||||||
title: "Warning: CH State Change!"
|
title: "Warning: CH State Change!"
|
||||||
message: >-
|
message: >-
|
||||||
|
@ -65,7 +65,7 @@ automation:
|
|||||||
condition: template
|
condition: template
|
||||||
value_template: "{{ trigger.to_state.attributes.type == 'Bush Fire' }}"
|
value_template: "{{ trigger.to_state.attributes.type == 'Bush Fire' }}"
|
||||||
action:
|
action:
|
||||||
- service: persistent_notification.create
|
- action: persistent_notification.create
|
||||||
data:
|
data:
|
||||||
message: "{{ trigger.to_state.name }} - {{ trigger.to_state.attributes.status }}"
|
message: "{{ trigger.to_state.name }} - {{ trigger.to_state.attributes.status }}"
|
||||||
title: "Bush Fire Alert"
|
title: "Bush Fire Alert"
|
||||||
|
@ -132,7 +132,7 @@ trigger:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: sensor.awesome_repository_latest_release
|
entity_id: sensor.awesome_repository_latest_release
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
title: "New github/repository release"
|
title: "New github/repository release"
|
||||||
message: >-
|
message: >-
|
||||||
@ -154,7 +154,7 @@ trigger:
|
|||||||
- platform: state
|
- platform: state
|
||||||
entity_id: sensor.awesome_repository_stars
|
entity_id: sensor.awesome_repository_stars
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- action: notify.notify
|
||||||
data:
|
data:
|
||||||
title: "New github/repository new star"
|
title: "New github/repository new star"
|
||||||
message: >-
|
message: >-
|
||||||
|
@ -51,7 +51,7 @@ The integration will poll the inverter for new values every 10 seconds. If you w
|
|||||||
minutes: "*"
|
minutes: "*"
|
||||||
seconds: "/30"
|
seconds: "/30"
|
||||||
action:
|
action:
|
||||||
- service: homeassistant.update_entity
|
- action: homeassistant.update_entity
|
||||||
target:
|
target:
|
||||||
entity_id: sensor.ppv
|
entity_id: sensor.ppv
|
||||||
```
|
```
|
||||||
|
@ -110,7 +110,7 @@ You either use `start_date_time` and `end_date_time`, or `start_date` and `end_d
|
|||||||
This is a full example of an action in YAML:
|
This is a full example of an action in YAML:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: google.create_event
|
action: google.create_event
|
||||||
target:
|
target:
|
||||||
entity_id: calendar.device_automation_schedules
|
entity_id: calendar.device_automation_schedules
|
||||||
data:
|
data:
|
||||||
|
@ -162,14 +162,14 @@ You can use the `google_assistant_sdk.send_text_command` action to send commands
|
|||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: google_assistant_sdk.send_text_command
|
action: google_assistant_sdk.send_text_command
|
||||||
data:
|
data:
|
||||||
command: "turn off kitchen TV"
|
command: "turn off kitchen TV"
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Say a joke on the living room speaker
|
# Say a joke on the living room speaker
|
||||||
service: google_assistant_sdk.send_text_command
|
action: google_assistant_sdk.send_text_command
|
||||||
data:
|
data:
|
||||||
command: "tell me a joke"
|
command: "tell me a joke"
|
||||||
media_player: media_player.living_room_speaker
|
media_player: media_player.living_room_speaker
|
||||||
@ -178,7 +178,7 @@ data:
|
|||||||
You can send multiple commands in the same conversation context which is useful to unlock doors or open covers that need a PIN. Example:
|
You can send multiple commands in the same conversation context which is useful to unlock doors or open covers that need a PIN. Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: google_assistant_sdk.send_text_command
|
action: google_assistant_sdk.send_text_command
|
||||||
data:
|
data:
|
||||||
command:
|
command:
|
||||||
- "open the garage door"
|
- "open the garage door"
|
||||||
@ -188,7 +188,7 @@ data:
|
|||||||
You can get responses. Example:
|
You can get responses. Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: google_assistant_sdk.send_text_command
|
action: google_assistant_sdk.send_text_command
|
||||||
data:
|
data:
|
||||||
command:
|
command:
|
||||||
- "tell me a joke"
|
- "tell me a joke"
|
||||||
@ -219,7 +219,7 @@ You can use the `notify.google_assistant_sdk` action to broadcast messages to Go
|
|||||||
Example to broadcast to all speakers:
|
Example to broadcast to all speakers:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.google_assistant_sdk
|
action: notify.google_assistant_sdk
|
||||||
data:
|
data:
|
||||||
message: time for dinner
|
message: time for dinner
|
||||||
```
|
```
|
||||||
@ -227,7 +227,7 @@ data:
|
|||||||
Example to broadcast to speakers in selected rooms:
|
Example to broadcast to speakers in selected rooms:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.google_assistant_sdk
|
action: notify.google_assistant_sdk
|
||||||
data:
|
data:
|
||||||
message: time for dinner
|
message: time for dinner
|
||||||
target:
|
target:
|
||||||
|
@ -106,7 +106,7 @@ This action populates [response data](/docs/scripts/service-calls#use-templates-
|
|||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
service: google_generative_ai_conversation.generate_content
|
action: google_generative_ai_conversation.generate_content
|
||||||
data:
|
data:
|
||||||
prompt: >-
|
prompt: >-
|
||||||
Very briefly describe what you see in this image from my doorbell camera.
|
Very briefly describe what you see in this image from my doorbell camera.
|
||||||
@ -123,7 +123,7 @@ Another example with multiple images:
|
|||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
service: google_generative_ai_conversation.generate_content
|
action: google_generative_ai_conversation.generate_content
|
||||||
data:
|
data:
|
||||||
prompt: >-
|
prompt: >-
|
||||||
Briefly describe what happened in the following sequence of images
|
Briefly describe what happened in the following sequence of images
|
||||||
|
@ -73,7 +73,7 @@ The following attributes can be placed inside the `data` key of the action for e
|
|||||||
This is the full service call to send an email:
|
This is the full service call to send an email:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: notify.example_gmail_com
|
action: notify.example_gmail_com
|
||||||
data:
|
data:
|
||||||
message: "test"
|
message: "test"
|
||||||
title: "test email"
|
title: "test email"
|
||||||
|
@ -61,7 +61,7 @@ You can use the `google_sheets.append_sheet` action to add rows of data to the S
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example action
|
# Example action
|
||||||
service: google_sheets.append_sheet
|
action: google_sheets.append_sheet
|
||||||
data:
|
data:
|
||||||
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
||||||
worksheet: "Car Charging"
|
worksheet: "Car Charging"
|
||||||
@ -71,7 +71,7 @@ data:
|
|||||||
Cost: "{{ states('input_number.car_charging_cost')|float(0) }}"
|
Cost: "{{ states('input_number.car_charging_cost')|float(0) }}"
|
||||||
|
|
||||||
# Example action with multiple rows
|
# Example action with multiple rows
|
||||||
service: google_sheets.append_sheet
|
action: google_sheets.append_sheet
|
||||||
data:
|
data:
|
||||||
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
|
||||||
worksheet: "Car Charging"
|
worksheet: "Car Charging"
|
||||||
|
@ -121,7 +121,7 @@ For more options about `speak`, see the Speak section on the main [TTS](/integra
|
|||||||
|
|
||||||
In YAML, your action will look like this:
|
In YAML, your action will look like this:
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.speak
|
action: tts.speak
|
||||||
target:
|
target:
|
||||||
entity_id: tts.google_en_com
|
entity_id: tts.google_en_com
|
||||||
data:
|
data:
|
||||||
@ -141,7 +141,7 @@ Say to all `media_player` device entities:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Replace google_translate_say with <platform>_say when you use a different platform.
|
# Replace google_translate_say with <platform>_say when you use a different platform.
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
entity_id: all
|
entity_id: all
|
||||||
message: "May the force be with you."
|
message: "May the force be with you."
|
||||||
@ -150,7 +150,7 @@ data:
|
|||||||
Say to the `media_player.floor` device entity:
|
Say to the `media_player.floor` device entity:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.floor
|
entity_id: media_player.floor
|
||||||
message: "May the force be with you."
|
message: "May the force be with you."
|
||||||
@ -159,7 +159,7 @@ data:
|
|||||||
Say to the `media_player.floor` device entity in French:
|
Say to the `media_player.floor` device entity in French:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.floor
|
entity_id: media_player.floor
|
||||||
message: "Que la force soit avec toi."
|
message: "Que la force soit avec toi."
|
||||||
@ -169,7 +169,7 @@ data:
|
|||||||
Say to the `media_player.floor` device entity in UK English:
|
Say to the `media_player.floor` device entity in UK English:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.floor
|
entity_id: media_player.floor
|
||||||
message: "May the force be with you."
|
message: "May the force be with you."
|
||||||
@ -177,7 +177,7 @@ data:
|
|||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.floor
|
entity_id: media_player.floor
|
||||||
message: "May the force be with you."
|
message: "May the force be with you."
|
||||||
@ -191,7 +191,7 @@ With a template:
|
|||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: tts.google_translate_say
|
action: tts.google_translate_say
|
||||||
data:
|
data:
|
||||||
message: "Temperature is {{states('sensor.temperature')}}."
|
message: "Temperature is {{states('sensor.temperature')}}."
|
||||||
cache: false
|
cache: false
|
||||||
|
@ -85,7 +85,7 @@ You can use the `homeassistant.update_entity` action to update the sensor on-dem
|
|||||||
- thu
|
- thu
|
||||||
- fri
|
- fri
|
||||||
action:
|
action:
|
||||||
- service: homeassistant.update_entity
|
- action: homeassistant.update_entity
|
||||||
target:
|
target:
|
||||||
entity_id: sensor.morning_commute
|
entity_id: sensor.morning_commute
|
||||||
```
|
```
|
||||||
|
@ -327,10 +327,10 @@ notify:
|
|||||||
- platform: group
|
- platform: group
|
||||||
name: "My notification group"
|
name: "My notification group"
|
||||||
services:
|
services:
|
||||||
- service: html5
|
- action: html5
|
||||||
data:
|
data:
|
||||||
target: "macbook"
|
target: "macbook"
|
||||||
- service: html5_nexus
|
- action: html5_nexus
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
|
@ -85,7 +85,7 @@ media_player:
|
|||||||
script:
|
script:
|
||||||
tts:
|
tts:
|
||||||
sequence:
|
sequence:
|
||||||
- service: tts.google_say # or amazon_polly, voicerss, etc
|
- action: tts.google_say # or amazon_polly, voicerss, etc
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.gstreamer
|
entity_id: media_player.gstreamer
|
||||||
data:
|
data:
|
||||||
|
@ -81,7 +81,7 @@ Using the activity name 'Watch TV', you can perform an action via automation to
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
- service: remote.turn_on
|
- action: remote.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: remote.bed_room_hub
|
entity_id: remote.bed_room_hub
|
||||||
data:
|
data:
|
||||||
@ -129,7 +129,7 @@ In the file 'harmony_REMOTENAME.conf' you can find the available devices and com
|
|||||||
A typical action for sending several button presses looks like this:
|
A typical action for sending several button presses looks like this:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.tv_room
|
entity_id: remote.tv_room
|
||||||
data:
|
data:
|
||||||
@ -141,7 +141,7 @@ data:
|
|||||||
```
|
```
|
||||||
OR
|
OR
|
||||||
```yaml
|
```yaml
|
||||||
service: remote.send_command
|
action: remote.send_command
|
||||||
target:
|
target:
|
||||||
entity_id: remote.tv_room
|
entity_id: remote.tv_room
|
||||||
data:
|
data:
|
||||||
@ -164,7 +164,7 @@ Sends the change channel command to the Harmony HUB
|
|||||||
A typical action for changing the channel would be::
|
A typical action for changing the channel would be::
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: harmony.change_channel
|
action: harmony.change_channel
|
||||||
target:
|
target:
|
||||||
entity_id: remote.tv_room
|
entity_id: remote.tv_room
|
||||||
data:
|
data:
|
||||||
@ -212,7 +212,7 @@ automation:
|
|||||||
condition: template
|
condition: template
|
||||||
value_template: '{{ trigger.to_state.attributes.current_activity == "Kodi" }}'
|
value_template: '{{ trigger.to_state.attributes.current_activity == "Kodi" }}'
|
||||||
action:
|
action:
|
||||||
service: input_boolean.turn_on
|
action: input_boolean.turn_on
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.notify
|
entity_id: input_boolean.notify
|
||||||
- alias: "PowerOff started from harmony hub"
|
- alias: "PowerOff started from harmony hub"
|
||||||
@ -223,7 +223,7 @@ automation:
|
|||||||
condition: template
|
condition: template
|
||||||
value_template: '{{ trigger.to_state.attributes.current_activity == "PowerOff" }}'
|
value_template: '{{ trigger.to_state.attributes.current_activity == "PowerOff" }}'
|
||||||
action:
|
action:
|
||||||
service: input_boolean.turn_off
|
action: input_boolean.turn_off
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.notify
|
entity_id: input_boolean.notify
|
||||||
```
|
```
|
||||||
|
@ -171,7 +171,7 @@ So an Automation action using the example above would look something like this.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: hdmi_cec.select_device
|
action: hdmi_cec.select_device
|
||||||
data:
|
data:
|
||||||
device: Chromecast
|
device: Chromecast
|
||||||
```
|
```
|
||||||
@ -184,7 +184,7 @@ An Automation action using the example above would look something like this.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: hdmi_cec.power_on
|
action: hdmi_cec.power_on
|
||||||
```
|
```
|
||||||
|
|
||||||
### Standby
|
### Standby
|
||||||
@ -195,7 +195,7 @@ An Automation action using the example above would look something like this.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
action:
|
action:
|
||||||
service: hdmi_cec.standby
|
action: hdmi_cec.standby
|
||||||
```
|
```
|
||||||
|
|
||||||
### Change volume level
|
### Change volume level
|
||||||
|
@ -37,7 +37,7 @@ A connection to a single device enables control for all devices on the network.
|
|||||||
Use the sign-in action (go to **Developer Tools** > **Actions** and then run the `heos.sign_in` with your username and password. Use the "Fill example data" first, then change it with your data. Check the logs right after, there you should see if the sign-in was successful or not) to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example action data payload:
|
Use the sign-in action (go to **Developer Tools** > **Actions** and then run the `heos.sign_in` with your username and password. Use the "Fill example data" first, then change it with your data. Check the logs right after, there you should see if the sign-in was successful or not) to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example action data payload:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: heos.sign_in
|
action: heos.sign_in
|
||||||
data:
|
data:
|
||||||
username: "example@example.com"
|
username: "example@example.com"
|
||||||
password: "password"
|
password: "password"
|
||||||
@ -59,7 +59,7 @@ Use the sign-out action to sign the connected controller out of a HEOS account.
|
|||||||
You can play a HEOS favorite by number or name with the `media_player.play_media` action. Example action data payload:
|
You can play a HEOS favorite by number or name with the `media_player.play_media` action. Example action data payload:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
media_content_type: "favorite"
|
media_content_type: "favorite"
|
||||||
@ -77,7 +77,7 @@ data:
|
|||||||
You can play a HEOS playlist with the `media_player.play_media` action. Example action data payload:
|
You can play a HEOS playlist with the `media_player.play_media` action. Example action data payload:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
media_content_type: "playlist"
|
media_content_type: "playlist"
|
||||||
@ -95,7 +95,7 @@ data:
|
|||||||
You can play a HEOS Quick Select by number or name with the `media_player.play_media` action. Example action data payload:
|
You can play a HEOS Quick Select by number or name with the `media_player.play_media` action. Example action data payload:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
media_content_type: "quick_select"
|
media_content_type: "quick_select"
|
||||||
@ -113,7 +113,7 @@ data:
|
|||||||
You can play a URL through a HEOS media player using the `media_player.play_media` action. The HEOS player must be able to reach the URL. Example action data payload:
|
You can play a URL through a HEOS media player using the `media_player.play_media` action. The HEOS player must be able to reach the URL. Example action data payload:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.play_media
|
action: media_player.play_media
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
media_content_type: "url"
|
media_content_type: "url"
|
||||||
@ -131,7 +131,7 @@ data:
|
|||||||
For grouping HEOS media players together for synchronous playback you can use the `media_player.join` action. With the example action data payload down below you'll expand playback of `media_player.office` to the `media_player.kitchen` and `media_player.bathroom` players. Please note that all of the media players need to be HEOS players.
|
For grouping HEOS media players together for synchronous playback you can use the `media_player.join` action. With the example action data payload down below you'll expand playback of `media_player.office` to the `media_player.kitchen` and `media_player.bathroom` players. Please note that all of the media players need to be HEOS players.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.join
|
action: media_player.join
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
group_members:
|
group_members:
|
||||||
@ -150,7 +150,7 @@ data:
|
|||||||
For removing a HEOS player from a group you can use the `media_player.unjoin` action.
|
For removing a HEOS player from a group you can use the `media_player.unjoin` action.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: media_player.unjoin
|
action: media_player.unjoin
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.office
|
entity_id: media_player.office
|
||||||
```
|
```
|
||||||
|
@ -86,7 +86,7 @@ automation:
|
|||||||
- thu
|
- thu
|
||||||
- fri
|
- fri
|
||||||
action:
|
action:
|
||||||
- service: homeassistant.update_entity
|
- action: homeassistant.update_entity
|
||||||
target:
|
target:
|
||||||
entity_id: sensor.morning_commute
|
entity_id: sensor.morning_commute
|
||||||
```
|
```
|
||||||
|
@ -66,7 +66,7 @@ Examples:
|
|||||||
script:
|
script:
|
||||||
boost_heating:
|
boost_heating:
|
||||||
sequence:
|
sequence:
|
||||||
- service: hive.boost_heating_on
|
- action: hive.boost_heating_on
|
||||||
target:
|
target:
|
||||||
entity_id: "climate.heating"
|
entity_id: "climate.heating"
|
||||||
data:
|
data:
|
||||||
@ -89,7 +89,7 @@ Examples:
|
|||||||
script:
|
script:
|
||||||
boost_heating:
|
boost_heating:
|
||||||
sequence:
|
sequence:
|
||||||
- service: hive.boost_heating_off
|
- action: hive.boost_heating_off
|
||||||
target:
|
target:
|
||||||
entity_id: "climate.heating"
|
entity_id: "climate.heating"
|
||||||
```
|
```
|
||||||
@ -111,7 +111,7 @@ Examples:
|
|||||||
script:
|
script:
|
||||||
boost_hot_water:
|
boost_hot_water:
|
||||||
sequence:
|
sequence:
|
||||||
- service: "hive.boost_hot_water"
|
- action: "hive.boost_hot_water"
|
||||||
target:
|
target:
|
||||||
entity_id: "water_heater.hot_water"
|
entity_id: "water_heater.hot_water"
|
||||||
data:
|
data:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user