diff --git a/homeassistant/components/sabnzbd/services.yaml b/homeassistant/components/sabnzbd/services.yaml index 654cb50fa1e..38f68bfe5dd 100644 --- a/homeassistant/components/sabnzbd/services.yaml +++ b/homeassistant/components/sabnzbd/services.yaml @@ -1,11 +1,17 @@ pause: + name: Pause description: Pauses downloads. resume: + name: Resume description: Resumes downloads. set_speed: + name: Set speed description: Sets the download speed limit. fields: 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: + text: diff --git a/homeassistant/components/sensibo/services.yaml b/homeassistant/components/sensibo/services.yaml index f981ef7fd32..23a53313dc5 100644 --- a/homeassistant/components/sensibo/services.yaml +++ b/homeassistant/components/sensibo/services.yaml @@ -1,9 +1,19 @@ assume_state: + name: Assume state description: Set Sensibo device to external state. fields: entity_id: + name: Entity description: Name(s) of entities to change. example: "climate.kitchen" + selector: + entity: + integration: sensibo + domain: climate state: + name: State description: State to set. + required: true example: "idle" + selector: + text: diff --git a/homeassistant/components/shopping_list/services.yaml b/homeassistant/components/shopping_list/services.yaml index 73540210232..9f5437701ed 100644 --- a/homeassistant/components/shopping_list/services.yaml +++ b/homeassistant/components/shopping_list/services.yaml @@ -23,14 +23,20 @@ complete_item: text: incomplete_item: + name: Incomplete item description: Marks an item 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 call description: Marks all items as completed in the shopping list. It does not remove the items. incomplete_all: + name: Incomplete all description: Marks all items as incomplete in the shopping list. diff --git a/homeassistant/components/simplisafe/services.yaml b/homeassistant/components/simplisafe/services.yaml index e52af4f2665..865ba4c8b2c 100644 --- a/homeassistant/components/simplisafe/services.yaml +++ b/homeassistant/components/simplisafe/services.yaml @@ -1,52 +1,128 @@ # Describes the format for available SimpliSafe services remove_pin: + name: Remove PIN description: Remove a PIN by its label or value. fields: system_id: + name: System ID description: The SimpliSafe system ID to affect. + required: true example: 123987 + selector: + text: 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: system_id: + name: System ID description: The SimpliSafe system ID to affect + required: true example: 123987 + selector: + text: 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: alarm_duration: + name: Alarm duration description: The length of a triggered alarm example: 300 + selector: + number: + min: 30 + max: 480 + unit_of_measurement: seconds alarm_volume: + name: Alarm volume description: The volume level of a triggered alarm example: 2 + selector: + select: + options: + - 'low' + - 'medium' + - 'high' + - 'off' chime_volume: + name: Chime volume description: The volume level of the door chime example: 2 + selector: + select: + options: + - 'low' + - 'medium' + - 'high' + - 'off' entry_delay_away: + name: Entry delay away description: How long to delay when entering while "away" example: 45 + selector: + number: + min: 30 + max: 255 entry_delay_home: + name: Entry delay home description: How long to delay when entering while "home" example: 45 + selector: + number: + min: 0 + max: 255 exit_delay_away: + name: Exit delay away description: How long to delay when exiting while "away" example: 45 + selector: + number: + min: 45 + max: 255 exit_delay_home: + name: Exit delay home description: How long to delay when exiting while "home" example: 45 + selector: + number: + min: 0 + max: 255 light: + name: Light description: Whether the armed light should be visible example: true + selector: + boolean: voice_prompt_volume: + name: Voice prompt volume description: The volume level of the voice prompt example: 2 + selector: + select: + options: + - 'low' + - 'medium' + - 'high' + - 'off' diff --git a/homeassistant/components/smtp/services.yaml b/homeassistant/components/smtp/services.yaml index 77ff7d22adf..c4380a4fc62 100644 --- a/homeassistant/components/smtp/services.yaml +++ b/homeassistant/components/smtp/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload smtp notify services. diff --git a/homeassistant/components/snapcast/services.yaml b/homeassistant/components/snapcast/services.yaml index 3b83aa3774d..79839c33df2 100644 --- a/homeassistant/components/snapcast/services.yaml +++ b/homeassistant/components/snapcast/services.yaml @@ -1,39 +1,63 @@ join: + name: Join description: Group players together. fields: master: + name: Master description: Entity ID of the player to synchronize to. + required: true example: "media_player.living_room" + selector: + entity: + integration: snapcast + domain: media_player entity_id: - description: Entity ID of the players to join to the "master". - example: "media_player.bedroom" + name: Entity + description: The players to join to the "master". + selector: + target: + entity: + integration: snapcast + domain: media_player unjoin: + name: Unjoin description: Unjoin the player from a group. - fields: - entity_id: - description: Entity ID of the player to unjoin. - example: "media_player.living_room" + target: + entity: + integration: snapcast + domain: media_player snapshot: + name: Snapshot description: Take a snapshot of the media player. - fields: - entity_id: - description: Name(s) of entities that will be snapshotted. Platform dependent. - example: "media_player.living_room" + target: + entity: + integration: snapcast + domain: media_player restore: + name: Restore description: Restore a snapshot of the media player. - fields: - entity_id: - description: Name(s) of entities that will be restored. Platform dependent. - example: "media_player.living_room" + 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: - entity_id: - description: Name of entities that will have adjusted latency latency: + name: Latency description: Latency in master + required: true example: 14 + selector: + number: + min: 1 + max: 1000 diff --git a/homeassistant/components/snips/services.yaml b/homeassistant/components/snips/services.yaml index f06b94b9eaa..f4a36b6e781 100644 --- a/homeassistant/components/snips/services.yaml +++ b/homeassistant/components/snips/services.yaml @@ -1,42 +1,85 @@ feedback_off: + name: Feedback off description: Turns feedback sounds off. fields: site_id: - description: Site to turn sounds on, defaults to all sites (optional) + 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: - description: Site to turn sounds on, defaults to all sites (optional) + 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: - description: Site to use to start session, defaults to default (optional) + 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 example: true + 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: - description: Site to use to start session, defaults to default (optional) + 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: diff --git a/homeassistant/components/songpal/services.yaml b/homeassistant/components/songpal/services.yaml index e08ae2098fe..93485ce4788 100644 --- a/homeassistant/components/songpal/services.yaml +++ b/homeassistant/components/songpal/services.yaml @@ -1,13 +1,22 @@ set_sound_setting: + name: Set sound setting description: Change sound setting. - + target: + entity: + integration: songpal + domain: media_player fields: - entity_id: - description: Target device. - example: "media_player.my_soundbar" 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: + text: diff --git a/homeassistant/components/soundtouch/services.yaml b/homeassistant/components/soundtouch/services.yaml index 79fd1d41665..0de37c6daa2 100644 --- a/homeassistant/components/soundtouch/services.yaml +++ b/homeassistant/components/soundtouch/services.yaml @@ -1,36 +1,78 @@ 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 - example: "media_player.soundtouch_home" + required: true + selector: + entity: + integration: soundtouch + domain: media_player create_zone: - description: Create a Sountouch multi-room 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. - example: "media_player.soundtouch_home" + required: true + selector: + entity: + integration: soundtouch + domain: media_player slaves: + name: Slaves description: Name of slaves entities to add to the new zone. - example: "media_player.soundtouch_bedroom" + required: true + selector: + target: + entity: + integration: soundtouch + domain: media_player add_zone_slave: - description: Add a slave to a Sountouch multi-room zone. + 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. - example: "media_player.soundtouch_home" + required: true + selector: + entity: + integration: soundtouch + domain: media_player slaves: + name: Slaves description: Name of slaves entities to add to the existing zone. - example: "media_player.soundtouch_bedroom" + required: true + selector: + target: + entity: + integration: soundtouch + domain: media_player remove_zone_slave: - description: Remove a slave from the Sounttouch multi-room zone. + 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. - example: "media_player.soundtouch_home" + required: true + selector: + entity: + integration: soundtouch + domain: media_player slaves: + name: Slaves description: Name of slaves entities to remove from the existing zone. - example: "media_player.soundtouch_bedroom" + required: true + selector: + target: + entity: + integration: soundtouch + domain: media_player diff --git a/homeassistant/components/speedtestdotnet/services.yaml b/homeassistant/components/speedtestdotnet/services.yaml index 489261ba77a..fdc6be746f8 100644 --- a/homeassistant/components/speedtestdotnet/services.yaml +++ b/homeassistant/components/speedtestdotnet/services.yaml @@ -1,2 +1,3 @@ speedtest: + name: Speedtest description: Immediately execute a speed test with Speedtest.net diff --git a/homeassistant/components/squeezebox/services.yaml b/homeassistant/components/squeezebox/services.yaml index ef69ea67dbf..293b89fe35a 100644 --- a/homeassistant/components/squeezebox/services.yaml +++ b/homeassistant/components/squeezebox/services.yaml @@ -1,42 +1,70 @@ call_method: + name: Call method description: Call a custom Squeezebox JSONRPC API. + target: + entity: + integration: squeezebox + domain: media_player fields: - entity_id: - description: Name(s) of the Squeezebox entities where to run the API method. - example: "media_player.squeezebox_radio" 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: - entity_id: - description: Name(s) of the Squeezebox entities where to run the API method. - example: 'media_player.squeezebox_radio' 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: - entity_id: - description: Name of the Squeezebox entity where to run the API method. - example: "media_player.bedroom" 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. - fields: - entity_id: - description: Name of the Squeezebox entity to unsync. + target: + entity: + integration: squeezebox + domain: media_player diff --git a/homeassistant/components/starline/services.yaml b/homeassistant/components/starline/services.yaml index 4eab51b94d7..970010ffea0 100644 --- a/homeassistant/components/starline/services.yaml +++ b/homeassistant/components/starline/services.yaml @@ -1,17 +1,34 @@ 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: - description: Update frequency (in seconds). + name: Scan interval + description: Update frequency. example: 180 + selector: + number: + min: 10 + max: 86400 + step: 5 + unit_of_measurement: seconds set_scan_obd_interval: + name: Set scan OBD interval description: > Set OBD info update frequency. fields: scan_interval: - description: Update frequency (in seconds). + name: Scan interval + description: Update frequency. example: 10800 + selector: + number: + min: 180 + max: 86400 + step: 5 + unit_of_measurement: seconds diff --git a/homeassistant/components/statistics/services.yaml b/homeassistant/components/statistics/services.yaml index 608e2991334..8c2c8f8464a 100644 --- a/homeassistant/components/statistics/services.yaml +++ b/homeassistant/components/statistics/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all statistics entities. diff --git a/homeassistant/components/streamlabswater/services.yaml b/homeassistant/components/streamlabswater/services.yaml index 63ab2be9759..3a483fec264 100644 --- a/homeassistant/components/streamlabswater/services.yaml +++ b/homeassistant/components/streamlabswater/services.yaml @@ -1,6 +1,13 @@ 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 - example: "home" + required: true + selector: + select: + options: + - 'away' + - 'home' diff --git a/homeassistant/components/surepetcare/services.yaml b/homeassistant/components/surepetcare/services.yaml index 145256efe86..6542cfce188 100644 --- a/homeassistant/components/surepetcare/services.yaml +++ b/homeassistant/components/surepetcare/services.yaml @@ -1,9 +1,23 @@ 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: - description: New lock state - unlocked, locked_in, locked_out or locked_all + name: Lock state + description: New lock state. + required: true example: "unlocked" + selector: + select: + options: + - 'locked_all' + - 'locked_in' + - 'locked_out' + - 'unlocked' diff --git a/homeassistant/components/switch/services.yaml b/homeassistant/components/switch/services.yaml index de45995797f..64304fa22e5 100644 --- a/homeassistant/components/switch/services.yaml +++ b/homeassistant/components/switch/services.yaml @@ -1,13 +1,16 @@ # Describes the format for available switch services turn_on: + name: Turn on description: Turn a switch on target: turn_off: + name: Turn off description: Turn a switch off target: toggle: + name: Toggle description: Toggles a switch state target: diff --git a/homeassistant/components/switcher_kis/services.yaml b/homeassistant/components/switcher_kis/services.yaml index be812f8d7e1..eed3cac0268 100644 --- a/homeassistant/components/switcher_kis/services.yaml +++ b/homeassistant/components/switcher_kis/services.yaml @@ -1,19 +1,34 @@ set_auto_off: + name: Set auto off description: "Update Switcher device auto off setting." + target: + entity: + integration: switcher_kis + domain: switch fields: - entity_id: - description: "Name of the entity id associated with the integration, used for permission validation." - example: "switch.switcher_kis_boiler" 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 + domain: switch fields: - entity_id: - description: "Name of the entity id associated with the integration, used for permission validation." - example: "switch.switcher_kis_boiler" timer_minutes: - description: 'Minutes to turn on (valid range from 1 to 150)' + name: Timer + description: 'Time to turn on.' + required: true example: '30' + selector: + number: + min: 1 + max: 150 + unit_of_measurement: minutes diff --git a/homeassistant/components/tado/services.yaml b/homeassistant/components/tado/services.yaml index c9bba7c0ea8..f73eaa8a183 100644 --- a/homeassistant/components/tado/services.yaml +++ b/homeassistant/components/tado/services.yaml @@ -1,35 +1,74 @@ set_climate_timer: + name: Set climate timer description: Turn on climate entities for a set time. + target: + entity: + integration: tado + domain: climate fields: - entity_id: - description: Entity ID for the tado component to turn on for a set time. - example: climate.heating time_period: + name: Time period description: Set the time period for the boost. + required: true example: "01:30:00" + default: "01:00:00" + selector: + text: temperature: + name: Temperature description: Temperature to set climate entity to + required: true example: 25 + selector: + number: + min: 0 + max: 100 + step: 0.5 + unit_of_measurement: '°' set_water_heater_timer: + name: Set water heater timer description: Turn on water heater for a set time. + target: + entity: + integration: tado + domain: climate fields: - entity_id: - description: Entity ID for the tado component to turn on for a set time. - example: water_heater.hot_water time_period: + name: Time period description: Set the time period for the boost. + required: true example: "01:30:00" + default: "01:00:00" + selector: + text: temperature: + name: Temperature description: Temperature to set heater to example: 25 + selector: + number: + min: 0 + max: 100 + step: 0.5 + unit_of_measurement: '°' set_climate_temperature_offset: + name: Set climate temperature offset description: Set the temperature offset of climate entities + target: + entity: + integration: tado + domain: climate fields: - entity_id: - description: Entity ID for the tado component to set the temperature offset - example: climate.heating offset: - description: Offset you would like, can be to 2 decimal places (depending on your device) positive or negative + name: Offset + description: Offset you would like (depending on your device). example: -1.2 + default: 0 + selector: + number: + min: -10 + max: 10 + step: 0.01 + unit_of_measurement: '°' diff --git a/homeassistant/components/telegram/services.yaml b/homeassistant/components/telegram/services.yaml index c467de06fe5..bbdd82768f5 100644 --- a/homeassistant/components/telegram/services.yaml +++ b/homeassistant/components/telegram/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload telegram notify services. diff --git a/homeassistant/components/telegram_bot/services.yaml b/homeassistant/components/telegram_bot/services.yaml index 5e2b06564dd..de537aac5ad 100644 --- a/homeassistant/components/telegram_bot/services.yaml +++ b/homeassistant/components/telegram_bot/services.yaml @@ -1,389 +1,781 @@ # Describes the format for available Telegram bot services send_message: + name: Send message description: Send a notification. fields: message: + name: Message description: Message body of the notification. + required: true example: The garage door has been open for 10 minutes. + selector: + text: title: + name: Title description: Optional title for your notification. Will be composed as '%title\n%message' example: "Your Garage Door Friend" + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the notification to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." - example: "html" + name: Parse mode + description: "Parser for the message text." + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: disable_web_page_preview: + name: Disable web page preview description: Disables link previews for links in the message. - example: true + selector: + boolean: timeout: + name: Timeout description: Timeout for send message. Will help with timeout errors (poor internet connection, etc) example: "1000" keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. Empty list clears a previously set keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or ["Text button1:/button1, Text button2:/button2", "Text button3:/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_photo: + name: Send photo description: Send a photo. fields: url: + name: URL description: Remote path to an image. example: "http://example.org/path/to/the/image.png" + selector: + text: file: + name: File description: Local path to an image. example: "/path/to/the/image.png" + selector: + text: caption: + name: Caption description: The title of the image. example: "My image" + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." + name: Parse mode + description: "Parser for the message text." example: "html" + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. - example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc) example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_sticker: + name: Send sticker description: Send a sticker. fields: url: + name: URL description: Remote path to a static .webp or animated .tgs sticker. example: "http://example.org/path/to/the/sticker.webp" + selector: + text: file: + name: File description: Local path to a static .webp or animated .tgs sticker. example: "/path/to/the/sticker.webp" + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. - example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send sticker. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_animation: + name: Send animation description: Send an anmiation. fields: url: + name: URL description: Remote path to a GIF or H.264/MPEG-4 AVC video without sound. example: "http://example.org/path/to/the/animation.gif" + selector: + text: file: + name: File description: Local path to a GIF or H.264/MPEG-4 AVC video without sound. example: "/path/to/the/animation.gif" + selector: + text: caption: + name: Caption description: The title of the animation. example: "My animation" + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." - example: "html" + name: Parse Mode + description: "Parser for the message text." + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send sticker. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: send_video: + name: Send video description: Send a video. fields: url: + name: URL description: Remote path to a video. example: "http://example.org/path/to/the/video.mp4" + selector: + text: file: + name: File description: Local path to a video. example: "/path/to/the/video.mp4" + selector: + text: caption: + name: Caption description: The title of the video. example: "My video" + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." - example: "html" + name: Parse mode + description: "Parser for the message text." + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. - example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send video. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_voice: + name: Send voice description: Send a voice message. fields: url: + name: URL description: Remote path to a voice message. example: "http://example.org/path/to/the/voice.opus" + selector: + text: file: + name: File description: Local path to a voice message. example: "/path/to/the/voice.opus" + selector: + text: caption: + name: Caption description: The title of the voice message. example: "My microphone recording" + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. - example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send voice. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_document: + name: Send document description: Send a document. fields: url: + name: URL description: Remote path to a document. example: "http://example.org/path/to/the/document.odf" + selector: + text: file: + name: File description: Local path to a document. example: "/tmp/whatever.odf" + selector: + text: caption: + name: Caption description: The title of the document. example: Document Title xy + selector: + text: username: + name: Username description: Username for a URL which require HTTP basic authentication. example: myuser + selector: + text: password: + name: Password description: Password for a URL which require HTTP basic authentication. example: myuser_pwd + selector: + text: target: + name: Target description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." + name: Parse mode + description: "Parser for the message text." example: "html" + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: verify_ssl: + name: Verify SSL description: Enable or disable SSL certificate verification. Set to false if you're downloading the file from a URL and you don't want to validate the SSL certificate of the server. - example: false + selector: + boolean: timeout: + name: Timeout description: Timeout for send document. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: send_location: + name: Send location description: Send a location. fields: latitude: + name: Latitude description: The latitude to send. - example: -15.123 + required: true + selector: + number: + min: -90 + max: 90 + step: 0.001 + unit_of_measurement: '°' longitude: + name: Longitude description: The longitude to send. - example: 38.123 + required: true + selector: + number: + min: -180 + max: 180 + step: 0.001 + unit_of_measurement: '°' target: + name: Target description: An array of pre-authorized chat_ids to send the location to. If not present, first allowed chat_id is the default. example: "[12345, 67890] or 12345" + selector: + object: disable_notification: + name: Disable notification description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound. - example: true + selector: + boolean: timeout: + name: Timeout description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds keyboard: + name: Keyboard description: List of rows of commands, comma-separated, to make a custom keyboard. example: '["/command1, /command2", "/command3"]' + selector: + object: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: message_tag: + name: Message tag description: 'Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}' example: "msg_to_edit" + selector: + text: edit_message: + name: Edit message description: Edit a previously sent message. fields: message_id: + name: Message ID description: id of the message to edit. + required: true example: "{{ trigger.event.data.message.message_id }}" + selector: + text: chat_id: + name: Chat ID description: The chat_id where to edit the message. + required: true example: 12345 + selector: + text: message: + name: Message description: Message body of the notification. example: The garage door has been open for 10 minutes. + selector: + text: title: + name: Title description: Optional title for your notification. Will be composed as '%title\n%message' example: "Your Garage Door Friend" + selector: + text: parse_mode: - description: "Parser for the message text: `markdownv2`, `html` or `markdown`." + name: Parse mode + description: "Parser for the message text." example: "html" + selector: + select: + options: + - 'html' + - 'markdown' + - 'markdown2' disable_web_page_preview: + name: Disable web page preview description: Disables link previews for links in the message. - example: true + selector: + boolean: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: edit_caption: + name: Edit caption description: Edit the caption of a previously sent message. fields: message_id: + name: Message ID description: id of the message to edit. + required: true example: "{{ trigger.event.data.message.message_id }}" + selector: + text: chat_id: + name: Chat ID description: The chat_id where to edit the caption. + required: true example: 12345 + selector: + text: caption: + name: Caption description: Message body of the notification. + required: true example: The garage door has been open for 10 minutes. + selector: + text: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: edit_replymarkup: + name: Edit reply markup description: Edit the inline keyboard of a previously sent message. fields: message_id: + name: Message ID description: id of the message to edit. + required: true example: "{{ trigger.event.data.message.message_id }}" + selector: + text: chat_id: + name: Chat ID description: The chat_id where to edit the reply_markup. + required: true example: 12345 + selector: + text: inline_keyboard: + name: Inline keyboard description: List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. + required: true example: '["/button1, /button2", "/button3"] or [[["Text button1", "/button1"], ["Text button2", "/button2"]], [["Text button3", "/button3"]]]' + selector: + object: answer_callback_query: + name: Answer callback query description: Respond to a callback query originated by clicking on an online keyboard button. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. fields: message: + name: Message description: Unformatted text message body of the notification. + required: true example: "OK, I'm listening" + selector: + text: callback_query_id: + name: Callback query ID description: Unique id of the callback response. + required: true example: "{{ trigger.event.data.id }}" + selector: + text: show_alert: + name: Show alert description: Show a permanent notification. - example: true + required: true + selector: + boolean: timeout: + name: Timeout description: Timeout for sending the answer. Will help with timeout errors (poor internet connection, etc) - example: "1000" + selector: + number: + min: 1 + max: 3600 + unit_of_measurement: seconds delete_message: + name: Delete message description: Delete a previously sent message. fields: message_id: + name: Message ID description: id of the message to delete. + required: true example: "{{ trigger.event.data.message.message_id }}" + selector: + text: chat_id: + name: Chat ID description: The chat_id where to delete the message. + required: true example: 12345 + selector: + text: diff --git a/homeassistant/components/template/services.yaml b/homeassistant/components/template/services.yaml index d36111d608e..b6fa371e818 100644 --- a/homeassistant/components/template/services.yaml +++ b/homeassistant/components/template/services.yaml @@ -1,3 +1,4 @@ reload: + name: Reload description: Reload all template entities. diff --git a/homeassistant/components/todoist/services.yaml b/homeassistant/components/todoist/services.yaml index 88c057c1ef8..7f2ddd0091d 100644 --- a/homeassistant/components/todoist/services.yaml +++ b/homeassistant/components/todoist/services.yaml @@ -1,33 +1,96 @@ new_task: + name: New task description: Create a new task and add it to a project. fields: content: + name: Content description: The name of the task. + required: true example: Pick up the mail. + selector: + text: project: - description: The name of the project this task should belong to. Defaults to Inbox. + name: Project + description: The name of the project this task should belong to. example: Errands + default: Inbox + selector: + text: labels: + name: Labels description: Any labels that you want to apply to this task, separated by a comma. example: Chores,Delivieries + selector: + text: priority: + name: Priority description: The priority of this task, from 1 (normal) to 4 (urgent). example: 2 + selector: + number: + min: 1 + max: 4 due_date_string: + name: Dure date string description: The day this task is due, in natural language. example: Tomorrow + selector: + text: due_date_lang: + name: Due data language description: The language of due_date_string. - example: en + selector: + select: + options: + - 'da' + - 'de' + - 'en' + - 'es' + - 'fr' + - 'it' + - 'ja' + - 'ko' + - 'nl' + - 'pl' + - 'pt' + - 'ru' + - 'sv' + - 'zh' due_date: + name: Due date description: The time this task is due, in format YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS, in UTC timezone. example: "2019-10-22" + selector: + text: reminder_date_string: + name: Reminder date string description: When should user be reminded of this task, in natural language. example: Tomorrow + selector: + text: reminder_date_lang: + name: Reminder data language description: The language of reminder_date_string. - example: en + selector: + select: + options: + - 'da' + - 'de' + - 'en' + - 'es' + - 'fr' + - 'it' + - 'ja' + - 'ko' + - 'nl' + - 'pl' + - 'pt' + - 'ru' + - 'sv' + - 'zh' reminder_date: + name: Reminder date description: When should user be reminded of this task, in format YYYY-MM-DDTHH:MM:SS, in UTC timezone. example: "2019-10-22T10:30:00" + selector: + text: diff --git a/homeassistant/components/toon/services.yaml b/homeassistant/components/toon/services.yaml index 909018f820b..d01cf32994b 100644 --- a/homeassistant/components/toon/services.yaml +++ b/homeassistant/components/toon/services.yaml @@ -4,7 +4,7 @@ update: fields: display: name: Display - description: Toon display to update (optional) + description: Toon display to update. advanced: true example: eneco-001-123456 selector: diff --git a/homeassistant/components/transmission/services.yaml b/homeassistant/components/transmission/services.yaml index 04ac5472d4c..74861df5a70 100644 --- a/homeassistant/components/transmission/services.yaml +++ b/homeassistant/components/transmission/services.yaml @@ -1,42 +1,79 @@ add_torrent: + name: Add torrent description: Add a new torrent to download (URL, magnet link or Base64 encoded). fields: name: + name: Name description: Instance name as entered during entry config + required: true example: Transmission + selector: + text: torrent: + name: Torrent description: URL, magnet link or Base64 encoded file. + required: true example: http://releases.ubuntu.com/19.04/ubuntu-19.04-desktop-amd64.iso.torrent + selector: + text: remove_torrent: + name: Remove torrent description: Remove a torrent fields: name: + name: Name description: Instance name as entered during entry config + required: true example: Transmission + selector: + text: id: + name: ID description: ID of a torrent + required: true example: 123 + selector: + text: delete_data: + name: Delete data description: Delete torrent data - example: false + default: false + selector: + boolean: start_torrent: + name: Start torrent description: Start a torrent fields: name: + name: Name description: Instance name as entered during entry config example: Transmission + selector: + text: id: + name: ID description: ID of a torrent example: 123 + selector: + text: stop_torrent: + name: Stop torrent description: Stop a torrent fields: name: + name: Name description: Instance name as entered during entry config + required: true example: Transmission + selector: + text: id: + name: ID description: ID of a torrent + required: true example: 123 + selector: + text: diff --git a/homeassistant/components/trend/services.yaml b/homeassistant/components/trend/services.yaml index 6c4b027ef99..1d29e08dccf 100644 --- a/homeassistant/components/trend/services.yaml +++ b/homeassistant/components/trend/services.yaml @@ -1,2 +1,3 @@ reload: + name: Reload description: Reload all trend entities. diff --git a/homeassistant/components/tuya/services.yaml b/homeassistant/components/tuya/services.yaml index c96ea3fd09f..42fba3ad37b 100644 --- a/homeassistant/components/tuya/services.yaml +++ b/homeassistant/components/tuya/services.yaml @@ -1,7 +1,9 @@ # Describes the format for available Tuya services pull_devices: + name: Pull devices description: Pull device list from Tuya server. force_update: + name: Force update description: Force all Tuya devices to pull data.