From 4ce3038b296f85f6b09ecab986bc9e813f4dceb1 Mon Sep 17 00:00:00 2001 From: tkdrob Date: Wed, 12 May 2021 14:49:04 -0400 Subject: [PATCH] Add targets and selectors for services (G-H) (#50524) Co-authored-by: Franck Nijhof --- .../components/generic/services.yaml | 1 + .../generic_thermostat/services.yaml | 1 + .../components/geniushub/services.yaml | 48 +++++++- .../components/guardian/services.yaml | 83 ++++++++----- .../components/habitica/services.yaml | 12 ++ .../components/hangouts/services.yaml | 18 ++- .../components/harmony/services.yaml | 23 ++-- .../components/hdmi_cec/services.yaml | 44 ++++++- homeassistant/components/heos/services.yaml | 14 ++- .../components/history_stats/services.yaml | 1 + homeassistant/components/hive/services.yaml | 63 +++++----- .../components/homekit/services.yaml | 3 + .../components/homematic/services.yaml | 116 +++++++++++++++++- .../homematicip_cloud/services.yaml | 83 +++++++++++-- homeassistant/components/html5/services.yaml | 11 +- .../components/huawei_lte/services.yaml | 16 +++ .../components/humidifier/services.yaml | 47 ++++--- 17 files changed, 476 insertions(+), 108 deletions(-) diff --git a/homeassistant/components/generic/services.yaml b/homeassistant/components/generic/services.yaml index afde1990cef..a05a9e3415d 100644 --- a/homeassistant/components/generic/services.yaml +++ b/homeassistant/components/generic/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all generic entities. diff --git a/homeassistant/components/generic_thermostat/services.yaml b/homeassistant/components/generic_thermostat/services.yaml index fedcd268253..ef6745bd36f 100644 --- a/homeassistant/components/generic_thermostat/services.yaml +++ b/homeassistant/components/generic_thermostat/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all generic_thermostat entities. diff --git a/homeassistant/components/geniushub/services.yaml b/homeassistant/components/geniushub/services.yaml index fa46c1d4c09..27d7189f953 100644 --- a/homeassistant/components/geniushub/services.yaml +++ b/homeassistant/components/geniushub/services.yaml @@ -2,39 +2,77 @@ # Describes the format for available services set_zone_mode: + name: Set zone mode description: >- Set the zone to an operating mode. fields: entity_id: + name: Entity description: The zone's entity_id. + required: true example: climate.kitchen + selector: + entity: + integration: geniushub + domain: climate mode: + name: Mode description: "One of: off, timer or footprint." + required: true example: timer + selector: + select: + options: + - 'off' + - 'timer' + - 'footprint' set_zone_override: + name: Set zone override description: >- - Override the zone's setpoint for a given duration. + Override the zone's set point for a given duration. fields: entity_id: + name: Entity description: The zone's entity_id. + required: true example: climate.bathroom + selector: + entity: + integration: geniushub + domain: climate temperature: - description: The target temperature, to 0.1 C. + name: Temperature + description: The target temperature. + required: true example: 19.2 + selector: + number: + min: 4 + max: 28 + step: 0.1 + unit_of_measurement: '°' duration: + name: Duration description: >- The duration of the override. Optional, default 1 hour, maximum 24 hours. example: '{"minutes": 135}' + selector: + object: set_switch_override: + name: Set switch override description: >- Override switch for a given duration. + target: + entity: + integration: geniushub + domain: switch fields: - entity_id: - description: The zone's entity_id. - example: switch.study duration: + name: Duration description: >- The duration of the override. Optional, default 1 hour, maximum 24 hours. example: '{"minutes": 135}' + selector: + object: diff --git a/homeassistant/components/guardian/services.yaml b/homeassistant/components/guardian/services.yaml index dc78503eb12..cb2e7827657 100644 --- a/homeassistant/components/guardian/services.yaml +++ b/homeassistant/components/guardian/services.yaml @@ -1,58 +1,85 @@ # Describes the format for available Elexa Guardians services disable_ap: + name: Disable AP description: Disable the device's onboard access point. - fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve + target: + entity: + integration: guardian + domain: switch enable_ap: + name: Enable AP description: Enable the device's onboard access point. - fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve + target: + entity: + integration: guardian + domain: switch pair_sensor: + name: Pair sensor description: Add a new paired sensor to the valve controller. + target: + entity: + integration: guardian + domain: switch fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve uid: + name: UID description: The UID of the paired sensor + required: true example: 5410EC688BCF + selector: + text: reboot: + name: Reboot description: Reboot the device. - fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve + target: + entity: + integration: guardian + domain: switch reset_valve_diagnostics: + name: Reset valve diagnostics description: Fully (and irrecoverably) reset all valve diagnostics. - fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve + target: + entity: + integration: guardian + domain: switch unpair_sensor: + name: Unpair sensor description: Remove a paired sensor from the valve controller. + target: + entity: + integration: guardian + domain: switch fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve uid: + name: UID description: The UID of the paired sensor + required: true example: 5410EC688BCF + selector: + text: upgrade_firmware: + name: Upgrade firmware description: Upgrade the device firmware. + target: + entity: + integration: guardian + domain: switch fields: - entity_id: - description: The Guardian valve controller to affect. - example: switch.guardian_abcde_valve url: - description: (optional) The URL of the server hosting the firmware file. + name: URL + description: The URL of the server hosting the firmware file. example: https://repo.guardiancloud.services/gvc/fw + selector: + text: port: - description: (optional) The port on which the firmware file is served. + name: Port + description: The port on which the firmware file is served. example: 443 + selector: + text: filename: - description: (optional) The firmware filename. + name: Filename + description: The firmware filename. example: latest.bin + selector: + text: diff --git a/homeassistant/components/habitica/services.yaml b/homeassistant/components/habitica/services.yaml index 6fa8589ba4c..e60e2238088 100644 --- a/homeassistant/components/habitica/services.yaml +++ b/homeassistant/components/habitica/services.yaml @@ -1,13 +1,25 @@ # Describes the format for Habitica service api_call: + name: API name description: Call Habitica API fields: name: + name: Name description: Habitica's username to call for + required: true example: "xxxNotAValidNickxxx" + selector: + text: path: + name: Path description: "Items from API URL in form of an array with method attached at the end. Consult https://habitica.com/apidoc/. Example uses https://habitica.com/apidoc/#api-Task-CreateUserTasks" + required: true example: '["tasks", "user", "post"]' + selector: + object: args: + name: Args description: Any additional JSON or URL parameter arguments. See apidoc mentioned for path. Example uses same API endpoint example: '{"text": "Use API from Home Assistant", "type": "todo"}' + selector: + object: diff --git a/homeassistant/components/hangouts/services.yaml b/homeassistant/components/hangouts/services.yaml index 717e2888493..041c21b5c25 100644 --- a/homeassistant/components/hangouts/services.yaml +++ b/homeassistant/components/hangouts/services.yaml @@ -1,18 +1,32 @@ update: + name: Update description: Updates the list of conversations. send_message: + name: Send message description: Send a notification to a specific target. fields: target: - description: List of targets with id or name. [Required] + name: Target + description: List of targets with id or name. + required: true example: '[{"id": "UgxrXzVrARmjx_C6AZx4AaABAagBo-6UCw"}, {"name": "Test Conversation"}]' + selector: + object: message: - description: List of message segments, only the "text" field is required in every segment. [Required] + name: Message + description: List of message segments, only the "text" field is required in every segment. + required: true example: '[{"text":"test", "is_bold": false, "is_italic": false, "is_strikethrough": false, "is_underline": false, "parse_str": false, "link_target": "http://google.com"}]' + selector: + object: data: + name: Data description: Other options ['image_file' / 'image_url'] example: '{ "image_file": "file" }' + selector: + object: reconnect: + name: Reconnect description: Reconnect the bot. diff --git a/homeassistant/components/harmony/services.yaml b/homeassistant/components/harmony/services.yaml index f20f0494a5f..e548285ae83 100644 --- a/homeassistant/components/harmony/services.yaml +++ b/homeassistant/components/harmony/services.yaml @@ -1,16 +1,25 @@ sync: + name: Sync description: Syncs the remote's configuration. - fields: - entity_id: - description: Name(s) of entities to sync. - example: "remote.family_room" + target: + entity: + integration: harmony + domain: remote change_channel: + name: Change channel description: Sends change channel command to the Harmony HUB + target: + entity: + integration: harmony + domain: remote fields: - entity_id: - description: Name(s) of Harmony remote entities to send change channel command to - example: "remote.family_room" channel: + name: Channel description: Channel number to change to + required: true example: "200" + selector: + number: + min: 1 + max: 100000 diff --git a/homeassistant/components/hdmi_cec/services.yaml b/homeassistant/components/hdmi_cec/services.yaml index aa85ffb0214..e5ee0d0a95a 100644 --- a/homeassistant/components/hdmi_cec/services.yaml +++ b/homeassistant/components/hdmi_cec/services.yaml @@ -1,45 +1,87 @@ power_on: + name: Power on description: Power on all devices which supports it. select_device: + name: Select device description: Select HDMI device. fields: device: + name: Device description: Address of device to select. Can be entity_id, physical address or alias from configuration. + required: true example: '"switch.hdmi_1" or "1.1.0.0" or "01:10"' + selector: + text: send_command: + name: Send command description: Sends CEC command into HDMI CEC capable adapter. fields: att: + name: Att description: Optional parameters. example: [0, 2] + selector: + object: cmd: + name: Command description: 'Command itself. Could be decimal number or string with hexadeximal notation: "0x10".' example: 144 or "0x90" + selector: + text: dst: + name: Destination description: 'Destination for command. Could be decimal number or string with hexadeximal notation: "0x10".' example: 5 or "0x5" + selector: + text: raw: + name: Raw description: >- Raw CEC command in format "00:00:00:00" where first two digits are source and destination, second byte is command and optional other bytes are command parameters. If raw command specified, other params are ignored. example: '"10:36"' + selector: + text: src: + name: Source description: 'Source of command. Could be decimal number or string with hexadeximal notation: "0x10".' example: 12 or "0xc" + selector: + text: standby: + name: Standby description: Standby all devices which supports it. update: + name: Update description: Update devices state from network. volume: + name: Volume description: Increase or decrease volume of system. fields: down: + name: Down description: Decreases volume x levels. example: 3 + selector: + number: + min: 1 + max: 100 mute: - description: Mutes audio system. Value should be on, off or toggle. + name: Mute + description: Mutes audio system. example: toggle + selector: + select: + options: + - 'off' + - 'on' + - 'toggle' up: + name: Up description: Increases volume x levels. example: 3 + selector: + number: + min: 1 + max: 100 diff --git a/homeassistant/components/heos/services.yaml b/homeassistant/components/heos/services.yaml index 0fe0518323f..320ed297873 100644 --- a/homeassistant/components/heos/services.yaml +++ b/homeassistant/components/heos/services.yaml @@ -1,12 +1,22 @@ sign_in: + name: Sign in description: Sign the controller in to a HEOS account. fields: username: - description: The username or email of the HEOS account. [Required] + name: Username + description: The username or email of the HEOS account. + required: true example: "example@example.com" + selector: + text: password: - description: The password of the HEOS account. [Required] + name: Password + description: The password of the HEOS account. + required: true example: "password" + selector: + text: sign_out: + name: Sign out description: Sign the controller out of the HEOS account. diff --git a/homeassistant/components/history_stats/services.yaml b/homeassistant/components/history_stats/services.yaml index 38758a35df0..f254295ea20 100644 --- a/homeassistant/components/history_stats/services.yaml +++ b/homeassistant/components/history_stats/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all history_stats entities. diff --git a/homeassistant/components/hive/services.yaml b/homeassistant/components/hive/services.yaml index de1439eead4..f69e9efa19f 100644 --- a/homeassistant/components/hive/services.yaml +++ b/homeassistant/components/hive/services.yaml @@ -1,35 +1,11 @@ boost_heating: name: Boost Heating (To be deprecated) description: To be deprecated please use boost_heating_on. + target: + entity: + integration: hive + domain: climate fields: - entity_id: - name: Entity ID - description: Select entity_id to boost. - required: true - example: climate.heating - time_period: - name: Time Period - description: Set the time period for the boost. - required: true - example: 01:30:00 - temperature: - name: Temperature - description: Set the target temperature for the boost period. - required: true - example: 20.5 -boost_heating_on: - name: Boost Heating On - description: Set the boost mode ON defining the period of time and the desired target temperature for the boost. - fields: - entity_id: - name: Entity ID - description: Select entity_id to boost. - required: true - example: climate.heating - selector: - entity: - integration: hive - domain: climate time_period: name: Time Period description: Set the time period for the boost. @@ -40,14 +16,41 @@ boost_heating_on: temperature: name: Temperature description: Set the target temperature for the boost period. - required: true example: 20.5 + default: 25.0 selector: number: min: 7 max: 35 step: 0.5 - unit_of_measurement: degrees + unit_of_measurement: ° + mode: slider +boost_heating_on: + name: Boost Heating On + description: Set the boost mode ON defining the period of time and the desired target temperature for the boost. + target: + entity: + integration: hive + domain: climate + fields: + time_period: + name: Time Period + description: Set the time period for the boost. + required: true + example: 01:30:00 + selector: + time: + temperature: + name: Temperature + description: Set the target temperature for the boost period. + example: 20.5 + default: 25.0 + selector: + number: + min: 7 + max: 35 + step: 0.5 + unit_of_measurement: ° mode: slider boost_heating_off: name: Boost Heating Off diff --git a/homeassistant/components/homekit/services.yaml b/homeassistant/components/homekit/services.yaml index a6b09a80e7f..315a612241f 100644 --- a/homeassistant/components/homekit/services.yaml +++ b/homeassistant/components/homekit/services.yaml @@ -1,12 +1,15 @@ # Describes the format for available HomeKit services start: + name: Start description: Starts the HomeKit driver reload: + name: Reload description: Reload homekit and re-process YAML configuration reset_accessory: + name: Reset accessory description: Reset a HomeKit accessory target: entity: {} diff --git a/homeassistant/components/homematic/services.yaml b/homeassistant/components/homematic/services.yaml index 2dc850330f0..c1afa3cf1a8 100644 --- a/homeassistant/components/homematic/services.yaml +++ b/homeassistant/components/homematic/services.yaml @@ -1,87 +1,193 @@ # Describes the format for available component services virtualkey: + name: Virtual key description: Press a virtual key from CCU/Homegear or simulate keypress. fields: address: + name: Address description: Address of homematic device or BidCoS-RF for virtual remote. + required: true example: BidCoS-RF + selector: + text: channel: + name: Channel description: Channel for calling a keypress. + required: true example: 1 + selector: + number: + min: 1 + max: 6 param: + name: Param description: Event to send i.e. PRESS_LONG, PRESS_SHORT. + required: true example: PRESS_LONG + selector: + text: interface: - description: (Optional) for set an interface value. + name: Interface + description: Set an interface value. example: Interfaces name from config + selector: + text: set_variable_value: + name: Set variable value description: Set the name of a node. fields: entity_id: + name: Entity description: Name(s) of homematic central to set value. example: "homematic.ccu2" + selector: + entity: + domain: homematic name: + name: Name description: Name of the variable to set. + required: true example: "testvariable" + selector: + text: value: + name: Value description: New value + required: true example: 1 + selector: + text: set_device_value: + name: Set device value description: Set a device property on RPC XML interface. fields: address: + name: Address description: Address of homematic device or BidCoS-RF for virtual remote + required: true example: BidCoS-RF + selector: + text: channel: + name: Channel description: Channel for calling a keypress + required: true example: 1 + selector: + number: + min: 1 + max: 6 param: + name: Param description: Event to send i.e. PRESS_LONG, PRESS_SHORT + required: true example: PRESS_LONG + selector: + text: interface: - description: (Optional) for set an interface value + name: Interface + description: Set an interface value example: Interfaces name from config + selector: + text: value: + name: Value description: New value + required: true example: 1 + selector: + text: + value_type: + name: Value type + description: Type for new value + selector: + select: + options: + - 'boolean' + - 'dateTime.iso8601' + - 'double' + - 'int' + - 'string' reconnect: + name: Reconnect description: Reconnect to all Homematic Hubs. set_install_mode: + name: Set install mode description: Set a RPC XML interface into installation mode. fields: interface: + name: Interface description: Select the given interface into install mode + required: true example: Interfaces name from config + selector: + text: mode: - description: (Default 1) 1= Normal mode / 2= Remove exists old links + name: Mode + description: 1= Normal mode / 2= Remove exists old links example: 1 + default: 1 + selector: + number: + min: 1 + max: 2 time: - description: (Default 60) Time in seconds to run in install mode + name: Time + description: Time to run in install mode example: 1 + default: 60 + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds address: - description: (Optional) Address of homematic device or BidCoS-RF to learn + name: Address + description: Address of homematic device or BidCoS-RF to learn example: LEQ3948571 + selector: + text: put_paramset: + name: Put paramset description: Call to putParamset in the RPC XML interface fields: interface: + name: Interface description: The interfaces name from the config + required: true example: wireless + selector: + text: address: + name: Address description: Address of Homematic device + required: true example: LEQ3948571:0 + selector: + text: paramset_key: + name: Paramset key description: The paramset_key argument to putParamset + required: true example: MASTER + selector: + text: paramset: + name: Paramset description: A paramset dictionary + required: true example: '{"WEEK_PROGRAM_POINTER": 1}' + selector: + object: rx_mode: + name: RX mode description: The receive mode used. example: BURST + selector: + text: diff --git a/homeassistant/components/homematicip_cloud/services.yaml b/homeassistant/components/homematicip_cloud/services.yaml index 20447e496f7..3f493ef11a9 100644 --- a/homeassistant/components/homematicip_cloud/services.yaml +++ b/homeassistant/components/homematicip_cloud/services.yaml @@ -1,78 +1,145 @@ # Describes the format for available component services activate_eco_mode_with_duration: + name: Activate eco mode with duration description: Activate eco mode with period. fields: duration: + name: Duration description: The duration of eco mode in minutes. + required: true example: 60 accesspoint_id: - description: The ID of the Homematic IP Access Point (optional) + name: Accesspoint ID + description: The ID of the Homematic IP Access Point example: 3014xxxxxxxxxxxxxxxxxxxx + selector: + text: activate_eco_mode_with_period: + name: Activate eco more with period description: Activate eco mode with period. fields: endtime: + name: Endtime description: The time when the eco mode should automatically be disabled. + required: true example: 2019-02-17 14:00 + selector: + text: accesspoint_id: - description: The ID of the Homematic IP Access Point (optional) + name: Accesspoint ID + description: The ID of the Homematic IP Access Point example: 3014xxxxxxxxxxxxxxxxxxxx + selector: + text: activate_vacation: + name: Activate vacation description: Activates the vacation mode until the given time. fields: endtime: + name: Endtime description: The time when the vacation mode should automatically be disabled. + required: true example: 2019-09-17 14:00 + selector: + text: temperature: + name: Temperature description: the set temperature during the vacation mode. + required: true example: 18.5 + default: 18 + selector: + number: + min: 0 + max: 55 + step: 0.5 + unit_of_measurement: '°' accesspoint_id: - description: The ID of the Homematic IP Access Point (optional) + name: Accesspoint ID + description: The ID of the Homematic IP Access Point example: 3014xxxxxxxxxxxxxxxxxxxx + selector: + text: deactivate_eco_mode: + name: Deactivate eco mode description: Deactivates the eco mode immediately. fields: accesspoint_id: - description: The ID of the Homematic IP Access Point (optional) + name: Accesspoint ID + description: The ID of the Homematic IP Access Point example: 3014xxxxxxxxxxxxxxxxxxxx + selector: + text: deactivate_vacation: + name: Deactivate vacation description: Deactivates the vacation mode immediately. fields: accesspoint_id: - description: The ID of the Homematic IP Access Point (optional) + name: Accesspoint ID + description: The ID of the Homematic IP Access Point example: 3014xxxxxxxxxxxxxxxxxxxx + selector: + text: set_active_climate_profile: + name: Set active climate profile description: Set the active climate profile index. fields: entity_id: - description: The ID of the climte entity. Use 'all' keyword to switch the profile for all entities. + name: Entity + description: The ID of the climate entity. Use 'all' keyword to switch the profile for all entities. + required: true example: climate.livingroom + selector: + text: climate_profile_index: + name: Climate profile index description: The index of the climate profile (1 based) + required: true example: 1 + selector: + number: + min: 1 + max: 100 dump_hap_config: + name: Dump hap config description: Dump the configuration of the Homematic IP Access Point(s). fields: config_output_path: + name: Config output path description: (Default is 'Your home-assistant config directory') Path where to store the config. example: "/config" + selector: + text: config_output_file_prefix: - description: (Default is 'hmip-config') Name of the config file. The SGTIN of the AP will always be appended. + name: Config output file prefix + description: Name of the config file. The SGTIN of the AP will always be appended. example: "hmip-config" + default: "hmip-config" + selector: + text: anonymize: - description: (Default is True) Should the Configuration be anonymized? + name: Anonymize + description: Should the Configuration be anonymized? example: true + default: true + selector: + boolean: reset_energy_counter: + name: Reset energy counter description: Reset the energy counter of a measuring entity. fields: entity_id: + name: Entity description: The ID of the measuring entity. Use 'all' keyword to reset all energy counters. + required: true example: switch.livingroom + selector: + text: diff --git a/homeassistant/components/html5/services.yaml b/homeassistant/components/html5/services.yaml index f3df4341594..f6b76e67cd7 100644 --- a/homeassistant/components/html5/services.yaml +++ b/homeassistant/components/html5/services.yaml @@ -1,9 +1,16 @@ dismiss: + name: Dismiss description: Dismiss a html5 notification. fields: target: - description: An array of targets. Optional. + name: Target + description: An array of targets. example: ["my_phone", "my_tablet"] + selector: + object: data: - description: Extended information of notification. Supports tag. Optional. + name: Data + description: Extended information of notification. Supports tag. example: '{ "tag": "tagname" }' + selector: + object: diff --git a/homeassistant/components/huawei_lte/services.yaml b/homeassistant/components/huawei_lte/services.yaml index bcb9be33299..711064b435e 100644 --- a/homeassistant/components/huawei_lte/services.yaml +++ b/homeassistant/components/huawei_lte/services.yaml @@ -1,30 +1,46 @@ clear_traffic_statistics: + name: Clear traffic statistics description: Clear traffic statistics. fields: url: + name: URL description: URL of router to clear; optional when only one is configured. example: http://192.168.100.1/ + selector: + text: reboot: + name: Reboot description: Reboot router. fields: url: + name: URL description: URL of router to reboot; optional when only one is configured. example: http://192.168.100.1/ + selector: + text: resume_integration: + name: Resume integration description: Resume suspended integration. fields: url: + name: URL description: URL of router to resume integration for; optional when only one is configured. example: http://192.168.100.1/ + selector: + text: suspend_integration: + name: Suspend integration description: > Suspend integration. Suspending logs the integration out from the router, and stops accessing it. Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required. Invoke the resume_integration service to resume. fields: url: + name: URL description: URL of router to resume integration for; optional when only one is configured. example: http://192.168.100.1/ + selector: + text: diff --git a/homeassistant/components/humidifier/services.yaml b/homeassistant/components/humidifier/services.yaml index d10f2fb604b..a11c5fb1198 100644 --- a/homeassistant/components/humidifier/services.yaml +++ b/homeassistant/components/humidifier/services.yaml @@ -1,42 +1,53 @@ # Describes the format for available humidifier services set_mode: + name: Set mode description: Set mode for humidifier device. + target: + entity: + domain: humidifier fields: - entity_id: - description: Name(s) of entities to change. - example: 'humidifier.bedroom' mode: description: New mode + required: true example: 'away' + selector: + text: set_humidity: + name: Set humidity description: Set target humidity of humidifier device. + target: + entity: + domain: humidifier fields: - entity_id: - description: Name(s) of entities to change. - example: 'humidifier.bedroom' humidity: description: New target humidity for humidifier device. + required: true example: 50 + selector: + number: + min: 0 + max: 100 + unit_of_measurement: "%" turn_on: + name: Turn on description: Turn humidifier device on. - fields: - entity_id: - description: Name(s) of entities to change. - example: 'humidifier.bedroom' + target: + entity: + domain: humidifier turn_off: + name: Turn off description: Turn humidifier device off. - fields: - entity_id: - description: Name(s) of entities to change. - example: 'humidifier.bedroom' + target: + entity: + domain: humidifier toggle: + name: Toggle description: Toggles a humidifier device. - fields: - entity_id: - description: Name(s) of entities to toggle. - example: 'humidifier.bedroom' + target: + entity: + domain: humidifier