Migrate integration services (Q-S) to support translations (#96378)

This commit is contained in:
Franck Nijhof 2023-07-12 01:18:22 +02:00 committed by GitHub
parent c6b36b6db4
commit 62fe4957c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
68 changed files with 1380 additions and 568 deletions

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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: >-
[
{

View file

@ -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."
}
}
}
}
}

View file

@ -1,3 +1 @@
reload:
name: Reload
description: Reload all rest entities and notify services

View file

@ -0,0 +1,8 @@
{
"services": {
"reload": {
"name": "Reload",
"description": "Reloads REST entities from the YAML-configuration."
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -1,3 +1 @@
update:
name: Update
description: Updates the data we have for all your ring devices

View file

@ -64,5 +64,11 @@
"name": "[%key:component::siren::title%]"
}
}
},
"services": {
"update": {
"name": "Update",
"description": "Updates the data we have for all your ring devices."
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -1,3 +1 @@
update_records:
name: Update records
description: Trigger update of records.

View file

@ -0,0 +1,8 @@
{
"services": {
"update_records": {
"name": "Update records",
"description": "Triggers update of records."
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -1,3 +1 @@
reload:
name: Reload
description: Reload smtp notify services.

View file

@ -0,0 +1,8 @@
{
"services": {
"reload": {
"name": "Reload",
"description": "Reloads smtp notify services."
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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

View file

@ -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."
}
}
}

View file

@ -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

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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'."
}
}
}
}
}

View file

@ -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:

View file

@ -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)."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}

View file

@ -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:

View file

@ -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."
}
}
}
}
}