From 5d6f4068d3c58ba2a784513143f82b69a03b6a55 Mon Sep 17 00:00:00 2001 From: tkdrob Date: Sat, 15 May 2021 04:49:10 -0400 Subject: [PATCH] Add targets and selectors for services (U-W) (#50630) Co-authored-by: Franck Nijhof --- .../components/universal/services.yaml | 1 + homeassistant/components/upb/services.yaml | 169 ++++++--- .../components/utility_meter/services.yaml | 4 +- homeassistant/components/vallox/services.yaml | 46 ++- homeassistant/components/velbus/services.yaml | 13 +- homeassistant/components/velux/services.yaml | 1 + homeassistant/components/vesync/services.yaml | 1 + homeassistant/components/vicare/services.yaml | 23 +- .../components/water_heater/services.yaml | 47 ++- homeassistant/components/wemo/services.yaml | 28 +- homeassistant/components/wink/services.yaml | 351 ++++++++++++++---- 11 files changed, 523 insertions(+), 161 deletions(-) diff --git a/homeassistant/components/universal/services.yaml b/homeassistant/components/universal/services.yaml index 8b515151fd9..e0af28bf3a6 100644 --- a/homeassistant/components/universal/services.yaml +++ b/homeassistant/components/universal/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all universal entities diff --git a/homeassistant/components/upb/services.yaml b/homeassistant/components/upb/services.yaml index 661c95ba991..6c5c1a8b606 100644 --- a/homeassistant/components/upb/services.yaml +++ b/homeassistant/components/upb/services.yaml @@ -1,88 +1,161 @@ light_fade_start: + name: Start light fade description: Start fading a light either up or down from current brightness. + target: + entity: + integration: upb + domain: light fields: - entity_id: - description: Name(s) of lights to start fading - example: "light.kitchen" brightness: - description: Number between 0 and 255 indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness. - example: 142 + name: Brightness + description: Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness. + selector: + number: + min: 0 + max: 255 brightness_pct: - description: Number between 0 and 100 indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness. - example: 42 + name: Brightness percentage + description: Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness. + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' rate: + name: Rate description: Rate for light to transition to new brightness - example: 3 + default: -1 + selector: + number: + min: -1 + max: 3600 + step: 0.01 + unit_of_measurement: seconds light_fade_stop: + name: Stop light fade description: Stop a light fade. - fields: - entity_id: - description: Name(s) of lights to stop fadding - example: "light.kitchen, light.family_room" + target: + entity: + integration: upb + domain: light light_blink: + name: Blink light description: Blink a light + target: + entity: + integration: upb + domain: light fields: - entity_id: - description: Name(s) of lights to start fading - example: "light.kitchen" rate: - description: Number of seconds between 0 and 4.25 that the link flashes on. - example: 4.2 + name: Rate + description: Amount of time that the link flashes on. + default: 0.5 + selector: + number: + min: 0 + max: 4.25 + step: 0.01 + unit_of_measurement: seconds link_deactivate: + name: Deactivate link description: Deactivate a UPB scene. - fields: - entity_id: - description: Name(s) of scenes to deactivate - example: "scene.hygge" + target: + entity: + integration: upb + domain: light link_goto: + name: Go to link description: Set scene to brightness. + target: + entity: + integration: upb + domain: scene fields: - entity_id: - description: Name(s) of scenes to deactivate - example: "scene.hygge" brightness: - description: Number between 0 and 255 indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. - example: 120 + name: Brightness + description: Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. + selector: + number: + min: 0 + max: 255 brightness_pct: - description: Number between 0 and 100 indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. - example: 42 + name: Brightness percentage + description: Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' rate: - description: Rate in seconds for scene to transition to new brightness - example: 3.42 + name: Rate + description: Amount of time for scene to transition to new brightness + selector: + number: + min: -1 + max: 3600 + step: 0.01 + unit_of_measurement: seconds link_fade_start: + name: Start link fade description: Start fading a link either up or down from current brightness. + target: + entity: + integration: upb + domain: scene fields: - entity_id: - description: Name(s) of links to start fading - example: "scene.party" brightness: - description: Number between 0 and 255 indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. - example: 142 + name: Brightness + description: Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. + selector: + number: + min: 0 + max: 255 brightness_pct: - description: Number between 0 and 100 indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. - example: 42 + name: Brightness percentage + description: Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' rate: - description: Rate in seconds for scene to transition to new brightness - example: 3.42 + name: Rate + description: Amount of time for scene to transition to new brightness + selector: + number: + min: -1 + max: 3600 + step: 0.01 + unit_of_measurement: seconds link_fade_stop: + name: Stop link fade description: Stop a link fade. - fields: - entity_id: - description: Name(s) of links to stop fadding - example: "scene.dining, scene.no_tv" + target: + entity: + integration: upb + domain: scene link_blink: + name: Blink link description: Blink a link. + target: + entity: + integration: upb + domain: scene fields: - entity_id: - description: Name(s) of links to start fading - example: "scene.hygge" blink_rate: - description: Number of seconds between 0 and 4.25 that the link flashes on. - example: 1.5 + name: Blink rate + description: Amount of time that the link flashes on. + default: 0.5 + selector: + number: + min: 0 + max: 4.25 + step: 0.01 + unit_of_measurement: seconds diff --git a/homeassistant/components/utility_meter/services.yaml b/homeassistant/components/utility_meter/services.yaml index fac9dadfa29..b2e2a025c47 100644 --- a/homeassistant/components/utility_meter/services.yaml +++ b/homeassistant/components/utility_meter/services.yaml @@ -2,7 +2,7 @@ reset: name: Reset - description: Resets the counter of an utility meter. + description: Resets the counter of a utility meter. target: next_tariff: @@ -12,7 +12,7 @@ next_tariff: select_tariff: name: Select Tariff - description: Selects the current tariff of an utility meter. + description: Selects the current tariff of a utility meter. target: fields: tariff: diff --git a/homeassistant/components/vallox/services.yaml b/homeassistant/components/vallox/services.yaml index 65757b70364..98d7abac249 100644 --- a/homeassistant/components/vallox/services.yaml +++ b/homeassistant/components/vallox/services.yaml @@ -1,27 +1,57 @@ set_profile: + name: Set profile description: Set the ventilation profile. fields: profile: - description: "Set to any of: Home, Away, Boost, Fireplace" - example: Away + name: Profile + description: "Set profile." + required: true + selector: + select: + options: + - 'Away' + - 'Boost' + - 'Fireplace' + - 'Home' set_profile_fan_speed_home: + name: Set profile fan speed hom description: Set the fan speed of the Home profile. fields: fan_speed: - description: Fan speed in %. Integer, between 0 and 100. - example: 50 + name: Fan speed + description: Fan speed. + required: true + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' set_profile_fan_speed_away: + name: Set profile fan speed away description: Set the fan speed of the Away profile. fields: fan_speed: - description: Fan speed in %. Integer, between 0 and 100. - example: 25 + name: Fan speed + description: Fan speed. + required: true + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' set_profile_fan_speed_boost: + name: Set profile fan speed boost description: Set the fan speed of the Boost profile. fields: fan_speed: - description: Fan speed in %. Integer, between 0 and 100. - example: 65 + name: Fan speed + description: Fan speed. + required: true + selector: + number: + min: 0 + max: 100 + unit_of_measurement: '%' diff --git a/homeassistant/components/velbus/services.yaml b/homeassistant/components/velbus/services.yaml index 490c746fa74..9fed172fad4 100644 --- a/homeassistant/components/velbus/services.yaml +++ b/homeassistant/components/velbus/services.yaml @@ -1,18 +1,29 @@ sync_clock: + name: Sync clock description: Sync the velbus modules clock to the Home Assistant clock, this is the same as the 'sync clock' from VelbusLink set_memo_text: + name: Set memo text description: > Set the memo text to the display of modules like VMBGPO, VMBGPOD Be sure the page(s) of the module is configured to display the memo text. fields: address: + name: Address description: > The module address in decimal format. The decimal addresses are displayed in front of the modules listed at the integration page. - example: "11" + required: true + selector: + number: + min: 0 + max: 255 memo_text: + name: Memo text description: > The actual text to be displayed. Text is limited to 64 characters. example: "Do not forget trash" + default: '' + selector: + text: diff --git a/homeassistant/components/velux/services.yaml b/homeassistant/components/velux/services.yaml index 2460db0bbb0..46aee795890 100644 --- a/homeassistant/components/velux/services.yaml +++ b/homeassistant/components/velux/services.yaml @@ -1,4 +1,5 @@ # Velux Integration services reboot_gateway: + name: Reboot gateway description: Reboots the KLF200 Gateway. diff --git a/homeassistant/components/vesync/services.yaml b/homeassistant/components/vesync/services.yaml index dec19740aef..da264ea3b5d 100644 --- a/homeassistant/components/vesync/services.yaml +++ b/homeassistant/components/vesync/services.yaml @@ -1,2 +1,3 @@ update_devices: + name: Update devices description: Add new VeSync devices to Home Assistant diff --git a/homeassistant/components/vicare/services.yaml b/homeassistant/components/vicare/services.yaml index 2efaf530a9c..94146c4250e 100644 --- a/homeassistant/components/vicare/services.yaml +++ b/homeassistant/components/vicare/services.yaml @@ -1,9 +1,22 @@ set_vicare_mode: + name: Set vicare mode description: Set a ViCare mode. + target: + entity: + integration: vicare + domain: climate fields: - entity_id: - description: Name(s) of vicare climate entities. - example: "climate.vicare_heating" vicare_mode: - description: ViCare mode. One of "dhw", "dhwAndHeating", "heating", "dhwAndHeatingCooling", "forcedReduced", "forcedNormal" or "standby" - example: "dhw" + name: Vicare Mode + description: ViCare mode. + required: true + selector: + select: + options: + - 'dhw' + - 'dhwAndHeating' + - 'dhwAndHeatingCooling' + - 'forcedNormal' + - 'forcedReduced' + - 'heating' + - 'standby' diff --git a/homeassistant/components/water_heater/services.yaml b/homeassistant/components/water_heater/services.yaml index 8aee796b9cb..3cbd9446d38 100644 --- a/homeassistant/components/water_heater/services.yaml +++ b/homeassistant/components/water_heater/services.yaml @@ -1,31 +1,48 @@ # Describes the format for available water_heater services set_away_mode: + name: Set away mode description: Turn away mode on/off for water_heater device. + target: fields: - entity_id: - description: Name(s) of entities to change. - example: "water_heater.water_heater" away_mode: + name: Away mode description: New value of away mode. - example: true + required: true + selector: + boolean: set_temperature: + name: Set temperature description: Set target temperature of water_heater device. + target: fields: - entity_id: - description: Name(s) of entities to change. - example: "water_heater.water_heater" temperature: + name: Temperature description: New target temperature for water heater. - example: 25 - -set_operation_mode: - description: Set operation mode for water_heater device. - fields: - entity_id: - description: Name(s) of entities to change. - example: "water_heater.water_heater" + required: true + selector: + number: + min: 0 + max: 100 + step: 0.5 + unit_of_measurement: '°' operation_mode: + name: Operation mode description: New value of operation mode. example: eco + selector: + text: + +set_operation_mode: + name: Set operation mode + description: Set operation mode for water_heater device. + target: + fields: + operation_mode: + name: Operation mode + description: New value of operation mode. + required: true + example: eco + selector: + text: diff --git a/homeassistant/components/wemo/services.yaml b/homeassistant/components/wemo/services.yaml index c47d666f5c1..e86366b6a5c 100644 --- a/homeassistant/components/wemo/services.yaml +++ b/homeassistant/components/wemo/services.yaml @@ -1,16 +1,26 @@ set_humidity: + name: Set humidity description: Set the target humidity of WeMo humidifier devices. + target: + entity: + integration: wemo + domain: fan fields: - entity_id: - description: Names of the WeMo humidifier entities (1 or more entity_ids are required). - example: "fan.wemo_humidifier" target_humidity: - description: Target humidity. This is a float value between 0 and 100, but will be mapped to the humidity levels that WeMo humidifiers support (45, 50, 55, 60, and 100/Max) by rounding the value down to the nearest supported value. - example: 56.5 + name: Target humidity + description: Target humidity. + required: true + selector: + number: + min: 0 + max: 100 + step: 5 + unit_of_measurement: '%' reset_filter_life: + name: Reset filter life description: Reset the WeMo Humidifier's filter life to 100%. - fields: - entity_id: - description: Names of the WeMo humidifier entities (1 or more entity_ids are required). - example: "fan.wemo_humidifier" + target: + entity: + integration: wemo + domain: fan diff --git a/homeassistant/components/wink/services.yaml b/homeassistant/components/wink/services.yaml index ac050fd0087..f7f21125f27 100644 --- a/homeassistant/components/wink/services.yaml +++ b/homeassistant/components/wink/services.yaml @@ -1,227 +1,432 @@ # Describes the format for available Wink services pair_new_device: + name: Pair new device description: Pair a new device to a Wink Hub. fields: hub_name: + name: Hub name description: The name of the hub to pair a new device to. + required: true example: "My hub" + selector: + text: pairing_mode: - description: One of ["zigbee", "zwave", "zwave_exclusion", "zwave_network_rediscovery", "lutron", "bluetooth", "kidde"]. - example: "zigbee" + name: Pairing mode + description: Mode. + required: true + selector: + select: + options: + - 'bluetooth' + - 'kidde' + - 'lutron' + - 'zigbee' + - 'zwave' + - 'zwave_exclusion' + - 'zwave_network_rediscovery' kidde_radio_code: + name: Kidde radio code description: "A string of 8 1s and 0s one for each dip switch on the kidde device left --> right = 1 --> 8. Down = 1 and Up = 0" example: "10101010" + selector: + text: rename_wink_device: + name: Rename wink device description: Rename the provided device. + target: + entity: + integration: wink fields: - entity_id: - description: The entity_id of the device to rename. - example: binary_sensor.front_door_opened name: + name: Name description: The name to change it to. + required: true example: back_door + selector: + text: delete_wink_device: + name: Delete wink device description: Remove/unpair device from Wink. - fields: - entity_id: - description: The entity_id of the device to delete. + target: + entity: + integration: wink pull_newly_added_devices_from_wink: + name: Pull newly added devices from wink description: Pull newly paired devices from Wink. refresh_state_from_wink: + name: Refresh state from wink description: Pull the latest states for every device. set_siren_volume: + name: Set siren volume description: Set the volume of the siren for a Dome siren/chime. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" volume: - description: Volume level. One of ["low", "medium", "high"]. - example: "high" + name: Volume + description: Volume level. + required: true + selector: + select: + options: + - 'low' + - 'medium' + - 'high' enable_chime: + name: Enable chime description: Enable the chime of a Dome siren with the provided sound. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" tone: + name: Tone description: >- - The tone to use for the chime. One of ["doorbell", "fur_elise", - "doorbell_extended", "alert", "william_tell", "rondo_alla_turca", - "police_siren", "evacuation", "beep_beep", "beep", "inactive"] - example: "doorbell" + The tone to use for the chime. + required: true + selector: + select: + options: + - 'alert' + - 'beep' + - 'beep_beep' + - 'doorbell' + - 'doorbell_extended' + - 'evacuation' + - 'fur_elise' + - 'inactive' + - 'police_siren' + - 'rondo_alla_turca' + - 'william_tell' set_siren_tone: + name: Set siren tone description: Set the sound to use when the siren is enabled. (This doesn't enable the siren) + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" tone: + name: Tone description: >- - The tone to use for the chime. One of ["doorbell", "fur_elise", - "doorbell_extended", "alert", "william_tell", "rondo_alla_turca", - "police_siren", "evacuation", "beep_beep", "beep", "inactive"] - example: "alert" + The tone to use for the chime. + required: true + selector: + select: + options: + - 'alert' + - 'beep' + - 'beep_beep' + - 'doorbell' + - 'doorbell_extended' + - 'evacuation' + - 'fur_elise' + - 'inactive' + - 'police_siren' + - 'rondo_alla_turca' + - 'william_tell' siren_set_auto_shutoff: + name: Siren set auto shutoff description: How long to sound the siren before turning off. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" auto_shutoff: + name: Auto shutoff description: >- The time in seconds to sound the siren. One of [None, -1, 30, 60, 120] (None and -1 are forever. Use None for gocontrol, and -1 for Dome) - example: 60 + required: true + selector: + select: + options: + - 'None' + - '-1' + - '30' + - '60' + - '120' set_siren_strobe_enabled: + name: Set siren strobe enabled description: Enable or disable the strobe light when the siren is sounding. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" enabled: + name: Enabled description: "True or False" + required: true + selector: + boolean: set_chime_strobe_enabled: + name: Set chime strobe enabled description: Enable or disable the strobe light when the chime is sounding. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" enabled: + name: Enabled description: "True or False" + required: true + selector: + boolean: enable_siren: + name: Enable siren description: Enable/disable the siren. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set - example: "switch.dome_siren" enabled: + name: Enabled description: "true or false" + required: true + selector: + boolean: set_chime_volume: + name: Set chime volume description: Set the volume of the chime for a Dome siren/chime. + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name(s) of the entities to set. - example: "switch.dome_siren" volume: - description: Volume level. One of ["low", "medium", "high"] - example: "low" + name: Volume + description: Volume level. + required: true + selector: + select: + options: + - 'low' + - 'medium' + - 'high' set_nimbus_dial_configuration: + name: Set nimbus dial configuration description: Set the configuration of an individual nimbus dial + target: + entity: + integration: wink + domain: switch fields: - entity_id: - description: Name of the entity to set. - example: "wink.nimbus_dial_3" rotation: - description: Direction dial hand should spin ["cw" or "ccw"] - example: "cw" + name: Rotation + description: Direction dial hand should spin. + selector: + select: + options: + - 'cw' + - 'ccw' ticks: + name: Ticks description: Number of times the hand should move - example: 12 + selector: + number: + min: 0 + max: 3600 scale: - description: How the dial should move in response to higher values ["log" or "linear"] - example: "linear" + name: Scale + description: How the dial should move in response to higher values. + selector: + select: + options: + - 'linear' + - 'log' min_value: + name: minimum value description: The minimum value allowed to be set example: 0 + selector: + text: max_value: + name: Maximum value description: The maximum value allowed to be set example: 500 + selector: + text: min_position: - description: The minimum position the dial hand can rotate to generally [0-360] - example: 0 + name: Minimum position + description: The minimum position the dial hand can rotate to generally. + selector: + number: + min: 0 + max: 360 max_position: - description: The maximum position the dial hand can rotate to generally [0-360] - example: 360 + name: Maximum position + description: The maximum position the dial hand can rotate to generally. + selector: + number: + min: 0 + max: 360 set_nimbus_dial_state: + name: Set nimbus dial state description: Set the value and labels of an individual nimbus dial + target: + entity: + integration: wink fields: - entity_id: - description: Name of the entity to set. - example: "wink.nimbus_dial_3" value: + name: Value description: The value that should be set (Should be between min_value and max_value) + required: true example: 250 + selector: + text: labels: + name: Labels description: >- The values shown on the dial labels ["Dial 1", "test"] the first value is what is shown by default the second value is shown when the nimbus is pressed. example: ["example", "test"] + selector: + object: set_lock_vacation_mode: + name: Set lock vacation mode description: Set vacation mode for all or specified locks. Disables all user codes. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock enabled: + name: Enabled description: enable or disable. true or false. - example: true + required: true + selector: + boolean: set_lock_alarm_mode: + name: Set lock alarm mode description: Set alarm mode for all or specified locks. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock mode: - description: One of tamper, activity, or forced_entry. - example: tamper + name: Mode + description: Select mode. + required: true + selector: + select: + options: + - 'activity' + - 'forced_entry' + - 'tamper' set_lock_alarm_sensitivity: + name: Set lock alarm sensitivity description: Set alarm sensitivity for all or specified locks. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock sensitivity: - description: One of low, medium_low, medium, medium_high, high. - example: medium + name: Sensitivity + description: Choose the sensitivity. + required: true + selector: + select: + options: + - 'low' + - 'medium_low' + - 'medium' + - 'medium_high' + - 'high' set_lock_alarm_state: + name: Set lok alarm state description: Set alarm state. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock enabled: + name: Enabled description: enable or disable. true or false. - example: true + required: true + selector: + boolean: set_lock_beeper_state: + name: Set lock beeper state description: Set beeper state. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock enabled: + name: Enabled description: enable or disable. true or false. - example: true + required: true + selector: + boolean: add_new_lock_key_code: + name: Add new lock key code description: Add a new user key code. fields: entity_id: + name: Entity description: Name of lock to unlock. - example: "lock.front_door" + selector: + entity: + integration: wink + domain: lock name: + name: Name description: name of the new key code. + required: true example: Bob + selector: + text: code: + name: Code description: new key code, length must match length of other codes. Default length is 4. + required: true example: 1234 + selector: + text: