From 4edec696376393976bcd165f10f90249c1b46daf Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 12 Jul 2023 07:37:13 +0200 Subject: [PATCH] Migrate integration services (T-V) to support translations (#96379) --- homeassistant/components/tado/services.yaml | 18 - homeassistant/components/tado/strings.json | 44 ++ .../components/telegram/services.yaml | 2 - .../components/telegram/strings.json | 8 + .../components/telegram_bot/services.yaml | 327 +--------- .../components/telegram_bot/strings.json | 596 ++++++++++++++++++ homeassistant/components/timer/services.yaml | 12 - homeassistant/components/timer/strings.json | 34 + .../components/todoist/services.yaml | 24 - homeassistant/components/todoist/strings.json | 54 ++ homeassistant/components/toon/services.yaml | 4 - homeassistant/components/toon/strings.json | 12 + .../components/totalconnect/services.yaml | 4 - .../components/totalconnect/strings.json | 10 + homeassistant/components/tplink/services.yaml | 32 - homeassistant/components/tplink/strings.json | 94 +++ .../components/transmission/services.yaml | 26 - .../components/transmission/strings.json | 62 ++ homeassistant/components/unifi/services.yaml | 6 - homeassistant/components/unifi/strings.json | 16 + .../components/unifiprotect/services.yaml | 25 - .../components/unifiprotect/strings.json | 58 ++ homeassistant/components/upb/services.yaml | 38 -- homeassistant/components/upb/strings.json | 88 +++ .../components/utility_meter/services.yaml | 6 - .../components/utility_meter/strings.json | 16 + homeassistant/components/vallox/services.yaml | 12 - homeassistant/components/vallox/strings.json | 32 + homeassistant/components/velbus/services.yaml | 30 - homeassistant/components/velbus/strings.json | 54 ++ homeassistant/components/velux/services.yaml | 2 - homeassistant/components/velux/strings.json | 8 + .../components/verisure/services.yaml | 6 - .../components/verisure/strings.json | 14 + homeassistant/components/vesync/services.yaml | 2 - homeassistant/components/vesync/strings.json | 6 + homeassistant/components/vicare/services.yaml | 4 - homeassistant/components/vicare/strings.json | 12 + homeassistant/components/vizio/services.yaml | 12 - homeassistant/components/vizio/strings.json | 20 + 40 files changed, 1272 insertions(+), 558 deletions(-) create mode 100644 homeassistant/components/telegram/strings.json create mode 100644 homeassistant/components/telegram_bot/strings.json create mode 100644 homeassistant/components/todoist/strings.json create mode 100644 homeassistant/components/velux/strings.json diff --git a/homeassistant/components/tado/services.yaml b/homeassistant/components/tado/services.yaml index 211ae4cd1ff..0f66798f864 100644 --- a/homeassistant/components/tado/services.yaml +++ b/homeassistant/components/tado/services.yaml @@ -1,14 +1,10 @@ set_climate_timer: - name: Set climate timer - description: Turn on climate entities for a set time. target: entity: integration: tado domain: climate fields: temperature: - name: Temperature - description: Temperature to set climate entity to required: true selector: number: @@ -17,15 +13,11 @@ set_climate_timer: step: 0.5 unit_of_measurement: "°" time_period: - name: Time period - description: Choose this or Overlay. Set the time period for the change if you want to be specific. Alternatively use Overlay required: false example: "01:30:00" selector: text: requested_overlay: - name: Overlay - description: Choose this or Time Period. Allows you to choose an overlay. MANUAL:=Overlay until user removes; NEXT_TIME_BLOCK:=Overlay until next timeblock; TADO_DEFAULT:=Overlay based on tado app setting required: false example: "MANUAL" selector: @@ -36,24 +28,18 @@ set_climate_timer: - "TADO_DEFAULT" set_water_heater_timer: - name: Set water heater timer - description: Turn on water heater for a set time. target: entity: integration: tado domain: water_heater fields: 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 selector: number: min: 0 @@ -62,16 +48,12 @@ set_water_heater_timer: 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: offset: - name: Offset - description: Offset you would like (depending on your device). default: 0 selector: number: diff --git a/homeassistant/components/tado/strings.json b/homeassistant/components/tado/strings.json index 3decfe3cd0c..70ff38b10be 100644 --- a/homeassistant/components/tado/strings.json +++ b/homeassistant/components/tado/strings.json @@ -42,5 +42,49 @@ } } } + }, + "services": { + "set_climate_timer": { + "name": "Set climate timer", + "description": "Turns on climate entities for a set time.", + "fields": { + "temperature": { + "name": "Temperature", + "description": "Temperature to set climate entity to." + }, + "time_period": { + "name": "Time period", + "description": "Choose this or Overlay. Set the time period for the change if you want to be specific. Alternatively use Overlay." + }, + "requested_overlay": { + "name": "Overlay", + "description": "Choose this or Time Period. Allows you to choose an overlay. MANUAL:=Overlay until user removes; NEXT_TIME_BLOCK:=Overlay until next timeblock; TADO_DEFAULT:=Overlay based on tado app setting." + } + } + }, + "set_water_heater_timer": { + "name": "Set water heater timer", + "description": "Turns on water heater for a set time.", + "fields": { + "time_period": { + "name": "Time period", + "description": "Set the time period for the boost." + }, + "temperature": { + "name": "Temperature", + "description": "Temperature to set heater to." + } + } + }, + "set_climate_temperature_offset": { + "name": "Set climate temperature offset", + "description": "Sets the temperature offset of climate entities.", + "fields": { + "offset": { + "name": "Offset", + "description": "Offset you would like (depending on your device)." + } + } + } } } diff --git a/homeassistant/components/telegram/services.yaml b/homeassistant/components/telegram/services.yaml index bbdd82768f5..c983a105c93 100644 --- a/homeassistant/components/telegram/services.yaml +++ b/homeassistant/components/telegram/services.yaml @@ -1,3 +1 @@ reload: - name: Reload - description: Reload telegram notify services. diff --git a/homeassistant/components/telegram/strings.json b/homeassistant/components/telegram/strings.json new file mode 100644 index 00000000000..9e09a3904cd --- /dev/null +++ b/homeassistant/components/telegram/strings.json @@ -0,0 +1,8 @@ +{ + "services": { + "reload": { + "name": "Reload", + "description": "Reloads telegram notify services." + } + } +} diff --git a/homeassistant/components/telegram_bot/services.yaml b/homeassistant/components/telegram_bot/services.yaml index 31876bd542d..cdb50d55943 100644 --- a/homeassistant/components/telegram_bot/services.yaml +++ b/homeassistant/components/telegram_bot/services.yaml @@ -1,31 +1,21 @@ # 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: - name: Parse mode - description: "Parser for the message text." selector: select: options: @@ -33,18 +23,12 @@ send_message: - "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. selector: boolean: disable_web_page_preview: - name: Disable web page preview - description: Disables link previews for links in the message. selector: boolean: timeout: - name: Timeout - description: Timeout for send message. Will help with timeout errors (poor internet connection, etc)s selector: number: min: 1 @@ -52,61 +36,44 @@ send_message: unit_of_measurement: seconds 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"]]]' + 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 authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -114,14 +81,10 @@ send_photo: - "digest" - "bearer_token" 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: - name: Parse mode - description: "Parser for the message text." selector: select: options: @@ -129,79 +92,55 @@ send_photo: - "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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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: sticker_id: - name: Sticker ID - description: ID of a sticker that exists on telegram servers example: CAACAgIAAxkBAAEDDldhZD-hqWclr6krLq-FWSfCrGNmOQAC9gAD9HsZAAFeYY-ltPYnrCEE selector: text: username: - name: Username - description: Username for a URL which require HTTP authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -209,85 +148,59 @@ send_sticker: - "digest" - "bearer_token" 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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send sticker. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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 authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -295,14 +208,10 @@ send_animation: - "digest" - "bearer_token" 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: - name: Parse Mode - description: "Parser for the message text." selector: select: options: @@ -310,73 +219,51 @@ send_animation: - "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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send sticker. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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 authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -384,14 +271,10 @@ send_video: - "digest" - "bearer_token" 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: - name: Parse mode - description: "Parser for the message text." selector: select: options: @@ -399,79 +282,55 @@ send_video: - "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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send video. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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 authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -479,85 +338,59 @@ send_voice: - "digest" - "bearer_token" 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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send voice. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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 authentication. example: myuser selector: text: password: - name: Password - description: Password (or bearer token) for a URL which require HTTP authentication. example: myuser_pwd selector: text: authentication: - name: Authentication method - description: Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`. default: digest selector: select: @@ -565,14 +398,10 @@ send_document: - "digest" - "bearer_token" 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: - name: Parse mode - description: "Parser for the message text." selector: select: options: @@ -580,49 +409,35 @@ send_document: - "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. 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send document. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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. required: true selector: number: @@ -631,8 +446,6 @@ send_location: step: 0.001 unit_of_measurement: "°" longitude: - name: Longitude - description: The longitude to send. required: true selector: number: @@ -641,91 +454,63 @@ send_location: 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc) 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"]]]' + 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_poll: - name: Send poll - description: Send a poll. fields: 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: question: - name: Question - description: Poll question, 1-300 characters required: true selector: text: options: - name: Options - description: List of answer options, 2-10 strings 1-100 characters each required: true selector: object: is_anonymous: - name: Is Anonymous - description: If the poll needs to be anonymous, defaults to True selector: boolean: allows_multiple_answers: - name: Allow Multiple Answers - description: If the poll allows multiple answers, defaults to False selector: boolean: open_period: - name: Open Period - description: Amount of time in seconds the poll will be active after creation, 5-600. selector: number: min: 5 max: 600 unit_of_measurement: seconds 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. selector: boolean: timeout: - name: Timeout - description: Timeout for send poll. Will help with timeout errors (poor internet connection, etc) selector: number: min: 1 @@ -733,38 +518,26 @@ send_poll: unit_of_measurement: seconds 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: - name: Parse mode - description: "Parser for the message text." selector: select: options: @@ -772,102 +545,76 @@ edit_message: - "markdown" - "markdown2" disable_web_page_preview: - name: Disable web page preview - description: Disables link previews for links in the message. 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"]]]' + 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"]]]' + 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"]]]' + 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. required: true selector: boolean: timeout: - name: Timeout - description: Timeout for sending the answer. Will help with timeout errors (poor internet connection, etc) selector: number: min: 1 @@ -875,19 +622,13 @@ answer_callback_query: 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: diff --git a/homeassistant/components/telegram_bot/strings.json b/homeassistant/components/telegram_bot/strings.json new file mode 100644 index 00000000000..8104fdd285e --- /dev/null +++ b/homeassistant/components/telegram_bot/strings.json @@ -0,0 +1,596 @@ +{ + "services": { + "send_message": { + "name": "Send message", + "description": "Sends a notification.", + "fields": { + "message": { + "name": "Message", + "description": "Message body of the notification." + }, + "title": { + "name": "Title", + "description": "Optional title for your notification. Will be composed as '%title\\n%message'." + }, + "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." + }, + "parse_mode": { + "name": "Parse mode", + "description": "Parser for the message text." + }, + "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." + }, + "disable_web_page_preview": { + "name": "Disable web page preview", + "description": "Disables link previews for links in the message." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send message. Will help with timeout errors (poor internet connection, etc)s." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard. Empty list clears a previously set keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_photo": { + "name": "Send photo", + "description": "Sends a photo.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to an image." + }, + "file": { + "name": "File", + "description": "Local path to an image." + }, + "caption": { + "name": "Caption", + "description": "The title of the image." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "parse_mode": { + "name": "Parse mode", + "description": "Parser for the message text." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send photo. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_sticker": { + "name": "Send sticker", + "description": "Sends a sticker.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to a static .webp or animated .tgs sticker." + }, + "file": { + "name": "File", + "description": "Local path to a static .webp or animated .tgs sticker." + }, + "sticker_id": { + "name": "Sticker ID", + "description": "ID of a sticker that exists on telegram servers." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send sticker. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_animation": { + "name": "Send animation", + "description": "Sends an anmiation.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to a GIF or H.264/MPEG-4 AVC video without sound." + }, + "file": { + "name": "File", + "description": "Local path to a GIF or H.264/MPEG-4 AVC video without sound." + }, + "caption": { + "name": "Caption", + "description": "The title of the animation." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "parse_mode": { + "name": "Parse Mode", + "description": "Parser for the message text." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send sticker. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + } + } + }, + "send_video": { + "name": "Send video", + "description": "Sends a video.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to a video." + }, + "file": { + "name": "File", + "description": "Local path to a video." + }, + "caption": { + "name": "Caption", + "description": "The title of the video." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "parse_mode": { + "name": "Parse mode", + "description": "Parser for the message text." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send video. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_voice": { + "name": "Send voice", + "description": "Sends a voice message.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to a voice message." + }, + "file": { + "name": "File", + "description": "Local path to a voice message." + }, + "caption": { + "name": "Caption", + "description": "The title of the voice message." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send voice. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_document": { + "name": "Send document", + "description": "Sends a document.", + "fields": { + "url": { + "name": "URL", + "description": "Remote path to a document." + }, + "file": { + "name": "File", + "description": "Local path to a document." + }, + "caption": { + "name": "Caption", + "description": "The title of the document." + }, + "username": { + "name": "Username", + "description": "Username for a URL which require HTTP authentication." + }, + "password": { + "name": "Password", + "description": "Password (or bearer token) for a URL which require HTTP authentication." + }, + "authentication": { + "name": "Authentication method", + "description": "Define which authentication method to use. Set to `digest` to use HTTP digest authentication, or `bearer_token` for OAuth 2.0 bearer token authentication. Defaults to `basic`." + }, + "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." + }, + "parse_mode": { + "name": "Parse mode", + "description": "Parser for the message text." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send document. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_location": { + "name": "Send location", + "description": "Sends a location.", + "fields": { + "latitude": { + "name": "Latitude", + "description": "The latitude to send." + }, + "longitude": { + "name": "Longitude", + "description": "The longitude to send." + }, + "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." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send photo. Will help with timeout errors (poor internet connection, etc)." + }, + "keyboard": { + "name": "Keyboard", + "description": "List of rows of commands, comma-separated, to make a custom keyboard." + }, + "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." + }, + "message_tag": { + "name": "Message tag", + "description": "Tag for sent message. In telegram_sent event data: {{trigger.event.data.message_tag}}." + } + } + }, + "send_poll": { + "name": "Send poll", + "description": "Sends a poll.", + "fields": { + "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." + }, + "question": { + "name": "Question", + "description": "Poll question, 1-300 characters." + }, + "options": { + "name": "Options", + "description": "List of answer options, 2-10 strings 1-100 characters each." + }, + "is_anonymous": { + "name": "Is anonymous", + "description": "If the poll needs to be anonymous, defaults to True." + }, + "allows_multiple_answers": { + "name": "Allow multiple answers", + "description": "If the poll allows multiple answers, defaults to False." + }, + "open_period": { + "name": "Open period", + "description": "Amount of time in seconds the poll will be active after creation, 5-600." + }, + "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." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for send poll. Will help with timeout errors (poor internet connection, etc)." + } + } + }, + "edit_message": { + "name": "Edit message", + "description": "Edits a previously sent message.", + "fields": { + "message_id": { + "name": "Message ID", + "description": "Id of the message to edit." + }, + "chat_id": { + "name": "Chat ID", + "description": "The chat_id where to edit the message." + }, + "message": { + "name": "Message", + "description": "Message body of the notification." + }, + "title": { + "name": "Title", + "description": "Optional title for your notification. Will be composed as '%title\\n%message'." + }, + "parse_mode": { + "name": "Parse mode", + "description": "Parser for the message text." + }, + "disable_web_page_preview": { + "name": "Disable web page preview", + "description": "Disables link previews for links in the message." + }, + "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." + } + } + }, + "edit_caption": { + "name": "Edit caption", + "description": "Edits the caption of a previously sent message.", + "fields": { + "message_id": { + "name": "Message ID", + "description": "Id of the message to edit." + }, + "chat_id": { + "name": "Chat ID", + "description": "The chat_id where to edit the caption." + }, + "caption": { + "name": "Caption", + "description": "Message body of the notification." + }, + "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." + } + } + }, + "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." + }, + "chat_id": { + "name": "Chat ID", + "description": "The chat_id where to edit the reply_markup." + }, + "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." + } + } + }, + "answer_callback_query": { + "name": "Answer callback query", + "description": "Responds 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." + }, + "callback_query_id": { + "name": "Callback query ID", + "description": "Unique id of the callback response." + }, + "show_alert": { + "name": "Show alert", + "description": "Show a permanent notification." + }, + "timeout": { + "name": "Timeout", + "description": "Timeout for sending the answer. Will help with timeout errors (poor internet connection, etc)." + } + } + }, + "delete_message": { + "name": "Delete message", + "description": "Deletes a previously sent message.", + "fields": { + "message_id": { + "name": "Message ID", + "description": "Id of the message to delete." + }, + "chat_id": { + "name": "Chat ID", + "description": "The chat_id where to delete the message." + } + } + } + } +} diff --git a/homeassistant/components/timer/services.yaml b/homeassistant/components/timer/services.yaml index 68caa44a699..74eeae22b23 100644 --- a/homeassistant/components/timer/services.yaml +++ b/homeassistant/components/timer/services.yaml @@ -1,48 +1,36 @@ # Describes the format for available timer services start: - name: Start - description: Start a timer target: entity: domain: timer fields: duration: - description: Duration the timer requires to finish. [optional] example: "00:01:00 or 60" selector: text: pause: - name: Pause - description: Pause a timer. target: entity: domain: timer cancel: - name: Cancel - description: Cancel a timer. target: entity: domain: timer finish: - name: Finish - description: Finish a timer. target: entity: domain: timer change: - name: Change - description: Change a timer target: entity: domain: timer fields: duration: - description: Duration to add or subtract to the running timer default: 0 required: true example: "00:01:00, 60 or -60" diff --git a/homeassistant/components/timer/strings.json b/homeassistant/components/timer/strings.json index 217de09a534..e21f0d2ca82 100644 --- a/homeassistant/components/timer/strings.json +++ b/homeassistant/components/timer/strings.json @@ -29,5 +29,39 @@ } } } + }, + "services": { + "start": { + "name": "Start", + "description": "Starts a timer.", + "fields": { + "duration": { + "name": "Duration", + "description": "Duration the timer requires to finish. [optional]." + } + } + }, + "pause": { + "name": "Pause", + "description": "Pauses a timer." + }, + "cancel": { + "name": "Cancel", + "description": "Cancels a timer." + }, + "finish": { + "name": "Finish", + "description": "Finishes a timer." + }, + "change": { + "name": "Change", + "description": "Changes a timer.", + "fields": { + "duration": { + "name": "Duration", + "description": "Duration to add or subtract to the running timer." + } + } + } } } diff --git a/homeassistant/components/todoist/services.yaml b/homeassistant/components/todoist/services.yaml index 3cab4d2bf67..9593b6bb6a4 100644 --- a/homeassistant/components/todoist/services.yaml +++ b/homeassistant/components/todoist/services.yaml @@ -1,49 +1,33 @@ 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: - 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: assignee: - name: Assignee - description: A members username of a shared project to assign this task to. example: username selector: text: priority: - name: Priority - description: The priority of this task, from 1 (normal) to 4 (urgent). selector: number: min: 1 max: 4 due_date_string: - name: Due 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. selector: select: options: @@ -62,20 +46,14 @@ new_task: - "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. selector: select: options: @@ -94,8 +72,6 @@ new_task: - "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/todoist/strings.json b/homeassistant/components/todoist/strings.json new file mode 100644 index 00000000000..1ed092e5cf6 --- /dev/null +++ b/homeassistant/components/todoist/strings.json @@ -0,0 +1,54 @@ +{ + "services": { + "new_task": { + "name": "New task", + "description": "Creates a new task and add it to a project.", + "fields": { + "content": { + "name": "Content", + "description": "The name of the task." + }, + "project": { + "name": "Project", + "description": "The name of the project this task should belong to." + }, + "labels": { + "name": "Labels", + "description": "Any labels that you want to apply to this task, separated by a comma." + }, + "assignee": { + "name": "Assignee", + "description": "A members username of a shared project to assign this task to." + }, + "priority": { + "name": "Priority", + "description": "The priority of this task, from 1 (normal) to 4 (urgent)." + }, + "due_date_string": { + "name": "Due date string", + "description": "The day this task is due, in natural language." + }, + "due_date_lang": { + "name": "Due data language", + "description": "The language of due_date_string." + }, + "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." + }, + "reminder_date_string": { + "name": "Reminder date string", + "description": "When should user be reminded of this task, in natural language." + }, + "reminder_date_lang": { + "name": "Reminder data language", + "description": "The language of reminder_date_string." + }, + "reminder_date": { + "name": "Reminder date", + "description": "When should user be reminded of this task, in format YYYY-MM-DDTHH:MM:SS, in UTC timezone." + } + } + } + } +} diff --git a/homeassistant/components/toon/services.yaml b/homeassistant/components/toon/services.yaml index d01cf32994b..1b75dd4957a 100644 --- a/homeassistant/components/toon/services.yaml +++ b/homeassistant/components/toon/services.yaml @@ -1,10 +1,6 @@ update: - name: Update - description: Update all entities with fresh data from Toon fields: display: - name: Display - description: Toon display to update. advanced: true example: eneco-001-123456 selector: diff --git a/homeassistant/components/toon/strings.json b/homeassistant/components/toon/strings.json index 60d5ed3312c..620a7f51113 100644 --- a/homeassistant/components/toon/strings.json +++ b/homeassistant/components/toon/strings.json @@ -20,5 +20,17 @@ "no_agreements": "This account has no Toon displays.", "no_url_available": "[%key:common::config_flow::abort::oauth2_no_url_available%]" } + }, + "services": { + "update": { + "name": "Update", + "description": "Updates all entities with fresh data from Toon.", + "fields": { + "display": { + "name": "Display", + "description": "Toon display to update." + } + } + } } } diff --git a/homeassistant/components/totalconnect/services.yaml b/homeassistant/components/totalconnect/services.yaml index 0e8f8f8e217..3ab4faf0c30 100644 --- a/homeassistant/components/totalconnect/services.yaml +++ b/homeassistant/components/totalconnect/services.yaml @@ -1,14 +1,10 @@ arm_away_instant: - name: Arm Away Instant - description: Arm Away with zero entry delay. target: entity: integration: totalconnect domain: alarm_control_panel arm_home_instant: - name: Arm Home Instant - description: Arm Home with zero entry delay. target: entity: integration: totalconnect diff --git a/homeassistant/components/totalconnect/strings.json b/homeassistant/components/totalconnect/strings.json index 346ea7ef403..922962c9866 100644 --- a/homeassistant/components/totalconnect/strings.json +++ b/homeassistant/components/totalconnect/strings.json @@ -39,5 +39,15 @@ } } } + }, + "services": { + "arm_away_instant": { + "name": "Arm away instant", + "description": "Arms Away with zero entry delay." + }, + "arm_home_instant": { + "name": "Arm home instant", + "description": "Arms Home with zero entry delay." + } } } diff --git a/homeassistant/components/tplink/services.yaml b/homeassistant/components/tplink/services.yaml index 16166278565..1850df9a060 100644 --- a/homeassistant/components/tplink/services.yaml +++ b/homeassistant/components/tplink/services.yaml @@ -1,14 +1,10 @@ sequence_effect: - name: Sequence effect - description: Set a sequence effect target: entity: integration: tplink domain: light fields: sequence: - name: Sequence - description: List of HSV sequences (Max 16) example: | - [340, 20, 50] - [20, 50, 50] @@ -17,16 +13,12 @@ sequence_effect: selector: object: segments: - name: Segments - description: List of Segments (0 for all) example: 0, 2, 4, 6, 8 default: 0 required: false selector: object: brightness: - name: Brightness - description: Initial brightness example: 80 default: 100 required: false @@ -37,8 +29,6 @@ sequence_effect: max: 100 unit_of_measurement: "%" duration: - name: Duration - description: Duration example: 0 default: 0 required: false @@ -49,8 +39,6 @@ sequence_effect: max: 5000 unit_of_measurement: "ms" repeat_times: - name: Repetitions - description: Repetitions (0 for continuous) example: 0 default: 0 required: false @@ -60,8 +48,6 @@ sequence_effect: step: 1 max: 10 transition: - name: Transition - description: Transition example: 2000 default: 0 required: false @@ -72,8 +58,6 @@ sequence_effect: max: 6000 unit_of_measurement: "ms" spread: - name: Spread - description: Speed of spread example: 1 default: 0 required: false @@ -83,8 +67,6 @@ sequence_effect: step: 1 max: 16 direction: - name: Direction - description: Direction example: 1 default: 4 required: false @@ -94,21 +76,17 @@ sequence_effect: step: 1 max: 4 random_effect: - name: Random effect - description: Set a random effect target: entity: integration: tplink domain: light fields: init_states: - description: Initial HSV sequence example: [199, 99, 96] required: true selector: object: backgrounds: - description: List of HSV sequences (Max 16) example: | - [199, 89, 50] - [160, 50, 50] @@ -117,14 +95,12 @@ random_effect: selector: object: segments: - description: List of segments (0 for all) example: 0, 2, 4, 6, 8 default: 0 required: false selector: object: brightness: - description: Initial brightness example: 90 default: 100 required: false @@ -135,7 +111,6 @@ random_effect: max: 100 unit_of_measurement: "%" duration: - description: Duration example: 0 default: 0 required: false @@ -146,7 +121,6 @@ random_effect: max: 5000 unit_of_measurement: "ms" transition: - description: Transition example: 2000 default: 0 required: false @@ -157,7 +131,6 @@ random_effect: max: 6000 unit_of_measurement: "ms" fadeoff: - description: Fade off example: 2000 default: 0 required: false @@ -168,31 +141,26 @@ random_effect: max: 3000 unit_of_measurement: "ms" hue_range: - description: Range of hue example: 340, 360 required: false selector: object: saturation_range: - description: Range of saturation example: 40, 95 required: false selector: object: brightness_range: - description: Range of brightness example: 90, 100 required: false selector: object: transition_range: - description: Range of transition example: 2000, 6000 required: false selector: object: random_seed: - description: Random seed example: 80 default: 100 required: false diff --git a/homeassistant/components/tplink/strings.json b/homeassistant/components/tplink/strings.json index afc595a3adc..b5279804d0a 100644 --- a/homeassistant/components/tplink/strings.json +++ b/homeassistant/components/tplink/strings.json @@ -24,5 +24,99 @@ "already_configured": "[%key:common::config_flow::abort::already_configured_device%]", "no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]" } + }, + "services": { + "sequence_effect": { + "name": "Sequence effect", + "description": "Sets a sequence effect.", + "fields": { + "sequence": { + "name": "Sequence", + "description": "List of HSV sequences (Max 16)." + }, + "segments": { + "name": "Segments", + "description": "List of Segments (0 for all)." + }, + "brightness": { + "name": "Brightness", + "description": "Initial brightness." + }, + "duration": { + "name": "Duration", + "description": "Duration." + }, + "repeat_times": { + "name": "Repetitions", + "description": "Repetitions (0 for continuous)." + }, + "transition": { + "name": "Transition", + "description": "Transition." + }, + "spread": { + "name": "Spread", + "description": "Speed of spread." + }, + "direction": { + "name": "Direction", + "description": "Direction." + } + } + }, + "random_effect": { + "name": "Random effect", + "description": "Sets a random effect.", + "fields": { + "init_states": { + "name": "Initial states", + "description": "Initial HSV sequence." + }, + "backgrounds": { + "name": "Backgrounds", + "description": "List of HSV sequences (Max 16)." + }, + "segments": { + "name": "Segments", + "description": "List of segments (0 for all)." + }, + "brightness": { + "name": "Brightness", + "description": "Initial brightness." + }, + "duration": { + "name": "Duration", + "description": "Duration." + }, + "transition": { + "name": "Transition", + "description": "Transition." + }, + "fadeoff": { + "name": "Fade off", + "description": "Fade off." + }, + "hue_range": { + "name": "Hue range", + "description": "Range of hue." + }, + "saturation_range": { + "name": "Saturation range", + "description": "Range of saturation." + }, + "brightness_range": { + "name": "Brightness range", + "description": "Range of brightness." + }, + "transition_range": { + "name": "Transition range", + "description": "Range of transition." + }, + "random_seed": { + "name": "Random seed", + "description": "Random seed." + } + } + } } } diff --git a/homeassistant/components/transmission/services.yaml b/homeassistant/components/transmission/services.yaml index 34a88528411..2d61bda442f 100644 --- a/homeassistant/components/transmission/services.yaml +++ b/homeassistant/components/transmission/services.yaml @@ -1,75 +1,49 @@ add_torrent: - name: Add torrent - description: Add a new torrent to download (URL, magnet link or Base64 encoded). fields: entry_id: - name: Transmission entry - description: Config entry id selector: config_entry: integration: transmission 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: entry_id: - name: Transmission entry - description: Config entry id selector: config_entry: integration: transmission id: - name: ID - description: ID of a torrent required: true example: 123 selector: text: delete_data: - name: Delete data - description: Delete torrent data default: false selector: boolean: start_torrent: - name: Start torrent - description: Start a torrent fields: entry_id: - name: Transmission entry - description: Config entry id selector: config_entry: integration: transmission id: - name: ID - description: ID of a torrent example: 123 selector: text: stop_torrent: - name: Stop torrent - description: Stop a torrent fields: entry_id: - name: Transmission entry - description: Config entry id selector: config_entry: integration: transmission id: - name: ID - description: ID of a torrent required: true example: 123 selector: diff --git a/homeassistant/components/transmission/strings.json b/homeassistant/components/transmission/strings.json index e2c144d5423..c3fdcc8f1f4 100644 --- a/homeassistant/components/transmission/strings.json +++ b/homeassistant/components/transmission/strings.json @@ -52,5 +52,67 @@ } } } + }, + "services": { + "add_torrent": { + "name": "Add torrent", + "description": "Adds a new torrent to download (URL, magnet link or Base64 encoded).", + "fields": { + "entry_id": { + "name": "Transmission entry", + "description": "Config entry id." + }, + "torrent": { + "name": "Torrent", + "description": "URL, magnet link or Base64 encoded file." + } + } + }, + "remove_torrent": { + "name": "Remove torrent", + "description": "Removes a torrent.", + "fields": { + "entry_id": { + "name": "Transmission entry", + "description": "Config entry id." + }, + "id": { + "name": "ID", + "description": "ID of a torrent." + }, + "delete_data": { + "name": "Delete data", + "description": "Delete torrent data." + } + } + }, + "start_torrent": { + "name": "Start torrent", + "description": "Starts a torrent.", + "fields": { + "entry_id": { + "name": "Transmission entry", + "description": "Config entry id." + }, + "id": { + "name": "ID", + "description": "ID of a torrent." + } + } + }, + "stop_torrent": { + "name": "Stop torrent", + "description": "Stops a torrent.", + "fields": { + "entry_id": { + "name": "Transmission entry", + "description": "Config entry id." + }, + "id": { + "name": "ID", + "description": "ID of a torrent." + } + } + } } } diff --git a/homeassistant/components/unifi/services.yaml b/homeassistant/components/unifi/services.yaml index c6a4de3072a..fd69b8eb708 100644 --- a/homeassistant/components/unifi/services.yaml +++ b/homeassistant/components/unifi/services.yaml @@ -1,15 +1,9 @@ reconnect_client: - name: Reconnect wireless client - description: Try to get wireless client to reconnect to UniFi Network fields: device_id: - name: Device - description: Try reconnect client to wireless network required: true selector: device: integration: unifi remove_clients: - name: Remove clients from the UniFi Network - description: Clean up clients that has only been associated with the controller for a short period of time. diff --git a/homeassistant/components/unifi/strings.json b/homeassistant/components/unifi/strings.json index 02b64f3c50e..6afae5ffe7b 100644 --- a/homeassistant/components/unifi/strings.json +++ b/homeassistant/components/unifi/strings.json @@ -68,5 +68,21 @@ "title": "UniFi Network options 3/3" } } + }, + "services": { + "reconnect_client": { + "name": "Reconnect wireless client", + "description": "Tries to get wireless client to reconnect to UniFi Network.", + "fields": { + "device_id": { + "name": "Device", + "description": "Try reconnect client to wireless network." + } + } + }, + "remove_clients": { + "name": "Remove clients from the UniFi Network", + "description": "Cleans up clients that has only been associated with the controller for a short period of time." + } } } diff --git a/homeassistant/components/unifiprotect/services.yaml b/homeassistant/components/unifiprotect/services.yaml index 9f9031d6543..6998f540471 100644 --- a/homeassistant/components/unifiprotect/services.yaml +++ b/homeassistant/components/unifiprotect/services.yaml @@ -1,65 +1,42 @@ add_doorbell_text: - name: Add Custom Doorbell Text - description: Adds a new custom message for Doorbells. fields: device_id: - name: UniFi Protect NVR - description: Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances. required: true selector: device: integration: unifiprotect message: - name: Custom Message - description: New custom message to add for Doorbells. Must be less than 30 characters. example: Come In required: true selector: text: remove_doorbell_text: - name: Remove Custom Doorbell Text - description: Removes an existing message for Doorbells. fields: device_id: - name: UniFi Protect NVR - description: Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances. required: true selector: device: integration: unifiprotect message: - name: Custom Message - description: Existing custom message to remove for Doorbells. example: Go Away! required: true selector: text: set_default_doorbell_text: - name: Set Default Doorbell Text - description: Sets the default doorbell message. This will be the message that is automatically selected when a message "expires". fields: device_id: - name: UniFi Protect NVR - description: Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances. required: true selector: device: integration: unifiprotect message: - name: Default Message - description: The default message for your Doorbell. Must be less than 30 characters. example: Welcome! required: true selector: text: set_chime_paired_doorbells: - name: Set Chime Paired Doorbells - description: > - Use to set the paired doorbell(s) with a smart chime. fields: device_id: - name: Chime - description: The Chimes to link to the doorbells to required: true selector: device: @@ -67,8 +44,6 @@ set_chime_paired_doorbells: entity: device_class: unifiprotect__chime_button doorbells: - name: Doorbells - description: The Doorbells to link to the chime example: "binary_sensor.front_doorbell_doorbell" required: false selector: diff --git a/homeassistant/components/unifiprotect/strings.json b/homeassistant/components/unifiprotect/strings.json index b7be12233df..fd2287e08be 100644 --- a/homeassistant/components/unifiprotect/strings.json +++ b/homeassistant/components/unifiprotect/strings.json @@ -85,5 +85,63 @@ } } } + }, + "services": { + "add_doorbell_text": { + "name": "Add custom doorbell text", + "description": "Adds a new custom message for doorbells.", + "fields": { + "device_id": { + "name": "UniFi Protect NVR", + "description": "Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances." + }, + "message": { + "name": "Custom message", + "description": "New custom message to add for doorbells. Must be less than 30 characters." + } + } + }, + "remove_doorbell_text": { + "name": "Remove custom doorbell text", + "description": "Removes an existing message for doorbells.", + "fields": { + "device_id": { + "name": "UniFi Protect NVR", + "description": "Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances." + }, + "message": { + "name": "Custom message", + "description": "Existing custom message to remove for doorbells." + } + } + }, + "set_default_doorbell_text": { + "name": "Set default doorbell text", + "description": "Sets the default doorbell message. This will be the message that is automatically selected when a message \"expires\".", + "fields": { + "device_id": { + "name": "UniFi Protect NVR", + "description": "Any device from the UniFi Protect instance you want to change. In case you have multiple Protect Instances." + }, + "message": { + "name": "Default message", + "description": "The default message for your doorbell. Must be less than 30 characters." + } + } + }, + "set_chime_paired_doorbells": { + "name": "Set chime paired doorbells", + "description": "Use to set the paired doorbell(s) with a smart chime.", + "fields": { + "device_id": { + "name": "Chime", + "description": "The chimes to link to the doorbells to." + }, + "doorbells": { + "name": "Doorbells", + "description": "The doorbells to link to the chime." + } + } + } } } diff --git a/homeassistant/components/upb/services.yaml b/homeassistant/components/upb/services.yaml index af8eb81d9b0..cf415705d72 100644 --- a/homeassistant/components/upb/services.yaml +++ b/homeassistant/components/upb/services.yaml @@ -1,29 +1,21 @@ light_fade_start: - name: Start light fade - description: Start fading a light either up or down from current brightness. target: entity: integration: upb domain: light fields: brightness: - name: Brightness - description: Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness. selector: number: min: 0 max: 255 brightness_pct: - name: Brightness percentage - description: Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness. selector: number: min: 0 max: 100 unit_of_measurement: "%" rate: - name: Rate - description: Rate for light to transition to new brightness default: -1 selector: number: @@ -33,24 +25,18 @@ light_fade_start: unit_of_measurement: seconds light_fade_stop: - name: Stop light fade - description: Stop a light fade. target: entity: integration: upb domain: light light_blink: - name: Blink light - description: Blink a light target: entity: integration: upb domain: light fields: rate: - name: Rate - description: Amount of time that the link flashes on. default: 0.5 selector: number: @@ -60,39 +46,29 @@ light_blink: unit_of_measurement: seconds link_deactivate: - name: Deactivate link - description: Deactivate a UPB scene. target: entity: integration: upb domain: light link_goto: - name: Go to link - description: Set scene to brightness. target: entity: integration: upb domain: scene fields: brightness: - name: Brightness - description: Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. selector: number: min: 0 max: 255 brightness_pct: - name: Brightness percentage - description: Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. selector: number: min: 0 max: 100 unit_of_measurement: "%" rate: - name: Rate - description: Amount of time for scene to transition to new brightness selector: number: min: -1 @@ -101,31 +77,23 @@ link_goto: unit_of_measurement: seconds link_fade_start: - name: Start link fade - description: Start fading a link either up or down from current brightness. target: entity: integration: upb domain: scene fields: brightness: - name: Brightness - description: Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness. selector: number: min: 0 max: 255 brightness_pct: - name: Brightness percentage - description: Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness. selector: number: min: 0 max: 100 unit_of_measurement: "%" rate: - name: Rate - description: Amount of time for scene to transition to new brightness selector: number: min: -1 @@ -134,24 +102,18 @@ link_fade_start: unit_of_measurement: seconds link_fade_stop: - name: Stop link fade - description: Stop a link fade. target: entity: integration: upb domain: scene link_blink: - name: Blink link - description: Blink a link. target: entity: integration: upb domain: scene fields: blink_rate: - name: Blink rate - description: Amount of time that the link flashes on. default: 0.5 selector: number: diff --git a/homeassistant/components/upb/strings.json b/homeassistant/components/upb/strings.json index 9b2cc0a1b12..b5b6dea93d5 100644 --- a/homeassistant/components/upb/strings.json +++ b/homeassistant/components/upb/strings.json @@ -19,5 +19,93 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "services": { + "light_fade_start": { + "name": "Start light fade", + "description": "Starts fading a light either up or down from current brightness.", + "fields": { + "brightness": { + "name": "Brightness", + "description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness." + }, + "brightness_pct": { + "name": "Brightness percentage", + "description": "Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness." + }, + "rate": { + "name": "Rate", + "description": "Rate for light to transition to new brightness." + } + } + }, + "light_fade_stop": { + "name": "Stop light fade", + "description": "Stops a light fade." + }, + "light_blink": { + "name": "Blink light", + "description": "Blinks a light.", + "fields": { + "rate": { + "name": "Rate", + "description": "Amount of time that the link flashes on." + } + } + }, + "link_deactivate": { + "name": "Deactivate link", + "description": "Deactivates a UPB scene." + }, + "link_goto": { + "name": "Go to link", + "description": "Set scene to brightness.", + "fields": { + "brightness": { + "name": "Brightness", + "description": "Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness." + }, + "brightness_pct": { + "name": "Brightness percentage", + "description": "Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness." + }, + "rate": { + "name": "Rate", + "description": "Amount of time for scene to transition to new brightness." + } + } + }, + "link_fade_start": { + "name": "Start link fade", + "description": "Starts fading a link either up or down from current brightness.", + "fields": { + "brightness": { + "name": "Brightness", + "description": "Number indicating brightness, where 0 turns the scene off, 1 is the minimum brightness and 255 is the maximum brightness." + }, + "brightness_pct": { + "name": "Brightness percentage", + "description": "Number indicating percentage of full brightness, where 0 turns the scene off, 1 is the minimum brightness and 100 is the maximum brightness." + }, + "rate": { + "name": "Rate", + "description": "Amount of time for scene to transition to new brightness." + } + } + }, + "link_fade_stop": { + "name": "Stop link fade", + "description": "Stops a link fade." + }, + "link_blink": { + "name": "Blink link", + "description": "Blinks a link.", + "fields": { + "blink_rate": { + "name": "Blink rate", + "description": "Amount of time that the link flashes on." + } + } + } } } diff --git a/homeassistant/components/utility_meter/services.yaml b/homeassistant/components/utility_meter/services.yaml index 4252f796199..918c51cee39 100644 --- a/homeassistant/components/utility_meter/services.yaml +++ b/homeassistant/components/utility_meter/services.yaml @@ -1,23 +1,17 @@ # Describes the format for available switch services reset: - name: Reset - description: Resets all counters of a utility meter. target: entity: domain: select calibrate: - name: Calibrate - description: Calibrates a utility meter sensor. target: entity: domain: sensor integration: utility_meter fields: value: - name: Value - description: Value to which set the meter example: "100" required: true selector: diff --git a/homeassistant/components/utility_meter/strings.json b/homeassistant/components/utility_meter/strings.json index 1eeacbae800..09b9dd09540 100644 --- a/homeassistant/components/utility_meter/strings.json +++ b/homeassistant/components/utility_meter/strings.json @@ -52,5 +52,21 @@ "yearly": "Yearly" } } + }, + "services": { + "reset": { + "name": "Reset", + "description": "Resets all counters of a utility meter." + }, + "calibrate": { + "name": "Calibrate", + "description": "Calibrates a utility meter sensor.", + "fields": { + "value": { + "name": "Value", + "description": "Value to which set the meter." + } + } + } } } diff --git a/homeassistant/components/vallox/services.yaml b/homeassistant/components/vallox/services.yaml index 15ce6c88b55..e6bd3edad11 100644 --- a/homeassistant/components/vallox/services.yaml +++ b/homeassistant/components/vallox/services.yaml @@ -1,10 +1,6 @@ set_profile_fan_speed_home: - name: Set profile fan speed home - description: Set the fan speed of the Home profile. fields: fan_speed: - name: Fan speed - description: Fan speed. required: true selector: number: @@ -13,12 +9,8 @@ set_profile_fan_speed_home: unit_of_measurement: "%" set_profile_fan_speed_away: - name: Set profile fan speed away - description: Set the fan speed of the Away profile. fields: fan_speed: - name: Fan speed - description: Fan speed. required: true selector: number: @@ -27,12 +19,8 @@ set_profile_fan_speed_away: unit_of_measurement: "%" set_profile_fan_speed_boost: - name: Set profile fan speed boost - description: Set the fan speed of the Boost profile. fields: fan_speed: - name: Fan speed - description: Fan speed. required: true selector: number: diff --git a/homeassistant/components/vallox/strings.json b/homeassistant/components/vallox/strings.json index cada5a7febd..b33cef0026a 100644 --- a/homeassistant/components/vallox/strings.json +++ b/homeassistant/components/vallox/strings.json @@ -18,5 +18,37 @@ "invalid_host": "[%key:common::config_flow::error::invalid_host%]", "unknown": "[%key:common::config_flow::error::unknown%]" } + }, + "services": { + "set_profile_fan_speed_home": { + "name": "Set profile fan speed home", + "description": "Sets the fan speed of the Home profile.", + "fields": { + "fan_speed": { + "name": "Fan speed", + "description": "Fan speed." + } + } + }, + "set_profile_fan_speed_away": { + "name": "Set profile fan speed away", + "description": "Sets the fan speed of the Away profile.", + "fields": { + "fan_speed": { + "name": "Fan speed", + "description": "Fan speed." + } + } + }, + "set_profile_fan_speed_boost": { + "name": "Set profile fan speed boost", + "description": "Sets the fan speed of the Boost profile.", + "fields": { + "fan_speed": { + "name": "Fan speed", + "description": "Fan speed." + } + } + } } } diff --git a/homeassistant/components/velbus/services.yaml b/homeassistant/components/velbus/services.yaml index 32cda00f708..e3ecc3556f0 100644 --- a/homeassistant/components/velbus/services.yaml +++ b/homeassistant/components/velbus/services.yaml @@ -1,10 +1,6 @@ sync_clock: - name: Sync clock - description: Sync the velbus modules clock to the Home Assistant clock, this is the same as the 'sync clock' from VelbusLink fields: interface: - name: Interface - description: The velbus interface to send the command to, this will be the same value as used during configuration required: true example: "192.168.1.5:27015" default: "" @@ -12,12 +8,8 @@ sync_clock: text: scan: - name: Scan - description: Scan the velbus modules, this will be need if you see unknown module warnings in the logs, or when you added new modules fields: interface: - name: Interface - description: The velbus interface to send the command to, this will be the same value as used during configuration required: true example: "192.168.1.5:27015" default: "" @@ -25,22 +17,14 @@ scan: text: clear_cache: - name: Clear cache - description: Clears the velbuscache and then starts a new scan fields: interface: - name: Interface - description: The velbus interface to send the command to, this will be the same value as used during configuration required: true example: "192.168.1.5:27015" default: "" selector: text: address: - name: Address - description: > - The module address in decimal format, if this is provided we only clear this module, if nothing is provided we clear the whole cache directory (all modules) - The decimal addresses are displayed in front of the modules listed at the integration page. required: false selector: number: @@ -48,34 +32,20 @@ clear_cache: max: 254 set_memo_text: - name: Set memo text - description: > - Set the memo text to the display of modules like VMBGPO, VMBGPOD - Be sure the page(s) of the module is configured to display the memo text. fields: interface: - name: Interface - description: The velbus interface to send the command to, this will be the same value as used during configuration required: true example: "192.168.1.5:27015" default: "" selector: text: address: - name: Address - description: > - The module address in decimal format. - The decimal addresses are displayed in front of the modules listed at the integration page. required: true selector: number: min: 1 max: 254 memo_text: - name: Memo text - description: > - The actual text to be displayed. - Text is limited to 64 characters. example: "Do not forget trash" default: "" selector: diff --git a/homeassistant/components/velbus/strings.json b/homeassistant/components/velbus/strings.json index 6eb44d8cb0c..bef853001a1 100644 --- a/homeassistant/components/velbus/strings.json +++ b/homeassistant/components/velbus/strings.json @@ -16,5 +16,59 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "services": { + "sync_clock": { + "name": "Sync clock", + "description": "Syncs the velbus modules clock to the Home Assistant clock, this is the same as the 'sync clock' from VelbusLink.", + "fields": { + "interface": { + "name": "Interface", + "description": "The velbus interface to send the command to, this will be the same value as used during configuration." + } + } + }, + "scan": { + "name": "Scan", + "description": "Scans the velbus modules, this will be need if you see unknown module warnings in the logs, or when you added new modules.", + "fields": { + "interface": { + "name": "Interface", + "description": "The velbus interface to send the command to, this will be the same value as used during configuration." + } + } + }, + "clear_cache": { + "name": "Clear cache", + "description": "Clears the velbuscache and then starts a new scan.", + "fields": { + "interface": { + "name": "Interface", + "description": "The velbus interface to send the command to, this will be the same value as used during configuration." + }, + "address": { + "name": "Address", + "description": "The module address in decimal format, if this is provided we only clear this module, if nothing is provided we clear the whole cache directory (all modules) The decimal addresses are displayed in front of the modules listed at the integration page.\n." + } + } + }, + "set_memo_text": { + "name": "Set memo text", + "description": "Sets the memo text to the display of modules like VMBGPO, VMBGPOD Be sure the page(s) of the module is configured to display the memo text.\n.", + "fields": { + "interface": { + "name": "Interface", + "description": "The velbus interface to send the command to, this will be the same value as used during configuration." + }, + "address": { + "name": "Address", + "description": "The module address in decimal format. The decimal addresses are displayed in front of the modules listed at the integration page.\n." + }, + "memo_text": { + "name": "Memo text", + "description": "The actual text to be displayed. Text is limited to 64 characters.\n." + } + } + } } } diff --git a/homeassistant/components/velux/services.yaml b/homeassistant/components/velux/services.yaml index 46aee795890..7aee1694061 100644 --- a/homeassistant/components/velux/services.yaml +++ b/homeassistant/components/velux/services.yaml @@ -1,5 +1,3 @@ # Velux Integration services reboot_gateway: - name: Reboot gateway - description: Reboots the KLF200 Gateway. diff --git a/homeassistant/components/velux/strings.json b/homeassistant/components/velux/strings.json new file mode 100644 index 00000000000..6a7e8c6e1ec --- /dev/null +++ b/homeassistant/components/velux/strings.json @@ -0,0 +1,8 @@ +{ + "services": { + "reboot_gateway": { + "name": "Reboot gateway", + "description": "Reboots the KLF200 Gateway." + } + } +} diff --git a/homeassistant/components/verisure/services.yaml b/homeassistant/components/verisure/services.yaml index 2a4e2a008be..ccfc7726bc6 100644 --- a/homeassistant/components/verisure/services.yaml +++ b/homeassistant/components/verisure/services.yaml @@ -1,22 +1,16 @@ capture_smartcam: - name: Capture SmartCam image - description: Capture a new image from a Verisure SmartCam target: entity: integration: verisure domain: camera enable_autolock: - name: Enable autolock - description: Enable autolock of a Verisure Lockguard Smartlock target: entity: integration: verisure domain: lock disable_autolock: - name: Disable autolock - description: Disable autolock of a Verisure Lockguard Smartlock target: entity: integration: verisure diff --git a/homeassistant/components/verisure/strings.json b/homeassistant/components/verisure/strings.json index 85b3f4015b5..335daa68ee8 100644 --- a/homeassistant/components/verisure/strings.json +++ b/homeassistant/components/verisure/strings.json @@ -63,5 +63,19 @@ "name": "Ethernet status" } } + }, + "services": { + "capture_smartcam": { + "name": "Capture SmartCam image", + "description": "Captures a new image from a Verisure SmartCam." + }, + "enable_autolock": { + "name": "Enable autolock", + "description": "Enables autolock of a Verisure Lockguard Smartlock." + }, + "disable_autolock": { + "name": "Disable autolock", + "description": "Disables autolock of a Verisure Lockguard Smartlock." + } } } diff --git a/homeassistant/components/vesync/services.yaml b/homeassistant/components/vesync/services.yaml index da264ea3b5d..52ee0382dbe 100644 --- a/homeassistant/components/vesync/services.yaml +++ b/homeassistant/components/vesync/services.yaml @@ -1,3 +1 @@ update_devices: - name: Update devices - description: Add new VeSync devices to Home Assistant diff --git a/homeassistant/components/vesync/strings.json b/homeassistant/components/vesync/strings.json index 8359691effe..08cbdf943f6 100644 --- a/homeassistant/components/vesync/strings.json +++ b/homeassistant/components/vesync/strings.json @@ -15,5 +15,11 @@ "abort": { "single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]" } + }, + "services": { + "update_devices": { + "name": "Update devices", + "description": "Adds new VeSync devices to Home Assistant." + } } } diff --git a/homeassistant/components/vicare/services.yaml b/homeassistant/components/vicare/services.yaml index 1fc1e61b6ee..b4df8a1bb0e 100644 --- a/homeassistant/components/vicare/services.yaml +++ b/homeassistant/components/vicare/services.yaml @@ -1,14 +1,10 @@ set_vicare_mode: - name: Set vicare mode - description: Set a ViCare mode. target: entity: integration: vicare domain: climate fields: vicare_mode: - name: Vicare Mode - description: ViCare mode. required: true selector: select: diff --git a/homeassistant/components/vicare/strings.json b/homeassistant/components/vicare/strings.json index d54956f3e10..0700d5d6f0e 100644 --- a/homeassistant/components/vicare/strings.json +++ b/homeassistant/components/vicare/strings.json @@ -19,5 +19,17 @@ "single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]", "unknown": "[%key:common::config_flow::error::unknown%]" } + }, + "services": { + "set_vicare_mode": { + "name": "Set ViCare mode", + "description": "Set a ViCare mode.", + "fields": { + "vicare_mode": { + "name": "ViCare mode", + "description": "ViCare mode." + } + } + } } } diff --git a/homeassistant/components/vizio/services.yaml b/homeassistant/components/vizio/services.yaml index 7a2ea859b7d..2f5da4659f0 100644 --- a/homeassistant/components/vizio/services.yaml +++ b/homeassistant/components/vizio/services.yaml @@ -1,32 +1,20 @@ update_setting: - name: Update setting - description: Update the value of a setting on a Vizio media player device. target: entity: integration: vizio domain: media_player fields: setting_type: - name: Setting type - description: - The type of setting to be changed. Available types are listed in the - 'setting_types' property. required: true example: "audio" selector: text: setting_name: - name: Setting name - description: - The name of the setting to be changed. Available settings for a given - setting_type are listed in the '_settings' property. required: true example: "eq" selector: text: new_value: - name: New value - description: The new value for the setting. required: true example: "Music" selector: diff --git a/homeassistant/components/vizio/strings.json b/homeassistant/components/vizio/strings.json index 665e03b531a..314f6f8b4e5 100644 --- a/homeassistant/components/vizio/strings.json +++ b/homeassistant/components/vizio/strings.json @@ -50,5 +50,25 @@ } } } + }, + "services": { + "update_setting": { + "name": "Update setting", + "description": "Updates the value of a setting on a Vizio media player device.", + "fields": { + "setting_type": { + "name": "Setting type", + "description": "The type of setting to be changed. Available types are listed in the 'setting_types' property." + }, + "setting_name": { + "name": "Setting name", + "description": "The name of the setting to be changed. Available settings for a given setting_type are listed in the '[setting_type]_settings' property." + }, + "new_value": { + "name": "New value", + "description": "The new value for the setting." + } + } + } } }