Migrate integration services (A) to support translations (#96362)
This commit is contained in:
parent
aea2fc68e7
commit
0ff015c3ad
20 changed files with 423 additions and 169 deletions
|
@ -1,10 +1,6 @@
|
|||
capture_image:
|
||||
name: Capture image
|
||||
description: Request a new image capture from a camera device.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: Entity id of the camera to request an image.
|
||||
required: true
|
||||
selector:
|
||||
entity:
|
||||
|
@ -12,31 +8,21 @@ capture_image:
|
|||
domain: camera
|
||||
|
||||
change_setting:
|
||||
name: Change setting
|
||||
description: Change an Abode system setting.
|
||||
fields:
|
||||
setting:
|
||||
name: Setting
|
||||
description: Setting to change.
|
||||
required: true
|
||||
example: beeper_mute
|
||||
selector:
|
||||
text:
|
||||
value:
|
||||
name: Value
|
||||
description: Value of the setting.
|
||||
required: true
|
||||
example: "1"
|
||||
selector:
|
||||
text:
|
||||
|
||||
trigger_automation:
|
||||
name: Trigger automation
|
||||
description: Trigger an Abode automation.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: Entity id of the automation to trigger.
|
||||
required: true
|
||||
selector:
|
||||
entity:
|
||||
|
|
|
@ -31,5 +31,41 @@
|
|||
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]",
|
||||
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"capture_image": {
|
||||
"name": "Capture image",
|
||||
"description": "Request a new image capture from a camera device.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "Entity",
|
||||
"description": "Entity id of the camera to request an image."
|
||||
}
|
||||
}
|
||||
},
|
||||
"change_setting": {
|
||||
"name": "Change setting",
|
||||
"description": "Change an Abode system setting.",
|
||||
"fields": {
|
||||
"setting": {
|
||||
"name": "Setting",
|
||||
"description": "Setting to change."
|
||||
},
|
||||
"value": {
|
||||
"name": "Value",
|
||||
"description": "Value of the setting."
|
||||
}
|
||||
}
|
||||
},
|
||||
"trigger_automation": {
|
||||
"name": "Trigger automation",
|
||||
"description": "Trigger an Abode automation.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "Entity",
|
||||
"description": "Entity id of the automation to trigger."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,65 +1,43 @@
|
|||
add_url:
|
||||
name: Add url
|
||||
description: Add a new filter subscription to AdGuard Home.
|
||||
fields:
|
||||
name:
|
||||
name: Name
|
||||
description: The name of the filter subscription.
|
||||
required: true
|
||||
example: Example
|
||||
selector:
|
||||
text:
|
||||
url:
|
||||
name: Url
|
||||
description: The filter URL to subscribe to, containing the filter rules.
|
||||
required: true
|
||||
example: https://www.example.com/filter/1.txt
|
||||
selector:
|
||||
text:
|
||||
|
||||
remove_url:
|
||||
name: Remove url
|
||||
description: Removes a filter subscription from AdGuard Home.
|
||||
fields:
|
||||
url:
|
||||
name: Url
|
||||
description: The filter subscription URL to remove.
|
||||
required: true
|
||||
example: https://www.example.com/filter/1.txt
|
||||
selector:
|
||||
text:
|
||||
|
||||
enable_url:
|
||||
name: Enable url
|
||||
description: Enables a filter subscription in AdGuard Home.
|
||||
fields:
|
||||
url:
|
||||
name: Url
|
||||
description: The filter subscription URL to enable.
|
||||
required: true
|
||||
example: https://www.example.com/filter/1.txt
|
||||
selector:
|
||||
text:
|
||||
|
||||
disable_url:
|
||||
name: Disable url
|
||||
description: Disables a filter subscription in AdGuard Home.
|
||||
fields:
|
||||
url:
|
||||
name: Url
|
||||
description: The filter subscription URL to disable.
|
||||
required: true
|
||||
example: https://www.example.com/filter/1.txt
|
||||
selector:
|
||||
text:
|
||||
|
||||
refresh:
|
||||
name: Refresh
|
||||
description: Refresh all filter subscriptions in AdGuard Home.
|
||||
fields:
|
||||
force:
|
||||
name: Force
|
||||
description: Force update (bypasses AdGuard Home throttling). "true" to force, or "false" to omit for a regular refresh.
|
||||
default: false
|
||||
selector:
|
||||
boolean:
|
||||
|
|
|
@ -72,5 +72,61 @@
|
|||
"name": "Query log"
|
||||
}
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"add_url": {
|
||||
"name": "Add URL",
|
||||
"description": "Add a new filter subscription to AdGuard Home.",
|
||||
"fields": {
|
||||
"name": {
|
||||
"name": "Name",
|
||||
"description": "The name of the filter subscription."
|
||||
},
|
||||
"url": {
|
||||
"name": "URL",
|
||||
"description": "The filter URL to subscribe to, containing the filter rules."
|
||||
}
|
||||
}
|
||||
},
|
||||
"remove_url": {
|
||||
"name": "Remove URL",
|
||||
"description": "Removes a filter subscription from AdGuard Home.",
|
||||
"fields": {
|
||||
"url": {
|
||||
"name": "URL",
|
||||
"description": "The filter subscription URL to remove."
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable_url": {
|
||||
"name": "Enable URL",
|
||||
"description": "Enables a filter subscription in AdGuard Home.",
|
||||
"fields": {
|
||||
"url": {
|
||||
"name": "URL",
|
||||
"description": "The filter subscription URL to enable."
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable_url": {
|
||||
"name": "Disable URL",
|
||||
"description": "Disables a filter subscription in AdGuard Home.",
|
||||
"fields": {
|
||||
"url": {
|
||||
"name": "URL",
|
||||
"description": "The filter subscription URL to disable."
|
||||
}
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"name": "Refresh",
|
||||
"description": "Refresh all filter subscriptions in AdGuard Home.",
|
||||
"fields": {
|
||||
"force": {
|
||||
"name": "Force",
|
||||
"description": "Force update (bypasses AdGuard Home throttling). \"true\" to force, or \"false\" to omit for a regular refresh."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,19 +1,13 @@
|
|||
# Describes the format for available ADS services
|
||||
|
||||
write_data_by_name:
|
||||
name: Write data by name
|
||||
description: Write a value to the connected ADS device.
|
||||
fields:
|
||||
adsvar:
|
||||
name: ADS variable
|
||||
description: The name of the variable to write to.
|
||||
required: true
|
||||
example: ".global_var"
|
||||
selector:
|
||||
text:
|
||||
adstype:
|
||||
name: ADS type
|
||||
description: The data type of the variable to write to.
|
||||
required: true
|
||||
selector:
|
||||
select:
|
||||
|
@ -25,8 +19,6 @@ write_data_by_name:
|
|||
- "udint"
|
||||
- "uint"
|
||||
value:
|
||||
name: Value
|
||||
description: The value to write to the variable.
|
||||
required: true
|
||||
selector:
|
||||
number:
|
||||
|
|
22
homeassistant/components/ads/strings.json
Normal file
22
homeassistant/components/ads/strings.json
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"services": {
|
||||
"write_data_by_name": {
|
||||
"name": "Write data by name",
|
||||
"description": "Write a value to the connected ADS device.",
|
||||
"fields": {
|
||||
"adsvar": {
|
||||
"name": "ADS variable",
|
||||
"description": "The name of the variable to write to."
|
||||
},
|
||||
"adstype": {
|
||||
"name": "ADS type",
|
||||
"description": "The data type of the variable to write to."
|
||||
},
|
||||
"value": {
|
||||
"name": "Value",
|
||||
"description": "The value to write to the variable."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +1,10 @@
|
|||
set_time_to:
|
||||
name: Set Time To
|
||||
description: Control timers to turn the system on or off after a set number of minutes
|
||||
target:
|
||||
entity:
|
||||
integration: advantage_air
|
||||
domain: sensor
|
||||
fields:
|
||||
minutes:
|
||||
name: Minutes
|
||||
description: Minutes until action
|
||||
required: true
|
||||
selector:
|
||||
number:
|
||||
|
|
|
@ -16,5 +16,17 @@
|
|||
"title": "Connect"
|
||||
}
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"set_time_to": {
|
||||
"name": "Set time to",
|
||||
"description": "Controls timers to turn the system on or off after a set number of minutes.",
|
||||
"fields": {
|
||||
"minutes": {
|
||||
"name": "Minutes",
|
||||
"description": "Minutes until action."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,43 +1,29 @@
|
|||
# Describes the format for available aftership services
|
||||
|
||||
add_tracking:
|
||||
name: Add tracking
|
||||
description: Add new tracking number to Aftership.
|
||||
fields:
|
||||
tracking_number:
|
||||
name: Tracking number
|
||||
description: Tracking number for the new tracking
|
||||
required: true
|
||||
example: "123456789"
|
||||
selector:
|
||||
text:
|
||||
title:
|
||||
name: Title
|
||||
description: A custom title for the new tracking
|
||||
example: "Laptop"
|
||||
selector:
|
||||
text:
|
||||
slug:
|
||||
name: Slug
|
||||
description: Slug (carrier) of the new tracking
|
||||
example: "USPS"
|
||||
selector:
|
||||
text:
|
||||
|
||||
remove_tracking:
|
||||
name: Remove tracking
|
||||
description: Remove a tracking number from Aftership.
|
||||
fields:
|
||||
tracking_number:
|
||||
name: Tracking number
|
||||
description: Tracking number of the tracking to remove
|
||||
required: true
|
||||
example: "123456789"
|
||||
selector:
|
||||
text:
|
||||
slug:
|
||||
name: Slug
|
||||
description: Slug (carrier) of the tracking to remove
|
||||
example: "USPS"
|
||||
selector:
|
||||
text:
|
||||
|
|
36
homeassistant/components/aftership/strings.json
Normal file
36
homeassistant/components/aftership/strings.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"services": {
|
||||
"add_tracking": {
|
||||
"name": "Add tracking",
|
||||
"description": "Adds a new tracking number to Aftership.",
|
||||
"fields": {
|
||||
"tracking_number": {
|
||||
"name": "Tracking number",
|
||||
"description": "Tracking number for the new tracking."
|
||||
},
|
||||
"title": {
|
||||
"name": "Title",
|
||||
"description": "A custom title for the new tracking."
|
||||
},
|
||||
"slug": {
|
||||
"name": "Slug",
|
||||
"description": "Slug (carrier) of the new tracking."
|
||||
}
|
||||
}
|
||||
},
|
||||
"remove_tracking": {
|
||||
"name": "Remove tracking",
|
||||
"description": "Removes a tracking number from Aftership.",
|
||||
"fields": {
|
||||
"tracking_number": {
|
||||
"name": "Tracking number",
|
||||
"description": "Tracking number of the tracking to remove."
|
||||
},
|
||||
"slug": {
|
||||
"name": "Slug",
|
||||
"description": "Slug (carrier) of the tracking to remove."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,38 +1,28 @@
|
|||
start_recording:
|
||||
name: Start recording
|
||||
description: Enable continuous recording.
|
||||
target:
|
||||
entity:
|
||||
integration: agent_dvr
|
||||
domain: camera
|
||||
|
||||
stop_recording:
|
||||
name: Stop recording
|
||||
description: Disable continuous recording.
|
||||
target:
|
||||
entity:
|
||||
integration: agent_dvr
|
||||
domain: camera
|
||||
|
||||
enable_alerts:
|
||||
name: Enable alerts
|
||||
description: Enable alerts
|
||||
target:
|
||||
entity:
|
||||
integration: agent_dvr
|
||||
domain: camera
|
||||
|
||||
disable_alerts:
|
||||
name: Disable alerts
|
||||
description: Disable alerts
|
||||
target:
|
||||
entity:
|
||||
integration: agent_dvr
|
||||
domain: camera
|
||||
|
||||
snapshot:
|
||||
name: Snapshot
|
||||
description: Take a photo
|
||||
target:
|
||||
entity:
|
||||
integration: agent_dvr
|
||||
|
|
|
@ -16,5 +16,27 @@
|
|||
"already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]",
|
||||
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"start_recording": {
|
||||
"name": "Start recording",
|
||||
"description": "Enables continuous recording."
|
||||
},
|
||||
"stop_recording": {
|
||||
"name": "Stop recording",
|
||||
"description": "Disables continuous recording."
|
||||
},
|
||||
"enable_alerts": {
|
||||
"name": "Enable alerts",
|
||||
"description": "Enables alerts."
|
||||
},
|
||||
"disable_alerts": {
|
||||
"name": "Disable alerts",
|
||||
"description": "Disables alerts."
|
||||
},
|
||||
"snapshot": {
|
||||
"name": "Snapshot",
|
||||
"description": "Takes a photo."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +1,22 @@
|
|||
alarm_keypress:
|
||||
name: Key press
|
||||
description: Send custom keypresses to the alarm.
|
||||
target:
|
||||
entity:
|
||||
integration: alarmdecoder
|
||||
domain: alarm_control_panel
|
||||
fields:
|
||||
keypress:
|
||||
name: Key press
|
||||
description: "String to send to the alarm panel."
|
||||
required: true
|
||||
example: "*71"
|
||||
selector:
|
||||
text:
|
||||
|
||||
alarm_toggle_chime:
|
||||
name: Toggle Chime
|
||||
description: Send the alarm the toggle chime command.
|
||||
target:
|
||||
entity:
|
||||
integration: alarmdecoder
|
||||
domain: alarm_control_panel
|
||||
fields:
|
||||
code:
|
||||
name: Code
|
||||
description: A code to toggle the alarm control panel chime with.
|
||||
required: true
|
||||
example: 1234
|
||||
selector:
|
||||
|
|
|
@ -20,7 +20,9 @@
|
|||
"error": {
|
||||
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
||||
},
|
||||
"create_entry": { "default": "Successfully connected to AlarmDecoder." },
|
||||
"create_entry": {
|
||||
"default": "Successfully connected to AlarmDecoder."
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
|
||||
}
|
||||
|
@ -68,5 +70,27 @@
|
|||
"loop_rfid": "RF Loop cannot be used without RF Serial.",
|
||||
"loop_range": "RF Loop must be an integer between 1 and 4."
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"alarm_keypress": {
|
||||
"name": "Key press",
|
||||
"description": "Sends custom keypresses to the alarm.",
|
||||
"fields": {
|
||||
"keypress": {
|
||||
"name": "Key press",
|
||||
"description": "String to send to the alarm panel."
|
||||
}
|
||||
}
|
||||
},
|
||||
"alarm_toggle_chime": {
|
||||
"name": "Toggle chime",
|
||||
"description": "Sends the alarm the toggle chime command.",
|
||||
"fields": {
|
||||
"code": {
|
||||
"name": "Code",
|
||||
"description": "Code to toggle the alarm control panel chime with."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,53 +1,34 @@
|
|||
# Describes the format for available services for ambiclimate
|
||||
|
||||
set_comfort_mode:
|
||||
name: Set comfort mode
|
||||
description: >
|
||||
Enable comfort mode on your AC.
|
||||
fields:
|
||||
name:
|
||||
description: >
|
||||
String with device name.
|
||||
required: true
|
||||
example: Bedroom
|
||||
selector:
|
||||
text:
|
||||
|
||||
send_comfort_feedback:
|
||||
name: Send comfort feedback
|
||||
description: >
|
||||
Send feedback for comfort mode.
|
||||
fields:
|
||||
name:
|
||||
description: >
|
||||
String with device name.
|
||||
required: true
|
||||
example: Bedroom
|
||||
selector:
|
||||
text:
|
||||
value:
|
||||
description: >
|
||||
Send any of the following comfort values: too_hot, too_warm, bit_warm, comfortable, bit_cold, too_cold, freezing
|
||||
required: true
|
||||
example: bit_warm
|
||||
selector:
|
||||
text:
|
||||
|
||||
set_temperature_mode:
|
||||
name: Set temperature mode
|
||||
description: >
|
||||
Enable temperature mode on your AC.
|
||||
fields:
|
||||
name:
|
||||
description: >
|
||||
String with device name.
|
||||
required: true
|
||||
example: Bedroom
|
||||
selector:
|
||||
text:
|
||||
value:
|
||||
description: >
|
||||
Target value in celsius
|
||||
required: true
|
||||
example: 22
|
||||
selector:
|
||||
|
|
|
@ -18,5 +18,45 @@
|
|||
"missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]",
|
||||
"access_token": "Unknown error generating an access token."
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"set_comfort_mode": {
|
||||
"name": "Set comfort mode",
|
||||
"description": "Enables comfort mode on your AC.",
|
||||
"fields": {
|
||||
"name": {
|
||||
"name": "Device name",
|
||||
"description": "String with device name."
|
||||
}
|
||||
}
|
||||
},
|
||||
"send_comfort_feedback": {
|
||||
"name": "Send comfort feedback",
|
||||
"description": "Sends feedback for comfort mode.",
|
||||
"fields": {
|
||||
"name": {
|
||||
"name": "[%key:component::ambiclimate::services::set_comfort_mode::fields::name::name%]",
|
||||
"description": "[%key:component::ambiclimate::services::set_comfort_mode::fields::name::description%]"
|
||||
},
|
||||
"value": {
|
||||
"name": "Comfort value",
|
||||
"description": "Send any of the following comfort values: too_hot, too_warm, bit_warm, comfortable, bit_cold, too_cold, freezing\n."
|
||||
}
|
||||
}
|
||||
},
|
||||
"set_temperature_mode": {
|
||||
"name": "Set temperature mode",
|
||||
"description": "Enables temperature mode on your AC.",
|
||||
"fields": {
|
||||
"name": {
|
||||
"name": "[%key:component::ambiclimate::services::set_comfort_mode::fields::name::name%]",
|
||||
"description": "[%key:component::ambiclimate::services::set_comfort_mode::fields::name::description%]"
|
||||
},
|
||||
"value": {
|
||||
"name": "Temperature",
|
||||
"description": "Target value in celsius."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,82 +1,53 @@
|
|||
enable_recording:
|
||||
name: Enable recording
|
||||
description: Enable continuous recording to camera storage.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
disable_recording:
|
||||
name: Disable recording
|
||||
description: Disable continuous recording to camera storage.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
enable_audio:
|
||||
name: Enable audio
|
||||
description: Enable audio stream.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
disable_audio:
|
||||
name: Disable audio
|
||||
description: Disable audio stream.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
enable_motion_recording:
|
||||
name: Enable motion recording
|
||||
description: Enable recording a clip to camera storage when motion is detected.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
disable_motion_recording:
|
||||
name: Disable motion recording
|
||||
description: Disable recording a clip to camera storage when motion is detected.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
goto_preset:
|
||||
name: Go to preset
|
||||
description: Move camera to PTZ preset.
|
||||
fields:
|
||||
entity_id:
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
selector:
|
||||
entity:
|
||||
integration: amcrest
|
||||
domain: camera
|
||||
preset:
|
||||
name: Preset
|
||||
description: Preset number.
|
||||
required: true
|
||||
selector:
|
||||
number:
|
||||
|
@ -84,18 +55,12 @@ goto_preset:
|
|||
max: 1000
|
||||
|
||||
set_color_bw:
|
||||
name: Set color
|
||||
description: Set camera color mode.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
color_bw:
|
||||
name: Color
|
||||
description: Color mode.
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
|
@ -104,40 +69,26 @@ set_color_bw:
|
|||
- "color"
|
||||
|
||||
start_tour:
|
||||
name: Start tour
|
||||
description: Start camera's PTZ tour function.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
stop_tour:
|
||||
name: Stop tour
|
||||
description: Stop camera's PTZ tour function.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name(s) of the cameras, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
|
||||
ptz_control:
|
||||
name: PTZ control
|
||||
description: Move (Pan/Tilt) and/or Zoom a PTZ camera.
|
||||
fields:
|
||||
entity_id:
|
||||
name: Entity
|
||||
description: "Name of the camera, or 'all' for all cameras."
|
||||
example: "camera.house_front"
|
||||
selector:
|
||||
text:
|
||||
movement:
|
||||
name: Movement
|
||||
description: "Direction to move the camera."
|
||||
required: true
|
||||
selector:
|
||||
select:
|
||||
|
@ -153,8 +104,6 @@ ptz_control:
|
|||
- "zoom_in"
|
||||
- "zoom_out"
|
||||
travel_time:
|
||||
name: Travel time
|
||||
description: "Travel time in fractional seconds: from 0 to 1."
|
||||
default: .2
|
||||
selector:
|
||||
number:
|
||||
|
|
130
homeassistant/components/amcrest/strings.json
Normal file
130
homeassistant/components/amcrest/strings.json
Normal file
|
@ -0,0 +1,130 @@
|
|||
{
|
||||
"services": {
|
||||
"enable_recording": {
|
||||
"name": "Enable recording",
|
||||
"description": "Enables continuous recording to camera storage.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "Entity",
|
||||
"description": "Name(s) of the cameras, or 'all' for all cameras."
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable_recording": {
|
||||
"name": "Disable recording",
|
||||
"description": "Disables continuous recording to camera storage.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable_audio": {
|
||||
"name": "Enable audio",
|
||||
"description": "Enables audio stream.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable_audio": {
|
||||
"name": "Disable audio",
|
||||
"description": "Disables audio stream.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable_motion_recording": {
|
||||
"name": "Enables motion recording",
|
||||
"description": "Enables recording a clip to camera storage when motion is detected.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable_motion_recording": {
|
||||
"name": "Disables motion recording",
|
||||
"description": "Disable recording a clip to camera storage when motion is detected.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"goto_preset": {
|
||||
"name": "Go to preset",
|
||||
"description": "Moves camera to PTZ preset.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
},
|
||||
"preset": {
|
||||
"name": "Preset",
|
||||
"description": "Preset number."
|
||||
}
|
||||
}
|
||||
},
|
||||
"set_color_bw": {
|
||||
"name": "Set color",
|
||||
"description": "Sets camera color mode.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
},
|
||||
"color_bw": {
|
||||
"name": "Color",
|
||||
"description": "Color mode."
|
||||
}
|
||||
}
|
||||
},
|
||||
"start_tour": {
|
||||
"name": "Start tour",
|
||||
"description": "Starts camera's PTZ tour function.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"stop_tour": {
|
||||
"name": "Stop tour",
|
||||
"description": "Stops camera's PTZ tour function.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ptz_control": {
|
||||
"name": "PTZ control",
|
||||
"description": "Moves (pan/tilt) and/or zoom a PTZ camera.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
|
||||
"description": "[%key:component::amcrest::services::enable_recording::fields::entity_id::description%]"
|
||||
},
|
||||
"movement": {
|
||||
"name": "Movement",
|
||||
"description": "Direction to move the camera."
|
||||
},
|
||||
"travel_time": {
|
||||
"name": "Travel time",
|
||||
"description": "Travel time in fractional seconds: from 0 to 1."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,67 +1,49 @@
|
|||
# Describes the format for available Android and Fire TV services
|
||||
|
||||
adb_command:
|
||||
name: ADB command
|
||||
description: Send an ADB command to an Android / Fire TV device.
|
||||
target:
|
||||
entity:
|
||||
integration: androidtv
|
||||
domain: media_player
|
||||
fields:
|
||||
command:
|
||||
name: Command
|
||||
description: Either a key command or an ADB shell command.
|
||||
required: true
|
||||
example: "HOME"
|
||||
selector:
|
||||
text:
|
||||
download:
|
||||
name: Download
|
||||
description: Download a file from your Android / Fire TV device to your Home Assistant instance.
|
||||
target:
|
||||
entity:
|
||||
integration: androidtv
|
||||
domain: media_player
|
||||
fields:
|
||||
device_path:
|
||||
name: Device path
|
||||
description: The filepath on the Android / Fire TV device.
|
||||
required: true
|
||||
example: "/storage/emulated/0/Download/example.txt"
|
||||
selector:
|
||||
text:
|
||||
local_path:
|
||||
name: Local path
|
||||
description: The filepath on your Home Assistant instance.
|
||||
required: true
|
||||
example: "/config/www/example.txt"
|
||||
selector:
|
||||
text:
|
||||
upload:
|
||||
name: Upload
|
||||
description: Upload a file from your Home Assistant instance to an Android / Fire TV device.
|
||||
target:
|
||||
entity:
|
||||
integration: androidtv
|
||||
domain: media_player
|
||||
fields:
|
||||
device_path:
|
||||
name: Device path
|
||||
description: The filepath on the Android / Fire TV device.
|
||||
required: true
|
||||
example: "/storage/emulated/0/Download/example.txt"
|
||||
selector:
|
||||
text:
|
||||
local_path:
|
||||
name: Local path
|
||||
description: The filepath on your Home Assistant instance.
|
||||
required: true
|
||||
example: "/config/www/example.txt"
|
||||
selector:
|
||||
text:
|
||||
learn_sendevent:
|
||||
name: Learn sendevent
|
||||
description: Translate a key press on a remote into ADB 'sendevent' commands. You must press one button on the remote within 8 seconds of calling this service.
|
||||
target:
|
||||
entity:
|
||||
integration: androidtv
|
||||
|
|
|
@ -59,5 +59,49 @@
|
|||
"error": {
|
||||
"invalid_det_rules": "Invalid state detection rules"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"adb_command": {
|
||||
"name": "ADB command",
|
||||
"description": "Sends an ADB command to an Android / Fire TV device.",
|
||||
"fields": {
|
||||
"command": {
|
||||
"name": "Command",
|
||||
"description": "Either a key command or an ADB shell command."
|
||||
}
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"name": "Download",
|
||||
"description": "Downloads a file from your Android / Fire TV device to your Home Assistant instance.",
|
||||
"fields": {
|
||||
"device_path": {
|
||||
"name": "Device path",
|
||||
"description": "The filepath on the Android / Fire TV device."
|
||||
},
|
||||
"local_path": {
|
||||
"name": "Local path",
|
||||
"description": "The filepath on your Home Assistant instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
"upload": {
|
||||
"name": "Upload",
|
||||
"description": "Uploads a file from your Home Assistant instance to an Android / Fire TV device.",
|
||||
"fields": {
|
||||
"device_path": {
|
||||
"name": "Device path",
|
||||
"description": "The filepath on the Android / Fire TV device."
|
||||
},
|
||||
"local_path": {
|
||||
"name": "Local path",
|
||||
"description": "The filepath on your Home Assistant instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
"learn_sendevent": {
|
||||
"name": "Learn sendevent",
|
||||
"description": "Translates a key press on a remote into ADB 'sendevent' commands. You must press one button on the remote within 8 seconds of calling this service."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue