From 62fe4957c96447a1c0b86a530ae846fca2837d97 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 12 Jul 2023 01:18:22 +0200 Subject: [PATCH] Migrate integration services (Q-S) to support translations (#96378) --- .../components/qvr_pro/services.yaml | 8 - homeassistant/components/qvr_pro/strings.json | 24 +++ homeassistant/components/rachio/services.yaml | 22 --- homeassistant/components/rachio/strings.json | 56 ++++++ .../components/rainbird/services.yaml | 10 -- .../components/rainbird/strings.json | 26 +++ .../components/rainmachine/services.yaml | 86 --------- .../components/rainmachine/strings.json | 166 ++++++++++++++++++ .../remember_the_milk/services.yaml | 13 -- .../components/remember_the_milk/strings.json | 28 +++ .../components/renault/services.yaml | 15 -- homeassistant/components/renault/strings.json | 44 +++++ homeassistant/components/rest/services.yaml | 2 - homeassistant/components/rest/strings.json | 8 + homeassistant/components/rflink/services.yaml | 6 - homeassistant/components/rflink/strings.json | 18 ++ homeassistant/components/rfxtrx/services.yaml | 4 - homeassistant/components/rfxtrx/strings.json | 12 ++ homeassistant/components/ring/services.yaml | 2 - homeassistant/components/ring/strings.json | 6 + homeassistant/components/roku/services.yaml | 4 - homeassistant/components/roku/strings.json | 12 ++ homeassistant/components/roon/services.yaml | 4 - homeassistant/components/roon/strings.json | 12 ++ .../components/route53/services.yaml | 2 - homeassistant/components/route53/strings.json | 8 + .../components/sabnzbd/services.yaml | 14 -- homeassistant/components/sabnzbd/strings.json | 36 ++++ .../components/screenlogic/services.yaml | 4 - .../components/screenlogic/strings.json | 12 ++ .../components/sensibo/services.yaml | 46 ----- homeassistant/components/sensibo/strings.json | 104 +++++++++++ .../components/shopping_list/services.yaml | 28 --- .../components/shopping_list/strings.json | 64 +++++++ .../components/simplisafe/services.yaml | 36 ---- .../components/simplisafe/strings.json | 80 +++++++++ .../components/smarttub/services.yaml | 16 -- .../components/smarttub/strings.json | 46 +++++ homeassistant/components/smtp/services.yaml | 2 - homeassistant/components/smtp/strings.json | 8 + .../components/snapcast/services.yaml | 16 -- .../components/snapcast/strings.json | 38 ++++ homeassistant/components/snips/services.yaml | 28 --- homeassistant/components/snips/strings.json | 68 +++++++ homeassistant/components/snooz/services.yaml | 10 -- homeassistant/components/snooz/strings.json | 26 +++ .../components/songpal/services.yaml | 6 - homeassistant/components/songpal/strings.json | 16 ++ homeassistant/components/sonos/services.yaml | 38 ---- homeassistant/components/sonos/strings.json | 90 ++++++++++ .../components/soundtouch/services.yaml | 22 --- .../components/soundtouch/strings.json | 54 ++++++ .../components/squeezebox/services.yaml | 22 --- .../components/squeezebox/strings.json | 44 +++++ .../components/starline/services.yaml | 13 -- .../components/starline/strings.json | 26 +++ .../components/streamlabswater/services.yaml | 4 - .../components/streamlabswater/strings.json | 14 ++ homeassistant/components/subaru/services.yaml | 4 - homeassistant/components/subaru/strings.json | 13 +- .../components/surepetcare/services.yaml | 10 -- .../components/surepetcare/strings.json | 30 ++++ .../components/switcher_kis/services.yaml | 8 - .../components/switcher_kis/strings.json | 22 +++ .../components/synology_dsm/services.yaml | 8 - .../components/synology_dsm/strings.json | 142 +++++++++++---- .../components/system_bridge/services.yaml | 24 --- .../components/system_bridge/strings.json | 58 ++++++ 68 files changed, 1380 insertions(+), 568 deletions(-) create mode 100644 homeassistant/components/qvr_pro/strings.json create mode 100644 homeassistant/components/remember_the_milk/strings.json create mode 100644 homeassistant/components/rest/strings.json create mode 100644 homeassistant/components/rflink/strings.json create mode 100644 homeassistant/components/route53/strings.json create mode 100644 homeassistant/components/smtp/strings.json create mode 100644 homeassistant/components/snips/strings.json create mode 100644 homeassistant/components/streamlabswater/strings.json diff --git a/homeassistant/components/qvr_pro/services.yaml b/homeassistant/components/qvr_pro/services.yaml index edb879c784a..0dad311f899 100644 --- a/homeassistant/components/qvr_pro/services.yaml +++ b/homeassistant/components/qvr_pro/services.yaml @@ -1,22 +1,14 @@ start_record: - name: Start record - description: Start QVR Pro recording on specified channel. fields: guid: - name: GUID - description: GUID of the channel to start recording. required: true example: "245EBE933C0A597EBE865C0A245E0002" selector: text: stop_record: - name: Stop record - description: Stop QVR Pro recording on specified channel. fields: guid: - name: GUID - description: GUID of the channel to stop recording. required: true example: "245EBE933C0A597EBE865C0A245E0002" selector: diff --git a/homeassistant/components/qvr_pro/strings.json b/homeassistant/components/qvr_pro/strings.json new file mode 100644 index 00000000000..6f37bcce85e --- /dev/null +++ b/homeassistant/components/qvr_pro/strings.json @@ -0,0 +1,24 @@ +{ + "services": { + "start_record": { + "name": "Start record", + "description": "Starts QVR Pro recording on specified channel.", + "fields": { + "guid": { + "name": "GUID", + "description": "GUID of the channel to start recording." + } + } + }, + "stop_record": { + "name": "Stop record", + "description": "Stops QVR Pro recording on specified channel.", + "fields": { + "guid": { + "name": "GUID", + "description": "GUID of the channel to stop recording." + } + } + } + } +} diff --git a/homeassistant/components/rachio/services.yaml b/homeassistant/components/rachio/services.yaml index 67463a22172..6a6a8bf5cf6 100644 --- a/homeassistant/components/rachio/services.yaml +++ b/homeassistant/components/rachio/services.yaml @@ -1,14 +1,10 @@ set_zone_moisture_percent: - name: Set zone moisture percent - description: Set the moisture percentage of a zone or list of zones. target: entity: integration: rachio domain: switch fields: percent: - name: Percent - description: Set the desired zone moisture percentage. required: true selector: number: @@ -16,33 +12,23 @@ set_zone_moisture_percent: max: 100 unit_of_measurement: "%" start_multiple_zone_schedule: - name: Start multiple zones - description: Create a custom schedule of zones and runtimes. Note that all zones should be on the same controller to avoid issues. target: entity: integration: rachio domain: switch fields: duration: - name: Duration - description: Number of minutes to run the zone(s). If only 1 duration is given, that time will be used for all zones. If given a list of durations, the durations will apply to the respective zones listed above. example: 15, 20 required: true selector: object: pause_watering: - name: Pause watering - description: Pause any currently running zones or schedules. fields: devices: - name: Devices - description: Name of controllers to pause. Defaults to all controllers on the account if not provided. example: "Main House" selector: text: duration: - name: Duration - description: The time to pause running schedules. default: 60 selector: number: @@ -50,22 +36,14 @@ pause_watering: max: 60 unit_of_measurement: "minutes" resume_watering: - name: Resume watering - description: Resume any paused zone runs or schedules. fields: devices: - name: Devices - description: Name of controllers to resume. Defaults to all controllers on the account if not provided. example: "Main House" selector: text: stop_watering: - name: Stop watering - description: Stop any currently running zones or schedules. fields: devices: - name: Devices - description: Name of controllers to stop. Defaults to all controllers on the account if not provided. example: "Main House" selector: text: diff --git a/homeassistant/components/rachio/strings.json b/homeassistant/components/rachio/strings.json index 697b0bce2db..3d776193432 100644 --- a/homeassistant/components/rachio/strings.json +++ b/homeassistant/components/rachio/strings.json @@ -26,5 +26,61 @@ } } } + }, + "services": { + "set_zone_moisture_percent": { + "name": "Set zone moisture percent", + "description": "Sets the moisture percentage of a zone or list of zones.", + "fields": { + "percent": { + "name": "Percent", + "description": "Set the desired zone moisture percentage." + } + } + }, + "start_multiple_zone_schedule": { + "name": "Start multiple zones", + "description": "Creates a custom schedule of zones and runtimes. Note that all zones should be on the same controller to avoid issues.", + "fields": { + "duration": { + "name": "Duration", + "description": "Number of minutes to run the zone(s). If only 1 duration is given, that time will be used for all zones. If given a list of durations, the durations will apply to the respective zones listed above." + } + } + }, + "pause_watering": { + "name": "Pause watering", + "description": "Pause any currently running zones or schedules.", + "fields": { + "devices": { + "name": "Devices", + "description": "Name of controllers to pause. Defaults to all controllers on the account if not provided." + }, + "duration": { + "name": "Duration", + "description": "The time to pause running schedules." + } + } + }, + "resume_watering": { + "name": "Resume watering", + "description": "Resume any paused zone runs or schedules.", + "fields": { + "devices": { + "name": "Devices", + "description": "Name of controllers to resume. Defaults to all controllers on the account if not provided." + } + } + }, + "stop_watering": { + "name": "Stop watering", + "description": "Stop any currently running zones or schedules.", + "fields": { + "devices": { + "name": "Devices", + "description": "Name of controllers to stop. Defaults to all controllers on the account if not provided." + } + } + } } } diff --git a/homeassistant/components/rainbird/services.yaml b/homeassistant/components/rainbird/services.yaml index 34f89ec279b..11226966b0a 100644 --- a/homeassistant/components/rainbird/services.yaml +++ b/homeassistant/components/rainbird/services.yaml @@ -1,14 +1,10 @@ start_irrigation: - name: Start irrigation - description: Start the irrigation target: entity: integration: rainbird domain: switch fields: duration: - name: Duration - description: Duration for this sprinkler to be turned on required: true selector: number: @@ -16,19 +12,13 @@ start_irrigation: max: 1440 unit_of_measurement: "minutes" set_rain_delay: - name: Set rain delay - description: Set how long automatic irrigation is turned off. fields: config_entry_id: - name: Rainbird Controller Configuration Entry - description: The setting will be adjusted on the specified controller required: true selector: config_entry: integration: rainbird duration: - name: Duration - description: Duration for this system to be turned off. required: true selector: number: diff --git a/homeassistant/components/rainbird/strings.json b/homeassistant/components/rainbird/strings.json index a98baead976..9f4d0c2e34d 100644 --- a/homeassistant/components/rainbird/strings.json +++ b/homeassistant/components/rainbird/strings.json @@ -44,5 +44,31 @@ "name": "Raindelay" } } + }, + "services": { + "start_irrigation": { + "name": "Start irrigation", + "description": "Starts the irrigation.", + "fields": { + "duration": { + "name": "Duration", + "description": "Duration for this sprinkler to be turned on." + } + } + }, + "set_rain_delay": { + "name": "Set rain delay", + "description": "Sets how long automatic irrigation is turned off.", + "fields": { + "config_entry_id": { + "name": "Rainbird Controller Configuration Entry", + "description": "The setting will be adjusted on the specified controller." + }, + "duration": { + "name": "Duration", + "description": "Duration for this system to be turned off." + } + } + } } } diff --git a/homeassistant/components/rainmachine/services.yaml b/homeassistant/components/rainmachine/services.yaml index 9aa2bb7f50a..2f799afd028 100644 --- a/homeassistant/components/rainmachine/services.yaml +++ b/homeassistant/components/rainmachine/services.yaml @@ -1,18 +1,12 @@ # Describes the format for available RainMachine services pause_watering: - name: Pause All Watering - description: Pause all watering activities for a number of seconds fields: device_id: - name: Controller - description: The controller whose watering activities should be paused required: true selector: device: integration: rainmachine seconds: - name: Duration - description: The amount of time (in seconds) to pause watering required: true selector: number: @@ -20,41 +14,29 @@ pause_watering: max: 43200 unit_of_measurement: seconds restrict_watering: - name: Restrict All Watering - description: Restrict all watering activities from starting for a time period fields: device_id: - name: Controller - description: The controller whose watering activities should be restricted required: true selector: device: integration: rainmachine duration: - name: Duration - description: The time period to restrict watering activities from starting required: true default: "01:00:00" selector: text: start_program: - name: Start Program - description: Start a program target: entity: integration: rainmachine domain: switch start_zone: - name: Start Zone - description: Start a zone target: entity: integration: rainmachine domain: switch fields: zone_run_time: - name: Run Time - description: The amount of time (in seconds) to run the zone default: 600 selector: number: @@ -62,55 +44,37 @@ start_zone: max: 86400 mode: box stop_all: - name: Stop All Watering - description: Stop all watering activities fields: device_id: - name: Controller - description: The controller whose watering activities should be stopped required: true selector: device: integration: rainmachine stop_program: - name: Stop Program - description: Stop a program target: entity: integration: rainmachine domain: switch stop_zone: - name: Stop Zone - description: Stop a zone target: entity: integration: rainmachine domain: switch unpause_watering: - name: Unpause All Watering - description: Unpause all paused watering activities fields: device_id: - name: Controller - description: The controller whose watering activities should be unpaused required: true selector: device: integration: rainmachine push_flow_meter_data: - name: Push Flow Meter Data - description: Push Flow Meter data to the RainMachine device. fields: device_id: - name: Controller - description: The controller to send flow meter data to required: true selector: device: integration: rainmachine value: - name: Value - description: The flow meter value to send required: true selector: number: @@ -119,8 +83,6 @@ push_flow_meter_data: step: 0.1 mode: box unit_of_measurement: - name: Unit of Measurement - description: The flow meter units to send selector: select: options: @@ -129,30 +91,16 @@ push_flow_meter_data: - "litre" - "m3" push_weather_data: - name: Push Weather Data - description: >- - Push Weather Data from Home Assistant to the RainMachine device. - - Local Weather Push service should be enabled from Settings > Weather > Developer tab for RainMachine to consider the values being sent. - Units must be sent in metric; no conversions are performed by the integraion. - - See details of RainMachine API Here: https://rainmachine.docs.apiary.io/#reference/weather-services/parserdata/post fields: device_id: - name: Controller - description: The controller for the weather data to be pushed. required: true selector: device: integration: rainmachine timestamp: - name: Timestamp - description: UNIX Timestamp for the Weather Data. If omitted, the RainMachine device's local time at the time of the call is used. selector: text: mintemp: - name: Min Temp - description: Minimum Temperature (°C). selector: number: min: -40 @@ -160,8 +108,6 @@ push_weather_data: step: 0.1 unit_of_measurement: "°C" maxtemp: - name: Max Temp - description: Maximum Temperature (°C). selector: number: min: -40 @@ -169,8 +115,6 @@ push_weather_data: step: 0.1 unit_of_measurement: "°C" temperature: - name: Temperature - description: Current Temperature (°C). selector: number: min: -40 @@ -178,16 +122,12 @@ push_weather_data: step: 0.1 unit_of_measurement: "°C" wind: - name: Wind Speed - description: Wind Speed (m/s) selector: number: min: 0 max: 65 unit_of_measurement: "m/s" solarrad: - name: Solar Radiation - description: Solar Radiation (MJ/m²/h) selector: number: min: 0 @@ -195,67 +135,45 @@ push_weather_data: step: 0.1 unit_of_measurement: "MJ/m²/h" et: - name: Evapotranspiration - description: Evapotranspiration (mm) selector: number: min: 0 max: 1000 unit_of_measurement: "mm" qpf: - name: Quantitative Precipitation Forecast - description: >- - Quantitative Precipitation Forecast (mm), or QPF. Note: QPF values shouldn't - be send as cumulative values but the measured/forecasted values for each hour or day. - The RainMachine Mixer will sum all QPF values in the current day to have the day total QPF. selector: number: min: 0 max: 1000 unit_of_measurement: "mm" rain: - name: Measured Rainfall - description: >- - Measured Rainfail (mm). Note: RAIN values shouldn't be send as cumulative values but the - measured/forecasted values for each hour or day. The RainMachine Mixer will sum all RAIN values - in the current day to have the day total RAIN. selector: number: min: 0 max: 1000 unit_of_measurement: "mm" minrh: - name: Min Relative Humidity - description: Min Relative Humidity (%RH) selector: number: min: 0 max: 100 unit_of_measurement: "%" maxrh: - name: Max Relative Humidity - description: Max Relative Humidity (%RH) selector: number: min: 0 max: 100 unit_of_measurement: "%" condition: - name: Weather Condition Code - description: Current weather condition code (WNUM). selector: text: pressure: - name: Barametric Pressure - description: Barametric Pressure (kPa) selector: number: min: 60 max: 110 unit_of_measurement: "kPa" dewpoint: - name: Dew Point - description: Dew Point (°C). selector: number: min: -40 @@ -263,12 +181,8 @@ push_weather_data: step: 0.1 unit_of_measurement: "°C" unrestrict_watering: - name: Unrestrict All Watering - description: Unrestrict all watering activities fields: device_id: - name: Controller - description: The controller whose watering activities should be unrestricted required: true selector: device: diff --git a/homeassistant/components/rainmachine/strings.json b/homeassistant/components/rainmachine/strings.json index 884d05359a6..783c876fe62 100644 --- a/homeassistant/components/rainmachine/strings.json +++ b/homeassistant/components/rainmachine/strings.json @@ -97,5 +97,171 @@ "name": "Firmware" } } + }, + "services": { + "pause_watering": { + "name": "Pause all watering", + "description": "Pauses all watering activities for a number of seconds.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller whose watering activities should be paused." + }, + "seconds": { + "name": "Duration", + "description": "The amount of time (in seconds) to pause watering." + } + } + }, + "restrict_watering": { + "name": "Restrict all watering", + "description": "Restricts all watering activities from starting for a time period.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller whose watering activities should be restricted." + }, + "duration": { + "name": "Duration", + "description": "The time period to restrict watering activities from starting." + } + } + }, + "start_program": { + "name": "Start program", + "description": "Starts a program." + }, + "start_zone": { + "name": "Start zone", + "description": "Starts a zone.", + "fields": { + "zone_run_time": { + "name": "Run time", + "description": "The amount of time (in seconds) to run the zone." + } + } + }, + "stop_all": { + "name": "Stop all watering", + "description": "Stops all watering activities.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller whose watering activities should be stopped." + } + } + }, + "stop_program": { + "name": "Stop program", + "description": "Stops a program." + }, + "stop_zone": { + "name": "Stop zone", + "description": "Stops a zone." + }, + "unpause_watering": { + "name": "Unpause all watering", + "description": "Unpauses all paused watering activities.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller whose watering activities should be unpaused." + } + } + }, + "push_flow_meter_data": { + "name": "Push flow meter data", + "description": "Push flow meter data to the RainMachine device.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller to send flow meter data to." + }, + "value": { + "name": "Value", + "description": "The flow meter value to send." + }, + "unit_of_measurement": { + "name": "Unit of measurement", + "description": "The flow meter units to send." + } + } + }, + "push_weather_data": { + "name": "Push weather data", + "description": "Push weather data from Home Assistant to the RainMachine device.\nLocal Weather Push service should be enabled from Settings > Weather > Developer tab for RainMachine to consider the values being sent. Units must be sent in metric; no conversions are performed by the integraion.\nSee details of RainMachine API Here: https://rainmachine.docs.apiary.io/#reference/weather-services/parserdata/post.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller for the weather data to be pushed." + }, + "timestamp": { + "name": "Timestamp", + "description": "UNIX Timestamp for the weather data. If omitted, the RainMachine device's local time at the time of the call is used." + }, + "mintemp": { + "name": "Min temp", + "description": "Minimum temperature (\u00b0C)." + }, + "maxtemp": { + "name": "Max temp", + "description": "Maximum temperature (\u00b0C)." + }, + "temperature": { + "name": "Temperature", + "description": "Current temperature (\u00b0C)." + }, + "wind": { + "name": "Wind speed", + "description": "Wind speed (m/s)." + }, + "solarrad": { + "name": "Solar radiation", + "description": "Solar radiation (MJ/m\u00b2/h)." + }, + "et": { + "name": "Evapotranspiration", + "description": "Evapotranspiration (mm)." + }, + "qpf": { + "name": "Quantitative Precipitation Forecast", + "description": "Quantitative Precipitation Forecast (mm), or QPF. Note: QPF values shouldn't be send as cumulative values but the measured/forecasted values for each hour or day. The RainMachine Mixer will sum all QPF values in the current day to have the day total QPF." + }, + "rain": { + "name": "Measured rainfall", + "description": "Measured rainfail (mm). Note: RAIN values shouldn't be send as cumulative values but the measured/forecasted values for each hour or day. The RainMachine Mixer will sum all RAIN values in the current day to have the day total RAIN." + }, + "minrh": { + "name": "Min relative humidity", + "description": "Min relative humidity (%RH)." + }, + "maxrh": { + "name": "Max relative humidity", + "description": "Max relative humidity (%RH)." + }, + "condition": { + "name": "Weather condition code", + "description": "Current weather condition code (WNUM)." + }, + "pressure": { + "name": "Barametric pressure", + "description": "Barametric pressure (kPa)." + }, + "dewpoint": { + "name": "Dew point", + "description": "Dew point (\u00b0C)." + } + } + }, + "unrestrict_watering": { + "name": "Unrestrict all watering", + "description": "Unrestrict all watering activities.", + "fields": { + "device_id": { + "name": "Controller", + "description": "The controller whose watering activities should be unrestricted." + } + } + } } } diff --git a/homeassistant/components/remember_the_milk/services.yaml b/homeassistant/components/remember_the_milk/services.yaml index 1458075fbd5..5e94b2bf7d4 100644 --- a/homeassistant/components/remember_the_milk/services.yaml +++ b/homeassistant/components/remember_the_milk/services.yaml @@ -1,33 +1,20 @@ # Describes the format for available Remember The Milk services create_task: - name: Create task - description: >- - Create (or update) a new task in your Remember The Milk account. If you want to update a task - later on, you have to set an "id" when creating the task. - Note: Updating a tasks does not support the smart syntax. fields: name: - name: Name - description: name of the new task, you can use the smart syntax here required: true example: "do this ^today #from_hass" selector: text: id: - name: ID - description: Identifier for the task you're creating, can be used to update or complete the task later on example: myid selector: text: complete_task: - name: Complete task - description: Complete a tasks that was privously created. fields: id: - name: ID - description: identifier that was defined when creating the task required: true example: myid selector: diff --git a/homeassistant/components/remember_the_milk/strings.json b/homeassistant/components/remember_the_milk/strings.json new file mode 100644 index 00000000000..15ca4c36da8 --- /dev/null +++ b/homeassistant/components/remember_the_milk/strings.json @@ -0,0 +1,28 @@ +{ + "services": { + "create_task": { + "name": "Create task", + "description": "Creates (or update) a new task in your Remember The Milk account. If you want to update a task later on, you have to set an \"id\" when creating the task. Note: Updating a tasks does not support the smart syntax.", + "fields": { + "name": { + "name": "Name", + "description": "Name of the new task, you can use the smart syntax here." + }, + "id": { + "name": "ID", + "description": "Identifier for the task you're creating, can be used to update or complete the task later on." + } + } + }, + "complete_task": { + "name": "Complete task", + "description": "Completes a tasks that was privously created.", + "fields": { + "id": { + "name": "ID", + "description": "Identifier that was defined when creating the task." + } + } + } + } +} diff --git a/homeassistant/components/renault/services.yaml b/homeassistant/components/renault/services.yaml index 5911c453c95..2dc99833d5f 100644 --- a/homeassistant/components/renault/services.yaml +++ b/homeassistant/components/renault/services.yaml @@ -1,16 +1,11 @@ ac_start: - name: Start A/C - description: Start A/C on vehicle. fields: vehicle: - name: Vehicle - description: The vehicle to send the command to. required: true selector: device: integration: renault temperature: - description: Target A/C temperature in °C. example: "21" required: true selector: @@ -20,36 +15,26 @@ ac_start: step: 0.5 unit_of_measurement: °C when: - description: Timestamp for the start of the A/C (optional - defaults to now). example: "2020-05-01T17:45:00" selector: text: ac_cancel: - name: Cancel A/C - description: Cancel A/C on vehicle. fields: vehicle: - name: Vehicle - description: The vehicle to send the command to. required: true selector: device: integration: renault charge_set_schedules: - name: Update charge schedule - description: Update charge schedule on vehicle. fields: vehicle: - name: Vehicle - description: The vehicle to send the command to. required: true selector: device: integration: renault schedules: - description: Schedule details. example: >- [ { diff --git a/homeassistant/components/renault/strings.json b/homeassistant/components/renault/strings.json index 7cf016187be..e0b8cb0cdf0 100644 --- a/homeassistant/components/renault/strings.json +++ b/homeassistant/components/renault/strings.json @@ -151,5 +151,49 @@ "name": "Remote engine start code" } } + }, + "services": { + "ac_start": { + "name": "Start A/C", + "description": "Starts A/C on vehicle.", + "fields": { + "vehicle": { + "name": "Vehicle", + "description": "The vehicle to send the command to." + }, + "temperature": { + "name": "Temperature", + "description": "Target A/C temperature in \u00b0C." + }, + "when": { + "name": "When", + "description": "Timestamp for the start of the A/C (optional - defaults to now)." + } + } + }, + "ac_cancel": { + "name": "Cancel A/C", + "description": "Canceles A/C on vehicle.", + "fields": { + "vehicle": { + "name": "Vehicle", + "description": "The vehicle to send the command to." + } + } + }, + "charge_set_schedules": { + "name": "Update charge schedule", + "description": "Updates charge schedule on vehicle.", + "fields": { + "vehicle": { + "name": "Vehicle", + "description": "The vehicle to send the command to." + }, + "schedules": { + "name": "Schedules", + "description": "Schedule details." + } + } + } } } diff --git a/homeassistant/components/rest/services.yaml b/homeassistant/components/rest/services.yaml index 9ba509b63f6..c983a105c93 100644 --- a/homeassistant/components/rest/services.yaml +++ b/homeassistant/components/rest/services.yaml @@ -1,3 +1 @@ reload: - name: Reload - description: Reload all rest entities and notify services diff --git a/homeassistant/components/rest/strings.json b/homeassistant/components/rest/strings.json new file mode 100644 index 00000000000..afbab8d8040 --- /dev/null +++ b/homeassistant/components/rest/strings.json @@ -0,0 +1,8 @@ +{ + "services": { + "reload": { + "name": "Reload", + "description": "Reloads REST entities from the YAML-configuration." + } + } +} diff --git a/homeassistant/components/rflink/services.yaml b/homeassistant/components/rflink/services.yaml index 8e233bc7aac..1b06a142a59 100644 --- a/homeassistant/components/rflink/services.yaml +++ b/homeassistant/components/rflink/services.yaml @@ -1,17 +1,11 @@ send_command: - name: Send command - description: Send device command through RFLink. fields: command: - name: Command - description: The command to be sent. required: true example: "on" selector: text: device_id: - name: Device ID - description: RFLink device ID. required: true example: newkaku_0000c6c2_1 selector: diff --git a/homeassistant/components/rflink/strings.json b/homeassistant/components/rflink/strings.json new file mode 100644 index 00000000000..2c8eb584ca8 --- /dev/null +++ b/homeassistant/components/rflink/strings.json @@ -0,0 +1,18 @@ +{ + "services": { + "send_command": { + "name": "Send command", + "description": "Sends device command through RFLink.", + "fields": { + "command": { + "name": "Command", + "description": "The command to be sent." + }, + "device_id": { + "name": "Device ID", + "description": "RFLink device ID." + } + } + } + } +} diff --git a/homeassistant/components/rfxtrx/services.yaml b/homeassistant/components/rfxtrx/services.yaml index 43695554ed0..00640a2ff59 100644 --- a/homeassistant/components/rfxtrx/services.yaml +++ b/homeassistant/components/rfxtrx/services.yaml @@ -1,10 +1,6 @@ send: - name: Send - description: Sends a raw event on radio. fields: event: - name: Event - description: A hexadecimal string to send. required: true example: "0b11009e00e6116202020070" selector: diff --git a/homeassistant/components/rfxtrx/strings.json b/homeassistant/components/rfxtrx/strings.json index 7e68f960fca..6c49fb38d6c 100644 --- a/homeassistant/components/rfxtrx/strings.json +++ b/homeassistant/components/rfxtrx/strings.json @@ -136,5 +136,17 @@ "name": "UV index" } } + }, + "services": { + "send": { + "name": "Send", + "description": "Sends a raw event on radio.", + "fields": { + "event": { + "name": "Event", + "description": "A hexadecimal string to send." + } + } + } } } diff --git a/homeassistant/components/ring/services.yaml b/homeassistant/components/ring/services.yaml index c648f02139b..91b8669505b 100644 --- a/homeassistant/components/ring/services.yaml +++ b/homeassistant/components/ring/services.yaml @@ -1,3 +1 @@ update: - name: Update - description: Updates the data we have for all your ring devices diff --git a/homeassistant/components/ring/strings.json b/homeassistant/components/ring/strings.json index 43209a5a6a3..b300e335b19 100644 --- a/homeassistant/components/ring/strings.json +++ b/homeassistant/components/ring/strings.json @@ -64,5 +64,11 @@ "name": "[%key:component::siren::title%]" } } + }, + "services": { + "update": { + "name": "Update", + "description": "Updates the data we have for all your ring devices." + } } } diff --git a/homeassistant/components/roku/services.yaml b/homeassistant/components/roku/services.yaml index 16fd51ea95b..4a28db94fa4 100644 --- a/homeassistant/components/roku/services.yaml +++ b/homeassistant/components/roku/services.yaml @@ -1,14 +1,10 @@ search: - name: Search - description: Emulates opening the search screen and entering the search keyword. target: entity: integration: roku domain: media_player fields: keyword: - name: Keyword - description: The keyword to search for. required: true example: "Space Jam" selector: diff --git a/homeassistant/components/roku/strings.json b/homeassistant/components/roku/strings.json index 04c504def03..3510a43c604 100644 --- a/homeassistant/components/roku/strings.json +++ b/homeassistant/components/roku/strings.json @@ -20,5 +20,17 @@ "already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]", "unknown": "[%key:common::config_flow::error::unknown%]" } + }, + "services": { + "search": { + "name": "Search", + "description": "Emulates opening the search screen and entering the search keyword.", + "fields": { + "keyword": { + "name": "Keyword", + "description": "The keyword to search for." + } + } + } } } diff --git a/homeassistant/components/roon/services.yaml b/homeassistant/components/roon/services.yaml index 9d9d02f0efc..1de3e14bbc9 100644 --- a/homeassistant/components/roon/services.yaml +++ b/homeassistant/components/roon/services.yaml @@ -1,14 +1,10 @@ transfer: - name: Transfer - description: Transfer playback from one player to another. target: entity: integration: roon domain: media_player fields: transfer_id: - name: Transfer ID - description: id of the destination player. required: true selector: entity: diff --git a/homeassistant/components/roon/strings.json b/homeassistant/components/roon/strings.json index ce5827e2c6c..f67779e9eaa 100644 --- a/homeassistant/components/roon/strings.json +++ b/homeassistant/components/roon/strings.json @@ -21,5 +21,17 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "services": { + "transfer": { + "name": "Transfer", + "description": "Transfers playback from one player to another.", + "fields": { + "transfer_id": { + "name": "Transfer ID", + "description": "ID of the destination player." + } + } + } } } diff --git a/homeassistant/components/route53/services.yaml b/homeassistant/components/route53/services.yaml index 4936a499764..e800a3a3eee 100644 --- a/homeassistant/components/route53/services.yaml +++ b/homeassistant/components/route53/services.yaml @@ -1,3 +1 @@ update_records: - name: Update records - description: Trigger update of records. diff --git a/homeassistant/components/route53/strings.json b/homeassistant/components/route53/strings.json new file mode 100644 index 00000000000..12b372d0ce2 --- /dev/null +++ b/homeassistant/components/route53/strings.json @@ -0,0 +1,8 @@ +{ + "services": { + "update_records": { + "name": "Update records", + "description": "Triggers update of records." + } + } +} diff --git a/homeassistant/components/sabnzbd/services.yaml b/homeassistant/components/sabnzbd/services.yaml index 2221eed169f..f1eea1c9469 100644 --- a/homeassistant/components/sabnzbd/services.yaml +++ b/homeassistant/components/sabnzbd/services.yaml @@ -1,36 +1,22 @@ pause: - name: Pause - description: Pauses downloads. fields: api_key: - name: Sabnzbd API key - description: The Sabnzbd API key to pause downloads required: true selector: text: resume: - name: Resume - description: Resumes downloads. fields: api_key: - name: Sabnzbd API key - description: The Sabnzbd API key to resume downloads required: true selector: text: set_speed: - name: Set speed - description: Sets the download speed limit. fields: api_key: - name: Sabnzbd API key - description: The Sabnzbd API key to set speed limit required: true selector: text: speed: - name: Speed - description: Speed limit. If specified as a number with no units, will be interpreted as a percent. If units are provided (e.g., 500K) will be interpreted absolutely. example: 100 default: 100 selector: diff --git a/homeassistant/components/sabnzbd/strings.json b/homeassistant/components/sabnzbd/strings.json index 501e0d33faf..2989ee5d00b 100644 --- a/homeassistant/components/sabnzbd/strings.json +++ b/homeassistant/components/sabnzbd/strings.json @@ -13,5 +13,41 @@ "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", "invalid_api_key": "[%key:common::config_flow::error::invalid_api_key%]" } + }, + "services": { + "pause": { + "name": "Pause", + "description": "Pauses downloads.", + "fields": { + "api_key": { + "name": "SABnzbd API key", + "description": "The SABnzbd API key to pause downloads." + } + } + }, + "resume": { + "name": "Resume", + "description": "Resumes downloads.", + "fields": { + "api_key": { + "name": "SABnzbd API key", + "description": "The SABnzbd API key to resume downloads." + } + } + }, + "set_speed": { + "name": "Set speed", + "description": "Sets the download speed limit.", + "fields": { + "api_key": { + "name": "SABnzbd API key", + "description": "The SABnzbd API key to set speed limit." + }, + "speed": { + "name": "Speed", + "description": "Speed limit. If specified as a number with no units, will be interpreted as a percent. If units are provided (e.g., 500K) will be interpreted absolutely." + } + } + } } } diff --git a/homeassistant/components/screenlogic/services.yaml b/homeassistant/components/screenlogic/services.yaml index 439d020a432..8e4a82a1079 100644 --- a/homeassistant/components/screenlogic/services.yaml +++ b/homeassistant/components/screenlogic/services.yaml @@ -1,14 +1,10 @@ # ScreenLogic Services set_color_mode: - name: Set Color Mode - description: Sets the color mode for all color-capable lights attached to this ScreenLogic gateway. target: device: integration: screenlogic fields: color_mode: - name: Color Mode - description: The ScreenLogic color mode to set required: true selector: select: diff --git a/homeassistant/components/screenlogic/strings.json b/homeassistant/components/screenlogic/strings.json index b0958d31727..79b633e28b6 100644 --- a/homeassistant/components/screenlogic/strings.json +++ b/homeassistant/components/screenlogic/strings.json @@ -35,5 +35,17 @@ } } } + }, + "services": { + "set_color_mode": { + "name": "Set Color Mode", + "description": "Sets the color mode for all color-capable lights attached to this ScreenLogic gateway.", + "fields": { + "color_mode": { + "name": "Color Mode", + "description": "The ScreenLogic color mode to set." + } + } + } } } diff --git a/homeassistant/components/sensibo/services.yaml b/homeassistant/components/sensibo/services.yaml index fbd2625961b..7f8252af820 100644 --- a/homeassistant/components/sensibo/services.yaml +++ b/homeassistant/components/sensibo/services.yaml @@ -1,14 +1,10 @@ assume_state: - name: Assume state - description: Set Sensibo device to external state target: entity: integration: sensibo domain: climate fields: state: - name: State - description: State to set required: true example: "on" selector: @@ -17,16 +13,12 @@ assume_state: - "on" - "off" enable_timer: - name: Enable Timer - description: Enable the timer with custom time target: entity: integration: sensibo domain: climate fields: minutes: - name: Minutes - description: Countdown for timer (for timer state on) required: false example: 30 selector: @@ -35,44 +27,32 @@ enable_timer: step: 1 mode: box enable_pure_boost: - name: Enable Pure Boost - description: Enable and configure Pure Boost settings target: entity: integration: sensibo domain: climate fields: ac_integration: - name: AC Integration - description: Integrate with Air Conditioner required: true example: true selector: boolean: geo_integration: - name: Geo Integration - description: Integrate with Presence required: true example: true selector: boolean: indoor_integration: - name: Indoor Air Quality - description: Integrate with checking indoor air quality required: true example: true selector: boolean: outdoor_integration: - name: Outdoor Air Quality - description: Integrate with checking outdoor air quality required: true example: true selector: boolean: sensitivity: - name: Sensitivity - description: Set the sensitivity for Pure Boost required: true example: "Normal" selector: @@ -81,16 +61,12 @@ enable_pure_boost: - "Normal" - "Sensitive" full_state: - name: Set full state - description: Set full state for Sensibo device target: entity: integration: sensibo domain: climate fields: mode: - name: HVAC mode - description: HVAC mode to set required: true example: "heat" selector: @@ -103,8 +79,6 @@ full_state: - "dry" - "off" target_temperature: - name: Target Temperature - description: Optionally set target temperature required: false example: 23 selector: @@ -113,32 +87,24 @@ full_state: step: 1 mode: box fan_mode: - name: Fan mode - description: Optionally set fan mode required: false example: "low" selector: text: type: text swing_mode: - name: swing mode - description: Optionally set swing mode required: false example: "fixedBottom" selector: text: type: text horizontal_swing_mode: - name: Horizontal swing mode - description: Optionally set horizontal swing mode required: false example: "fixedLeft" selector: text: type: text light: - name: Light - description: Set light on or off required: false example: "on" selector: @@ -148,16 +114,12 @@ full_state: - "off" - "dim" enable_climate_react: - name: Enable Climate React - description: Enable and configure Climate React target: entity: integration: sensibo domain: climate fields: high_temperature_threshold: - name: Threshold high - description: When temp/humidity goes above required: true example: 24 selector: @@ -167,14 +129,10 @@ enable_climate_react: step: 0.1 mode: box high_temperature_state: - name: State high threshold - description: What should happen at high threshold. Requires full state required: true selector: object: low_temperature_threshold: - name: Threshold low - description: When temp/humidity goes below required: true example: 19 selector: @@ -184,14 +142,10 @@ enable_climate_react: step: 0.1 mode: box low_temperature_state: - name: State low threshold - description: What should happen at low threshold. Requires full state required: true selector: object: smart_type: - name: Trigger type - description: Choose between temperature/feels like/humidity required: true example: "temperature" selector: diff --git a/homeassistant/components/sensibo/strings.json b/homeassistant/components/sensibo/strings.json index 2379e2c2b38..6946b21761c 100644 --- a/homeassistant/components/sensibo/strings.json +++ b/homeassistant/components/sensibo/strings.json @@ -157,5 +157,109 @@ "name": "Update available" } } + }, + "services": { + "assume_state": { + "name": "Assume state", + "description": "Sets Sensibo device to external state.", + "fields": { + "state": { + "name": "State", + "description": "State to set." + } + } + }, + "enable_timer": { + "name": "Enable timer", + "description": "Enables the timer with custom time.", + "fields": { + "minutes": { + "name": "Minutes", + "description": "Countdown for timer (for timer state on)." + } + } + }, + "enable_pure_boost": { + "name": "Enable pure boost", + "description": "Enables and configures Pure Boost settings.", + "fields": { + "ac_integration": { + "name": "AC integration", + "description": "Integrate with Air Conditioner." + }, + "geo_integration": { + "name": "Geo integration", + "description": "Integrate with Presence." + }, + "indoor_integration": { + "name": "Indoor air quality", + "description": "Integrate with checking indoor air quality." + }, + "outdoor_integration": { + "name": "Outdoor air quality", + "description": "Integrate with checking outdoor air quality." + }, + "sensitivity": { + "name": "Sensitivity", + "description": "Set the sensitivity for Pure Boost." + } + } + }, + "full_state": { + "name": "Set full state", + "description": "Sets full state for Sensibo device.", + "fields": { + "mode": { + "name": "HVAC mode", + "description": "HVAC mode to set." + }, + "target_temperature": { + "name": "Target temperature", + "description": "Set target temperature." + }, + "fan_mode": { + "name": "Fan mode", + "description": "set fan mode." + }, + "swing_mode": { + "name": "Swing mode", + "description": "Set swing mode." + }, + "horizontal_swing_mode": { + "name": "Horizontal swing mode", + "description": "Set horizontal swing mode." + }, + "light": { + "name": "Light", + "description": "Set light on or off." + } + } + }, + "enable_climate_react": { + "name": "Enable climate react", + "description": "Enables and configures climate react.", + "fields": { + "high_temperature_threshold": { + "name": "Threshold high", + "description": "When temp/humidity goes above." + }, + "high_temperature_state": { + "name": "State high threshold", + "description": "What should happen at high threshold. Requires full state." + }, + "low_temperature_threshold": { + "name": "Threshold low", + "description": "When temp/humidity goes below." + }, + "low_temperature_state": { + "name": "State low threshold", + "description": "What should happen at low threshold. Requires full state." + }, + "smart_type": { + "name": "Trigger type", + "description": "Choose between temperature/feels like/humidity." + } + } + } } } diff --git a/homeassistant/components/shopping_list/services.yaml b/homeassistant/components/shopping_list/services.yaml index 250912f49cd..402a6c24aeb 100644 --- a/homeassistant/components/shopping_list/services.yaml +++ b/homeassistant/components/shopping_list/services.yaml @@ -1,69 +1,41 @@ add_item: - name: Add item - description: Add an item to the shopping list. fields: name: - name: Name - description: The name of the item to add. required: true example: Beer selector: text: remove_item: - name: Remove item - description: Remove the first item with matching name from the shopping list. fields: name: - name: Name - description: The name of the item to remove. required: true example: Beer selector: text: complete_item: - name: Complete item - description: Mark the first item with matching name as completed in the shopping list. fields: name: - name: Name - description: The name of the item to mark as completed (without removing). required: true example: Beer selector: text: incomplete_item: - name: Incomplete item - description: Mark the first item with matching name as incomplete in the shopping list. fields: name: - description: The name of the item to mark as incomplete. example: Beer required: true selector: text: complete_all: - name: Complete all - description: Mark all items as completed in the shopping list (without removing them from the list). - incomplete_all: - name: Incomplete all - description: Mark all items as incomplete in the shopping list. - clear_completed_items: - name: Clear completed items - description: Clear completed items from the shopping list. - sort: - name: Sort all items - description: Sort all items by name in the shopping list. fields: reverse: - name: Sort reverse - description: Whether to sort in reverse (descending) order. default: false selector: boolean: diff --git a/homeassistant/components/shopping_list/strings.json b/homeassistant/components/shopping_list/strings.json index 5b8197177a0..598a2bddfff 100644 --- a/homeassistant/components/shopping_list/strings.json +++ b/homeassistant/components/shopping_list/strings.json @@ -10,5 +10,69 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_service%]" } + }, + "services": { + "add_item": { + "name": "Add item", + "description": "Adds an item to the shopping list.", + "fields": { + "name": { + "name": "Name", + "description": "The name of the item to add." + } + } + }, + "remove_item": { + "name": "Remove item", + "description": "Removes the first item with matching name from the shopping list.", + "fields": { + "name": { + "name": "Name", + "description": "The name of the item to remove." + } + } + }, + "complete_item": { + "name": "Complete item", + "description": "Marks the first item with matching name as completed in the shopping list.", + "fields": { + "name": { + "name": "Name", + "description": "The name of the item to mark as completed (without removing)." + } + } + }, + "incomplete_item": { + "name": "Incomplete item", + "description": "Marks the first item with matching name as incomplete in the shopping list.", + "fields": { + "name": { + "name": "Name", + "description": "The name of the item to mark as incomplete." + } + } + }, + "complete_all": { + "name": "Complete all", + "description": "Marks all items as completed in the shopping list (without removing them from the list)." + }, + "incomplete_all": { + "name": "Incomplete all", + "description": "Marks all items as incomplete in the shopping list." + }, + "clear_completed_items": { + "name": "Clear completed items", + "description": "Clears completed items from the shopping list." + }, + "sort": { + "name": "Sort all items", + "description": "Sorts all items by name in the shopping list.", + "fields": { + "reverse": { + "name": "Sort reverse", + "description": "Whether to sort in reverse (descending) order." + } + } + } } } diff --git a/homeassistant/components/simplisafe/services.yaml b/homeassistant/components/simplisafe/services.yaml index 8aeefcf7846..de4d8fbe534 100644 --- a/homeassistant/components/simplisafe/services.yaml +++ b/homeassistant/components/simplisafe/services.yaml @@ -1,11 +1,7 @@ # Describes the format for available SimpliSafe services remove_pin: - name: Remove PIN - description: Remove a PIN by its label or value. fields: device_id: - name: System - description: The system to remove the PIN from required: true selector: device: @@ -13,19 +9,13 @@ remove_pin: entity: domain: alarm_control_panel label_or_pin: - name: Label/PIN - description: The label/value to remove. required: true example: Test PIN selector: text: set_pin: - name: Set PIN - description: Set/update a PIN fields: device_id: - name: System - description: The system to set the PIN on required: true selector: device: @@ -33,26 +23,18 @@ set_pin: entity: domain: alarm_control_panel label: - name: Label - description: The label of the PIN required: true example: Test PIN selector: text: pin: - name: PIN - description: The value of the PIN required: true example: 1256 selector: text: set_system_properties: - name: Set system properties - description: Set one or more system properties fields: device_id: - name: System - description: The system whose properties should be set required: true selector: device: @@ -60,16 +42,12 @@ set_system_properties: entity: domain: alarm_control_panel alarm_duration: - name: Alarm duration - description: The length of a triggered alarm selector: number: min: 30 max: 480 unit_of_measurement: seconds alarm_volume: - name: Alarm volume - description: The volume level of a triggered alarm selector: select: options: @@ -78,8 +56,6 @@ set_system_properties: - "high" - "off" chime_volume: - name: Chime volume - description: The volume level of the door chime selector: select: options: @@ -88,45 +64,33 @@ set_system_properties: - "high" - "off" entry_delay_away: - name: Entry delay away - description: How long to delay when entering while "away" selector: number: min: 30 max: 255 unit_of_measurement: seconds entry_delay_home: - name: Entry delay home - description: How long to delay when entering while "home" selector: number: min: 0 max: 255 unit_of_measurement: seconds exit_delay_away: - name: Exit delay away - description: How long to delay when exiting while "away" selector: number: min: 45 max: 255 unit_of_measurement: seconds exit_delay_home: - name: Exit delay home - description: How long to delay when exiting while "home" selector: number: min: 0 max: 255 unit_of_measurement: seconds light: - name: Light - description: Whether the armed light should be visible selector: boolean: voice_prompt_volume: - name: Voice prompt volume - description: The volume level of the voice prompt selector: select: options: diff --git a/homeassistant/components/simplisafe/strings.json b/homeassistant/components/simplisafe/strings.json index 4f230442f85..4be806ebbbd 100644 --- a/homeassistant/components/simplisafe/strings.json +++ b/homeassistant/components/simplisafe/strings.json @@ -36,5 +36,85 @@ "name": "Clear notifications" } } + }, + "services": { + "remove_pin": { + "name": "Remove PIN", + "description": "Removes a PIN by its label or value.", + "fields": { + "device_id": { + "name": "System", + "description": "The system to remove the PIN from." + }, + "label_or_pin": { + "name": "Label/PIN", + "description": "The label/value to remove." + } + } + }, + "set_pin": { + "name": "Set PIN", + "description": "Sets/updates a PIN.", + "fields": { + "device_id": { + "name": "System", + "description": "The system to set the PIN on." + }, + "label": { + "name": "Label", + "description": "The label of the PIN." + }, + "pin": { + "name": "PIN", + "description": "The value of the PIN." + } + } + }, + "set_system_properties": { + "name": "Set system properties", + "description": "Sets one or more system properties.", + "fields": { + "device_id": { + "name": "System", + "description": "The system whose properties should be set." + }, + "alarm_duration": { + "name": "Alarm duration", + "description": "The length of a triggered alarm." + }, + "alarm_volume": { + "name": "Alarm volume", + "description": "The volume level of a triggered alarm." + }, + "chime_volume": { + "name": "Chime volume", + "description": "The volume level of the door chime." + }, + "entry_delay_away": { + "name": "Entry delay away", + "description": "How long to delay when entering while \"away\"." + }, + "entry_delay_home": { + "name": "Entry delay home", + "description": "How long to delay when entering while \"home\"." + }, + "exit_delay_away": { + "name": "Exit delay away", + "description": "How long to delay when exiting while \"away\"." + }, + "exit_delay_home": { + "name": "Exit delay home", + "description": "How long to delay when exiting while \"home\"." + }, + "light": { + "name": "Light", + "description": "Whether the armed light should be visible." + }, + "voice_prompt_volume": { + "name": "Voice prompt volume", + "description": "The volume level of the voice prompt." + } + } + } } } diff --git a/homeassistant/components/smarttub/services.yaml b/homeassistant/components/smarttub/services.yaml index d9890dba35a..65bd4afb8b7 100644 --- a/homeassistant/components/smarttub/services.yaml +++ b/homeassistant/components/smarttub/services.yaml @@ -1,14 +1,10 @@ set_primary_filtration: - name: Update primary filtration settings - description: Updates the primary filtration settings target: entity: integration: smarttub domain: sensor fields: duration: - name: Duration - description: The desired duration of the primary filtration cycle default: 8 selector: number: @@ -18,7 +14,6 @@ set_primary_filtration: mode: slider example: 8 start_hour: - description: The hour of the day at which to begin the primary filtration cycle default: 0 example: 2 selector: @@ -28,15 +23,12 @@ set_primary_filtration: unit_of_measurement: "hour" set_secondary_filtration: - name: Update secondary filtration settings - description: Updates the secondary filtration settings target: entity: integration: smarttub domain: sensor fields: mode: - description: The secondary filtration mode. selector: select: options: @@ -47,16 +39,12 @@ set_secondary_filtration: example: "frequent" snooze_reminder: - name: Snooze a reminder - description: Delay a reminder, so that it won't trigger again for a period of time. target: entity: integration: smarttub domain: binary_sensor fields: days: - name: Days - description: The number of days to delay the reminder. required: true example: 7 selector: @@ -66,16 +54,12 @@ snooze_reminder: unit_of_measurement: days reset_reminder: - name: Reset a reminder - description: Reset a reminder, and set the next time it will be triggered. target: entity: integration: smarttub domain: binary_sensor fields: days: - name: Days - description: The number of days when the next reminder should trigger. required: true example: 180 selector: diff --git a/homeassistant/components/smarttub/strings.json b/homeassistant/components/smarttub/strings.json index 25528b8a374..c130feaa620 100644 --- a/homeassistant/components/smarttub/strings.json +++ b/homeassistant/components/smarttub/strings.json @@ -21,5 +21,51 @@ "already_configured": "[%key:common::config_flow::abort::already_configured_account%]", "reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]" } + }, + "services": { + "set_primary_filtration": { + "name": "Update primary filtration settings", + "description": "Updates the primary filtration settings.", + "fields": { + "duration": { + "name": "Duration", + "description": "The desired duration of the primary filtration cycle." + }, + "start_hour": { + "name": "Start hour", + "description": "The hour of the day at which to begin the primary filtration cycle." + } + } + }, + "set_secondary_filtration": { + "name": "Update secondary filtration settings", + "description": "Updates the secondary filtration settings.", + "fields": { + "mode": { + "name": "Mode", + "description": "The secondary filtration mode." + } + } + }, + "snooze_reminder": { + "name": "Snooze a reminder", + "description": "Delay a reminder, so that it won't trigger again for a period of time.", + "fields": { + "days": { + "name": "Days", + "description": "The number of days to delay the reminder." + } + } + }, + "reset_reminder": { + "name": "Reset a reminder", + "description": "Reset a reminder, and set the next time it will be triggered.", + "fields": { + "days": { + "name": "Days", + "description": "The number of days when the next reminder should trigger." + } + } + } } } diff --git a/homeassistant/components/smtp/services.yaml b/homeassistant/components/smtp/services.yaml index c4380a4fc62..c983a105c93 100644 --- a/homeassistant/components/smtp/services.yaml +++ b/homeassistant/components/smtp/services.yaml @@ -1,3 +1 @@ reload: - name: Reload - description: Reload smtp notify services. diff --git a/homeassistant/components/smtp/strings.json b/homeassistant/components/smtp/strings.json new file mode 100644 index 00000000000..3c72a1a50d1 --- /dev/null +++ b/homeassistant/components/smtp/strings.json @@ -0,0 +1,8 @@ +{ + "services": { + "reload": { + "name": "Reload", + "description": "Reloads smtp notify services." + } + } +} diff --git a/homeassistant/components/snapcast/services.yaml b/homeassistant/components/snapcast/services.yaml index f80b22dba7e..aa1a26c3537 100644 --- a/homeassistant/components/snapcast/services.yaml +++ b/homeassistant/components/snapcast/services.yaml @@ -1,18 +1,12 @@ join: - name: Join - description: Group players together. fields: master: - name: Master - description: Entity ID of the player to synchronize to. required: true selector: entity: integration: snapcast domain: media_player entity_id: - name: Entity - description: The players to join to the "master". selector: target: entity: @@ -20,40 +14,30 @@ join: domain: media_player unjoin: - name: Unjoin - description: Unjoin the player from a group. target: entity: integration: snapcast domain: media_player snapshot: - name: Snapshot - description: Take a snapshot of the media player. target: entity: integration: snapcast domain: media_player restore: - name: Restore - description: Restore a snapshot of the media player. target: entity: integration: snapcast domain: media_player set_latency: - name: Set latency - description: Set client set_latency target: entity: integration: snapcast domain: media_player fields: latency: - name: Latency - description: Latency in master required: true selector: number: diff --git a/homeassistant/components/snapcast/strings.json b/homeassistant/components/snapcast/strings.json index 766bca63495..242bf62ab04 100644 --- a/homeassistant/components/snapcast/strings.json +++ b/homeassistant/components/snapcast/strings.json @@ -17,5 +17,43 @@ "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", "invalid_host": "[%key:common::config_flow::error::invalid_host%]" } + }, + "services": { + "join": { + "name": "Join", + "description": "Groups players together.", + "fields": { + "master": { + "name": "Master", + "description": "Entity ID of the player to synchronize to." + }, + "entity_id": { + "name": "Entity", + "description": "The players to join to the \"master\"." + } + } + }, + "unjoin": { + "name": "Unjoin", + "description": "Unjoins the player from a group." + }, + "snapshot": { + "name": "Snapshot", + "description": "Takes a snapshot of the media player." + }, + "restore": { + "name": "Restore", + "description": "Restores a snapshot of the media player." + }, + "set_latency": { + "name": "Set latency", + "description": "Sets client set_latency.", + "fields": { + "latency": { + "name": "Latency", + "description": "Latency in master." + } + } + } } } diff --git a/homeassistant/components/snips/services.yaml b/homeassistant/components/snips/services.yaml index df3a46281c8..522e1b5b348 100644 --- a/homeassistant/components/snips/services.yaml +++ b/homeassistant/components/snips/services.yaml @@ -1,83 +1,55 @@ feedback_off: - name: Feedback off - description: Turns feedback sounds off. fields: site_id: - name: Site ID - description: Site to turn sounds on, defaults to all sites. example: bedroom default: default selector: text: feedback_on: - name: Feedback on - description: Turns feedback sounds on. fields: site_id: - name: Site ID - description: Site to turn sounds on, defaults to all sites. example: bedroom default: default selector: text: say: - name: Say - description: Send a TTS message to Snips. fields: custom_data: - name: Custom data - description: custom data that will be included with all messages in this session example: user=UserName default: "" selector: text: site_id: - name: Site ID - description: Site to use to start session, defaults to default. example: bedroom default: default selector: text: text: - name: Text - description: Text to say. required: true example: My name is snips selector: text: say_action: - name: Say action - description: Send a TTS message to Snips to listen for a response. fields: can_be_enqueued: - name: Can be enqueued - description: If True, session waits for an open session to end, if False session is dropped if one is running default: true selector: boolean: custom_data: - name: Custom data - description: custom data that will be included with all messages in this session example: user=UserName default: "" selector: text: intent_filter: - name: Intent filter - description: Optional Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. example: "turnOnLights, turnOffLights" selector: object: site_id: - name: Site ID - description: Site to use to start session, defaults to default. example: bedroom default: default selector: text: text: - name: Text - description: Text to say required: true example: My name is snips selector: diff --git a/homeassistant/components/snips/strings.json b/homeassistant/components/snips/strings.json new file mode 100644 index 00000000000..d6c9f4d53f6 --- /dev/null +++ b/homeassistant/components/snips/strings.json @@ -0,0 +1,68 @@ +{ + "services": { + "feedback_off": { + "name": "Feedback off", + "description": "Turns feedback sounds off.", + "fields": { + "site_id": { + "name": "Site ID", + "description": "Site to turn sounds on, defaults to all sites." + } + } + }, + "feedback_on": { + "name": "Feedback on", + "description": "Turns feedback sounds on.", + "fields": { + "site_id": { + "name": "Site ID", + "description": "Site to turn sounds on, defaults to all sites." + } + } + }, + "say": { + "name": "Say", + "description": "Sends a TTS message to Snips.", + "fields": { + "custom_data": { + "name": "Custom data", + "description": "Custom data that will be included with all messages in this session." + }, + "site_id": { + "name": "Site ID", + "description": "Site to use to start session, defaults to default." + }, + "text": { + "name": "Text", + "description": "Text to say." + } + } + }, + "say_action": { + "name": "Say action", + "description": "Sends a TTS message to Snips to listen for a response.", + "fields": { + "can_be_enqueued": { + "name": "Can be enqueued", + "description": "If True, session waits for an open session to end, if False session is dropped if one is running." + }, + "custom_data": { + "name": "Custom data", + "description": "Custom data that will be included with all messages in this session." + }, + "intent_filter": { + "name": "Intent filter", + "description": "Optional Array of Strings - A list of intents names to restrict the NLU resolution to on the first query." + }, + "site_id": { + "name": "Site ID", + "description": "Site to use to start session, defaults to default." + }, + "text": { + "name": "Text", + "description": "Text to say." + } + } + } + } +} diff --git a/homeassistant/components/snooz/services.yaml b/homeassistant/components/snooz/services.yaml index f795edf213a..ca9f4883a69 100644 --- a/homeassistant/components/snooz/services.yaml +++ b/homeassistant/components/snooz/services.yaml @@ -1,14 +1,10 @@ transition_on: - name: Transition on - description: Transition to a target volume level over time. target: entity: integration: snooz domain: fan fields: duration: - name: Transition duration - description: Time it takes to reach the target volume level. selector: number: min: 1 @@ -16,8 +12,6 @@ transition_on: unit_of_measurement: seconds mode: box volume: - name: Target volume - description: If not specified, the volume level is read from the device. selector: number: min: 1 @@ -25,16 +19,12 @@ transition_on: unit_of_measurement: "%" transition_off: - name: Transition off - description: Transition volume off over time. target: entity: integration: snooz domain: fan fields: duration: - name: Transition duration - description: Time it takes to turn off. selector: number: min: 1 diff --git a/homeassistant/components/snooz/strings.json b/homeassistant/components/snooz/strings.json index 2f957f87072..878341f23bc 100644 --- a/homeassistant/components/snooz/strings.json +++ b/homeassistant/components/snooz/strings.json @@ -23,5 +23,31 @@ "already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]", "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "services": { + "transition_on": { + "name": "Transition on", + "description": "Transitions to a target volume level over time.", + "fields": { + "duration": { + "name": "Transition duration", + "description": "Time it takes to reach the target volume level." + }, + "volume": { + "name": "Target volume", + "description": "If not specified, the volume level is read from the device." + } + } + }, + "transition_off": { + "name": "Transition off", + "description": "Transitions volume off over time.", + "fields": { + "duration": { + "name": "Transition duration", + "description": "Time it takes to turn off." + } + } + } } } diff --git a/homeassistant/components/songpal/services.yaml b/homeassistant/components/songpal/services.yaml index 93485ce4788..26da134acdd 100644 --- a/homeassistant/components/songpal/services.yaml +++ b/homeassistant/components/songpal/services.yaml @@ -1,21 +1,15 @@ set_sound_setting: - name: Set sound setting - description: Change sound setting. target: entity: integration: songpal domain: media_player fields: name: - name: Name - description: Name of the setting. required: true example: "nightMode" selector: text: value: - name: Value - description: Value to set. required: true example: "on" selector: diff --git a/homeassistant/components/songpal/strings.json b/homeassistant/components/songpal/strings.json index 62bff00c786..a4df830f1fe 100644 --- a/homeassistant/components/songpal/strings.json +++ b/homeassistant/components/songpal/strings.json @@ -18,5 +18,21 @@ "already_configured": "[%key:common::config_flow::abort::already_configured_device%]", "not_songpal_device": "Not a Songpal device" } + }, + "services": { + "set_sound_setting": { + "name": "Sets sound setting", + "description": "Change sound setting.", + "fields": { + "name": { + "name": "Name", + "description": "Name of the setting." + }, + "value": { + "name": "Value", + "description": "Value to set." + } + } + } } } diff --git a/homeassistant/components/sonos/services.yaml b/homeassistant/components/sonos/services.yaml index 9d61c20f7cb..f6df83ef6ed 100644 --- a/homeassistant/components/sonos/services.yaml +++ b/homeassistant/components/sonos/services.yaml @@ -1,49 +1,33 @@ snapshot: - name: Snapshot - description: Take a snapshot of the media player. fields: entity_id: - name: Entity - description: Name of entity that will be snapshot. selector: entity: integration: sonos domain: media_player with_group: - name: With group - description: True or False. Also snapshot the group layout. default: true selector: boolean: restore: - name: Restore - description: Restore a snapshot of the media player. fields: entity_id: - name: Entity - description: Name of entity that will be restored. selector: entity: integration: sonos domain: media_player with_group: - name: With group - description: True or False. Also restore the group layout. default: true selector: boolean: set_sleep_timer: - name: Set timer - description: Set a Sonos timer. target: device: integration: sonos fields: sleep_time: - name: Sleep Time - description: Number of seconds to set the timer. selector: number: min: 0 @@ -51,22 +35,16 @@ set_sleep_timer: unit_of_measurement: seconds clear_sleep_timer: - name: Clear timer - description: Clear a Sonos timer. target: device: integration: sonos play_queue: - name: Play queue - description: Start playing the queue from the first item. target: device: integration: sonos fields: queue_position: - name: Queue position - description: Position of the song in the queue to start playing from. selector: number: min: 0 @@ -74,15 +52,11 @@ play_queue: mode: box remove_from_queue: - name: Remove from queue - description: Removes an item from the queue. target: device: integration: sonos fields: queue_position: - name: Queue position - description: Position in the queue to remove. selector: number: min: 0 @@ -90,15 +64,11 @@ remove_from_queue: mode: box update_alarm: - name: Update alarm - description: Updates an alarm with new time and volume settings. target: device: integration: sonos fields: alarm_id: - name: Alarm ID - description: ID for the alarm to be updated. required: true selector: number: @@ -106,26 +76,18 @@ update_alarm: max: 1440 mode: box time: - name: Time - description: Set time for the alarm. example: "07:00" selector: time: volume: - name: Volume - description: Set alarm volume level. selector: number: min: 0 max: 1 step: 0.01 enabled: - name: Alarm enabled - description: Enable or disable the alarm. selector: boolean: include_linked_zones: - name: Include linked zones - description: Enable or disable including grouped rooms. selector: boolean: diff --git a/homeassistant/components/sonos/strings.json b/homeassistant/components/sonos/strings.json index 75c1b850146..c5b5136e970 100644 --- a/homeassistant/components/sonos/strings.json +++ b/homeassistant/components/sonos/strings.json @@ -16,5 +16,95 @@ "title": "Networking error: subscriptions failed", "description": "Falling back to polling, functionality may be limited.\n\nSonos device at {device_ip} cannot reach Home Assistant at {listener_address}.\n\nSee our [documentation]({sub_fail_url}) for more information on how to solve this issue." } + }, + "services": { + "snapshot": { + "name": "Snapshot", + "description": "Takes a snapshot of the media player.", + "fields": { + "entity_id": { + "name": "Entity", + "description": "Name of entity that will be snapshot." + }, + "with_group": { + "name": "With group", + "description": "True or False. Also snapshot the group layout." + } + } + }, + "restore": { + "name": "Restore", + "description": "Restores a snapshot of the media player.", + "fields": { + "entity_id": { + "name": "Entity", + "description": "Name of entity that will be restored." + }, + "with_group": { + "name": "With group", + "description": "True or False. Also restore the group layout." + } + } + }, + "set_sleep_timer": { + "name": "Set timer", + "description": "Sets a Sonos timer.", + "fields": { + "sleep_time": { + "name": "Sleep Time", + "description": "Number of seconds to set the timer." + } + } + }, + "clear_sleep_timer": { + "name": "Clear timer", + "description": "Clears a Sonos timer." + }, + "play_queue": { + "name": "Play queue", + "description": "Start playing the queue from the first item.", + "fields": { + "queue_position": { + "name": "Queue position", + "description": "Position of the song in the queue to start playing from." + } + } + }, + "remove_from_queue": { + "name": "Remove from queue", + "description": "Removes an item from the queue.", + "fields": { + "queue_position": { + "name": "Queue position", + "description": "Position in the queue to remove." + } + } + }, + "update_alarm": { + "name": "Update alarm", + "description": "Updates an alarm with new time and volume settings.", + "fields": { + "alarm_id": { + "name": "Alarm ID", + "description": "ID for the alarm to be updated." + }, + "time": { + "name": "Time", + "description": "Set time for the alarm." + }, + "volume": { + "name": "Volume", + "description": "Set alarm volume level." + }, + "enabled": { + "name": "Alarm enabled", + "description": "Enable or disable the alarm." + }, + "include_linked_zones": { + "name": "Include linked zones", + "description": "Enable or disable including grouped rooms." + } + } + } } } diff --git a/homeassistant/components/soundtouch/services.yaml b/homeassistant/components/soundtouch/services.yaml index 82709053496..10ae15a3cb9 100644 --- a/homeassistant/components/soundtouch/services.yaml +++ b/homeassistant/components/soundtouch/services.yaml @@ -1,10 +1,6 @@ play_everywhere: - name: Play everywhere - description: Play on all Bose SoundTouch devices. fields: master: - name: Master - description: Name of the master entity that will coordinate the grouping. Platform dependent. It is a shortcut for creating a multi-room zone with all devices required: true selector: entity: @@ -12,20 +8,14 @@ play_everywhere: domain: media_player create_zone: - name: Create zone - description: Create a SoundTouch multi-room zone. fields: master: - name: Master - description: Name of the master entity that will coordinate the multi-room zone. Platform dependent. required: true selector: entity: integration: soundtouch domain: media_player slaves: - name: Slaves - description: Name of slaves entities to add to the new zone. required: true selector: entity: @@ -34,20 +24,14 @@ create_zone: domain: media_player add_zone_slave: - name: Add zone slave - description: Add a slave to a SoundTouch multi-room zone. fields: master: - name: Master - description: Name of the master entity that is coordinating the multi-room zone. Platform dependent. required: true selector: entity: integration: soundtouch domain: media_player slaves: - name: Slaves - description: Name of slaves entities to add to the existing zone. required: true selector: entity: @@ -56,20 +40,14 @@ add_zone_slave: domain: media_player remove_zone_slave: - name: Remove zone slave - description: Remove a slave from the SoundTouch multi-room zone. fields: master: - name: Master - description: Name of the master entity that is coordinating the multi-room zone. Platform dependent. required: true selector: entity: integration: soundtouch domain: media_player slaves: - name: Slaves - description: Name of slaves entities to remove from the existing zone. required: true selector: entity: diff --git a/homeassistant/components/soundtouch/strings.json b/homeassistant/components/soundtouch/strings.json index 7ebcd4c5285..616a4fc5a11 100644 --- a/homeassistant/components/soundtouch/strings.json +++ b/homeassistant/components/soundtouch/strings.json @@ -17,5 +17,59 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "services": { + "play_everywhere": { + "name": "Play everywhere", + "description": "Plays on all Bose SoundTouch devices.", + "fields": { + "master": { + "name": "Master", + "description": "Name of the master entity that will coordinate the grouping. Platform dependent. It is a shortcut for creating a multi-room zone with all devices." + } + } + }, + "create_zone": { + "name": "Create zone", + "description": "Creates a SoundTouch multi-room zone.", + "fields": { + "master": { + "name": "Master", + "description": "Name of the master entity that will coordinate the multi-room zone. Platform dependent." + }, + "slaves": { + "name": "Slaves", + "description": "Name of slaves entities to add to the new zone." + } + } + }, + "add_zone_slave": { + "name": "Add zone slave", + "description": "Adds a slave to a SoundTouch multi-room zone.", + "fields": { + "master": { + "name": "Master", + "description": "Name of the master entity that is coordinating the multi-room zone. Platform dependent." + }, + "slaves": { + "name": "Slaves", + "description": "Name of slaves entities to add to the existing zone." + } + } + }, + "remove_zone_slave": { + "name": "Remove zone slave", + "description": "Removes a slave from the SoundTouch multi-room zone.", + "fields": { + "master": { + "name": "Master", + "description": "Name of the master entity that is coordinating the multi-room zone. Platform dependent." + }, + "slaves": { + "name": "Slaves", + "description": "Name of slaves entities to remove from the existing zone." + } + } + } } } diff --git a/homeassistant/components/squeezebox/services.yaml b/homeassistant/components/squeezebox/services.yaml index 4c2d34ba88b..90f9bf2d769 100644 --- a/homeassistant/components/squeezebox/services.yaml +++ b/homeassistant/components/squeezebox/services.yaml @@ -1,69 +1,47 @@ call_method: - name: Call method - description: Call a custom Squeezebox JSONRPC API. target: entity: integration: squeezebox domain: media_player fields: command: - name: Command - description: Command to pass to Logitech Media Server (p0 in the CLI documentation). required: true example: "playlist" selector: text: parameters: - name: Parameters - description: > - Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation). example: '["loadtracks", "album.titlesearch=Revolver"]' advanced: true selector: object: call_query: - name: Call query - description: > - Call a custom Squeezebox JSONRPC API. Result will be stored in 'query_result' attribute of the Squeezebox entity. target: entity: integration: squeezebox domain: media_player fields: command: - name: Command - description: Command to pass to Logitech Media Server (p0 in the CLI documentation). required: true example: "albums" selector: text: parameters: - name: Parameters - description: > - Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation). example: '["0", "20", "search:Revolver"]' advanced: true selector: object: sync: - name: Sync - description: > - Add another player to this player's sync group. If the other player is already in a sync group, it will leave it. target: entity: integration: squeezebox domain: media_player fields: other_player: - name: Other player - description: Name of the other Squeezebox player to link. required: true example: "media_player.living_room" selector: text: unsync: - name: Unsync - description: Remove this player from its sync group. target: entity: integration: squeezebox diff --git a/homeassistant/components/squeezebox/strings.json b/homeassistant/components/squeezebox/strings.json index 4ae8d69bacd..13fe16aa28c 100644 --- a/homeassistant/components/squeezebox/strings.json +++ b/homeassistant/components/squeezebox/strings.json @@ -27,5 +27,49 @@ "already_configured": "[%key:common::config_flow::abort::already_configured_device%]", "no_server_found": "No LMS server found." } + }, + "services": { + "call_method": { + "name": "Call method", + "description": "Calls a custom Squeezebox JSONRPC API.", + "fields": { + "command": { + "name": "Command", + "description": "Command to pass to Logitech Media Server (p0 in the CLI documentation)." + }, + "parameters": { + "name": "Parameters", + "description": "Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation).\n." + } + } + }, + "call_query": { + "name": "Call query", + "description": "Calls a custom Squeezebox JSONRPC API. Result will be stored in 'query_result' attribute of the Squeezebox entity.\n.", + "fields": { + "command": { + "name": "Command", + "description": "Command to pass to Logitech Media Server (p0 in the CLI documentation)." + }, + "parameters": { + "name": "Parameters", + "description": "Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation).\n." + } + } + }, + "sync": { + "name": "Sync", + "description": "Adds another player to this player's sync group. If the other player is already in a sync group, it will leave it.\n.", + "fields": { + "other_player": { + "name": "Other player", + "description": "Name of the other Squeezebox player to link." + } + } + }, + "unsync": { + "name": "Unsync", + "description": "Removes this player from its sync group." + } } } diff --git a/homeassistant/components/starline/services.yaml b/homeassistant/components/starline/services.yaml index 4c3e4d360e8..1d7041f0eb5 100644 --- a/homeassistant/components/starline/services.yaml +++ b/homeassistant/components/starline/services.yaml @@ -1,15 +1,7 @@ update_state: - name: Update state - description: > - Fetch the last state of the devices from the StarLine server. set_scan_interval: - name: Set scan interval - description: > - Set update frequency. fields: scan_interval: - name: Scan interval - description: Update frequency. selector: number: min: 10 @@ -17,13 +9,8 @@ set_scan_interval: step: 5 unit_of_measurement: seconds set_scan_obd_interval: - name: Set scan OBD interval - description: > - Set OBD info update frequency. fields: scan_interval: - name: Scan interval - description: Update frequency. selector: number: min: 180 diff --git a/homeassistant/components/starline/strings.json b/homeassistant/components/starline/strings.json index 10e99f93814..292ae55da1f 100644 --- a/homeassistant/components/starline/strings.json +++ b/homeassistant/components/starline/strings.json @@ -37,5 +37,31 @@ "error_auth_user": "Incorrect username or password", "error_auth_mfa": "Incorrect code" } + }, + "services": { + "update_state": { + "name": "Update state", + "description": "Fetches the last state of the devices from the StarLine server.\n." + }, + "set_scan_interval": { + "name": "Set scan interval", + "description": "Sets update frequency.", + "fields": { + "scan_interval": { + "name": "Scan interval", + "description": "Update frequency." + } + } + }, + "set_scan_obd_interval": { + "name": "Set scan OBD interval", + "description": "Sets OBD info update frequency.", + "fields": { + "scan_interval": { + "name": "Scan interval", + "description": "Update frequency." + } + } + } } } diff --git a/homeassistant/components/streamlabswater/services.yaml b/homeassistant/components/streamlabswater/services.yaml index b54c2cf15eb..7504a911123 100644 --- a/homeassistant/components/streamlabswater/services.yaml +++ b/homeassistant/components/streamlabswater/services.yaml @@ -1,10 +1,6 @@ set_away_mode: - name: Set away mode - description: "Set the home/away mode for a Streamlabs Water Monitor." fields: away_mode: - name: Away mode - description: home or away required: true selector: select: diff --git a/homeassistant/components/streamlabswater/strings.json b/homeassistant/components/streamlabswater/strings.json new file mode 100644 index 00000000000..56b35ab1044 --- /dev/null +++ b/homeassistant/components/streamlabswater/strings.json @@ -0,0 +1,14 @@ +{ + "services": { + "set_away_mode": { + "name": "Set away mode", + "description": "Sets the home/away mode for a Streamlabs Water Monitor.", + "fields": { + "away_mode": { + "name": "Away mode", + "description": "Home or away." + } + } + } + } +} diff --git a/homeassistant/components/subaru/services.yaml b/homeassistant/components/subaru/services.yaml index 58be48f9d18..bc760d2469e 100644 --- a/homeassistant/components/subaru/services.yaml +++ b/homeassistant/components/subaru/services.yaml @@ -1,14 +1,10 @@ unlock_specific_door: - name: Unlock Specific Door - description: Unlocks specific door(s) target: entity: domain: lock integration: subaru fields: door: - name: Door - description: "One of the following: 'all', 'driver', 'tailgate'" example: driver required: true selector: diff --git a/homeassistant/components/subaru/strings.json b/homeassistant/components/subaru/strings.json index abde396ba75..2ce3c3835a6 100644 --- a/homeassistant/components/subaru/strings.json +++ b/homeassistant/components/subaru/strings.json @@ -46,7 +46,6 @@ "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]" } }, - "options": { "step": { "init": { @@ -57,5 +56,17 @@ } } } + }, + "services": { + "unlock_specific_door": { + "name": "Unlock specific door", + "description": "Unlocks specific door(s).", + "fields": { + "door": { + "name": "Door", + "description": "One of the following: 'all', 'driver', 'tailgate'." + } + } + } } } diff --git a/homeassistant/components/surepetcare/services.yaml b/homeassistant/components/surepetcare/services.yaml index 3c3919f5d01..1d42c8fc102 100644 --- a/homeassistant/components/surepetcare/services.yaml +++ b/homeassistant/components/surepetcare/services.yaml @@ -1,17 +1,11 @@ set_lock_state: - name: Set lock state - description: Sets lock state fields: flap_id: - name: Flap ID - description: Flap ID to lock/unlock required: true example: "123456" selector: text: lock_state: - name: Lock state - description: New lock state. required: true selector: select: @@ -22,17 +16,13 @@ set_lock_state: - "unlocked" set_pet_location: - name: Set pet location - description: Set pet location fields: pet_name: - description: Name of pet example: My_cat required: true selector: text: location: - description: Pet location (Inside or Outside) example: Inside required: true selector: diff --git a/homeassistant/components/surepetcare/strings.json b/homeassistant/components/surepetcare/strings.json index f7a539fe0e6..6e1ec9643a7 100644 --- a/homeassistant/components/surepetcare/strings.json +++ b/homeassistant/components/surepetcare/strings.json @@ -16,5 +16,35 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_account%]" } + }, + "services": { + "set_lock_state": { + "name": "Set lock state", + "description": "Sets lock state.", + "fields": { + "flap_id": { + "name": "Flap ID", + "description": "Flap ID to lock/unlock." + }, + "lock_state": { + "name": "Lock state", + "description": "New lock state." + } + } + }, + "set_pet_location": { + "name": "Set pet location", + "description": "Sets pet location.", + "fields": { + "pet_name": { + "name": "Pet name", + "description": "Name of pet." + }, + "location": { + "name": "Location", + "description": "Pet location (Inside or Outside)." + } + } + } } } diff --git a/homeassistant/components/switcher_kis/services.yaml b/homeassistant/components/switcher_kis/services.yaml index a7c3df5903e..1dcb15fa482 100644 --- a/homeassistant/components/switcher_kis/services.yaml +++ b/homeassistant/components/switcher_kis/services.yaml @@ -1,6 +1,4 @@ set_auto_off: - name: Set auto off - description: "Update Switcher device auto off setting." target: entity: integration: switcher_kis @@ -8,16 +6,12 @@ set_auto_off: device_class: switch fields: auto_off: - name: Auto off - description: "Time period string containing hours and minutes." required: true example: '"02:30"' selector: text: turn_on_with_timer: - name: Turn on with timer - description: "Turn on the Switcher device with timer." target: entity: integration: switcher_kis @@ -25,8 +19,6 @@ turn_on_with_timer: device_class: switch fields: timer_minutes: - name: Timer - description: "Time to turn on." required: true selector: number: diff --git a/homeassistant/components/switcher_kis/strings.json b/homeassistant/components/switcher_kis/strings.json index ad8f0f41ae7..4c4080a8394 100644 --- a/homeassistant/components/switcher_kis/strings.json +++ b/homeassistant/components/switcher_kis/strings.json @@ -9,5 +9,27 @@ "single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]", "no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]" } + }, + "services": { + "set_auto_off": { + "name": "Set auto off", + "description": "Updates Switcher device auto off setting.", + "fields": { + "auto_off": { + "name": "Auto off", + "description": "Time period string containing hours and minutes." + } + } + }, + "turn_on_with_timer": { + "name": "Turn on with timer", + "description": "Turns on the Switcher device with timer.", + "fields": { + "timer_minutes": { + "name": "Timer", + "description": "Time to turn on." + } + } + } } } diff --git a/homeassistant/components/synology_dsm/services.yaml b/homeassistant/components/synology_dsm/services.yaml index 245d45fc800..32baeec11c1 100644 --- a/homeassistant/components/synology_dsm/services.yaml +++ b/homeassistant/components/synology_dsm/services.yaml @@ -1,23 +1,15 @@ # synology-dsm service entries description. reboot: - name: Reboot - description: Reboot the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity. fields: serial: - name: Serial - description: serial of the NAS to reboot; required when multiple NAS are configured. example: 1NDVC86409 selector: text: shutdown: - name: Shutdown - description: Shutdown the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity. fields: serial: - name: Serial - description: serial of the NAS to shutdown; required when multiple NAS are configured. example: 1NDVC86409 selector: text: diff --git a/homeassistant/components/synology_dsm/strings.json b/homeassistant/components/synology_dsm/strings.json index 92903b1d2ae..24ed1aaf568 100644 --- a/homeassistant/components/synology_dsm/strings.json +++ b/homeassistant/components/synology_dsm/strings.json @@ -63,48 +63,130 @@ }, "entity": { "binary_sensor": { - "disk_below_remain_life_thr": { "name": "Below min remaining life" }, - "disk_exceed_bad_sector_thr": { "name": "Exceeded max bad sectors" }, - "status": { "name": "Security status" } + "disk_below_remain_life_thr": { + "name": "Below min remaining life" + }, + "disk_exceed_bad_sector_thr": { + "name": "Exceeded max bad sectors" + }, + "status": { + "name": "Security status" + } }, "sensor": { - "cpu_15min_load": { "name": "CPU load average (15 min)" }, - "cpu_1min_load": { "name": "CPU load average (1 min)" }, - "cpu_5min_load": { "name": "CPU load average (5 min)" }, - "cpu_other_load": { "name": "CPU utilization (other)" }, - "cpu_system_load": { "name": "CPU utilization (system)" }, - "cpu_total_load": { "name": "CPU utilization (total)" }, - "cpu_user_load": { "name": "CPU utilization (user)" }, - "disk_smart_status": { "name": "Status (smart)" }, - "disk_status": { "name": "Status" }, + "cpu_15min_load": { + "name": "CPU load average (15 min)" + }, + "cpu_1min_load": { + "name": "CPU load average (1 min)" + }, + "cpu_5min_load": { + "name": "CPU load average (5 min)" + }, + "cpu_other_load": { + "name": "CPU utilization (other)" + }, + "cpu_system_load": { + "name": "CPU utilization (system)" + }, + "cpu_total_load": { + "name": "CPU utilization (total)" + }, + "cpu_user_load": { + "name": "CPU utilization (user)" + }, + "disk_smart_status": { + "name": "Status (smart)" + }, + "disk_status": { + "name": "Status" + }, "disk_temp": { "name": "[%key:component::sensor::entity_component::temperature::name%]" }, - "memory_available_real": { "name": "Memory available (real)" }, - "memory_available_swap": { "name": "Memory available (swap)" }, - "memory_cached": { "name": "Memory cached" }, - "memory_real_usage": { "name": "Memory usage (real)" }, - "memory_size": { "name": "Memory size" }, - "memory_total_real": { "name": "Memory total (real)" }, - "memory_total_swap": { "name": "Memory total (swap)" }, - "network_down": { "name": "Download throughput" }, - "network_up": { "name": "Upload throughput" }, + "memory_available_real": { + "name": "Memory available (real)" + }, + "memory_available_swap": { + "name": "Memory available (swap)" + }, + "memory_cached": { + "name": "Memory cached" + }, + "memory_real_usage": { + "name": "Memory usage (real)" + }, + "memory_size": { + "name": "Memory size" + }, + "memory_total_real": { + "name": "Memory total (real)" + }, + "memory_total_swap": { + "name": "Memory total (swap)" + }, + "network_down": { + "name": "Download throughput" + }, + "network_up": { + "name": "Upload throughput" + }, "temperature": { "name": "[%key:component::sensor::entity_component::temperature::name%]" }, - "uptime": { "name": "Last boot" }, - "volume_disk_temp_avg": { "name": "Average disk temp" }, - "volume_disk_temp_max": { "name": "Maximum disk temp" }, - "volume_percentage_used": { "name": "Volume used" }, - "volume_size_total": { "name": "Total size" }, - "volume_size_used": { "name": "Used space" }, - "volume_status": { "name": "Status" } + "uptime": { + "name": "Last boot" + }, + "volume_disk_temp_avg": { + "name": "Average disk temp" + }, + "volume_disk_temp_max": { + "name": "Maximum disk temp" + }, + "volume_percentage_used": { + "name": "Volume used" + }, + "volume_size_total": { + "name": "Total size" + }, + "volume_size_used": { + "name": "Used space" + }, + "volume_status": { + "name": "Status" + } }, "switch": { - "home_mode": { "name": "Home mode" } + "home_mode": { + "name": "Home mode" + } }, "update": { - "update": { "name": "DSM update" } + "update": { + "name": "DSM update" + } + } + }, + "services": { + "reboot": { + "name": "Reboot", + "description": "Reboots the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity.", + "fields": { + "serial": { + "name": "Serial", + "description": "Serial of the NAS to reboot; required when multiple NAS are configured." + } + } + }, + "shutdown": { + "name": "Shutdown", + "description": "Shutdowns the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity.", + "fields": { + "serial": { + "name": "Serial", + "description": "Serial of the NAS to shutdown; required when multiple NAS are configured." + } + } } } } diff --git a/homeassistant/components/system_bridge/services.yaml b/homeassistant/components/system_bridge/services.yaml index d33235ffba4..78d6e87f218 100644 --- a/homeassistant/components/system_bridge/services.yaml +++ b/homeassistant/components/system_bridge/services.yaml @@ -1,71 +1,47 @@ open_path: - name: Open Path - description: Open a file on the server using the default application. fields: bridge: - name: Bridge - description: The server to talk to. required: true selector: device: integration: system_bridge path: - name: Path - description: Path to open. required: true example: "C:\\test\\image.png" selector: text: open_url: - name: Open URL - description: Open a URL on the server using the default application. fields: bridge: - name: Bridge - description: The server to talk to. required: true selector: device: integration: system_bridge url: - name: URL - description: URL to open. required: true example: "https://www.home-assistant.io" selector: text: send_keypress: - name: Send Keyboard Keypress - description: Sends a keyboard keypress. fields: bridge: - name: Bridge - description: The server to send the command to. required: true selector: device: integration: system_bridge key: - name: Key - description: "Key to press. List available here: http://robotjs.io/docs/syntax#keys" required: true example: "audio_play" selector: text: send_text: - name: Send Keyboard Text - description: Sends text for the server to type. fields: bridge: - name: Bridge - description: The server to send the command to. required: true selector: device: integration: system_bridge text: - name: Text - description: "Text to type." required: true example: "Hello world" selector: diff --git a/homeassistant/components/system_bridge/strings.json b/homeassistant/components/system_bridge/strings.json index 209bce9078a..e4b2b40637c 100644 --- a/homeassistant/components/system_bridge/strings.json +++ b/homeassistant/components/system_bridge/strings.json @@ -27,5 +27,63 @@ "invalid_auth": "[%key:common::config_flow::error::invalid_auth%]", "unknown": "[%key:common::config_flow::error::unknown%]" } + }, + "services": { + "open_path": { + "name": "Open path", + "description": "Opens a file on the server using the default application.", + "fields": { + "bridge": { + "name": "Bridge", + "description": "The server to talk to." + }, + "path": { + "name": "Path", + "description": "Path to open." + } + } + }, + "open_url": { + "name": "Open URL", + "description": "Opens a URL on the server using the default application.", + "fields": { + "bridge": { + "name": "Bridge", + "description": "The server to talk to." + }, + "url": { + "name": "URL", + "description": "URL to open." + } + } + }, + "send_keypress": { + "name": "Send keyboard keypress", + "description": "Sends a keyboard keypress.", + "fields": { + "bridge": { + "name": "Bridge", + "description": "The server to send the command to." + }, + "key": { + "name": "Key", + "description": "Key to press. List available here: http://robotjs.io/docs/syntax#keys." + } + } + }, + "send_text": { + "name": "Send keyboard text", + "description": "Sends text for the server to type.", + "fields": { + "bridge": { + "name": "Bridge", + "description": "The server to send the command to." + }, + "text": { + "name": "Text", + "description": "Text to type." + } + } + } } }