Rename Services to Actions in integrations: I (#33817)

* Rename Services to Actions in integrations: I

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Franck Nijhof 2024-07-17 06:14:56 +02:00 committed by GitHub
parent 69ee74fd82
commit defa196308
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 117 additions and 116 deletions

View File

@ -17,7 +17,7 @@ ha_integration_type: integration
The iAlarm integration provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems and has also been confirmed to work with the alarm system brands Meian and Emooluxr.
Please note that the latest iAlarm-XR alarm system is not supported.
This platform supports the following services:
This platform supports the following actions:
- `alarm_control_panel.alarm_arm_away`
- `alarm_control_panel.alarm_arm_home`

View File

@ -54,27 +54,27 @@ The iCloud integration will track available devices on your iCloud account.
The iCloud integration will add a battery sensor for each iCloud devices available on your iCloud account.
## Services
## Actions
4 services are available:
4 actions are available:
### Service `icloud.update`
### Action `icloud.update`
This service can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door has been opened.
This action can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door has been opened.
### Service `icloud.play_sound`
### Action `icloud.play_sound`
This service will play the Lost iPhone sound on your iDevice. It will still ring if you are on "Mute" or "Do not disturb" mode.
This action will play the Lost iPhone sound on your iDevice. It will still ring if you are on "Mute" or "Do not disturb" mode.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `account` | no | Email address of the iCloud account |
| `device_name` | no | Human Friendly device name like Bob's iPhone |
### Service `icloud.display_message`
### Action `icloud.display_message`
This service will display a message on your iDevice. It can also ring your device.
This action will display a message on your iDevice. It can also ring your device.
### Service `icloud.lost_device`
### Action `icloud.lost_device`
This service will put your iDevice on "lost" mode (compatible devices only). You have to provide a phone number with a suffixed [country code](https://en.wikipedia.org/wiki/List_of_country_calling_codes) and a message.
This action will put your iDevice on "lost" mode (compatible devices only). You have to provide a phone number with a suffixed [country code](https://en.wikipedia.org/wiki/List_of_country_calling_codes) and a message.

View File

@ -64,7 +64,7 @@ ifttt:
`key` is your API key which can be obtained by viewing the **Settings** of the [Webhooks applet](https://ifttt.com/maker_webhooks/settings). It's the last part of the URL (e.g., https://maker.ifttt.com/use/MYAPIKEY) you will find under **My Applets** > **Webhooks** > **Settings**.
![Property screen of the Maker Channel.](/images/integrations/ifttt/finding_key.png)
Once you have added your key to your {% term "`configuration.yaml`" %} file, restart your Home Assistant instance. This will load up the IFTTT integration and make a service available to trigger events in IFTTT.
Once you have added your key to your {% term "`configuration.yaml`" %} file, restart your Home Assistant instance. This will load up the IFTTT integration and make an action available to trigger events in IFTTT.
{% important %}
After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow.
@ -84,7 +84,7 @@ ifttt:
### Testing your trigger
You can use **Developer Tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant sidebar, click on **Developer Tools** -> **Services** tab. Select `IFTTT: Trigger` as the service and fill in the following values:
You can use **Developer Tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant sidebar, click on **Developer Tools** > **Actions** tab. Select `IFTTT: Trigger` as the action and fill in the following values:
{% configuration_basic %}
event:
@ -105,17 +105,18 @@ value3:
type: string
{% endconfiguration_basic %}
When your screen looks like this, click the 'call service' button.
![Testing service.](/images/integrations/ifttt/testing_service.png)
When your screen looks like this, select the **Perform action** button.
![Testing action.](/images/integrations/ifttt/testing_service.png)
By default, the trigger is sent to all the API keys from {% term "`configuration.yaml`" %}. If you
want to send the trigger to a specific key use the `target` field:
| Field | Value |
| ------------ | ----------------------------------------------------------------------------- |
| domain | `ifttt` |
| service | `trigger` |
| Service Data | `{"event": "EventName", "value1": "Hello World", "target": "YOUR_KEY_NAME1"}` |
| Field | Value |
| --------| ----------------------------------------------------------------------------- |
| domain | `ifttt` |
| service | `trigger` |
| data | `{"event": "EventName", "value1": "Hello World", "target": "YOUR_KEY_NAME1"}` |
The `target` field can contain a single key name or a list of key names.

View File

@ -342,46 +342,46 @@ switch:
The resource id should be a boolean resource (On/Off). For more information about IHC resource ids see [Manual Setup](#manual-setup).
## Services
## Actions
Below are the service functions for the IHC integrations.
### Service `ihc.pulse`
### Action `ihc.pulse`
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `controller_id` | yes | If you have multiple controller, this is the index of you controller starting with 0 (0 is default) |
| `ihc_id` | no | The boolean IHC resource ID. |
This service will send a pulse to the specified IHC resource.
This action will send a pulse to the specified IHC resource.
On and Off with a 400ms delay.
### Service `ihc.set_runtime_value_bool`
### Action `ihc.set_runtime_value_bool`
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `controller_id` | yes | If you have multiple controller, this is the index of you controller starting with 0 (0 is default) |
| `ihc_id` | no | The boolean IHC resource ID. |
| `value` | no | The boolean value to set. (true or false) |
This service will set the specified boolean resource on the IHC controller.
This action will set the specified boolean resource on the IHC controller.
### Service `ihc.set_runtime_value_float`
### Action `ihc.set_runtime_value_float`
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `controller_id` | yes | If you have multiple controller, this is the index of you controller starting with 0 (0 is default) |
| `ihc_id` | no | The float IHC resource ID. |
| `value` | no | The float value to set. |
This service will set the specified float resource on the IHC controller.
This action will set the specified float resource on the IHC controller.
### Service `ihc.set_runtime_value_int`
### Action `ihc.set_runtime_value_int`
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `controller_id` | yes | If you have multiple controller, this is the index of you controller starting with 0 (0 is default) |
| `ihc_id` | no | The integer IHC resource ID. |
| `value` | no | The integer value to set. |
This service will set the specified integer resource on the IHC controller.
This action will set the specified integer resource on the IHC controller.

View File

@ -59,7 +59,7 @@ The following event attributes will be present (platform-dependent): `entity_id`
## scan_interval and optimizing Resources
Image processing integrations process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing.
Image processing integrations process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` action when you actually want to perform processing.
```yaml
# Example configuration.yaml

View File

@ -69,7 +69,7 @@ Yahoo also requires the character set `US-ASCII`.
### Selecting message data to include in the IMAP event (advanced mode)
By default, the IMAP event won't include `text` or `headers` message data. If you want them to be included (`text` or `headers`, or both), you have to manually select them in the option flow.
Another way to process the `text` data, is to use the `imap.fetch` service. In this case, `text` won't be limited by size.
Another way to process the `text` data, is to use the `imap.fetch` action. In this case, `text` won't be limited by size.
### Selecting an alternate SSL cipher list or disabling SSL verification (advanced mode)
@ -174,11 +174,11 @@ template:
{% endraw %}
### Services for post-processing
### Actions for post-processing
The IMAP integration has some services for post-pressing email messages. The services are intended to be used in automations as actions after an "imap_content" event. The services take the IMAP `entry_id` and the `uid` of the message's event data. You can use a template for the `entry_id` and the `uid`. When the service is set up as a trigger action, you can easily select the correct entry from the UI. You will find the `entry_id` in YAML mode. It is highly recommended you filter the events by the `entry_id`.
The IMAP integration has some actions for post-pressing email messages. The actions are intended to be used in automations as actions after an "imap_content" event. The actions take the IMAP `entry_id` and the `uid` of the message's event data. You can use a template for the `entry_id` and the `uid`. When the action is set up as a trigger action, you can easily select the correct entry from the UI. You will find the `entry_id` in YAML mode. It is highly recommended you filter the events by the `entry_id`.
Available services are:
Available actions are:
- `seen`: Mark the message as seen.
- `move`: Move the message to a `target_folder` and optionally mark the message `seen`.
@ -186,12 +186,12 @@ Available services are:
- `fetch`: Fetch the content of a message. Returns a dictionary containing `"text"`, `"subject"`, `"sender"` and `"uid""`. This allows to fetch and process the complete message text, not limited by size.
{% caution %}
When these services are used in an automation, make sure the right triggers and filtering are set up. When messages are deleted, they cannot be recovered. When multiple IMAP entries are set up, make sure the messages are filtered by the `entry_id` as well to ensure the correct messages are processed. Do not use these services unless you know what you are doing.
When these actions are used in an automation, make sure the right triggers and filtering are set up. When messages are deleted, they cannot be recovered. When multiple IMAP entries are set up, make sure the messages are filtered by the `entry_id` as well to ensure the correct messages are processed. Do not use these actions unless you know what you are doing.
{% endcaution %}
## Example - post-processing
The example below filters the event trigger by `entry_id`, fetches the message and stores it in `message_text`. It then marks the message in the event as seen and finally, it adds a notification with the subject of the message. The `seen` service `entry_id` can be a template or literal string. In UI mode you can select the desired entry from a list as well.
The example below filters the event trigger by `entry_id`, fetches the message and stores it in `message_text`. It then marks the message in the event as seen and finally, it adds a notification with the subject of the message. The `seen` action `entry_id` can be a template or literal string. In UI mode you can select the desired entry from a list as well.
{% raw %}

View File

@ -21,7 +21,7 @@ automations by using them in their {% term conditions %}.
The preferred way to configure input boolean helpers is via the user interface,
in which they are known as Toggle Helpers. To add one, go to
**{% my helpers title="Settings > Devices & Services > Helpers" %}** and click the add button;
**{% my helpers title="Settings > Devices & services > Helpers" %}** and click the add button;
next choose the **{% my config_flow_start domain="input_boolean" title="Toggle" %}** option.
To be able to add **Helpers** via the user interface you should have
@ -61,13 +61,13 @@ input_boolean:
icon: mdi:car
```
## Services
## Actions
This integration provides the following {% term services %} to modify the state of the
`input_boolean` and a service to reload the configuration without restarting
This integration provides the following {% term actions %} to modify the state of the
`input_boolean` and an action to reload the configuration without restarting
Home Assistant itself.
| Service | Data | Description |
| Action | Data | Description |
| ---------- | ------------------------------ | ----------------------------------------------------------- |
| `turn_on` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `on` |
| `turn_off` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `off` |

View File

@ -19,7 +19,7 @@ like an automation.
## Configuration
The preferred way to configure button helpers is via the user interface.
To add one, go to **{% my helpers title="Settings -> Devices & Services -> Helpers" %}**
To add one, go to **{% my helpers title="Settings -> Devices & services -> Helpers" %}**
and click the add button; next choose the **{% my config_flow_start domain="input_button" title="Button" %}** option.
To be able to add **Helpers** via the user interface you should have
@ -76,12 +76,12 @@ action:
message: "My button has been pressed!"
```
## Services
## Actions
The input button entities exposes a single service:
The input button entities exposes a single action:
{% my developer_call_service service="input_button.press" %}
This service can be called to trigger a button press for that entity.
This action can be used to trigger a button press for that entity.
```yaml
- service: input_button.press

View File

@ -16,7 +16,7 @@ The `input_datetime` integration allows the user to define date and time values
that can be controlled via the frontend and can be used within automations and
templates.
The preferred way to configure input datetime is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_datetime" title="Date and/or time" %}** option.
The preferred way to configure input datetime is via the user interface at **{% my helpers title="Settings > Devices & services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_datetime" title="Date and/or time" %}** option.
To be able to add **{% my helpers title="Helpers" %}** via the user interface you should have `default_config:` in your {% term "`configuration.yaml`" %}, it should already be there by default unless you removed it.
If you removed `default_config:` from your configuration, you must add `input_datetime:` to your `configuration.yaml` first, then you can use the UI.
@ -89,13 +89,13 @@ automations and templates.
If you set a valid value for `initial`, this integration will start with the state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.
### Services
### Actions
Available service: `input_datetime.set_datetime` and `input_datetime.reload`.
Available actions: `input_datetime.set_datetime` and `input_datetime.reload`.
#### input_datetime.set_datetime
| Service data attribute | Format String | Description |
| Data attribute | Format String | Description |
| ---------------------- | ------------------- | -------------------------------------------------------------------------------- |
| `date` | `%Y-%m-%d` | This can be used to dynamically set the date. |
| `time` | `%H:%M:%S` | This can be used to dynamically set the time. |
@ -106,7 +106,7 @@ To set both the date and time in the same call, use `date` and `time` together,
#### input_datetime.reload
`input_datetime.reload` service allows one to reload `input_datetime`'s configuration without restarting Home Assistant itself.
`input_datetime.reload` action allows one to reload `input_datetime`'s configuration without restarting Home Assistant itself.
## Examples
@ -127,7 +127,7 @@ automation:
```
To dynamically set the `input_datetime` you can call
`input_datetime.set_datetime`. The values for `date`, `time` and/or `datetime` must be in a certain format for the call to be successful. (See service description above.)
`input_datetime.set_datetime`. The values for `date`, `time` and/or `datetime` must be in a certain format for the call to be successful. (See action description above.)
If you have a `datetime` object you can use its `timestamp` method. Of if you have a timestamp you can just use it directly.
{% raw %}

View File

@ -14,7 +14,7 @@ ha_integration_type: helper
The **Input number** {% term integration %} allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well.
The preferred way to configure an input number is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_number" title="Number" %}** option.
The preferred way to configure an input number is via the user interface at **{% my helpers title="Settings > Devices & services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_number" title="Number" %}** option.
To be able to add **Helpers** via the user interface you should have `default_config:` in your {% term "`configuration.yaml`" %}, it should already be there by default unless you removed it.
If you removed `default_config:` from you configuration, you must add `input_number:` to your `configuration.yaml` first, then you can use the UI.
@ -82,9 +82,9 @@ input_number:
type: icon
{% endconfiguration %}
### Services
### Actions
This integration provides the following services to modify the state of the `input_number` and a service to reload the
This integration provides the following actions to modify the state of the `input_number` and an action to reload the
configuration without restarting Home Assistant itself.
| Service | Data | Description |

View File

@ -14,7 +14,7 @@ ha_integration_type: helper
The **Input select** {% term integration %} allows the user to define a list of values that can be selected via the frontend and can be used within conditions of an automation. When a user selects a new item, a state transition event is generated. This state event can be used in an `automation` trigger.
The preferred way to configure an input select is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_select" title="Dropdown" %}** option.
The preferred way to configure an input select is via the user interface at **{% my helpers title="Settings > Devices & services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_select" title="Dropdown" %}** option.
To be able to add **Helpers** via the user interface you should have `default_config:` in your {% term "`configuration.yaml`" %}, it should already be there by default unless you removed it.
If you removed `default_config:` from you configuration, you must add `input_select:` to your `configuration.yaml` first, then you can use the UI.
@ -71,11 +71,11 @@ Because YAML defines [booleans](https://yaml.org/type/bool.html) as equivalent,
If you set a valid value for `initial` this integration will start with the state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.
### Services
### Actions
This integration provides three services to modify the state of the `input_select`.
This integration provides three actions to modify the state of the `input_select`.
| Service | Data | Description |
| Action | Data | Description |
| --------------- | --------------------------- | ----------------------------------------------------- |
| `select_option` | `option` | This can be used to select a specific option. |
| `set_options` | `options`<br>`entity_id(s)` | Set the options for specific `input_select` entities. |
@ -83,19 +83,19 @@ This integration provides three services to modify the state of the `input_selec
| `select_last` | | Select the last option. |
| `reload` | | Reload `input_select` configuration |
#### Service `input_select.select_next`
#### Action `input_select.select_next`
Select the next option.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------- |
| `cycle` | yes | Whether to cycle to the first value after the last. Default: `true` |
#### Service `input_select.select_previous`
#### Action `input_select.select_previous`
Select the previous option.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------- |
| `cycle` | yes | Whether to cycle to the last value before the first. Default: `true` |
@ -129,7 +129,7 @@ scene:
## Automation examples
The following example shows the usage of the `input_select.select_option` service in an automation:
The following example shows the usage of the `input_select.select_option` action in an automation:
```yaml
# Example configuration.yaml entry

View File

@ -14,7 +14,7 @@ ha_integration_type: helper
The **Input text** {% term integration %} allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text).
The preferred way to configure an input text is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_text" title="Text" %}** option.
The preferred way to configure an input text is via the user interface at **{% my helpers title="Settings > Devices & services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_text" title="Text" %}** option.
To be able to add **Helpers** via the user interface you should have `default_config:` in your {% term "`configuration.yaml`" %}, it should already be there by default unless you removed it.
If you removed `default_config:` from your configuration, you must add `input_text:` to your `configuration.yaml` first, then you can use the UI.
@ -79,11 +79,11 @@ input_text:
default: text
{% endconfiguration %}
### Services
### Actions
This integration provides a service to modify the state of the `input_text` and a service to reload the `input_text` configuration without restarting Home Assistant itself.
This integration provides an action to modify the state of the `input_text` and an action to reload the `input_text` configuration without restarting Home Assistant itself.
| Service | Data | Description |
| Action | Data | Description |
| ----------- | ------------------------- | ------------------------------------------------- |
| `set_value` | `value`<br>`entity_id(s)` | Set the value for specific `input_text` entities. |
| `reload` | | Reload `input_text` configuration |

View File

@ -62,7 +62,7 @@ The Insteon configuration panel allows for product specific configuration of Ins
To open the Insteon configuration panel:
1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}.
1. Go to {% my integrations title="**Settings** > **Devices & services**" %}.
2. Select the **Insteon** {% term integration %}. Then, select **Configure** to open the Insteon configuration panel.
The following capabilities are available in the Insteon configuration panel:
@ -122,7 +122,7 @@ Editing a device's All-Link Database can cause the device to become unresponsive
## Triggering Insteon scenes
Triggering an Insteon scene on or off is done via automations. Two services are provided to support this feature:
Triggering an Insteon scene on or off is done via automations. Two actions are provided to support this feature:
- **insteon.scene_on**
- **group**: (required) The Insteon scene number to trigger.
@ -190,9 +190,9 @@ automation:
entity_id: light.some_light
```
## Services
## Actions
The following services are available:
The following actions are available:
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode.
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process.

View File

@ -116,7 +116,7 @@ intent_script:
data_template:
start_date_time: "{{ today_at('00:00') }}"
duration: { "hours": 24 }
response_variable: result # get service response
response_variable: result # get action response
- stop: ""
response_variable: result # and return it
speech:

View File

@ -48,9 +48,9 @@ This integration opens a TCP connection with the IntesisHome API to receive temp
By default, the integration will be named using the friendly device name from the IntesisHome website or application.
If internet connectivity is lost, the device will be marked as unavailable after 5 minutes.
### Supported services
### Supported actions
Available services:
Available actions:
- `climate.set_temperature`
- `climate.set_fan_mode`

View File

@ -111,16 +111,16 @@ The frequency when the test will be automatically triggered can be adjusted by s
Parallel streams can help in some situations. As TCP attempts to be fair and conservative, you may consider increasing the `parallel` attribute. Use this value with careful and refer to Iperf3 man page for more information.
You can use the service `sensor.iperf3_update` to trigger a manual speed test for all sensors. Iperf3 has its own service call that allow to perform a speed test on a particular entity.
You can use the `sensor.iperf3_update` action to trigger a manual speed test for all sensors. Iperf3 has its own action that allows performing a speed test on a particular entity.
## Service
## Action
Once loaded, the `iperf3` integration will expose a service (`iperf3.speedtest`) that can be called to run a speed test on demand. This can be useful if you have enabled manual mode.
Once loaded, the `iperf3` integration will expose an action (`iperf3.speedtest`) that can be called to run a speed test on demand. This can be useful if you have enabled manual mode.
| Service data attribute | Description |
| Data attribute | Description |
| `host` | String that point at a configured `host` from `configuration.yaml`. Otherwise, tests will be run against all configured hosts.
Example Service data:
Example action data:
```json
{"host": "192.168.0.121"}

View File

@ -130,28 +130,28 @@ Insteon Secondary Keypad buttons and Remote buttons are added to Home Assistant
Insteon devices will include entities for setting the device On Level, Ramp Rate, and Backlight Level, if supported; as well as `button` entities for `Beep` and `Query` actions. Note: Backlight Level cannot be read from the device, so an assumed state is used. The current state in Home Assistant will be valid if the backlight is changed from Home Assistant and will also be updated if changed from the ISY Admin Console or REST command while Home Assistant is running. Additional configuration changes still require the ISY Admin Console.
### Services
### Actions
Once loaded, the following services will be exposed with the `isy994.` prefix, to allow advanced control over the ISY and its connected devices:
Once loaded, the following actions will be exposed with the `isy994.` prefix, to allow advanced control over the ISY and its connected devices:
- Entity services for all Home Assistant-connected entities: `send_node_command`, `send_raw_node_command`.
- ISY Z-Wave Node services: `get_zwave_parameter`, `set_zwave_parameter`, `set_zwave_lock_user_code`, `delete_zwave_lock_user_code`
- Generic ISY services: `send_program_command`
- Actions for all Home Assistant-connected entities: `send_node_command`, `send_raw_node_command`.
- ISY Z-Wave Node actions: `get_zwave_parameter`, `set_zwave_parameter`, `set_zwave_lock_user_code`, `delete_zwave_lock_user_code`
- Generic ISY actions: `send_program_command`
#### Service `isy994.send_node_command`
#### Action `isy994.send_node_command`
Send a command to an ISY Device using its Home Assistant entity ID. Valid commands are: `beep`, `brighten`, `dim`, `disable`, `enable`, `fade_down`, `fade_stop`, `fade_up`, `fast_off`, `fast_on`, and `query`.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of target entities for the command, e.g., `light.front_porch`. |
| `command` | no | The command to be sent to the device, e.g., `"fast_on"` |
#### Service `isy994.send_raw_node_command`
#### Action `isy994.send_raw_node_command`
Send a "raw" (e.g., `DON`, `DOF`) ISY REST Device Command to a Node using its Home Assistant Entity ID. This is useful for devices that aren't fully supported in Home Assistant yet, such as controls for many NodeServer nodes. Refer to the ISY (or PyISY Python Module) Documentation for details of valid commands.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of target entities for the command, e.g., `light.front_porch`. |
| `command` | no | The ISY REST Command to be sent to the device, e.g., `"DON"` |
@ -159,60 +159,60 @@ Send a "raw" (e.g., `DON`, `DOF`) ISY REST Device Command to a Node using its Ho
| `parameters` | yes | A `dict` of parameters to be sent in the query string for controlling colored bulbs or advanced parameters, e.g., `{ GV2: 0, GV3: 0, GV4: 255 }` |
| `unit_of_measurement` | yes | The ISY Unit of Measurement (UOM) to send with the command, if required, e.g., `67` |
#### Service `isy994.get_zwave_parameter`
#### Action `isy994.get_zwave_parameter`
Request a Z-Wave Device parameter via the ISY. The parameter value will be returned as an entity extra state attribute with the name "ZW#" where "#" is the parameter number.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name of target entity for the command, e.g., `light.front_porch`. This must be an ISY Z-Wave Node. |
| `parameter` | no | The parameter number to retrieve from the end device. |
#### Service `isy994.set_zwave_parameter`
#### Action `isy994.set_zwave_parameter`
Update a Z-Wave Device parameter via the ISY. The parameter value will also be returned as an entity extra state attribute with the name "ZW#" where "#" is the parameter number.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name of target entity for the command, e.g., `light.front_porch`. This must be an ISY Z-Wave Node. |
| `parameter` | no | The parameter number to set on the end device. |
| `value` | no | The value to set for the parameter. May be an integer or byte string (e.g. "0xFFFF"). |
| `size` | no | The size of the parameter, either 1, 2, or 4 bytes. |
#### Service `isy994.set_zwave_lock_user_code`
#### Action `isy994.set_zwave_lock_user_code`
Set a Z-Wave Lock User Code via the ISY.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name of target entity for the command, e.g., `lock.front_door`. The entity must be an ISY Z-Wave Lock entity. |
| `user_num` | no | The user slot number to set on the end device. |
| `code` | no | The lock code to set for the user slot. |
#### Service `isy994.delete_zwave_lock_user_code`
#### Action `isy994.delete_zwave_lock_user_code`
Delete a Z-Wave Lock User Code via the ISY.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name of target entity for the command, e.g., `lock.front_door`. The entity must be an ISY Z-Wave Lock entity. |
| `user_num` | no | The user slot number to delete the code on the end device. |
#### Service `isy994.rename_node`
#### Action `isy994.rename_node`
Rename a node or group (scene) on the ISY994. Note: this will not automatically change the Home Assistant Entity Name or Entity ID to match. The entity name and ID will only be updated after reloading the integration or restarting Home Assistant, and ONLY IF you have not already customized the name within Home Assistant.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `entity_id` | no | Name of target entity for the command, e.g., `light.front_porch`. |
| `name` | no | The new name to use within the ISY. |
#### Service `isy994.send_program_command`
#### Action `isy994.send_program_command`
Send a command to control an ISY program or folder. Valid commands are `run`, `run_then`, `run_else`, `stop`, `enable`, `disable`, `enable_run_at_startup`, and `disable_run_at_startup`.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `command` | no | The ISY Program Command to be sent, e.g., `"run"` |
| `address` | yes | The address of the program to control (optional, use either `address` or `name`), e.g., `"04B1"` |
@ -290,12 +290,12 @@ The IF clause of the *status* program in the device directory is what indicates
<img src='/images/isy994/isy994_SwitchStatusExample.png' />
</p>
The *actions* program indicates what should be performed for the following device services:
The *actions* program indicates what should be performed for the following device actions:
- *cover* the THEN clause is evaluated for the open_cover service, the ELSE clause is evaluated for the close_cover service.
- *fan* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service.
- *lock* the THEN clause is evaluated for the lock service, the ELSE clause is evaluated for the unlock service.
- *switch* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service.
- *cover* the THEN clause is evaluated for the `open_cover` action, the ELSE clause is evaluated for the `close_cover` action.
- *fan* the THEN clause is evaluated for the `turn_on` action, the ELSE clause is evaluated for the `turn_off` action.
- *lock* the THEN clause is evaluated for the `lock` action, the ELSE clause is evaluated for the `unlock` action.
- *switch* the THEN clause is evaluated for the `turn_on` action, the ELSE clause is evaluated for the `turn_off` action.
<p class='img'>
<img src='/images/isy994/isy994_SwitchActionsExample.png' />

View File

@ -85,7 +85,7 @@ devices:
type: string
{% endconfiguration %}
An example to call the integration from developer tools using the `remote.send_command` service: `{ "entity_id":"remote.tv", "command":"menu" }`
An example to call the integration from developer tools using the `remote.send_command` action: `{ "entity_id":"remote.tv", "command":"menu" }`
Note: Global Cache devices expect data in their own format of "sendir...". This integration converts hex code to Global Cache IR form.

View File

@ -123,22 +123,22 @@ logger:
This will help you to find network connection issues etc.
## Services
## Actions
### Service `izone.airflow_min`
### Action `izone.airflow_min`
Set the minimum airflow for a particular zone.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------- |
| `entity_id` | yes | izone Zone entity. For example `climate.bed_2` |
| `airflow` | no | Airflow percent in 5% increments |
### Service `izone.airflow_max`
### Action `izone.airflow_max`
Set the maximum airflow for a particular zone.
| Service data attribute | Optional | Description |
| Data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------- |
| `entity_id` | yes | izone Zone entity. For example `climate.bed_2` |
| `airflow` | no | Airflow percent in 5% increments |