From 1160a5f2390354ed2b61f35c20612e526db76408 Mon Sep 17 00:00:00 2001 From: tkdrob Date: Fri, 14 May 2021 14:34:59 -0400 Subject: [PATCH] Add targets and selectors for services (I-K) (#50542) Co-authored-by: Franck Nijhof --- homeassistant/components/icloud/services.yaml | 3 + homeassistant/components/ifttt/services.yaml | 25 ++- homeassistant/components/ihc/services.yaml | 83 ++++++++- .../components/image_processing/services.yaml | 1 + .../components/input_boolean/services.yaml | 4 + .../components/insteon/services.yaml | 122 ++++++++++++ homeassistant/components/iperf3/services.yaml | 5 + homeassistant/components/isy994/services.yaml | 175 +++++++++++++++--- homeassistant/components/keba/services.yaml | 43 ++++- homeassistant/components/kef/services.yaml | 157 ++++++++++++---- .../components/keyboard/services.yaml | 6 + homeassistant/components/knx/services.yaml | 10 +- homeassistant/components/kodi/services.yaml | 33 +++- 13 files changed, 582 insertions(+), 85 deletions(-) diff --git a/homeassistant/components/icloud/services.yaml b/homeassistant/components/icloud/services.yaml index 7a6559d383d..60410701da0 100644 --- a/homeassistant/components/icloud/services.yaml +++ b/homeassistant/components/icloud/services.yaml @@ -1,4 +1,5 @@ update: + name: Update description: Update iCloud devices. fields: account: @@ -10,6 +11,7 @@ update: text: play_sound: + name: Play sound description: Play sound on an Apple device. fields: account: @@ -28,6 +30,7 @@ play_sound: text: display_message: + name: Display message description: Display a message on an Apple device. fields: account: diff --git a/homeassistant/components/ifttt/services.yaml b/homeassistant/components/ifttt/services.yaml index 80bf72e5290..e81faca1acd 100644 --- a/homeassistant/components/ifttt/services.yaml +++ b/homeassistant/components/ifttt/services.yaml @@ -1,27 +1,50 @@ # Describes the format for available ifttt services push_alarm_state: + name: Push alarm state description: Update the alarm state to the specified value. fields: entity_id: description: Name of the alarm control panel which state has to be updated. + required: true example: "alarm_control_panel.downstairs" + selector: + entity: + domain: alarm_control_panel state: + name: State description: The state to which the alarm control panel has to be set. + required: true example: "armed_night" + selector: + text: trigger: + name: Trigger description: Triggers the configured IFTTT Webhook. fields: event: - description: The name of the event to sent. + name: Event + description: The name of the event to send. + required: true example: "MY_HA_EVENT" + selector: + text: value1: + name: Value 1 description: Generic field to send data via the event. example: "Hello World" + selector: + text: value2: + name: Value 2 description: Generic field to send data via the event. example: "some additional data" + selector: + text: value3: + name: Value 3 description: Generic field to send data via the event. example: "even more data" + selector: + text: diff --git a/homeassistant/components/ihc/services.yaml b/homeassistant/components/ihc/services.yaml index a65d5f5b78c..06ef0930e97 100644 --- a/homeassistant/components/ihc/services.yaml +++ b/homeassistant/components/ihc/services.yaml @@ -1,58 +1,133 @@ # Describes the format for available IHC services set_runtime_value_bool: + name: Set runtime value boolean description: Set a boolean runtime value on the IHC controller. fields: controller_id: + name: Controller ID description: | If you have multiple controller, this is the index of you controller - starting with 0 (0 is default) + starting with 0 example: 0 + default: 0 + selector: + number: + min: 0 + max: 100 ihc_id: + name: IHC ID description: The integer IHC resource ID. + required: true example: 123456 + selector: + number: + min: 0 + max: 1000000 + mode: box value: + name: Value description: The boolean value to set. + required: true example: true + selector: + boolean: set_runtime_value_int: + name: Set runtime value integer description: Set an integer runtime value on the IHC controller. fields: controller_id: + name: Controller ID description: | If you have multiple controller, this is the index of you controller - starting with 0 (0 is default) + starting with 0 example: 0 + default: 0 + selector: + number: + min: 0 + max: 100 ihc_id: + name: IHC ID description: The integer IHC resource ID. + required: true example: 123456 + selector: + number: + min: 0 + max: 1000000 + mode: box value: + name: Value description: The integer value to set. + required: true example: 50 + selector: + number: + min: 0 + max: 1000000 + mode: box set_runtime_value_float: + name: Set runtime value float description: Set a float runtime value on the IHC controller. fields: controller_id: + name: Controller ID description: | If you have multiple controller, this is the index of you controller - starting with 0 (0 is default) + starting with 0 example: 0 + default: 0 + selector: + number: + min: 0 + max: 100 ihc_id: + name: IHC ID description: The integer IHC resource ID. + required: true example: 123456 + selector: + number: + min: 0 + max: 1000000 + mode: box value: + name: Value description: The float value to set. + required: true example: 1.47 + selector: + number: + min: 0 + max: 10000 + step: 0.01 + mode: box pulse: + name: Pulse description: Pulses an input on the IHC controller. fields: controller_id: + name: Controller ID description: | If you have multiple controller, this is the index of you controller - starting with 0 (0 is default) + starting with 0 example: 0 + default: 0 + selector: + number: + min: 0 + max: 100 ihc_id: + name: IHC ID description: The integer IHC resource ID. + required: true example: 123456 + selector: + number: + min: 0 + max: 1000000 + mode: box diff --git a/homeassistant/components/image_processing/services.yaml b/homeassistant/components/image_processing/services.yaml index cd074acd9f4..ed4be6047e0 100644 --- a/homeassistant/components/image_processing/services.yaml +++ b/homeassistant/components/image_processing/services.yaml @@ -1,5 +1,6 @@ # Describes the format for available image processing services scan: + name: Scan description: Process an image immediately target: diff --git a/homeassistant/components/input_boolean/services.yaml b/homeassistant/components/input_boolean/services.yaml index 8cefe2b4974..68287cc3ff5 100644 --- a/homeassistant/components/input_boolean/services.yaml +++ b/homeassistant/components/input_boolean/services.yaml @@ -1,14 +1,18 @@ toggle: + name: Toggle description: Toggle an input boolean target: turn_off: + name: Turn off description: Turn off an input boolean target: turn_on: + name: Turn on description: Turn on an input boolean target: reload: + name: Reload description: Reload the input_boolean configuration diff --git a/homeassistant/components/insteon/services.yaml b/homeassistant/components/insteon/services.yaml index 716b9a1e040..b2f8467475e 100644 --- a/homeassistant/components/insteon/services.yaml +++ b/homeassistant/components/insteon/services.yaml @@ -1,68 +1,190 @@ add_all_link: + name: Add all link description: Tells the Insteom Modem (IM) start All-Linking mode. Once the the IM is in All-Linking mode, press the link button on the device to complete All-Linking. fields: group: + name: Group description: All-Link group number. + required: true example: 1 + selector: + number: + min: 0 + max: 255 mode: + name: Mode description: Linking mode controller - IM is controller responder - IM is responder + required: true example: "controller" + selector: + select: + options: + - 'controller' + - 'responder' delete_all_link: + name: Delete all link description: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the link button on the corresponding device to complete the process. fields: group: + name: Group description: All-Link group number. + required: true example: 1 + selector: + number: + min: 0 + max: 255 load_all_link_database: + name: Load all link database description: Load the All-Link Database for a device. WARNING - Loading a device All-LInk database is very time consuming and inconsistent. This may take a LONG time and may need to be repeated to obtain all records. fields: entity_id: + name: Entity description: Name of the device to load. Use "all" to load the database of all devices. + required: true example: "light.1a2b3c" + selector: + text: reload: + name: Reload description: Reload all records. If true the current records are cleared from memory (does not effect the device) and the records are reloaded. If false the existing records are left in place and only missing records are added. Default is false. example: "true" + default: false + selector: + boolean: print_all_link_database: + name: Print all link database description: Print the All-Link Database for a device. Requires that the All-Link Database is loaded into memory. fields: entity_id: + name: Entity description: Name of the device to print + required: true example: "light.1a2b3c" + selector: + entity: + integration: insteon print_im_all_link_database: + name: Print IM all link database description: Print the All-Link Database for the INSTEON Modem (IM). x10_all_units_off: + name: X10 all units off description: Send X10 All Units Off command fields: housecode: + name: Housecode description: X10 house code + required: true example: c + selector: + select: + options: + - 'a' + - 'b' + - 'c' + - 'd' + - 'e' + - 'f' + - 'g' + - 'h' + - 'i' + - 'j' + - 'k' + - 'l' + - 'm' + - 'n' + - 'o' + - 'p' x10_all_lights_on: + name: X10 all lights on description: Send X10 All Lights On command fields: housecode: + name: Housecode description: X10 house code + required: true example: c + selector: + select: + options: + - 'a' + - 'b' + - 'c' + - 'd' + - 'e' + - 'f' + - 'g' + - 'h' + - 'i' + - 'j' + - 'k' + - 'l' + - 'm' + - 'n' + - 'o' + - 'p' x10_all_lights_off: + name: X10 all lights off description: Send X10 All Lights Off command fields: housecode: + name: Housecode description: X10 house code + required: true example: c + selector: + select: + options: + - 'a' + - 'b' + - 'c' + - 'd' + - 'e' + - 'f' + - 'g' + - 'h' + - 'i' + - 'j' + - 'k' + - 'l' + - 'm' + - 'n' + - 'o' + - 'p' scene_on: + name: Scene on description: Trigger an INSTEON scene to turn ON. fields: group: + name: Group description: INSTEON group or scene number + required: true example: 26 + selector: + number: + min: 0 + max: 255 scene_off: + name: Scene off description: Trigger an INSTEON scene to turn OFF. fields: group: + name: Group description: INSTEON group or scene number + required: true example: 26 + selector: + number: + min: 0 + max: 255 add_default_links: + name: Add default links description: Add the default links between the device and the Insteon Modem (IM) fields: entity_id: + name: Entity description: Name of the device to load. Use "all" to load the database of all devices. + required: true example: "light.1a2b3c" + selector: + text: diff --git a/homeassistant/components/iperf3/services.yaml b/homeassistant/components/iperf3/services.yaml index aaa88c2341c..ba0fdb89712 100644 --- a/homeassistant/components/iperf3/services.yaml +++ b/homeassistant/components/iperf3/services.yaml @@ -1,6 +1,11 @@ speedtest: + name: Speedtest description: Immediately execute a speed test with iperf3 fields: host: + name: Host description: The host name of the iperf3 server (already configured) to run a test with. example: "iperf.he.net" + default: None + selector: + text: diff --git a/homeassistant/components/isy994/services.yaml b/homeassistant/components/isy994/services.yaml index 04fc04083d5..94d5a3cd89d 100644 --- a/homeassistant/components/isy994/services.yaml +++ b/homeassistant/components/isy994/services.yaml @@ -4,112 +4,231 @@ # flooding the ISY with requests. To control multiple devices with a service call # the recommendation is to add a scene in the ISY and control that scene. send_raw_node_command: + name: Send raw node command description: Send a "raw" ISY REST Device Command to a Node using its Home Assistant Entity ID. + target: + entity: + integration: isy994 fields: - entity_id: - description: Name of an entity to send command. - example: "light.front_door" command: + name: Command description: The ISY REST Command to be sent to the device + required: true example: "DON" + selector: + text: value: - description: (Optional) The integer value to be sent with the command. + name: Value + description: The integer value to be sent with the command. example: 255 + selector: + number: + min: 0 + max: 255 parameters: - description: (Optional) A dict of parameters to be sent in the query string (e.g. for controlling colored bulbs). + name: Parameters + description: A dict of parameters to be sent in the query string (e.g. for controlling colored bulbs). example: { GV2: 0, GV3: 0, GV4: 255 } + default: {} + selector: + object: unit_of_measurement: - description: (Optional) The ISY Unit of Measurement (UOM) to send with the command, if required. + name: Unit of measurement + description: The ISY Unit of Measurement (UOM) to send with the command, if required. example: 67 + selector: + number: + min: 0 + max: 120 send_node_command: + name: Send node command description: >- Send a command to an ISY Device using its Home Assistant entity ID. Valid commands are: beep, brighten, dim, disable, enable, fade_down, fade_stop, fade_up, fast_off, fast_on, and query. + target: + entity: + integration: isy994 fields: - entity_id: - description: Name of an entity to send command. - example: "light.front_door" command: + name: Command description: The command to be sent to the device. + required: true example: "fast_on" + selector: + select: + options: + - 'beep' + - 'brighten' + - 'dim' + - 'disable' + - 'enable' + - 'fade_down' + - 'fade_stop' + - 'fade_up' + - 'fast_off' + - 'fast_on' + - 'query' set_on_level: + name: Set on level description: Send a ISY set_on_level command to a Node. + target: + entity: + integration: isy994 + domain: light fields: - entity_id: - description: Name of an entity to send command. - example: "light.front_door" value: - description: integer value to set (0-255). + name: Value + description: integer value to set. + required: true example: 255 + selector: + number: + min: 0 + max: 255 set_ramp_rate: + name: Set ramp rate description: Send a ISY set_ramp_rate command to a Node. + target: + entity: + integration: isy994 + domain: light fields: - entity_id: - description: Name of an entity to send command. - example: "light.front_door" value: - description: Integer value to set (0-31), see PyISY/ISY documentation for values to actual ramp times. + name: Value + description: Integer value to set, see PyISY/ISY documentation for values to actual ramp times. + required: true example: 30 + selector: + number: + min: 0 + max: 31 system_query: + name: System query description: Request the ISY Query the connected devices. fields: address: - description: (Optional) ISY Address to Query. Omitting this requests a system-wide scan (typically scheduled once per day). + name: Address + description: ISY Address to Query. Omitting this requests a system-wide scan (typically scheduled once per day). example: "1A 2B 3C 1" + selector: + text: isy: - description: (Optional) If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). Omitting this will cause all ISYs to be queried. + name: ISY + description: If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). Omitting this will cause all ISYs to be queried. example: "ISY" + selector: + text: set_variable: + name: Set variable description: Set an ISY variable's current or initial value. Variables can be set by either type/address or by name. fields: address: + name: Address description: The address of the variable for which to set the value. example: 5 + selector: + number: + min: 0 + max: 255 type: + name: Type description: The variable type, 1 = Integer, 2 = State. example: 2 + selector: + number: + min: 1 + max: 2 name: - description: (Optional) The name of the variable to set (use instead of type/address). + name: Name + description: The name of the variable to set (use instead of type/address). example: "my_variable_name" + selector: + text: init: - description: (Optional) If True, the initial (init) value will be updated instead of the current value. + name: Init + description: If True, the initial (init) value will be updated instead of the current value. example: false + default: false + selector: + boolean: value: + name: Value description: The integer value to be sent. + required: true example: 255 + selector: + number: + min: 0 + max: 255 isy: - description: (Optional) If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same variable name or address on multiple ISYs, omitting this will run the command on them all. + name: ISY + description: If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same variable name or address on multiple ISYs, omitting this will run the command on them all. example: "ISY" + selector: + text: send_program_command: + name: Send program command description: >- Send a command to control an ISY program or folder. Valid commands are run, run_then, run_else, stop, enable, disable, enable_run_at_startup, and disable_run_at_startup. fields: address: - description: The address of the program to control (optional, use either address or name). + name: Address + description: The address of the program to control (use either address or name). example: "04B1" name: - description: The name of the program to control (optional, use either address or name). + name: Name + description: The name of the program to control (use either address or name). example: "My Program" command: + name: Command description: The ISY Program Command to be sent. + required: true example: "run" + selector: + select: + options: + - 'disable' + - 'disable_run_at_startup' + - 'enable' + - 'enable_run_at_startup' + - 'run' + - 'run_else' + - 'run_then' + - 'stop' isy: - description: (Optional) If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same program name or address on multiple ISYs, omitting this will run the command on them all. + name: ISY + description: If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same program name or address on multiple ISYs, omitting this will run the command on them all. example: "ISY" + selector: + text: run_network_resource: + name: Run network resource description: Run a network resource on the ISY. fields: address: - description: The address of the network resource to execute (optional, use either address or name). + name: Address + description: The address of the network resource to execute (use either address or name). example: 121 + selector: + number: + min: 0 + max: 255 name: - description: The name of the network resource to execute (optional, use either address or name). + name: Name + description: The name of the network resource to execute (use either address or name). example: "Network Resource 1" + selector: + text: isy: - description: (Optional) If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same resource name or address on multiple ISYs, omitting this will run the command on them all. + name: ISY + description: If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same resource name or address on multiple ISYs, omitting this will run the command on them all. example: "ISY" + selector: + text: reload: + name: Reload description: Reload the ISY994 connection(s) without restarting Home Assistant. Use to pick up new devices that have been added or changed on the ISY. cleanup_entities: + name: Cleanup entities description: Cleanup old entities and devices no longer used by the ISY994 integrations. Useful if you've removed devices from the ISY or changed the options in the configuration to exclude additional items. diff --git a/homeassistant/components/keba/services.yaml b/homeassistant/components/keba/services.yaml index 3422d6cf034..10e03f83b08 100644 --- a/homeassistant/components/keba/services.yaml +++ b/homeassistant/components/keba/services.yaml @@ -1,56 +1,97 @@ # Describes the format for available services for KEBA charging staitons request_data: + name: Request data description: > Request new data from the charging station. authorize: + name: Authorize description: > Authorizes a charging process with the predefined RFID tag of the configuration file. deauthorize: + name: Deauthorize description: > Deauthorizes the running charging process with the predefined RFID tag of the configuration file. set_energy: + name: Set energy description: Sets the energy target after which the charging process stops. fields: energy: + name: Energy description: > The energy target to stop charging in kWh. Setting 0 disables the limit. example: 10.0 + selector: + number: + min: 0 + max: 100 + step: 0.1 set_current: + name: Set current description: Sets the maximum current for charging processes. fields: current: + name: Current description: > The maximum current used for the charging process in A. Allowed are values between 6 A and 63 A. Invalid values are discardedand the default is set to 6 A. The value is also depending on the DIP-switchsettings and the used cable of the charging station example: 16 + selector: + number: + min: 0 + max: 100 + step: 0.1 + enable: + name: Enable description: > Starts a charging process if charging station is authorized. disable: + name: Disable description: > Stops the charging process if charging station is authorized. set_failsafe: + name: Set failsafe description: > Set the failsafe mode of the charging station. If all parameters are 0, the failsafe mode will be disabled. fields: failsafe_timeout: + name: Failsafe timeout description: > - Timeout in seconds after which the failsafe mode is triggered, if set_current was not executed during this time. + Timeout after which the failsafe mode is triggered, if set_current was not executed during this time. example: 30 + default: 30 + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds failsafe_fallback: + name: Failsafe fallback description: > Fallback current in A to be set after timeout. example: 6 + default: 6 + selector: + number: + min: 0 + max: 100 + step: 0.1 failsafe_persist: + name: Failsafe persist description: > If failsafe_persist is 0, the failsafe option is only until charging station reboot. If failsafe_persist is 1, the failsafe option will survive a reboot. example: 0 + default: 0 + selector: + number: + min: 0 + max: 1 diff --git a/homeassistant/components/kef/services.yaml b/homeassistant/components/kef/services.yaml index 2226d3b6c2d..6822c41dbc1 100644 --- a/homeassistant/components/kef/services.yaml +++ b/homeassistant/components/kef/services.yaml @@ -1,97 +1,174 @@ update_dsp: + name: Update DSP description: Update all DSP settings. - fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx + target: + entity: + integration: kef + domain: media_player set_mode: + name: Set mode description: Set the mode of the speaker. + target: + entity: + integration: kef + domain: media_player + fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx desk_mode: - description: > - "Desk mode" (true or false) + name: Desk mode + description: Desk mode. example: true + selector: + boolean: wall_mode: - description: > - "Wall mode" (true or false) + name: Wall mode + description: Wall mode. example: true + selector: + boolean: phase_correction: - description: > - "Phase correction" (true or false) + name: Phase correction + description: Phase correction. example: true + selector: + boolean: high_pass: - description: > - "High-pass mode" (true or false) + name: High pass + description: High-pass mode". example: true + selector: + boolean: sub_polarity: - description: > - "Sub polarity" ("-" or "+") + name: Subwoofer polarity + description: Sub polarity. example: "+" + selector: + select: + options: + - '-' + - '+' bass_extension: - description: > - "Bass extension" selector ("Less", "Standard", or "Extra") + name: Base extension + description: Bass extension. example: "Extra" + selector: + select: + options: + - 'Less' + - 'Standard' + - 'Extra' set_desk_db: + name: Set desk dB description: Set the "Desk mode" slider of the speaker in dB. fields: entity_id: + name: Entity description: The entity_id of the KEF speaker. example: media_player.kef_lsx db_value: - description: Value of the slider (-6 to 0 with steps of 0.5) + name: dB value + description: Value of the slider example: 0.0 + selector: + number: + min: -6 + max: 0 + step: 0.5 + unit_of_measurement: dB set_wall_db: + name: Set wall dB description: Set the "Wall mode" slider of the speaker in dB. + target: + entity: + integration: kef + domain: media_player fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx db_value: - description: Value of the slider (-6 to 0 with steps of 0.5) + name: dB value + description: Value of the slider. example: 0.0 + selector: + number: + min: -6 + max: 0 + step: 0.5 + unit_of_measurement: dB set_treble_db: + name: Set treble dB description: Set desk the "Treble trim" slider of the speaker in dB. + target: + entity: + integration: kef + domain: media_player fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx db_value: - description: Value of the slider (-2 to 2 with steps of 0.5) + name: dB value + description: Value of the slider. example: 0.0 + selector: + number: + min: -2 + max: 2 + step: 0.5 + unit_of_measurement: dB set_high_hz: + name: Set high hertz description: Set the "High-pass mode" slider of the speaker in Hz. + target: + entity: + integration: kef + domain: media_player fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx hz_value: - description: Value of the slider (50 to 120 with steps of 5) + name: Hertz value + description: Value of the slider. example: 95 + selector: + number: + min: 50 + max: 120 + step: 5 + unit_of_measurement: Hz set_low_hz: + name: Set low Hertz description: Set the "Sub out low-pass frequency" slider of the speaker in Hz. + target: + entity: + integration: kef + domain: media_player fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx hz_value: - description: Value of the slider (40 to 250 with steps of 5) + name: Hertz value + description: Value of the slider. example: 80 + selector: + number: + min: 40 + max: 250 + step: 5 + unit_of_measurement: Hz set_sub_db: + name: Set subwoofer dB description: Set the "Sub gain" slider of the speaker in dB. + target: + entity: + integration: kef + domain: media_player fields: - entity_id: - description: The entity_id of the KEF speaker. - example: media_player.kef_lsx db_value: - description: Value of the slider (-10 to 10 with steps of 1) + name: dB value + description: Value of the slider. example: 0 + selector: + number: + min: -10 + max: 10 + step: 1 + unit_of_measurement: dB diff --git a/homeassistant/components/keyboard/services.yaml b/homeassistant/components/keyboard/services.yaml index d0919d59514..07f02959c39 100644 --- a/homeassistant/components/keyboard/services.yaml +++ b/homeassistant/components/keyboard/services.yaml @@ -1,29 +1,35 @@ volume_up: + name: Volume up description: Simulates a key press of the "Volume Up" button on Home Assistant's host machine volume_down: + name: Volume down description: Simulates a key press of the "Volume Down" button on Home Assistant's host machine volume_mute: + name: Volume mute description: Simulates a key press of the "Volume Mute" button on Home Assistant's host machine media_play_pause: + name: Media play/pause description: Simulates a key press of the "Media Play/Pause" button on Home Assistant's host machine media_next_track: + name: Media next track description: Simulates a key press of the "Media Next Track" button on Home Assistant's host machine media_prev_track: + name: Media previous track description: Simulates a key press of the "Media Previous Track" button on Home Assistant's host machine diff --git a/homeassistant/components/knx/services.yaml b/homeassistant/components/knx/services.yaml index c13abb23d94..6090057feca 100644 --- a/homeassistant/components/knx/services.yaml +++ b/homeassistant/components/knx/services.yaml @@ -18,7 +18,7 @@ send: object: type: name: "Value type" - description: "Optional. If set, the payload will not be sent as raw bytes, but encoded as given DPT. Knx sensor types are valid values (see https://www.home-assistant.io/integrations/sensor.knx)." + description: "If set, the payload will not be sent as raw bytes, but encoded as given DPT. Knx sensor types are valid values (see https://www.home-assistant.io/integrations/sensor.knx)." required: false example: "temperature" selector: @@ -47,7 +47,7 @@ event_register: object: remove: name: "Remove event registration" - description: "Optional. If `True` the group address(es) will be removed." + description: "If `True` the group address(es) will be removed." default: false selector: boolean: @@ -78,19 +78,19 @@ exposure_register: entity: attribute: name: "Entity attribute" - description: "Optional. Attribute of the entity that shall be sent to the KNX bus. If not set the state will be sent. Eg. for a light the state is eigther “on” or “off” - with attribute you can expose its “brightness”." + description: "Attribute of the entity that shall be sent to the KNX bus. If not set the state will be sent. Eg. for a light the state is eigther “on” or “off” - with attribute you can expose its “brightness”." example: "brightness" selector: text: default: name: "Default value" - description: "Optional. Default value to send to the bus if the state or attribute value is None. Eg. a light with state “off” has no brightness attribute so a default value of 0 could be used. If not set (or None) no value would be sent to the bus and a GroupReadRequest to the address would return the last known value." + description: "Default value to send to the bus if the state or attribute value is None. Eg. a light with state “off” has no brightness attribute so a default value of 0 could be used. If not set (or None) no value would be sent to the bus and a GroupReadRequest to the address would return the last known value." example: "0" selector: object: remove: name: "Remove exposure" - description: "Optional. If `True` the exposure will be removed. Only `address` is required for removal." + description: "If `True` the exposure will be removed. Only `address` is required for removal." default: false selector: boolean: diff --git a/homeassistant/components/kodi/services.yaml b/homeassistant/components/kodi/services.yaml index 11287217fa8..cf6cdfc240d 100644 --- a/homeassistant/components/kodi/services.yaml +++ b/homeassistant/components/kodi/services.yaml @@ -1,30 +1,51 @@ # Describes the format for available Kodi services add_to_playlist: + name: Add to playlist description: Add music to the default playlist (i.e. playlistid=0). + target: + entity: + integration: kodi + domain: media_player fields: - entity_id: - description: Name(s) of the Kodi entities where to add the media. - example: "media_player.living_room_kodi" media_type: + name: Media type description: Media type identifier. It must be one of SONG or ALBUM. + required: true example: ALBUM + selector: + text: media_id: + name: Media ID description: Unique Id of the media entry to add (`songid` or albumid`). If not defined, `media_name` and `artist_name` are needed to search the Kodi music library. example: 123456 + selector: + text: media_name: + name: Media Name description: Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist. example: "Highway to Hell" + selector: + text: artist_name: + name: Artist name description: Optional artist name for filtering media. example: "AC/DC" + selector: + text: call_method: + name: Call method description: "Call a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`." + target: + entity: + integration: kodi + domain: media_player fields: - entity_id: - description: Name(s) of the Kodi entities where to run the API method. - example: "media_player.living_room_kodi" method: + name: Method description: Name of the Kodi JSONRPC API method to be called. + required: true example: "VideoLibrary.GetRecentlyAddedEpisodes" + selector: + text: