mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Use config flow references for data (#35529)
This commit is contained in:
parent
1f71bdedab
commit
dd32324e01
@ -5,7 +5,7 @@
|
|||||||
"title": "Fill in your Abode login information",
|
"title": "Fill in your Abode login information",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -18,4 +18,4 @@
|
|||||||
"single_instance_allowed": "Only a single configuration of Abode is allowed."
|
"single_instance_allowed": "Only a single configuration of Abode is allowed."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,8 +5,8 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Set up Agent DVR",
|
"title": "Set up Agent DVR",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -18,4 +18,4 @@
|
|||||||
"device_unavailable": "Device is not available"
|
"device_unavailable": "Device is not available"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
"description": "Set up Airly air quality integration. To generate API key go to https://developer.airly.eu/register",
|
"description": "Set up Airly air quality integration. To generate API key go to https://developer.airly.eu/register",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "Name of the integration",
|
"name": "Name of the integration",
|
||||||
"api_key": "Airly API key",
|
"api_key": "[%key:common::config_flow::data::api_key%]",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude"
|
"longitude": "Longitude"
|
||||||
}
|
}
|
||||||
@ -20,4 +20,4 @@
|
|||||||
"already_configured": "Airly integration for these coordinates is already configured."
|
"already_configured": "Airly integration for these coordinates is already configured."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -15,7 +15,7 @@
|
|||||||
"description": "Monitor a personal AirVisual unit. The password can be retrieved from the unit's UI.",
|
"description": "Monitor a personal AirVisual unit. The password can be retrieved from the unit's UI.",
|
||||||
"data": {
|
"data": {
|
||||||
"ip_address": "Unit IP Address/Hostname",
|
"ip_address": "Unit IP Address/Hostname",
|
||||||
"password": "Unit Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user": {
|
"user": {
|
||||||
@ -47,4 +47,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,13 +3,18 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Fill in your information",
|
"title": "Fill in your information",
|
||||||
"data": { "api_key": "API Key", "app_key": "Application Key" }
|
"data": {
|
||||||
|
"api_key": "[%key:common::config_flow::data::api_key%]",
|
||||||
|
"app_key": "Application Key"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"invalid_key": "Invalid API Key and/or Application Key",
|
"invalid_key": "Invalid API Key and/or Application Key",
|
||||||
"no_devices": "No devices found in account"
|
"no_devices": "No devices found in account"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "This app key is already in use." }
|
"abort": {
|
||||||
|
"already_configured": "This app key is already in use."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,9 +5,9 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the device",
|
"title": "Connect to the device",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"email": "Email (Optional)",
|
"email": "Email (Optional)",
|
||||||
"port": "Port (10000)"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -18,4 +18,4 @@
|
|||||||
"already_configured": "Only one Atag device can be added to Home Assistant"
|
"already_configured": "Only one Atag device can be added to Home Assistant"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,23 +5,27 @@
|
|||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
"invalid_auth": "Invalid authentication"
|
"invalid_auth": "Invalid authentication"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Account is already configured" },
|
"abort": {
|
||||||
|
"already_configured": "Account is already configured"
|
||||||
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"validation": {
|
"validation": {
|
||||||
"title": "Two factor authentication",
|
"title": "Two factor authentication",
|
||||||
"data": { "code": "Verification code" },
|
"data": {
|
||||||
|
"code": "Verification code"
|
||||||
|
},
|
||||||
"description": "Please check your {login_method} ({username}) and enter the verification code below"
|
"description": "Please check your {login_method} ({username}) and enter the verification code below"
|
||||||
},
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"description": "If the Login Method is 'email', Username is the email address. If the Login Method is 'phone', Username is the phone number in the format '+NNNNNNNNN'.",
|
"description": "If the Login Method is 'email', Username is the email address. If the Login Method is 'phone', Username is the phone number in the format '+NNNNNNNNN'.",
|
||||||
"data": {
|
"data": {
|
||||||
"timeout": "Timeout (seconds)",
|
"timeout": "Timeout (seconds)",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"login_method": "Login Method"
|
"login_method": "Login Method"
|
||||||
},
|
},
|
||||||
"title": "Setup an August account"
|
"title": "Setup an August account"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,10 +5,10 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Set up Axis device",
|
"title": "Set up Axis device",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -25,4 +25,4 @@
|
|||||||
"not_axis_device": "Discovered device not an Axis device"
|
"not_axis_device": "Discovered device not an Axis device"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,12 +12,12 @@
|
|||||||
"flow_title": "BleBox device: {name} ({host})",
|
"flow_title": "BleBox device: {name} ({host})",
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"description": "Set up your BleBox to integrate with Home Assistant.",
|
"description": "Set up your BleBox to integrate with Home Assistant.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "IP address",
|
"host": "[%key:common::config_flow::data::ip%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
},
|
},
|
||||||
"title": "Set up your BleBox device"
|
"title": "Set up your BleBox device"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,12 +4,16 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Sony Bravia TV",
|
"title": "Sony Bravia TV",
|
||||||
"description": "Set up Sony Bravia TV integration. If you have problems with configuration go to: https://www.home-assistant.io/integrations/braviatv \n\nEnsure that your TV is turned on.",
|
"description": "Set up Sony Bravia TV integration. If you have problems with configuration go to: https://www.home-assistant.io/integrations/braviatv \n\nEnsure that your TV is turned on.",
|
||||||
"data": { "host": "TV hostname or IP address" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"authorize": {
|
"authorize": {
|
||||||
"title": "Authorize Sony Bravia TV",
|
"title": "Authorize Sony Bravia TV",
|
||||||
"description": "Enter the PIN code shown on the Sony Bravia TV. \n\nIf the PIN code is not shown, you have to unregister Home Assistant on your TV, go to: Settings -> Network -> Remote device settings -> Unregister remote device.",
|
"description": "Enter the PIN code shown on the Sony Bravia TV. \n\nIf the PIN code is not shown, you have to unregister Home Assistant on your TV, go to: Settings -> Network -> Remote device settings -> Unregister remote device.",
|
||||||
"data": { "pin": "PIN code" }
|
"data": {
|
||||||
|
"pin": "PIN code"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -17,14 +21,18 @@
|
|||||||
"cannot_connect": "Failed to connect, invalid host or PIN code.",
|
"cannot_connect": "Failed to connect, invalid host or PIN code.",
|
||||||
"unsupported_model": "Your TV model is not supported."
|
"unsupported_model": "Your TV model is not supported."
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "This TV is already configured." }
|
"abort": {
|
||||||
|
"already_configured": "This TV is already configured."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Options for Sony Bravia TV",
|
"title": "Options for Sony Bravia TV",
|
||||||
"data": { "ignored_sources": "List of ignored sources" }
|
"data": {
|
||||||
|
"ignored_sources": "List of ignored sources"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,14 +5,16 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"description": "Set up Brother printer integration. If you have problems with configuration go to: https://www.home-assistant.io/integrations/brother",
|
"description": "Set up Brother printer integration. If you have problems with configuration go to: https://www.home-assistant.io/integrations/brother",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Printer hostname or IP address",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"type": "Type of the printer"
|
"type": "Type of the printer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"zeroconf_confirm": {
|
"zeroconf_confirm": {
|
||||||
"description": "Do you want to add the Brother Printer {model} with serial number `{serial_number}` to Home Assistant?",
|
"description": "Do you want to add the Brother Printer {model} with serial number `{serial_number}` to Home Assistant?",
|
||||||
"title": "Discovered Brother Printer",
|
"title": "Discovered Brother Printer",
|
||||||
"data": { "type": "Type of the printer" }
|
"data": {
|
||||||
|
"type": "Type of the printer"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -25,4 +27,4 @@
|
|||||||
"already_configured": "This printer is already configured."
|
"already_configured": "This printer is already configured."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,8 +7,8 @@
|
|||||||
"title": "Connect to the BSB-Lan device",
|
"title": "Connect to the BSB-Lan device",
|
||||||
"description": "Set up you BSB-Lan device to integrate with Home Assistant.",
|
"description": "Set up you BSB-Lan device to integrate with Home Assistant.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host or IP address",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port number",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"passkey": "Passkey string"
|
"passkey": "Passkey string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -20,4 +20,4 @@
|
|||||||
"already_configured": "Device is already configured"
|
"already_configured": "Device is already configured"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,8 +6,8 @@
|
|||||||
"title": "Define the certificate to test",
|
"title": "Define the certificate to test",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "The name of the certificate",
|
"name": "The name of the certificate",
|
||||||
"host": "The hostname of the certificate",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "The port of the certificate"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -21,4 +21,4 @@
|
|||||||
"import_failed": "Import from config failed"
|
"import_failed": "Import from config failed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Setup your CoolMasterNet connection details.",
|
"title": "Setup your CoolMasterNet connection details.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"off": "Can be turned off",
|
"off": "Can be turned off",
|
||||||
"heat": "Support heat mode",
|
"heat": "Support heat mode",
|
||||||
"cool": "Support cool mode",
|
"cool": "Support cool mode",
|
||||||
@ -19,4 +19,4 @@
|
|||||||
"no_units": "Could not find any HVAC units in CoolMasterNet host."
|
"no_units": "Could not find any HVAC units in CoolMasterNet host."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,8 +9,8 @@
|
|||||||
},
|
},
|
||||||
"manual_input": {
|
"manual_input": {
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
@ -22,7 +22,9 @@
|
|||||||
"description": "Do you want to configure Home Assistant to connect to the deCONZ gateway provided by the Hass.io add-on {addon}?"
|
"description": "Do you want to configure Home Assistant to connect to the deCONZ gateway provided by the Hass.io add-on {addon}?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "no_key": "Couldn't get an API key" },
|
"error": {
|
||||||
|
"no_key": "Couldn't get an API key"
|
||||||
|
},
|
||||||
"abort": {
|
"abort": {
|
||||||
"already_configured": "Bridge is already configured",
|
"already_configured": "Bridge is already configured",
|
||||||
"already_in_progress": "Config flow for bridge is already in progress.",
|
"already_in_progress": "Config flow for bridge is already in progress.",
|
||||||
@ -98,4 +100,4 @@
|
|||||||
"side_6": "Side 6"
|
"side_6": "Side 6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,22 +1,22 @@
|
|||||||
{
|
{
|
||||||
"title": "devolo Home Control",
|
"title": "devolo Home Control",
|
||||||
"config": {
|
"config": {
|
||||||
"abort": {
|
"abort": {
|
||||||
"already_configured": "This Home Control Central Unit is already in use."
|
"already_configured": "This Home Control Central Unit is already in use."
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"invalid_credentials": "Incorrect user name and/or password."
|
"invalid_credentials": "Incorrect user name and/or password."
|
||||||
|
},
|
||||||
|
"step": {
|
||||||
|
"user": {
|
||||||
|
"data": {
|
||||||
|
"username": "E-Mail-Address / devolo ID",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
|
"mydevolo_url": "mydevolo URL",
|
||||||
|
"home_control_url": "Home Control URL"
|
||||||
},
|
},
|
||||||
"step": {
|
"title": "devolo Home Control"
|
||||||
"user": {
|
}
|
||||||
"data": {
|
|
||||||
"username": "E-Mail-Address / devolo ID",
|
|
||||||
"password": "Password",
|
|
||||||
"mydevolo_url": "mydevolo URL",
|
|
||||||
"home_control_url": "Home Control URL"
|
|
||||||
},
|
|
||||||
"title": "devolo Home Control"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
@ -2,7 +2,9 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"data": { "events": "Comma separated list of events." },
|
"data": {
|
||||||
|
"events": "Comma separated list of events."
|
||||||
|
},
|
||||||
"description": "Add an comma separated event name for each event you wish to track. After entering them here, use the DoorBird app to assign them to a specific event. See the documentation at https://www.home-assistant.io/integrations/doorbird/#events. Example: somebody_pressed_the_button, motion"
|
"description": "Add an comma separated event name for each event you wish to track. After entering them here, use the DoorBird app to assign them to a specific event. See the documentation at https://www.home-assistant.io/integrations/doorbird/#events. Example: somebody_pressed_the_button, motion"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,7 +15,7 @@
|
|||||||
"title": "Connect to the DoorBird",
|
"title": "Connect to the DoorBird",
|
||||||
"data": {
|
"data": {
|
||||||
"password": "[%key:common::config_flow::data::password%]",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"host": "Host (IP Address)",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"name": "Device Name",
|
"name": "Device Name",
|
||||||
"username": "[%key:common::config_flow::data::username%]"
|
"username": "[%key:common::config_flow::data::username%]"
|
||||||
}
|
}
|
||||||
@ -31,4 +33,4 @@
|
|||||||
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,9 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "ecobee API key",
|
"title": "ecobee API key",
|
||||||
"description": "Please enter the API key obtained from ecobee.com.",
|
"description": "Please enter the API key obtained from ecobee.com.",
|
||||||
"data": { "api_key": "API Key" }
|
"data": {
|
||||||
|
"api_key": "[%key:common::config_flow::data::api_key%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"authorize": {
|
"authorize": {
|
||||||
"title": "Authorize app on ecobee.com",
|
"title": "Authorize app on ecobee.com",
|
||||||
@ -19,4 +21,4 @@
|
|||||||
"one_instance_only": "This integration currently supports only one ecobee instance."
|
"one_instance_only": "This integration currently supports only one ecobee instance."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"description": "Set up your Elgato Key Light to integrate with Home Assistant.",
|
"description": "Set up your Elgato Key Light to integrate with Home Assistant.",
|
||||||
"data": { "host": "Host or IP address", "port": "Port number" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"zeroconf_confirm": {
|
"zeroconf_confirm": {
|
||||||
"description": "Do you want to add the Elgato Key Light with serial number `{serial_number}` to Home Assistant?",
|
"description": "Do you want to add the Elgato Key Light with serial number `{serial_number}` to Home Assistant?",
|
||||||
@ -19,4 +22,4 @@
|
|||||||
"connection_error": "Failed to connect to Elgato Key Light device."
|
"connection_error": "Failed to connect to Elgato Key Light device."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,8 +7,8 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"protocol": "Protocol",
|
"protocol": "Protocol",
|
||||||
"address": "The IP address or domain or serial port if connecting via serial.",
|
"address": "The IP address or domain or serial port if connecting via serial.",
|
||||||
"username": "Username (secure only).",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password (secure only).",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"prefix": "A unique prefix (leave blank if you only have one ElkM1).",
|
"prefix": "A unique prefix (leave blank if you only have one ElkM1).",
|
||||||
"temperature_unit": "The temperature unit ElkM1 uses."
|
"temperature_unit": "The temperature unit ElkM1 uses."
|
||||||
}
|
}
|
||||||
@ -24,4 +24,4 @@
|
|||||||
"address_already_configured": "An ElkM1 with this address is already configured"
|
"address_already_configured": "An ElkM1 with this address is already configured"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,11 +11,16 @@
|
|||||||
},
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": { "host": "Host", "port": "Port" },
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
|
},
|
||||||
"description": "Please enter connection settings of your [ESPHome](https://esphomelib.com/) node."
|
"description": "Please enter connection settings of your [ESPHome](https://esphomelib.com/) node."
|
||||||
},
|
},
|
||||||
"authenticate": {
|
"authenticate": {
|
||||||
"data": { "password": "Password" },
|
"data": {
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
},
|
||||||
"description": "Please enter the password you set in your configuration for {name}."
|
"description": "Please enter the password you set in your configuration for {name}."
|
||||||
},
|
},
|
||||||
"discovery_confirm": {
|
"discovery_confirm": {
|
||||||
@ -25,4 +30,4 @@
|
|||||||
},
|
},
|
||||||
"flow_title": "ESPHome: {name}"
|
"flow_title": "ESPHome: {name}"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,8 +5,8 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Flick Login Credentials",
|
"title": "Flick Login Credentials",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"client_id": "Client ID (Optional)",
|
"client_id": "Client ID (Optional)",
|
||||||
"client_secret": "Client Secret (Optional)"
|
"client_secret": "Client Secret (Optional)"
|
||||||
}
|
}
|
||||||
|
@ -10,13 +10,15 @@
|
|||||||
"description": "In order to access the Flume Personal API, you will need to request a 'Client ID' and 'Client Secret' at https://portal.flumetech.com/settings#token",
|
"description": "In order to access the Flume Personal API, you will need to request a 'Client ID' and 'Client Secret' at https://portal.flumetech.com/settings#token",
|
||||||
"title": "Connect to your Flume Account",
|
"title": "Connect to your Flume Account",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"client_secret": "Client Secret",
|
"client_secret": "Client Secret",
|
||||||
"client_id": "Client ID",
|
"client_id": "Client ID",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "This account is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "This account is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,7 +3,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Freebox",
|
"title": "Freebox",
|
||||||
"data": { "host": "Host", "port": "Port" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
"title": "Link Freebox router",
|
"title": "Link Freebox router",
|
||||||
@ -15,6 +18,8 @@
|
|||||||
"connection_failed": "Failed to connect, please try again",
|
"connection_failed": "Failed to connect, please try again",
|
||||||
"unknown": "Unknown error: please retry later"
|
"unknown": "Unknown error: please retry later"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Host already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Host already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,16 +5,16 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"description": "Enter your AVM FRITZ!Box information.",
|
"description": "Enter your AVM FRITZ!Box information.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host or IP address",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"description": "Do you want to set up {name}?",
|
"description": "Do you want to set up {name}?",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -28,4 +28,4 @@
|
|||||||
"auth_failed": "Username and/or password are incorrect."
|
"auth_failed": "Username and/or password are incorrect."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,10 +11,13 @@
|
|||||||
},
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": { "password": "Password", "username": "Username" },
|
"data": {
|
||||||
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
|
"username": "[%key:common::config_flow::data::username%]"
|
||||||
|
},
|
||||||
"description": "Enter your credentials.",
|
"description": "Enter your credentials.",
|
||||||
"title": "Garmin Connect"
|
"title": "Garmin Connect"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,10 +5,10 @@
|
|||||||
"title": "Setup Glances",
|
"title": "Setup Glances",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"version": "Glances API Version (2 or 3)",
|
"version": "Glances API Version (2 or 3)",
|
||||||
"ssl": "Use SSL/TLS to connect to the Glances system",
|
"ssl": "Use SSL/TLS to connect to the Glances system",
|
||||||
"verify_ssl": "Verify the certification of the system"
|
"verify_ssl": "Verify the certification of the system"
|
||||||
@ -19,14 +19,18 @@
|
|||||||
"cannot_connect": "Unable to connect to host",
|
"cannot_connect": "Unable to connect to host",
|
||||||
"wrong_version": "Version not supported (2 or 3 only)"
|
"wrong_version": "Version not supported (2 or 3 only)"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Host is already configured." }
|
"abort": {
|
||||||
|
"already_configured": "Host is already configured."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"description": "Configure options for Glances",
|
"description": "Configure options for Glances",
|
||||||
"data": { "scan_interval": "Update frequency" }
|
"data": {
|
||||||
|
"scan_interval": "Update frequency"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,15 +13,17 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"email": "[%key:common::config_flow::data::email%]",
|
"email": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"authorization_code": "Authorization Code (required for manual authentication)"
|
"authorization_code": "Authorization Code (required for manual authentication)"
|
||||||
},
|
},
|
||||||
"title": "Google Hangouts Login"
|
"title": "Google Hangouts Login"
|
||||||
},
|
},
|
||||||
"2fa": {
|
"2fa": {
|
||||||
"data": { "2fa": "2FA Pin" },
|
"data": {
|
||||||
|
"2fa": "2FA Pin"
|
||||||
|
},
|
||||||
"title": "2-Factor-Authentication"
|
"title": "2-Factor-Authentication"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Setup Logitech Harmony Hub",
|
"title": "Setup Logitech Harmony Hub",
|
||||||
"data": { "host": "Hostname or IP Address", "name": "Hub Name" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"name": "Hub Name"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
"title": "Setup Logitech Harmony Hub",
|
"title": "Setup Logitech Harmony Hub",
|
||||||
@ -15,7 +18,9 @@
|
|||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -28,4 +33,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,9 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to Heos",
|
"title": "Connect to Heos",
|
||||||
"description": "Please enter the host name or IP address of a Heos device (preferably one connected via wire to the network).",
|
"description": "Please enter the host name or IP address of a Heos device (preferably one connected via wire to the network).",
|
||||||
"data": { "access_token": "Host", "host": "Host" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"username": "User name"
|
"username": "[%key:common::config_flow::data::username%]"
|
||||||
},
|
},
|
||||||
"description": "Enter device access details. Specifying username and password is optional, but enables support for more integration features. On the other hand, use of an authorized connection may cause problems accessing the device web interface from outside Home Assistant while the integration is active, and the other way around.",
|
"description": "Enter device access details. Specifying username and password is optional, but enables support for more integration features. On the other hand, use of an authorized connection may cause problems accessing the device web interface from outside Home Assistant while the integration is active, and the other way around.",
|
||||||
"title": "Configure Huawei LTE"
|
"title": "Configure Huawei LTE"
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"init": {
|
"init": {
|
||||||
"title": "Pick Hue bridge",
|
"title": "Pick Hue bridge",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host"
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
@ -48,4 +48,4 @@
|
|||||||
"remote_double_button_short_press": "Both \"{subtype}\" released"
|
"remote_double_button_short_press": "Both \"{subtype}\" released"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,13 +5,13 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the PowerView Hub",
|
"title": "Connect to the PowerView Hub",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "IP Address"
|
"host": "[%key:common::config_flow::data::ip%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
"title": "Connect to the PowerView Hub",
|
"title": "Connect to the PowerView Hub",
|
||||||
"description": "Do you want to setup {name} ({host})?"
|
"description": "Do you want to setup {name} ({host})?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
@ -21,4 +21,4 @@
|
|||||||
"already_configured": "Device is already configured"
|
"already_configured": "Device is already configured"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
"title": "Connect to iAqualink",
|
"title": "Connect to iAqualink",
|
||||||
"description": "Please enter the username and password for your iAqualink account.",
|
"description": "Please enter the username and password for your iAqualink account.",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username / Email Address",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -17,4 +17,4 @@
|
|||||||
"already_setup": "You can only configure a single iAqualink connection."
|
"already_setup": "You can only configure a single iAqualink connection."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,19 +6,23 @@
|
|||||||
"description": "Enter your credentials",
|
"description": "Enter your credentials",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"with_family": "With family"
|
"with_family": "With family"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"trusted_device": {
|
"trusted_device": {
|
||||||
"title": "iCloud trusted device",
|
"title": "iCloud trusted device",
|
||||||
"description": "Select your trusted device",
|
"description": "Select your trusted device",
|
||||||
"data": { "trusted_device": "Trusted device" }
|
"data": {
|
||||||
|
"trusted_device": "Trusted device"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"verification_code": {
|
"verification_code": {
|
||||||
"title": "iCloud verification code",
|
"title": "iCloud verification code",
|
||||||
"description": "Please enter the verification code you just received from iCloud",
|
"description": "Please enter the verification code you just received from iCloud",
|
||||||
"data": { "verification_code": "Verification code" }
|
"data": {
|
||||||
|
"verification_code": "Verification code"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -31,4 +35,4 @@
|
|||||||
"no_device": "None of your devices have \"Find my iPhone\" activated"
|
"no_device": "None of your devices have \"Find my iPhone\" activated"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,8 +8,8 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"description": "Please enter the host information for your Konnected Panel.",
|
"description": "Please enter the host information for your Konnected Panel.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Konnected device IP address",
|
"host": "[%key:common::config_flow::data::ip%]",
|
||||||
"port": "Konnected device port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"confirm": {
|
"confirm": {
|
||||||
@ -97,7 +97,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "bad_host": "Invalid Override API host url" },
|
"error": {
|
||||||
"abort": { "not_konn_panel": "Not a recognized Konnected.io device" }
|
"bad_host": "Invalid Override API host url"
|
||||||
|
},
|
||||||
|
"abort": {
|
||||||
|
"not_konn_panel": "Not a recognized Konnected.io device"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Life360 Account Info",
|
"title": "Life360 Account Info",
|
||||||
"data": { "username": "Username", "password": "Password" },
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
},
|
||||||
"description": "To set advanced options, see [Life360 documentation]({docs_url}).\nYou may want to do that before adding accounts."
|
"description": "To set advanced options, see [Life360 documentation]({docs_url}).\nYou may want to do that before adding accounts."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -21,4 +24,4 @@
|
|||||||
"user_already_configured": "[%key:common::config_flow::abort::already_configured_account%]"
|
"user_already_configured": "[%key:common::config_flow::abort::already_configured_account%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
"description": "Enter your credentials",
|
"description": "Enter your credentials",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -16,6 +16,8 @@
|
|||||||
"wrong_login": "Login error: please check your email & password",
|
"wrong_login": "Login error: please check your email & password",
|
||||||
"unknown": "Unknown error: please retry later (usually not between 11PM and 2AM)"
|
"unknown": "Unknown error: please retry later (usually not between 11PM and 2AM)"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Account already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Account already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
"description": "Connect using your MELCloud account.",
|
"description": "Connect using your MELCloud account.",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "MELCloud password."
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -19,4 +19,4 @@
|
|||||||
"already_configured": "MELCloud integration already configured for this email. Access token has been refreshed."
|
"already_configured": "MELCloud integration already configured for this email. Access token has been refreshed."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,10 +5,10 @@
|
|||||||
"title": "Set up Mikrotik Router",
|
"title": "Set up Mikrotik Router",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"verify_ssl": "Use ssl"
|
"verify_ssl": "Use ssl"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -18,7 +18,9 @@
|
|||||||
"cannot_connect": "Connection Unsuccessful",
|
"cannot_connect": "Connection Unsuccessful",
|
||||||
"wrong_credentials": "Wrong Credentials"
|
"wrong_credentials": "Wrong Credentials"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Mikrotik is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Mikrotik is already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -31,4 +33,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,10 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Link your Minecraft Server",
|
"title": "Link your Minecraft Server",
|
||||||
"description": "Set up your Minecraft Server instance to allow monitoring.",
|
"description": "Set up your Minecraft Server instance to allow monitoring.",
|
||||||
"data": { "name": "Name", "host": "Host" }
|
"data": {
|
||||||
|
"name": "Name",
|
||||||
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -12,6 +15,8 @@
|
|||||||
"cannot_connect": "Failed to connect to server. Please check the host and port and try again. Also ensure that you are running at least Minecraft version 1.7 on your server.",
|
"cannot_connect": "Failed to connect to server. Please check the host and port and try again. Also ensure that you are running at least Minecraft version 1.7 on your server.",
|
||||||
"invalid_ip": "IP address is invalid (MAC address could not be determined). Please correct it and try again."
|
"invalid_ip": "IP address is invalid (MAC address could not be determined). Please correct it and try again."
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Host is already configured." }
|
"abort": {
|
||||||
|
"already_configured": "Host is already configured."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the device",
|
"title": "Connect to the device",
|
||||||
"data": {
|
"data": {
|
||||||
"port": "Serial port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"source_1": "Name of source #1",
|
"source_1": "Name of source #1",
|
||||||
"source_2": "Name of source #2",
|
"source_2": "Name of source #2",
|
||||||
"source_3": "Name of source #3",
|
"source_3": "Name of source #3",
|
||||||
@ -18,7 +18,9 @@
|
|||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -35,4 +37,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,22 +5,26 @@
|
|||||||
"description": "Please enter the connection information of your MQTT broker.",
|
"description": "Please enter the connection information of your MQTT broker.",
|
||||||
"data": {
|
"data": {
|
||||||
"broker": "Broker",
|
"broker": "Broker",
|
||||||
"port": "Port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"discovery": "Enable discovery"
|
"discovery": "Enable discovery"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hassio_confirm": {
|
"hassio_confirm": {
|
||||||
"title": "MQTT Broker via Hass.io add-on",
|
"title": "MQTT Broker via Hass.io add-on",
|
||||||
"description": "Do you want to configure Home Assistant to connect to the MQTT broker provided by the Hass.io add-on {addon}?",
|
"description": "Do you want to configure Home Assistant to connect to the MQTT broker provided by the Hass.io add-on {addon}?",
|
||||||
"data": { "discovery": "Enable discovery" }
|
"data": {
|
||||||
|
"discovery": "Enable discovery"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"abort": {
|
"abort": {
|
||||||
"single_instance_allowed": "Only a single configuration of MQTT is allowed."
|
"single_instance_allowed": "Only a single configuration of MQTT is allowed."
|
||||||
},
|
},
|
||||||
"error": { "cannot_connect": "Unable to connect to the broker." }
|
"error": {
|
||||||
|
"cannot_connect": "Unable to connect to the broker."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"device_automation": {
|
"device_automation": {
|
||||||
"trigger_type": {
|
"trigger_type": {
|
||||||
@ -44,4 +48,4 @@
|
|||||||
"button_6": "Sixth button"
|
"button_6": "Sixth button"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,7 +3,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the MyQ Gateway",
|
"title": "Connect to the MyQ Gateway",
|
||||||
"data": { "username": "Username", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -11,6 +14,8 @@
|
|||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "MyQ is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "MyQ is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,8 +4,8 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Neato Account Info",
|
"title": "Neato Account Info",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"vendor": "Vendor"
|
"vendor": "Vendor"
|
||||||
},
|
},
|
||||||
"description": "See [Neato documentation]({docs_url})."
|
"description": "See [Neato documentation]({docs_url})."
|
||||||
@ -15,10 +15,12 @@
|
|||||||
"invalid_credentials": "Invalid credentials",
|
"invalid_credentials": "Invalid credentials",
|
||||||
"unexpected_error": "Unexpected error"
|
"unexpected_error": "Unexpected error"
|
||||||
},
|
},
|
||||||
"create_entry": { "default": "See [Neato documentation]({docs_url})." },
|
"create_entry": {
|
||||||
|
"default": "See [Neato documentation]({docs_url})."
|
||||||
|
},
|
||||||
"abort": {
|
"abort": {
|
||||||
"already_configured": "Already configured",
|
"already_configured": "Already configured",
|
||||||
"invalid_credentials": "Invalid credentials"
|
"invalid_credentials": "Invalid credentials"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,7 +3,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to mynexia.com",
|
"title": "Connect to mynexia.com",
|
||||||
"data": { "username": "Username", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -11,6 +14,8 @@
|
|||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "This nexia home is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "This nexia home is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,13 +3,18 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Fill in your information",
|
"title": "Fill in your information",
|
||||||
"data": { "username": "Username/Email Address", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"invalid_credentials": "Invalid username or password",
|
"invalid_credentials": "Invalid username or password",
|
||||||
"no_devices": "No devices found in account"
|
"no_devices": "No devices found in account"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "This username is already in use." }
|
"abort": {
|
||||||
|
"already_configured": "This username is already in use."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,17 +6,19 @@
|
|||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"invalid_thermostat": "The thermostat serial number is invalid."
|
"invalid_thermostat": "The thermostat serial number is invalid."
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "The thermostat is already configured" },
|
"abort": {
|
||||||
|
"already_configured": "The thermostat is already configured"
|
||||||
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the NuHeat",
|
"title": "Connect to the NuHeat",
|
||||||
"description": "You will need to obtain your thermostat\u2019s numeric serial number or ID by logging into https://MyNuHeat.com and selecting your thermostat(s).",
|
"description": "You will need to obtain your thermostat\u2019s numeric serial number or ID by logging into https://MyNuHeat.com and selecting your thermostat(s).",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"serial_number": "Serial number of the thermostat."
|
"serial_number": "Serial number of the thermostat."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,26 +4,33 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to the NUT server",
|
"title": "Connect to the NUT server",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ups": {
|
"ups": {
|
||||||
"title": "Choose the UPS to Monitor",
|
"title": "Choose the UPS to Monitor",
|
||||||
"data": { "alias": "Alias", "resources": "Resources" }
|
"data": {
|
||||||
|
"alias": "Alias",
|
||||||
|
"resources": "Resources"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"resources": {
|
"resources": {
|
||||||
"title": "Choose the Resources to Monitor",
|
"title": "Choose the Resources to Monitor",
|
||||||
"data": { "resources": "Resources" }
|
"data": {
|
||||||
|
"resources": "Resources"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -36,4 +43,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,7 @@
|
|||||||
"description": "If a METAR station code is not specified, the latitude and longitude will be used to find the closest station.",
|
"description": "If a METAR station code is not specified, the latitude and longitude will be used to find the closest station.",
|
||||||
"title": "Connect to the National Weather Service",
|
"title": "Connect to the National Weather Service",
|
||||||
"data": {
|
"data": {
|
||||||
"api_key": "API key (email)",
|
"api_key": "[%key:common::config_flow::data::api_key%]",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude",
|
"longitude": "Longitude",
|
||||||
"station": "METAR station code"
|
"station": "METAR station code"
|
||||||
@ -16,6 +16,8 @@
|
|||||||
"cannot_connect": "Failed to connect, please try again",
|
"cannot_connect": "Failed to connect, please try again",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -23,16 +23,16 @@
|
|||||||
},
|
},
|
||||||
"manual_input": {
|
"manual_input": {
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
},
|
},
|
||||||
"title": "Configure ONVIF device"
|
"title": "Configure ONVIF device"
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"title": "Configure authentication",
|
"title": "Configure authentication",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"configure_profile": {
|
"configure_profile": {
|
||||||
@ -55,4 +55,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Fill in your information",
|
"title": "Fill in your information",
|
||||||
"data": {
|
"data": {
|
||||||
"api_key": "OpenUV API Key",
|
"api_key": "[%key:common::config_flow::data::api_key%]",
|
||||||
"elevation": "Elevation",
|
"elevation": "Elevation",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude"
|
"longitude": "Longitude"
|
||||||
@ -16,4 +16,4 @@
|
|||||||
"invalid_api_key": "Invalid API key"
|
"invalid_api_key": "Invalid API key"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
"title": "Setup your TV",
|
"title": "Setup your TV",
|
||||||
"description": "Enter your Panasonic Viera TV's IP address",
|
"description": "Enter your Panasonic Viera TV's IP address",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "IP address",
|
"host": "[%key:common::config_flow::data::ip%]",
|
||||||
"name": "Name"
|
"name": "Name"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
"manual_setup": {
|
"manual_setup": {
|
||||||
"title": "Manual Plex Configuration",
|
"title": "Manual Plex Configuration",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host (Optional if Token provided)",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"ssl": "Use SSL",
|
"ssl": "Use SSL",
|
||||||
"verify_ssl": "Verify SSL certificate",
|
"verify_ssl": "Verify SSL certificate",
|
||||||
"token": "Token (Optional)"
|
"token": "Token (Optional)"
|
||||||
@ -24,7 +24,9 @@
|
|||||||
"select_server": {
|
"select_server": {
|
||||||
"title": "Select Plex server",
|
"title": "Select Plex server",
|
||||||
"description": "Multiple servers available, select one:",
|
"description": "Multiple servers available, select one:",
|
||||||
"data": { "server": "Server" }
|
"data": {
|
||||||
|
"server": "Server"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -57,4 +59,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,9 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Connect to your Rachio device",
|
"title": "Connect to your Rachio device",
|
||||||
"description": "You will need the API Key from https://app.rach.io/. Select 'Account Settings, and then click on 'GET API KEY'.",
|
"description": "You will need the API Key from https://app.rach.io/. Select 'Account Settings, and then click on 'GET API KEY'.",
|
||||||
"data": { "api_key": "The API key for the Rachio account." }
|
"data": {
|
||||||
|
"api_key": "[%key:common::config_flow::data::api_key%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -12,7 +14,9 @@
|
|||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -23,4 +27,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,8 +5,8 @@
|
|||||||
"title": "Fill in your information",
|
"title": "Fill in your information",
|
||||||
"data": {
|
"data": {
|
||||||
"ip_address": "Hostname or IP Address",
|
"ip_address": "Hostname or IP Address",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -18,4 +18,4 @@
|
|||||||
"already_configured": "This RainMachine controller is already configured."
|
"already_configured": "This RainMachine controller is already configured."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,17 +3,24 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Sign-in with Ring account",
|
"title": "Sign-in with Ring account",
|
||||||
"data": { "username": "Username", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2fa": {
|
"2fa": {
|
||||||
"title": "Two-factor authentication",
|
"title": "Two-factor authentication",
|
||||||
"data": { "2fa": "Two-factor code" }
|
"data": {
|
||||||
|
"2fa": "Two-factor code"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,9 +5,9 @@
|
|||||||
"title": "Connect to the device",
|
"title": "Connect to the device",
|
||||||
"description": "Currently retrieving the BLID and password is a manual process. Please follow the steps outlined in the documentation at: https://www.home-assistant.io/integrations/roomba/#retrieving-your-credentials",
|
"description": "Currently retrieving the BLID and password is a manual process. Please follow the steps outlined in the documentation at: https://www.home-assistant.io/integrations/roomba/#retrieving-your-credentials",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Hostname or IP Address",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"blid": "BLID",
|
"blid": "BLID",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"continuous": "Continuous",
|
"continuous": "Continuous",
|
||||||
"delay": "Delay"
|
"delay": "Delay"
|
||||||
}
|
}
|
||||||
@ -19,7 +19,12 @@
|
|||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
"init": { "data": { "continuous": "Continuous", "delay": "Delay" } }
|
"init": {
|
||||||
|
"data": {
|
||||||
|
"continuous": "Continuous",
|
||||||
|
"delay": "Delay"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,10 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"description": "Enter your Samsung TV information. If you never connected Home Assistant before you should see a popup on your TV asking for authorization.",
|
"description": "Enter your Samsung TV information. If you never connected Home Assistant before you should see a popup on your TV asking for authorization.",
|
||||||
"data": { "host": "Host or IP address", "name": "Name" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"name": "Name"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"title": "Samsung TV",
|
"title": "Samsung TV",
|
||||||
@ -19,4 +22,4 @@
|
|||||||
"not_supported": "This Samsung TV device is currently not supported."
|
"not_supported": "This Samsung TV device is currently not supported."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,7 @@
|
|||||||
"title": "Connect to your Sense Energy Monitor",
|
"title": "Connect to your Sense Energy Monitor",
|
||||||
"data": {
|
"data": {
|
||||||
"email": "[%key:common::config_flow::data::email%]",
|
"email": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -14,6 +14,8 @@
|
|||||||
"invalid_auth": "Invalid authentication",
|
"invalid_auth": "Invalid authentication",
|
||||||
"unknown": "Unexpected error"
|
"unknown": "Unexpected error"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,7 @@
|
|||||||
"title": "Fill in your information.",
|
"title": "Fill in your information.",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"code": "Code (used in Home Assistant UI)"
|
"code": "Code (used in Home Assistant UI)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -28,4 +28,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,11 +6,15 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"name": "The name of this installation",
|
"name": "The name of this installation",
|
||||||
"site_id": "The SolarEdge site-id",
|
"site_id": "The SolarEdge site-id",
|
||||||
"api_key": "The API key for this site"
|
"api_key": "[%key:common::config_flow::data::api_key%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "site_exists": "This site_id is already configured" },
|
"error": {
|
||||||
"abort": { "site_exists": "This site_id is already configured" }
|
"site_exists": "This site_id is already configured"
|
||||||
|
},
|
||||||
|
"abort": {
|
||||||
|
"site_exists": "This site_id is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Define your Solar-Log connection",
|
"title": "Define your Solar-Log connection",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "The hostname or ip-address of your Solar-Log device",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"name": "The prefix to be used for your Solar-Log sensors"
|
"name": "The prefix to be used for your Solar-Log sensors"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,6 +13,8 @@
|
|||||||
"already_configured": "Device is already configured",
|
"already_configured": "Device is already configured",
|
||||||
"cannot_connect": "Failed to connect, please verify host address"
|
"cannot_connect": "Failed to connect, please verify host address"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Device is already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,13 +7,18 @@
|
|||||||
"result_error": "SOMA Connect responded with error status.",
|
"result_error": "SOMA Connect responded with error status.",
|
||||||
"connection_error": "Failed to connect to SOMA Connect."
|
"connection_error": "Failed to connect to SOMA Connect."
|
||||||
},
|
},
|
||||||
"create_entry": { "default": "Successfully authenticated with Soma." },
|
"create_entry": {
|
||||||
|
"default": "Successfully authenticated with Soma."
|
||||||
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": { "host": "Host", "port": "Port" },
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
|
},
|
||||||
"description": "Please enter connection settings of your SOMA Connect.",
|
"description": "Please enter connection settings of your SOMA Connect.",
|
||||||
"title": "SOMA Connect"
|
"title": "SOMA Connect"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,22 +4,32 @@
|
|||||||
"auth_app": {
|
"auth_app": {
|
||||||
"title": "Application credentials",
|
"title": "Application credentials",
|
||||||
"description": "Application ID and secret code from <a href=\"https://my.starline.ru/developer\" target=\"_blank\">StarLine developer account</a>",
|
"description": "Application ID and secret code from <a href=\"https://my.starline.ru/developer\" target=\"_blank\">StarLine developer account</a>",
|
||||||
"data": { "app_id": "App ID", "app_secret": "Secret" }
|
"data": {
|
||||||
|
"app_id": "App ID",
|
||||||
|
"app_secret": "Secret"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"auth_user": {
|
"auth_user": {
|
||||||
"title": "User credentials",
|
"title": "User credentials",
|
||||||
"description": "StarLine account email and password",
|
"description": "StarLine account email and password",
|
||||||
"data": { "username": "Username", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"auth_mfa": {
|
"auth_mfa": {
|
||||||
"title": "Two-factor authorization",
|
"title": "Two-factor authorization",
|
||||||
"description": "Enter the code sent to phone {phone_number}",
|
"description": "Enter the code sent to phone {phone_number}",
|
||||||
"data": { "mfa_code": "SMS code" }
|
"data": {
|
||||||
|
"mfa_code": "SMS code"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"auth_captcha": {
|
"auth_captcha": {
|
||||||
"title": "Captcha",
|
"title": "Captcha",
|
||||||
"description": "{captcha_img}",
|
"description": "{captcha_img}",
|
||||||
"data": { "captcha_code": "Code from image" }
|
"data": {
|
||||||
|
"captcha_code": "Code from image"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -28,4 +38,4 @@
|
|||||||
"error_auth_mfa": "Incorrect code"
|
"error_auth_mfa": "Incorrect code"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,11 +5,11 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"title": "Synology DSM",
|
"title": "Synology DSM",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"port": "Port (Optional)",
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
"ssl": "Use SSL/TLS to connect to your NAS",
|
"ssl": "Use SSL/TLS to connect to your NAS",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"2sa": {
|
"2sa": {
|
||||||
@ -23,9 +23,9 @@
|
|||||||
"description": "Do you want to setup {name} ({host})?",
|
"description": "Do you want to setup {name} ({host})?",
|
||||||
"data": {
|
"data": {
|
||||||
"ssl": "Use SSL/TLS to connect to your NAS",
|
"ssl": "Use SSL/TLS to connect to your NAS",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port (Optional)"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -36,7 +36,9 @@
|
|||||||
"otp_failed": "Two-step authentication failed, retry with a new pass code",
|
"otp_failed": "Two-step authentication failed, retry with a new pass code",
|
||||||
"unknown": "Unknown error: please check logs to get more details"
|
"unknown": "Unknown error: please check logs to get more details"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Host already configured" }
|
"abort": {
|
||||||
|
"already_configured": "Host already configured"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
@ -47,4 +49,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,14 @@
|
|||||||
{
|
{
|
||||||
"config": {
|
"config": {
|
||||||
"abort": { "already_configured": "Device is already configured" },
|
"abort": {
|
||||||
|
"already_configured": "Device is already configured"
|
||||||
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": { "password": "Password", "username": "Username" },
|
"data": {
|
||||||
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
|
"username": "[%key:common::config_flow::data::username%]"
|
||||||
|
},
|
||||||
"title": "Connect to your Tado account"
|
"title": "Connect to your Tado account"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -18,9 +23,11 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"description": "Fallback mode will switch to Smart Schedule at next schedule switch after manually adjusting a zone.",
|
"description": "Fallback mode will switch to Smart Schedule at next schedule switch after manually adjusting a zone.",
|
||||||
"data": { "fallback": "Enable fallback mode." },
|
"data": {
|
||||||
|
"fallback": "Enable fallback mode."
|
||||||
|
},
|
||||||
"title": "Adjust Tado options."
|
"title": "Adjust Tado options."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,13 +6,20 @@
|
|||||||
"authorize_url_timeout": "Timeout generating authorize url.",
|
"authorize_url_timeout": "Timeout generating authorize url.",
|
||||||
"unknown": "Unknown error occurred"
|
"unknown": "Unknown error occurred"
|
||||||
},
|
},
|
||||||
"error": { "auth_error": "Authentication error, please try again" },
|
"error": {
|
||||||
|
"auth_error": "Authentication error, please try again"
|
||||||
|
},
|
||||||
"step": {
|
"step": {
|
||||||
"auth": {
|
"auth": {
|
||||||
"description": "To link your TelldusLive account:\n 1. Click the link below\n 2. Login to Telldus Live\n 3. Authorize **{app_name}** (click **Yes**).\n 4. Come back here and click **SUBMIT**.\n\n [Link TelldusLive account]({auth_url})",
|
"description": "To link your TelldusLive account:\n 1. Click the link below\n 2. Login to Telldus Live\n 3. Authorize **{app_name}** (click **Yes**).\n 4. Come back here and click **SUBMIT**.\n\n [Link TelldusLive account]({auth_url})",
|
||||||
"title": "Authenticate against TelldusLive"
|
"title": "Authenticate against TelldusLive"
|
||||||
},
|
},
|
||||||
"user": { "data": { "host": "Host" }, "title": "Pick endpoint." }
|
"user": {
|
||||||
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
|
},
|
||||||
|
"title": "Pick endpoint."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,7 +10,7 @@
|
|||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
},
|
},
|
||||||
"description": "Please enter your information.",
|
"description": "Please enter your information.",
|
||||||
"title": "Tesla - Configuration"
|
"title": "Tesla - Configuration"
|
||||||
@ -27,4 +27,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,11 +12,11 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"access_token": "Access token"
|
"access_token": "[%key:common::config_flow::data::access_token%]"
|
||||||
},
|
},
|
||||||
"description": "Enter your access token from https://developer.tibber.com/settings/accesstoken",
|
"description": "Enter your access token from https://developer.tibber.com/settings/accesstoken",
|
||||||
"title": "Tibber"
|
"title": "Tibber"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,15 +5,17 @@
|
|||||||
"title": "Link your Toon account",
|
"title": "Link your Toon account",
|
||||||
"description": "Authenticate with your Eneco Toon account (not the developer account).",
|
"description": "Authenticate with your Eneco Toon account (not the developer account).",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"tenant": "Tenant"
|
"tenant": "Tenant"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"title": "Select display",
|
"title": "Select display",
|
||||||
"description": "Select the Toon display to connect with.",
|
"description": "Select the Toon display to connect with.",
|
||||||
"data": { "display": "Choose display" }
|
"data": {
|
||||||
|
"display": "Choose display"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -28,4 +30,4 @@
|
|||||||
"no_app": "You need to configure Toon before being able to authenticate with it. [Please read the instructions](https://www.home-assistant.io/components/toon/)."
|
"no_app": "You need to configure Toon before being able to authenticate with it. [Please read the instructions](https://www.home-assistant.io/components/toon/)."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,10 +3,17 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Total Connect",
|
"title": "Total Connect",
|
||||||
"data": { "username": "Username", "password": "Password" }
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "login": "Login error: please check your username & password" },
|
"error": {
|
||||||
"abort": { "already_configured": "Account already configured" }
|
"login": "Login error: please check your username & password"
|
||||||
|
},
|
||||||
|
"abort": {
|
||||||
|
"already_configured": "Account already configured"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,10 @@
|
|||||||
"auth": {
|
"auth": {
|
||||||
"title": "Enter security code",
|
"title": "Enter security code",
|
||||||
"description": "You can find the security code on the back of your gateway.",
|
"description": "You can find the security code on the back of your gateway.",
|
||||||
"data": { "host": "Host", "security_code": "Security Code" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"security_code": "Security Code"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@ -17,4 +20,4 @@
|
|||||||
"already_in_progress": "Bridge configuration is already in progress."
|
"already_in_progress": "Bridge configuration is already in progress."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,10 +5,10 @@
|
|||||||
"title": "Setup Transmission Client",
|
"title": "Setup Transmission Client",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"host": "Host",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"username": "Username",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "Password",
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
"port": "Port"
|
"port": "[%key:common::config_flow::data::port%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -17,14 +17,18 @@
|
|||||||
"wrong_credentials": "Wrong username or password",
|
"wrong_credentials": "Wrong username or password",
|
||||||
"cannot_connect": "Unable to Connect to host"
|
"cannot_connect": "Unable to Connect to host"
|
||||||
},
|
},
|
||||||
"abort": { "already_configured": "Host is already configured." }
|
"abort": {
|
||||||
|
"already_configured": "Host is already configured."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"title": "Configure options for Transmission",
|
"title": "Configure options for Transmission",
|
||||||
"data": { "scan_interval": "Update frequency" }
|
"data": {
|
||||||
|
"scan_interval": "Update frequency"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,11 +5,15 @@
|
|||||||
"title": "Enter Username and Password",
|
"title": "Enter Username and Password",
|
||||||
"data": {
|
"data": {
|
||||||
"username": "[%key:common::config_flow::data::email%]",
|
"username": "[%key:common::config_flow::data::email%]",
|
||||||
"password": "Password"
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "invalid_login": "Invalid username or password" },
|
"error": {
|
||||||
"abort": { "already_setup": "Only one Vesync instance is allowed" }
|
"invalid_login": "Invalid username or password"
|
||||||
|
},
|
||||||
|
"abort": {
|
||||||
|
"already_setup": "Only one Vesync instance is allowed"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,8 +5,8 @@
|
|||||||
"title": "Connect to the Vilfo Router",
|
"title": "Connect to the Vilfo Router",
|
||||||
"description": "Set up the Vilfo Router integration. You need your Vilfo Router hostname/IP and an API access token. For additional information on this integration and how to get those details, visit: https://www.home-assistant.io/integrations/vilfo",
|
"description": "Set up the Vilfo Router integration. You need your Vilfo Router hostname/IP and an API access token. For additional information on this integration and how to get those details, visit: https://www.home-assistant.io/integrations/vilfo",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "Router hostname or IP",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"access_token": "Access token for the Vilfo Router API"
|
"access_token": "[%key:common::config_flow::data::access_token%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -19,4 +19,4 @@
|
|||||||
"already_configured": "This Vilfo Router is already configured."
|
"already_configured": "This Vilfo Router is already configured."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
"description": "An [%key:common::config_flow::data::access_token%] is only needed for TVs. If you are configuring a TV and do not have an [%key:common::config_flow::data::access_token%] yet, leave it blank to go through a pairing process.",
|
"description": "An [%key:common::config_flow::data::access_token%] is only needed for TVs. If you are configuring a TV and do not have an [%key:common::config_flow::data::access_token%] yet, leave it blank to go through a pairing process.",
|
||||||
"data": {
|
"data": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"host": "<Host/IP>:<Port>",
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
"device_class": "Device Type",
|
"device_class": "Device Type",
|
||||||
"access_token": "[%key:common::config_flow::data::access_token%]"
|
"access_token": "[%key:common::config_flow::data::access_token%]"
|
||||||
}
|
}
|
||||||
@ -14,7 +14,9 @@
|
|||||||
"pair_tv": {
|
"pair_tv": {
|
||||||
"title": "Complete Pairing Process",
|
"title": "Complete Pairing Process",
|
||||||
"description": "Your TV should be displaying a code. Enter that code into the form and then continue to the next step to complete the pairing.",
|
"description": "Your TV should be displaying a code. Enter that code into the form and then continue to the next step to complete the pairing.",
|
||||||
"data": { "pin": "PIN" }
|
"data": {
|
||||||
|
"pin": "PIN"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"pairing_complete": {
|
"pairing_complete": {
|
||||||
"title": "Pairing Complete",
|
"title": "Pairing Complete",
|
||||||
@ -49,4 +51,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,17 +4,21 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"user": {
|
"user": {
|
||||||
"description": "Set up your WLED to integrate with Home Assistant.",
|
"description": "Set up your WLED to integrate with Home Assistant.",
|
||||||
"data": { "host": "Host or IP address" }
|
"data": {
|
||||||
|
"host": "[%key:common::config_flow::data::host%]"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"zeroconf_confirm": {
|
"zeroconf_confirm": {
|
||||||
"description": "Do you want to add the WLED named `{name}` to Home Assistant?",
|
"description": "Do you want to add the WLED named `{name}` to Home Assistant?",
|
||||||
"title": "Discovered WLED device"
|
"title": "Discovered WLED device"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": { "connection_error": "Failed to connect to WLED device." },
|
"error": {
|
||||||
|
"connection_error": "Failed to connect to WLED device."
|
||||||
|
},
|
||||||
"abort": {
|
"abort": {
|
||||||
"already_configured": "This WLED device is already configured.",
|
"already_configured": "This WLED device is already configured.",
|
||||||
"connection_error": "Failed to connect to WLED device."
|
"connection_error": "Failed to connect to WLED device."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,7 +12,7 @@
|
|||||||
"title": "Connect to a Xiaomi Gateway",
|
"title": "Connect to a Xiaomi Gateway",
|
||||||
"description": "You will need the API Token, see https://www.home-assistant.io/integrations/vacuum.xiaomi_miio/#retrieving-the-access-token for instructions.",
|
"description": "You will need the API Token, see https://www.home-assistant.io/integrations/vacuum.xiaomi_miio/#retrieving-the-access-token for instructions.",
|
||||||
"data": {
|
"data": {
|
||||||
"host": "IP adress",
|
"host": "[%key:common::config_flow::data::ip%]",
|
||||||
"token": "API Token",
|
"token": "API Token",
|
||||||
"name": "Name of the Gateway"
|
"name": "Name of the Gateway"
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
"title": "Set up Z-Wave",
|
"title": "Set up Z-Wave",
|
||||||
"description": "See https://www.home-assistant.io/docs/z-wave/installation/ for information on the configuration variables",
|
"description": "See https://www.home-assistant.io/docs/z-wave/installation/ for information on the configuration variables",
|
||||||
"data": {
|
"data": {
|
||||||
"usb_path": "USB Path",
|
"usb_path": "[%key:common::config_flow::data::usb_path%]",
|
||||||
"network_key": "Network Key (leave blank to auto-generate)"
|
"network_key": "Network Key (leave blank to auto-generate)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -30,4 +30,4 @@
|
|||||||
"ready": "Ready"
|
"ready": "Ready"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -29,6 +29,7 @@
|
|||||||
"username": "Username",
|
"username": "Username",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
"ip": "IP address",
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"usb_path": "USB Device Path",
|
"usb_path": "USB Device Path",
|
||||||
"access_token": "Access Token",
|
"access_token": "Access Token",
|
||||||
|
@ -180,7 +180,7 @@ def gen_platform_strings_schema(config: Config, integration: Integration):
|
|||||||
"""
|
"""
|
||||||
if not value.startswith(f"{integration.domain}__"):
|
if not value.startswith(f"{integration.domain}__"):
|
||||||
raise vol.Invalid(
|
raise vol.Invalid(
|
||||||
f"Device class need to start with '{integration.domain}__'. Key {value} is invalid"
|
f"Device class need to start with '{integration.domain}__'. Key {value} is invalid. See https://developers.home-assistant.io/docs/internationalization/core#stringssensorjson"
|
||||||
)
|
)
|
||||||
|
|
||||||
slug_friendly = value.replace("__", "_", 1)
|
slug_friendly = value.replace("__", "_", 1)
|
||||||
|
@ -324,84 +324,60 @@ def find_frontend_states():
|
|||||||
migrate_project_keys_translations(FRONTEND_PROJECT_ID, CORE_PROJECT_ID, to_migrate)
|
migrate_project_keys_translations(FRONTEND_PROJECT_ID, CORE_PROJECT_ID, to_migrate)
|
||||||
|
|
||||||
|
|
||||||
def clean_wled():
|
def apply_data_references(to_migrate):
|
||||||
"""Clean WLED strings."""
|
"""Apply references."""
|
||||||
offending_translation = "Wykryto urządzenie [%key:component::wled::title%]"
|
for strings_file in INTEGRATIONS_DIR.glob("*/strings.json"):
|
||||||
ignore_lang = ["pl"]
|
strings = json.loads(strings_file.read_text())
|
||||||
core_api = get_api(CORE_PROJECT_ID)
|
steps = strings.get("config", {}).get("step")
|
||||||
translations = core_api.keys_list(
|
|
||||||
{
|
|
||||||
"include_translations": 1,
|
|
||||||
"filter_keys": ",".join(
|
|
||||||
[
|
|
||||||
"component::wled::config::flow_title",
|
|
||||||
"component::wled::config::step::user::description",
|
|
||||||
"component::wled::config::step::user::data::host",
|
|
||||||
"component::wled::config::step::zeroconf_confirm::description",
|
|
||||||
"component::wled::config::step::zeroconf_confirm::title",
|
|
||||||
"component::wled::config::error::connection_error",
|
|
||||||
"component::wled::config::abort::already_configured",
|
|
||||||
"component::wled::config::abort::connection_error",
|
|
||||||
]
|
|
||||||
),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
bad_data = {}
|
|
||||||
for translation in translations:
|
|
||||||
bad_key_data = []
|
|
||||||
|
|
||||||
for key_trans in translation["translations"]:
|
if not steps:
|
||||||
if (
|
continue
|
||||||
key_trans["translation"] == offending_translation
|
|
||||||
and key_trans["language_iso"] not in ignore_lang
|
|
||||||
):
|
|
||||||
bad_key_data.append(key_trans["translation_id"])
|
|
||||||
|
|
||||||
if bad_key_data:
|
changed = False
|
||||||
bad_data[translation["key_id"]] = bad_key_data
|
|
||||||
|
|
||||||
pprint(
|
for step_data in steps.values():
|
||||||
[
|
step_data = step_data.get("data", {})
|
||||||
{
|
for key, value in step_data.items():
|
||||||
"key_id": key_id,
|
|
||||||
"translations": [
|
|
||||||
{"translation_id": trans_id, "translation": ""}
|
|
||||||
for trans_id in trans_ids
|
|
||||||
],
|
|
||||||
}
|
|
||||||
for key_id, trans_ids in bad_data.items()
|
|
||||||
]
|
|
||||||
)
|
|
||||||
print(sum(len(val) for val in bad_data.values()))
|
|
||||||
|
|
||||||
return
|
if key in to_migrate and value != to_migrate[key]:
|
||||||
|
if key.split("_")[0].lower() in value.lower():
|
||||||
|
step_data[key] = to_migrate[key]
|
||||||
|
changed = True
|
||||||
|
elif value.startswith("[%key"):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print(
|
||||||
|
f"{strings_file}: Skipped swapping '{key}': '{value}' does not contain '{key}'"
|
||||||
|
)
|
||||||
|
|
||||||
core_api.keys_bulk_update(
|
if not changed:
|
||||||
[
|
continue
|
||||||
{
|
|
||||||
"key_id": key_id,
|
strings_file.write_text(json.dumps(strings, indent=2))
|
||||||
"translations": [
|
|
||||||
{"translation_id": trans_id, "translation": ""}
|
|
||||||
for trans_id in trans_ids
|
|
||||||
],
|
|
||||||
}
|
|
||||||
for key_id, trans_ids in bad_data.items()
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
"""Migrate translations."""
|
"""Migrate translations."""
|
||||||
# clean_wled()
|
apply_data_references(
|
||||||
|
{
|
||||||
|
"host": "[%key:common::config_flow::data::host%]",
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
|
"port": "[%key:common::config_flow::data::port%]",
|
||||||
|
"usb_path": "[%key:common::config_flow::data::usb_path%]",
|
||||||
|
"access_token": "[%key:common::config_flow::data::access_token%]",
|
||||||
|
"api_key": "[%key:common::config_flow::data::api_key%]",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
# Rename existing keys to common keys,
|
# Rename existing keys to common keys,
|
||||||
# Old keys have been updated with reference to the common key
|
# Old keys have been updated with reference to the common key
|
||||||
rename_keys(
|
# rename_keys(
|
||||||
CORE_PROJECT_ID,
|
# CORE_PROJECT_ID,
|
||||||
{
|
# {
|
||||||
"component::icloud::config::step::user::data::username": "common::config_flow::data::email",
|
# "component::blebox::config::step::user::data::host": "common::config_flow::data::ip",
|
||||||
},
|
# },
|
||||||
)
|
# )
|
||||||
|
|
||||||
# find_frontend_states()
|
# find_frontend_states()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user