diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown
index ac89bbdc5e0..596f363adba 100644
--- a/source/_integrations/caldav.markdown
+++ b/source/_integrations/caldav.markdown
@@ -192,7 +192,7 @@ Using the entity state and attributes is more error prone and less flexible than
The todo entity is the number of incomplete items on the to-do list. See the
[todo integration](/integrations/todo) documentation for details and available
-services that can be used in automations.
+actions that can be used in automations.
## Troubleshooting
diff --git a/source/_integrations/calendar.markdown b/source/_integrations/calendar.markdown
index a3f4b24f9bc..6026e32bf82 100644
--- a/source/_integrations/calendar.markdown
+++ b/source/_integrations/calendar.markdown
@@ -32,7 +32,7 @@ Some calendar integrations allow Home Assistant to manage your calendars
directly from Home Assistant. In this case, you can add new events by selecting
the **Add event** button in the lower right corner of the calendar dashboard.
-Also see [Services](#services) below.
+Also see [Actions](#actions) below.
## Automation
@@ -139,16 +139,16 @@ automation:
{% enddetails %}
-## Services
+## Actions
Some calendar {% term integrations %} allow Home Assistant to manage your calendars
-directly using {% term services %}. The services provided by some calendar {% term entity %} are described below or you can read more about [Service Calls](/docs/scripts/service-calls/).
+directly using {% term actions %}. The actions provided by some calendar {% term entity %} are described below or you can read more about [actions](/docs/scripts/service-calls/).
-### Service `calendar.create_event`
+### Action `calendar.create_event`
Add a new calendar event. A calendar `target` is selected with a [Target Selector](/docs/blueprint/selectors/#target-selector) and the `data` payload supports the following fields:
-| Service data attribute | Optional | Description | Example |
+| Data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `summary` | no | Acts as the title of the event. | Bowling
| `description` | yes | The description of the event. | Birthday bowling
@@ -191,12 +191,12 @@ data:
{% endraw %}
-### Service `calendar.get_events`
+### Action `calendar.get_events`
-This service populates [Response Data](/docs/scripts/service-calls#use-templates-to-handle-response-data)
+This action populates [Response Data](/docs/scripts/service-calls#use-templates-to-handle-response-data)
with calendar events within a date range. It can return events from multiple calendars.
-| Service data attribute | Optional | Description | Example |
+| Data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `start_date_time` | yes | Return active events after this time (exclusive). When not set, defaults to now. | 2019-03-10 20:00:00
| `end_date_time` | yes | Return active events before this time (exclusive). Cannot be used with `duration`. You must specify either `end_date_time` or `duration`.| 2019-03-10 23:00:00
@@ -229,7 +229,7 @@ Every calendar entity has a field `events` containing a list of events with thes
| `end` | The date or date time the event ends (exclusive). | 2019-03-10 23:00:00
| `location` | The location of the event. | Bowling center
-This example uses a template with response data in another service call:
+This example uses a template with response data in another action:
{% raw %}
```yaml
diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown
index 4704d1e46d3..8cc14634368 100644
--- a/source/_integrations/camera.markdown
+++ b/source/_integrations/camera.markdown
@@ -22,40 +22,40 @@ The camera integration allows you to use IP cameras with Home Assistant.
If your camera supports it, and the [`stream`](/integrations/stream) integration is setup, you will be able to stream your cameras in the frontend and on supported media players.
-The `Preload stream` option will start the camera feed on Home Assistant startup and continue to keep the stream alive. This will result in reduced latency when opening the stream in the frontend, as well as when using the `play_stream` service or Google Assistant integration. It does, however, utilize more resources on your machine, so it is recommended to check CPU usage if you plan to use this feature.
+The `Preload stream` option will start the camera feed on Home Assistant startup and continue to keep the stream alive. This will result in reduced latency when opening the stream in the frontend, as well as when using the `play_stream` action or Google Assistant integration. It does, however, utilize more resources on your machine, so it is recommended to check CPU usage if you plan to use this feature.
Example showing the Preload Stream option in the camera dialog.
-### Services
+### Actions
-Once loaded, the `camera` platform will expose services that can be called to perform various actions.
+Once loaded, the `camera` platform will expose actions that can be called to perform various actions.
-Available services: `enable_motion_detection`, `disable_motion_detection`, `play_stream`, `record`, `snapshot`, `turn_off` and `turn_on`.
+Available actions: `enable_motion_detection`, `disable_motion_detection`, `play_stream`, `record`, `snapshot`, `turn_off` and `turn_on`.
-#### Service `enable_motion_detection`
+#### Action `enable_motion_detection`
Enable the motion detection in a camera.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to enable motion detection, e.g., `camera.living_room_camera`. |
-#### Service `disable_motion_detection`
+#### Action `disable_motion_detection`
Disable the motion detection in a camera.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to disable motion detection, e.g., `camera.living_room_camera`. |
-#### Service `play_stream`
+#### Action `play_stream`
Play a live stream from a camera to selected media player(s). Requires [`stream`](/integrations/stream) integration to be set up.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name of entity to fetch stream from, e.g., `camera.living_room_camera`. |
| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. |
@@ -72,13 +72,13 @@ action:
media_player: media_player.chromecast
```
-#### Service `record`
+#### Action `record`
Make a `.mp4` recording from a camera stream. Requires `stream` integration to be set up.
Both `duration` and `lookback` options are suggestions, but should be consistent per camera. The actual length of the recording may vary. It is suggested that you tweak these settings to fit your needs.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.living_room_camera`. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/{{ entity_id.name }}.mp4`{% endraw %}. |
@@ -102,11 +102,11 @@ action:
{% endraw %}
-#### Service `snapshot`
+#### Action `snapshot`
Take a snapshot from a camera.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.living_room_camera`. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id.name }}`{% endraw %}. |
@@ -128,25 +128,25 @@ action:
{% endraw %}
-#### Service `turn_off`
+#### Action `turn_off`
-Turn off camera. Not all camera models support this service, please consult individual camera page.
+Turn off camera. Not all camera models support this action, please consult individual camera page.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------- |
| `entity_id` | yes | Name(s) of entities to turn off, e.g., `camera.living_room_camera`. |
-#### Service `turn_on`
+#### Action `turn_on`
-Turn on camera. Not all camera models support this service, please consult individual camera page.
+Turn on camera. Not all camera models support this action, please consult individual camera page.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------ |
| `entity_id` | yes | Name(s) of entities to turn on, e.g., `camera.living_room_camera`. |
### Test if it works
-A simple way to test if you have set up your `camera` platform correctly, is to use **Services** from the **Developer Tools**. Choose your service from the dropdown menu **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
+A way to test if you have set up your `camera` platform correctly, is to use **Actions** from the **Developer Tools**. Choose your action from the dropdown menu **Action**, enter something like the sample below into the **data** field, and select **Perform action**.
```yaml
entity_id: camera.living_room_camera
diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown
index 01695310d54..718244cd5b0 100644
--- a/source/_integrations/cast.markdown
+++ b/source/_integrations/cast.markdown
@@ -33,7 +33,7 @@ Ignore CEC:
## Home Assistant Cast
-Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/dashboards/entities/#cast) to your dashboards, or by calling the `cast.show_lovelace_view` service. The service takes the path of a dashboard view and an entity ID of a Cast device to show the view on. A `path` has to be defined in your dashboard's YAML for each view, as outlined in the [views documentation](/dashboards/views/#path). The `dashboard_path` is the part of the dashboard URL that follows the defined `base_url`, typically "`lovelace`". The following is a full configuration for a script that starts casting the `downstairs` tab of the `lovelace-cast` path (note that `entity_id` is specified under `data` and not for the service call):
+Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/dashboards/entities/#cast) to your dashboards, or by calling the `cast.show_lovelace_view` action. The action takes the path of a dashboard view and an entity ID of a Cast device to show the view on. A `path` has to be defined in your dashboard's YAML for each view, as outlined in the [views documentation](/dashboards/views/#path). The `dashboard_path` is the part of the dashboard URL that follows the defined `base_url`, typically "`lovelace`". The following is a full configuration for a script that starts casting the `downstairs` tab of the `lovelace-cast` path (note that `entity_id` is specified under `data` and not for the action):
```yaml
cast_downstairs_on_kitchen:
@@ -66,7 +66,7 @@ Chromecasts can play many kinds of modern [media (image/audio/video) formats](ht
The media needs to be accessible via HTTP(S). Chromecast devices do not support other protocols like DLNA or playback from an SMB file share.
-You can play MP3 streams like net radios, FLAC files or videos from your local network with the `media_player.play_media` service, as long as the media is accessible via HTTP(S). You need to set the `media_content_id` to the media URL and `media_content_type` to a matching content type.
+You can play MP3 streams like net radios, FLAC files or videos from your local network with the `media_player.play_media` action, as long as the media is accessible via HTTP(S). You need to set the `media_content_id` to the media URL and `media_content_type` to a matching content type.
```yaml
# Play a video file from the local network:
@@ -88,7 +88,7 @@ data:
media_content_id: "http://via.placeholder.com/1024x600.jpg/0B6B94/FFFFFF/?text=Hello,%20Home%20Assistant!"
```
-Extra media metadata (for example title, subtitle, artist or album name) can be passed into the service and that will be shown on the Chromecast display.
+Extra media metadata (for example title, subtitle, artist or album name) can be passed into the action and that will be shown on the Chromecast display.
For the possible metadata types and values check [Google cast documentation > MediaInformation > metadata field](https://developers.google.com/cast/docs/reference/messages#MediaInformation).
```yaml
@@ -323,7 +323,7 @@ Example values to cast the item at Preferences > Network remote control` configuration menu. Enable `Use network remote control` and configure the other options for your use case.
-This integration does not implement the `play_media` service so you cannot add tracks to the playlist.
+This integration does not implement the `play_media` action so you cannot add tracks to the playlist.
diff --git a/source/_integrations/clickatell.markdown b/source/_integrations/clickatell.markdown
index a83555f6afa..989357900ee 100644
--- a/source/_integrations/clickatell.markdown
+++ b/source/_integrations/clickatell.markdown
@@ -43,7 +43,7 @@ notify:
{% configuration %}
name:
- description: Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the service notify.NOTIFIER_NAME.
+ description: Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the `notify.NOTIFIER_NAME` action.
required: false
default: clickatell
type: string
diff --git a/source/_integrations/clicksend.markdown b/source/_integrations/clicksend.markdown
index eef5a803078..32530ab156d 100644
--- a/source/_integrations/clicksend.markdown
+++ b/source/_integrations/clicksend.markdown
@@ -45,7 +45,7 @@ notify:
{% configuration %}
name:
- description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service `notify.NOTIFIER_NAME`."
+ description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the `notify.NOTIFIER_NAME` action."
required: false
type: string
username:
diff --git a/source/_integrations/clicksend_tts.markdown b/source/_integrations/clicksend_tts.markdown
index 893c232d02a..fe4965b427e 100644
--- a/source/_integrations/clicksend_tts.markdown
+++ b/source/_integrations/clicksend_tts.markdown
@@ -27,7 +27,7 @@ notify:
{% configuration %}
name:
- description: Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the service notify.NOTIFIER_NAME.
+ description: "Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the `notify.NOTIFIER_NAME` action."
required: false
default: clicksend_tts
type: string
@@ -57,7 +57,7 @@ voice:
### Usage
-ClickSend is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to the E.164 phone number you configured as **recipient**.
+ClickSend is a notify platform and thus can be controlled by calling the notify action [as described here](/integrations/notify/). It will send a notification to the E.164 phone number you configured as **recipient**.
```yaml
alias: "The sun has set"
diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown
index 66ea3f0e557..058354d4137 100644
--- a/source/_integrations/climate.markdown
+++ b/source/_integrations/climate.markdown
@@ -15,21 +15,21 @@ The **Climate** {% term integration %} allows you to control and monitor HVAC (h
{% include integrations/building_block_integration.md %}
-## Services
+## Actions
-### Climate control services
+### Climate control actions
-Available services: `climate.set_aux_heat`, `climate.set_preset_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_hvac_mode`, `climate.set_swing_mode`, `climate.turn_on`, `climate.turn_off`, `climate.toggle`
+Available actions: `climate.set_aux_heat`, `climate.set_preset_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_hvac_mode`, `climate.set_swing_mode`, `climate.turn_on`, `climate.turn_off`, `climate.toggle`
{% tip %}
-Not all climate {% term services %} may be available for your platform. You can check which climate services are available under **Developer Tools** -> **Services**.
+Not all climate {% term actions %} may be available for your platform. You can check which climate action are available under **Developer Tools** -> **Actions**.
{% endtip %}
-### Service `climate.set_aux_heat`
+### Action `climate.set_aux_heat`
Turn auxiliary heater on/off for climate device
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `aux_heat` | no | New value of auxiliary heater.
@@ -49,13 +49,13 @@ automation:
aux_heat: true
```
-### Service `climate.set_preset_mode`
+### Action `climate.set_preset_mode`
Set preset mode for climate device. Away mode changes the target temperature permanently to a temperature
reflecting a situation where the climate device is set to save energy. For example, this may be used to emulate a
"vacation mode."
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `preset_mode` | no | New value of preset mode.
@@ -75,11 +75,11 @@ automation:
preset_mode: "eco"
```
-### Service `climate.set_temperature`
+### Action `climate.set_temperature`
Set target temperature of climate device
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `temperature` | yes | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`.
@@ -120,11 +120,11 @@ automation:
hvac_mode: heat_cool
```
-### Service `climate.set_humidity`
+### Action `climate.set_humidity`
Set target humidity of climate device
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `humidity` | no | New target humidity for climate device
@@ -144,11 +144,11 @@ automation:
humidity: 60
```
-### Service `climate.set_fan_mode`
+### Action `climate.set_fan_mode`
Set fan operation for climate device
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `fan_mode` | no | New value of fan mode
@@ -168,11 +168,11 @@ automation:
fan_mode: "On Low"
```
-### Service `climate.set_hvac_mode`
+### Action `climate.set_hvac_mode`
Set climate device's HVAC mode
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `hvac_mode` | no | New value of HVAC mode
@@ -192,11 +192,11 @@ automation:
hvac_mode: heat
```
-### Service `climate.set_swing_mode`
+### Action `climate.set_swing_mode`
Set swing operation mode for climate device
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `swing_mode` | no | New value of swing mode
@@ -216,27 +216,27 @@ automation:
swing_mode: 1
```
-### Service `climate.turn_on`
+### Action `climate.turn_on`
Turn climate device on. This is only supported if the climate device supports being turned off.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
-### Service `climate.turn_off`
+### Action `climate.turn_off`
Turn climate device off. This is only supported if the climate device has the HVAC mode `off`.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
-### Service `climate.toggle`
+### Action `climate.toggle`
Toggle climate device. This is only supported if the climate device supports being turned on and off.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown
index 64b17af4618..b1179141219 100644
--- a/source/_integrations/climate.mqtt.markdown
+++ b/source/_integrations/climate.mqtt.markdown
@@ -264,7 +264,7 @@ power_command_template:
required: false
type: template
power_command_topic:
- description: The MQTT topic to publish commands to change the HVAC power state. Sends the payload configured with `payload_on` if the climate is turned on via the `climate.turn_on`, or the payload configured with `payload_off` if the climate is turned off via the `climate.turn_off` service. Note that `optimistic` mode is not supported through `climate.turn_on` and `climate.turn_off` services. When called, these services will send a power command to the device but will not optimistically update the state of the climate entity. The climate device should report its state back via `mode_state_topic`.
+ description: The MQTT topic to publish commands to change the HVAC power state. Sends the payload configured with `payload_on` if the climate is turned on via the `climate.turn_on`, or the payload configured with `payload_off` if the climate is turned off via the `climate.turn_off` action. Note that `optimistic` mode is not supported through `climate.turn_on` and `climate.turn_off` actions. When called, these actions will send a power command to the device but will not optimistically update the state of the climate entity. The climate device should report its state back via `mode_state_topic`.
required: false
type: string
precision:
diff --git a/source/_integrations/cloudflare.markdown b/source/_integrations/cloudflare.markdown
index af4dcde4d4f..44f8c18e78a 100644
--- a/source/_integrations/cloudflare.markdown
+++ b/source/_integrations/cloudflare.markdown
@@ -15,7 +15,7 @@ ha_integration_type: integration
With the **Cloudflare** {% term integration %}, you can keep your Cloudflare DNS records up to date.
-The integration runs every hour, but can also be triggered by running the {% my developer_services title="`cloudflare.update_records` service" service="cloudflare.update_records" %}.
+The integration runs every hour, but can also be triggered by running the {% my developer_services title="`cloudflare.update_records` action" service="cloudflare.update_records" %}.
## Requirements
diff --git a/source/_integrations/color_extractor.markdown b/source/_integrations/color_extractor.markdown
index 6f5a2382b3d..a40716152ec 100644
--- a/source/_integrations/color_extractor.markdown
+++ b/source/_integrations/color_extractor.markdown
@@ -16,11 +16,11 @@ Useful as part of an {% term automation %}.
{% include integrations/config_flow.md %}
-## Services
+## Actions
-Because `color_extractor.turn_on` will then call `light.turn_on`, you can pass any valid [`light.turn_on`](/integrations/light#service-lightturn_on) parameters (`rgb_color` will be set for you though) as those will be passed along.
+Because `color_extractor.turn_on` will then call `light.turn_on`, you can pass any valid [`light.turn_on`](/integrations/light#action-lightturn_on) parameters (`rgb_color` will be set for you though) as those will be passed along.
-Passing the key `color_extract_url` to the {% term service %} call will download the linked image and extract the predominant color from it. Passing the key `color_extract_path` to the service call will process the image file from local storage instead. `color_extract_url` and `color_extract_path` are exclusive and cannot be used together.
+Passing the key `color_extract_url` to the {% term action %} call will download the linked image and extract the predominant color from it. Passing the key `color_extract_path` to the action will process the image file from local storage instead. `color_extract_url` and `color_extract_path` are exclusive and cannot be used together.
| Key | Example | Description |
| -------------------- | ------------------------------------- | ------------------------------------------------------------------------------ |
@@ -32,17 +32,17 @@ Passing the key `color_extract_url` to the {% term service %} call will download
Ensure any [external URLs](/integrations/homeassistant/#allowlist_external_urls) or [external files](/docs/integrations/homeassistant/#allowlist_external_dirs) are authorized for use. You will receive error messages if this {% term integration %} is not allowed access to these external resources.
{% endimportant %}
-### URL Service Call
+### URL Action
-Add the parameter key `color_extract_url` to the service call.
+Add the parameter key `color_extract_url` to the action.
-This {% term service %} allows you to pass in the URL of an image, have it downloaded, get the predominant color from it, and then set a light's RGB value to it.
+This {% term action %} allows you to pass in the URL of an image, have it downloaded, get the predominant color from it, and then set a light's RGB value to it.
-### File Service Call
+### File Action
-Add the parameter key `color_extract_path` to the service call.
+Add the parameter key `color_extract_path` to the action.
-This {% term service %} is very similar to the URL service above, except it processes a file from the local file storage.
+This {% term action %} is very similar to the URL action above, except it processes a file from the local file storage.
## Example Automations
@@ -65,7 +65,7 @@ Example usage in an {% term automation %}, taking the album art present on a Chr
entity_id: light.shelf_leds
```
-With a nicer transition period of 5 seconds and setting brightness to 100% each time (part of the [`light.turn_on`](/integrations/light#service-lightturn_on) service parameters):
+With a nicer transition period of 5 seconds and setting brightness to 100% each time (part of the [`light.turn_on`](/integrations/light#action-lightturn_on) action parameters):
```yaml
#automation.yaml
diff --git a/source/_integrations/command_line.markdown b/source/_integrations/command_line.markdown
index ead1db28fe6..89a82a44436 100644
--- a/source/_integrations/command_line.markdown
+++ b/source/_integrations/command_line.markdown
@@ -156,7 +156,7 @@ command_line:
type: map
keys:
name:
- description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
+ description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the `notify.NOTIFIER_NAME` action.
required: false
default: notify
type: string
@@ -766,12 +766,12 @@ command_line:
- Replace admin and password with an "Admin" privileged Foscam user
- Replace ipaddress with the local IP address of your Foscam
-## Services
+## Actions
-Available services: `reload`.
+Available actions: `reload`.
-### Service `command_line.reload`
+### Action `command_line.reload`
Reload all `command_line` entities.
-This service takes no service data attributes.
+This action takes no data attributes.
diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown
index 4531739927c..e2910a28464 100644
--- a/source/_integrations/conversation.markdown
+++ b/source/_integrations/conversation.markdown
@@ -12,7 +12,7 @@ ha_domain: conversation
ha_integration_type: system
---
-The **Conversation** {% term integration %} allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text.
+The **Conversation** {% term integration %} allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` action with the transcribed text.
@@ -66,8 +66,7 @@ intent_script:
{% endraw %}
-More complex [actions](/docs/scripts/) can be done in `intent_script`, such as calling services and firing events.
-
+More complex [actions](/docs/scripts/) can be done in `intent_script`, such as performing actions and firing events.
## Extending built-in intents
@@ -156,23 +155,23 @@ intents:
It's now possible to say "engage all lights in the bedroom", which will turn on every light in the area named "bedroom".
-## Service `conversation.process`
+## Action `conversation.process`
Send a message to a conversation agent for processing.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------- |
| `text` | no | Transcribed text input |
| `language` | yes | Language of the text |
| `agent_id` | yes | ID of conversation agent. The conversation agent is the brains of the assistant. It processes the incoming text commands. |
| `conversation_id` | yes | ID of a new or previous conversation. Will continue an old conversation or start a new one. |
-This service is able to return [response data](/docs/scripts/service-calls/#use-templates-to-handle-response-data). The response is the same response as for the
+This action is able to return [response data](/docs/scripts/service-calls/#use-templates-to-handle-response-data). The response is the same response as for the
[`/api/conversation/process` API](https://developers.home-assistant.io/docs/intent_conversation_api#conversation-response).
-## Service `conversation.reload`
+## Action `conversation.reload`
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------ |
| `language` | yes | Language to clear intent cache for. No value clears all languages |
| `agent_id` | yes | ID of conversation agent. Defaults to the built-in Home Assistant agent. |
diff --git a/source/_integrations/counter.markdown b/source/_integrations/counter.markdown
index 7afbad9f131..477df2d9827 100644
--- a/source/_integrations/counter.markdown
+++ b/source/_integrations/counter.markdown
@@ -83,46 +83,46 @@ This integration will automatically restore the state it had prior to Home Assis
If `restore` is set to `true`, the `initial` value will only be used when no previous state is found or when the counter is reset.
-## Services
+## Actions
-Available services: `increment`, `decrement`, `reset`, and `set_value`.
+Available actions: `increment`, `decrement`, `reset`, and `set_value`.
-### Service `counter.increment`
+### Action `counter.increment`
Increments the counter with 1 or the given value for the steps.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
-### Service `counter.decrement`
+### Action `counter.decrement`
Decrements the counter with 1 or the given value for the steps.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
-### Service `counter.reset`
+### Action `counter.reset`
-With this service the counter is reset to its initial value.
+With this action the counter is reset to its initial value.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
-### Service `counter.set_value`
+### Action `counter.set_value`
-This service allows setting the counter to a specific value.
+This action allows setting the counter to a specific value.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
| `value` | yes | Set the counter to the given value. |
-### Use the service
+### Use the action
-Select the **Services** tab from within **Developer Tools**. Choose **counter** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
+Select the **Actions** tab from within **Developer Tools**. Choose **counter** from the list of **Domains**, select the **Actions**, enter something like the sample below into the **data** field, and select **Perform action**.
```json
{
diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown
index ee34b926e00..1edf4f59f32 100644
--- a/source/_integrations/cover.markdown
+++ b/source/_integrations/cover.markdown
@@ -47,13 +47,13 @@ The following device classes are supported for covers.
- **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters.
- **window**: Control of a physical window that opens and closes or may tilt.
-## Services
+## Actions
-### Cover control services
+### Cover control actions
-Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`, `cover.toggle`, `cover.open_cover_tilt`, `cover.close_cover_tilt`, `cover.stop_cover_tilt`, `cover.toggle_tilt`
+Available actions: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`, `cover.toggle`, `cover.open_cover_tilt`, `cover.close_cover_tilt`, `cover.stop_cover_tilt`, `cover.toggle_tilt`
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
@@ -70,11 +70,11 @@ automation:
entity_id: cover.demo
```
-### Service `cover.set_cover_position`
+### Action `cover.set_cover_position`
Set cover position of one or multiple covers.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
| `position` | no | Integer between 0 and 100. |
@@ -94,11 +94,11 @@ automation:
position: 50
```
-### Service `cover.set_cover_tilt_position`
+### Action `cover.set_cover_tilt_position`
Set cover tilt position of one or multiple covers.
-| Service data attribute | Optional | Description |
+| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
| `tilt_position` | no | Integer between 0 and 100. |
diff --git a/source/_integrations/cover.template.markdown b/source/_integrations/cover.template.markdown
index 5349c3cbb08..24b470e890d 100644
--- a/source/_integrations/cover.template.markdown
+++ b/source/_integrations/cover.template.markdown
@@ -10,7 +10,7 @@ ha_domain: template
---
The `template` platform can create covers that combine integrations and provides
-the ability to run scripts or invoke services for each of the open,
+the ability to run scripts or invoke actions for each of the open,
close, stop, position and tilt commands of a cover.
## Configuration