mirror of
https://github.com/home-assistant/core.git
synced 2026-01-10 01:27:16 +01:00
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd00d556d4 | ||
|
|
0d16e025df | ||
|
|
60846183f0 | ||
|
|
e8b2d7d248 | ||
|
|
b79716ab93 | ||
|
|
b0d246d6a7 | ||
|
|
71f73af535 | ||
|
|
24a1139c1d | ||
|
|
57e6dc3f7a | ||
|
|
17c3efa556 | ||
|
|
422ba89c6d | ||
|
|
134137dd1c | ||
|
|
0fd49e13da | ||
|
|
093ee7d5b2 | ||
|
|
e8e32e3ed4 | ||
|
|
258f86801c | ||
|
|
863cf9823b | ||
|
|
8f384e6b82 | ||
|
|
7398e06c78 | ||
|
|
9f32e5cf46 | ||
|
|
65372da241 | ||
|
|
e2d2f69cb0 | ||
|
|
6e86b8c42f | ||
|
|
4dc50107cd | ||
|
|
f9c4bb04e3 | ||
|
|
a57642833b | ||
|
|
d97943575a | ||
|
|
d4436951c5 | ||
|
|
58f444c779 | ||
|
|
579c91da1b | ||
|
|
07b1976f7d | ||
|
|
c214d7a972 |
@@ -37,12 +37,14 @@ stages:
|
||||
vmImage: 'ubuntu-latest'
|
||||
container: $[ variables['PythonMain'] ]
|
||||
steps:
|
||||
- script: |
|
||||
python -m venv venv
|
||||
- template: templates/azp-step-cache.yaml@azure
|
||||
parameters:
|
||||
keyfile: 'requirements_test.txt | homeassistant/package_constraints.txt'
|
||||
build: |
|
||||
python -m venv venv
|
||||
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
displayName: 'Setup Env'
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
flake8 homeassistant tests script
|
||||
@@ -52,12 +54,14 @@ stages:
|
||||
vmImage: 'ubuntu-latest'
|
||||
container: $[ variables['PythonMain'] ]
|
||||
steps:
|
||||
- script: |
|
||||
python -m venv venv
|
||||
- template: templates/azp-step-cache.yaml@azure
|
||||
parameters:
|
||||
keyfile: 'homeassistant/package_constraints.txt'
|
||||
build: |
|
||||
python -m venv venv
|
||||
|
||||
. venv/bin/activate
|
||||
pip install -e .
|
||||
displayName: 'Setup Env'
|
||||
. venv/bin/activate
|
||||
pip install -e .
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
python -m script.hassfest validate
|
||||
@@ -71,12 +75,14 @@ stages:
|
||||
vmImage: 'ubuntu-latest'
|
||||
container: $[ variables['PythonMain'] ]
|
||||
steps:
|
||||
- script: |
|
||||
python -m venv venv
|
||||
- template: templates/azp-step-cache.yaml@azure
|
||||
parameters:
|
||||
keyfile: 'requirements_test.txt | homeassistant/package_constraints.txt'
|
||||
build: |
|
||||
python -m venv venv
|
||||
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
displayName: 'Setup Env'
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
./script/check_format
|
||||
@@ -100,7 +106,7 @@ stages:
|
||||
steps:
|
||||
- template: templates/azp-step-cache.yaml@azure
|
||||
parameters:
|
||||
keyfile: 'requirements_test_all.txt, .cache, homeassistant/package_constraints.txt'
|
||||
keyfile: 'requirements_test_all.txt | homeassistant/package_constraints.txt'
|
||||
build: |
|
||||
set -e
|
||||
python -m venv venv
|
||||
@@ -111,6 +117,10 @@ stages:
|
||||
# This is a TEMP. Eventually we should make sure our 4 dependencies drop typing.
|
||||
# Find offending deps with `pipdeptree -r -p typing`
|
||||
pip uninstall -y typing
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
pip install -e .
|
||||
displayName: 'Install Home Assistant'
|
||||
- script: |
|
||||
set -e
|
||||
|
||||
@@ -140,7 +150,7 @@ stages:
|
||||
steps:
|
||||
- template: templates/azp-step-cache.yaml@azure
|
||||
parameters:
|
||||
keyfile: 'requirements_all.txt, requirements_test.txt, .cache, homeassistant/package_constraints.txt'
|
||||
keyfile: 'requirements_all.txt | requirements_test.txt | homeassistant/package_constraints.txt'
|
||||
build: |
|
||||
set -e
|
||||
python -m venv venv
|
||||
@@ -149,6 +159,10 @@ stages:
|
||||
pip install -U pip setuptools
|
||||
pip install -r requirements_all.txt -c homeassistant/package_constraints.txt
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
pip install -e .
|
||||
displayName: 'Install Home Assistant'
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
pylint homeassistant
|
||||
|
||||
22
homeassistant/components/.translations/airly.ca.json
Normal file
22
homeassistant/components/.translations/airly.ca.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "La clau API no \u00e9s correcta.",
|
||||
"name_exists": "El nom ja existeix.",
|
||||
"wrong_location": "No hi ha estacions de mesura Airly en aquesta zona."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Clau API d'Airly",
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud",
|
||||
"name": "Nom de la integraci\u00f3"
|
||||
},
|
||||
"description": "Configura una integraci\u00f3 de qualitat d\u2019aire Airly. Per generar la clau API, v\u00e9s a https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.da.json
Normal file
22
homeassistant/components/.translations/airly.da.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "API-n\u00f8glen er ikke korrekt.",
|
||||
"name_exists": "Navnet findes allerede.",
|
||||
"wrong_location": "Ingen Airly m\u00e5lestationer i dette omr\u00e5de."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API-n\u00f8gle",
|
||||
"latitude": "Breddegrad",
|
||||
"longitude": "L\u00e6ngdegrad",
|
||||
"name": "Integrationens navn"
|
||||
},
|
||||
"description": "Konfigurer Airly luftkvalitet integration. For at generere API-n\u00f8gle, g\u00e5 til https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
18
homeassistant/components/.translations/airly.de.json
Normal file
18
homeassistant/components/.translations/airly.de.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"name_exists": "Name existiert bereits"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Breitengrad",
|
||||
"longitude": "L\u00e4ngengrad",
|
||||
"name": "Name der Integration"
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.en.json
Normal file
22
homeassistant/components/.translations/airly.en.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "API key is not correct.",
|
||||
"name_exists": "Name already exists.",
|
||||
"wrong_location": "No Airly measuring stations in this area."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API key",
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude",
|
||||
"name": "Name of the integration"
|
||||
},
|
||||
"description": "Set up Airly air quality integration. To generate API key go to https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.es.json
Normal file
22
homeassistant/components/.translations/airly.es.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "La clave de la API no es correcta.",
|
||||
"name_exists": "El nombre ya existe.",
|
||||
"wrong_location": "No hay estaciones de medici\u00f3n Airly en esta zona."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Clave API de Airly",
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud",
|
||||
"name": "Nombre de la integraci\u00f3n"
|
||||
},
|
||||
"description": "Establecer la integraci\u00f3n de la calidad del aire de Airly. Para generar la clave de la API vaya a https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
21
homeassistant/components/.translations/airly.fr.json
Normal file
21
homeassistant/components/.translations/airly.fr.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "La cl\u00e9 API n'est pas correcte.",
|
||||
"name_exists": "Le nom existe d\u00e9j\u00e0.",
|
||||
"wrong_location": "Aucune station de mesure Airly dans cette zone."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Cl\u00e9 API Airly",
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude",
|
||||
"name": "Nom de l'int\u00e9gration"
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.it.json
Normal file
22
homeassistant/components/.translations/airly.it.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "La chiave API non \u00e8 corretta.",
|
||||
"name_exists": "Il nome \u00e8 gi\u00e0 esistente",
|
||||
"wrong_location": "Nessuna stazione di misurazione Airly in quest'area."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Chiave API Airly",
|
||||
"latitude": "Latitudine",
|
||||
"longitude": "Logitudine",
|
||||
"name": "Nome dell'integrazione"
|
||||
},
|
||||
"description": "Configurazione dell'integrazione della qualit\u00e0 dell'aria Airly. Per generare la chiave API andare su https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.lb.json
Normal file
22
homeassistant/components/.translations/airly.lb.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "Api Schl\u00ebssel ass net korrekt.",
|
||||
"name_exists": "Numm g\u00ebtt et schonn",
|
||||
"wrong_location": "Keng Airly Moos Statioun an d\u00ebsem Ber\u00e4ich"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API Schl\u00ebssel",
|
||||
"latitude": "Breedegrad",
|
||||
"longitude": "L\u00e4ngegrad",
|
||||
"name": "Numm vun der Installatioun"
|
||||
},
|
||||
"description": "Airly Loft Qualit\u00e9it Integratioun ariichten. Fir een API Schl\u00ebssel z'erstelle gitt op https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
10
homeassistant/components/.translations/airly.nn.json
Normal file
10
homeassistant/components/.translations/airly.nn.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.no.json
Normal file
22
homeassistant/components/.translations/airly.no.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "API-n\u00f8kkelen er ikke korrekt.",
|
||||
"name_exists": "Navnet finnes allerede.",
|
||||
"wrong_location": "Ingen Airly m\u00e5lestasjoner i dette omr\u00e5det."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API-n\u00f8kkel",
|
||||
"latitude": "Breddegrad",
|
||||
"longitude": "Lengdegrad",
|
||||
"name": "Navn p\u00e5 integrasjonen"
|
||||
},
|
||||
"description": "Sett opp Airly luftkvalitet integrering. For \u00e5 generere API-n\u00f8kkel g\u00e5 til https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.pl.json
Normal file
22
homeassistant/components/.translations/airly.pl.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "Klucz API jest nieprawid\u0142owy.",
|
||||
"name_exists": "Nazwa ju\u017c istnieje.",
|
||||
"wrong_location": "Brak stacji pomiarowych Airly w tym rejonie."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Klucz API Airly",
|
||||
"latitude": "Szeroko\u015b\u0107 geograficzna",
|
||||
"longitude": "D\u0142ugo\u015b\u0107 geograficzna",
|
||||
"name": "Nazwa integracji"
|
||||
},
|
||||
"description": "Konfiguracja integracji Airly. By wygenerowa\u0107 klucz API, przejd\u017a na stron\u0119 https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.ru.json
Normal file
22
homeassistant/components/.translations/airly.ru.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 API.",
|
||||
"name_exists": "\u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.",
|
||||
"wrong_location": "\u0412 \u044d\u0442\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043d\u0435\u0442 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0430\u043d\u0446\u0438\u0439 Airly."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "\u041a\u043b\u044e\u0447 API",
|
||||
"latitude": "\u0428\u0438\u0440\u043e\u0442\u0430",
|
||||
"longitude": "\u0414\u043e\u043b\u0433\u043e\u0442\u0430",
|
||||
"name": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435"
|
||||
},
|
||||
"description": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432\u043e\u0437\u0434\u0443\u0445\u0430 Airly. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043b\u044e\u0447 API, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 https://developer.airly.eu/register.",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.sl.json
Normal file
22
homeassistant/components/.translations/airly.sl.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "Klju\u010d API ni pravilen.",
|
||||
"name_exists": "Ime \u017ee obstaja",
|
||||
"wrong_location": "Na tem obmo\u010dju ni merilnih postaj Airly."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API klju\u010d",
|
||||
"latitude": "Zemljepisna \u0161irina",
|
||||
"longitude": "Zemljepisna dol\u017eina",
|
||||
"name": "Ime integracije"
|
||||
},
|
||||
"description": "Nastavite Airly integracijo za kakovost zraka. \u010ce \u017eelite ustvariti API klju\u010d pojdite na https://developer.airly.eu/register",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/.translations/airly.zh-Hant.json
Normal file
22
homeassistant/components/.translations/airly.zh-Hant.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"auth": "API \u5bc6\u9470\u4e0d\u6b63\u78ba\u3002",
|
||||
"name_exists": "\u8a72\u540d\u7a31\u5df2\u5b58\u5728",
|
||||
"wrong_location": "\u8a72\u5340\u57df\u6c92\u6709 Arily \u76e3\u6e2c\u7ad9\u3002"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Airly API \u5bc6\u9470",
|
||||
"latitude": "\u7def\u5ea6",
|
||||
"longitude": "\u7d93\u5ea6",
|
||||
"name": "\u6574\u5408\u540d\u7a31"
|
||||
},
|
||||
"description": "\u6b32\u8a2d\u5b9a Airly \u7a7a\u6c23\u54c1\u8cea\u6574\u5408\u3002\u8acb\u81f3 https://developer.airly.eu/register \u7522\u751f API \u5bc6\u9470",
|
||||
"title": "Airly"
|
||||
}
|
||||
},
|
||||
"title": "Airly"
|
||||
}
|
||||
}
|
||||
11
homeassistant/components/adguard/.translations/nn.json
Normal file
11
homeassistant/components/adguard/.translations/nn.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"username": "Brukarnamn"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"identifier_exists": "\u041a\u043b\u044e\u0447 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438/\u0438\u043b\u0438 \u043a\u043b\u044e\u0447 API \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d",
|
||||
"identifier_exists": "\u041a\u043b\u044e\u0447 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438/\u0438\u043b\u0438 \u043a\u043b\u044e\u0447 API \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d.",
|
||||
"invalid_key": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 API \u0438/\u0438\u043b\u0438 \u043a\u043b\u044e\u0447 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
|
||||
"no_devices": "\u0412 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b"
|
||||
},
|
||||
|
||||
5
homeassistant/components/arcam_fmj/.translations/nn.json
Normal file
5
homeassistant/components/arcam_fmj/.translations/nn.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Arcam FMJ"
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,8 @@
|
||||
"data": {
|
||||
"host": "Vert",
|
||||
"password": "Passord",
|
||||
"port": "Port"
|
||||
"port": "Port",
|
||||
"username": "Brukarnamn"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"bad_config_file": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438",
|
||||
"link_local_address": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f",
|
||||
"not_axis_device": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c Axis"
|
||||
},
|
||||
"error": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"already_in_progress": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0443\u0436\u0435 \u043d\u0430\u0447\u0430\u0442\u0430.",
|
||||
"device_unavailable": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e",
|
||||
"faulty_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435"
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"hot": "{entity_name} became hot",
|
||||
"light": "{entity_name} started detecting light",
|
||||
"locked": "{entity_name} locked",
|
||||
"moist": "{entity_name} became moist",
|
||||
"moist\u00a7": "{entity_name} became moist",
|
||||
"motion": "{entity_name} started detecting motion",
|
||||
"moving": "{entity_name} started moving",
|
||||
@@ -71,6 +72,7 @@
|
||||
"not_moist": "{entity_name} became dry",
|
||||
"not_moving": "{entity_name} stopped moving",
|
||||
"not_occupied": "{entity_name} became not occupied",
|
||||
"not_opened": "{entity_name} closed",
|
||||
"not_plugged_in": "{entity_name} unplugged",
|
||||
"not_powered": "{entity_name} not powered",
|
||||
"not_present": "{entity_name} not present",
|
||||
|
||||
54
homeassistant/components/binary_sensor/.translations/fr.json
Normal file
54
homeassistant/components/binary_sensor/.translations/fr.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"device_automation": {
|
||||
"condition_type": {
|
||||
"is_bat_low": "{entity_name} batterie faible",
|
||||
"is_cold": "{entity_name} est froid",
|
||||
"is_connected": "{entity_name} est connect\u00e9",
|
||||
"is_gas": "{entity_name} d\u00e9tecte du gaz",
|
||||
"is_hot": "{entity_name} est chaud",
|
||||
"is_light": "{entity_name} d\u00e9tecte de la lumi\u00e8re",
|
||||
"is_locked": "{entity_name} est verrouill\u00e9",
|
||||
"is_moist": "{entity_name} est humide",
|
||||
"is_motion": "{entity_name} d\u00e9tecte un mouvement",
|
||||
"is_moving": "{entity_name} se d\u00e9place",
|
||||
"is_no_gas": "{entity_name} ne d\u00e9tecte pas de gaz",
|
||||
"is_no_light": "{entity_name} ne d\u00e9tecte pas de lumi\u00e8re",
|
||||
"is_no_motion": "{entity_name} ne d\u00e9tecte pas de mouvement",
|
||||
"is_no_problem": "{entity_name} ne d\u00e9tecte pas de probl\u00e8me",
|
||||
"is_no_smoke": "{entity_name} ne d\u00e9tecte pas de fum\u00e9e",
|
||||
"is_no_sound": "{entity_name} ne d\u00e9tecte pas de son",
|
||||
"is_no_vibration": "{entity_name} ne d\u00e9tecte pas de vibration",
|
||||
"is_not_bat_low": "{entity_name} batterie normale",
|
||||
"is_not_cold": "{entity_name} n'est pas froid",
|
||||
"is_not_connected": "{entity_name} est d\u00e9connect\u00e9",
|
||||
"is_not_hot": "{entity_name} n'est pas chaud",
|
||||
"is_not_locked": "{entity_name} est d\u00e9verrouill\u00e9",
|
||||
"is_not_moist": "{entity_name} est sec",
|
||||
"is_not_moving": "{entity_name} ne bouge pas",
|
||||
"is_not_occupied": "{entity_name} n'est pas occup\u00e9",
|
||||
"is_not_open": "{entity_name} est ferm\u00e9",
|
||||
"is_not_plugged_in": "{entity_name} est d\u00e9branch\u00e9",
|
||||
"is_not_powered": "{entity_name} n'est pas aliment\u00e9",
|
||||
"is_not_present": "{entity_name} n'est pas pr\u00e9sent",
|
||||
"is_not_unsafe": "{entity_name} est en s\u00e9curit\u00e9",
|
||||
"is_occupied": "{entity_name} est occup\u00e9",
|
||||
"is_off": "{entity_name} est d\u00e9sactiv\u00e9",
|
||||
"is_on": "{entity_name} est activ\u00e9",
|
||||
"is_open": "{entity_name} est ouvert",
|
||||
"is_plugged_in": "{entity_name} est branch\u00e9",
|
||||
"is_powered": "{entity_name} est aliment\u00e9",
|
||||
"is_present": "{entity_name} est pr\u00e9sent",
|
||||
"is_problem": "{entity_name} d\u00e9tecte un probl\u00e8me",
|
||||
"is_smoke": "{entity_name} d\u00e9tecte de la fum\u00e9e",
|
||||
"is_sound": "{entity_name} d\u00e9tecte du son"
|
||||
},
|
||||
"trigger_type": {
|
||||
"smoke": "{entity_name} commenc\u00e9 \u00e0 d\u00e9tecter la fum\u00e9e",
|
||||
"sound": "{entity_name} commenc\u00e9 \u00e0 d\u00e9tecter le son",
|
||||
"turned_off": "{entity_name} d\u00e9sactiv\u00e9",
|
||||
"turned_on": "{entity_name} activ\u00e9",
|
||||
"unsafe": "{entity_name} est devenu dangereux",
|
||||
"vibration": "{entity_name} a commenc\u00e9 \u00e0 d\u00e9tecter les vibrations"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,8 +81,8 @@ CONF_SOUND = "sound"
|
||||
CONF_NO_SOUND = "no_sound"
|
||||
CONF_VIBRATION = "vibration"
|
||||
CONF_NO_VIBRATION = "no_vibration"
|
||||
CONF_OPEN = "open"
|
||||
CONF_NOT_OPEN = "not_open"
|
||||
CONF_OPENED = "opened"
|
||||
CONF_NOT_OPENED = "not_opened"
|
||||
|
||||
|
||||
TURNED_ON = [
|
||||
@@ -97,7 +97,7 @@ TURNED_ON = [
|
||||
CONF_MOTION,
|
||||
CONF_MOVING,
|
||||
CONF_OCCUPIED,
|
||||
CONF_OPEN,
|
||||
CONF_OPENED,
|
||||
CONF_PLUGGED_IN,
|
||||
CONF_POWERED,
|
||||
CONF_PRESENT,
|
||||
@@ -118,7 +118,7 @@ TURNED_OFF = [
|
||||
CONF_NOT_MOIST,
|
||||
CONF_NOT_MOVING,
|
||||
CONF_NOT_OCCUPIED,
|
||||
CONF_NOT_OPEN,
|
||||
CONF_NOT_OPENED,
|
||||
CONF_NOT_PLUGGED_IN,
|
||||
CONF_NOT_POWERED,
|
||||
CONF_NOT_PRESENT,
|
||||
@@ -141,8 +141,8 @@ ENTITY_TRIGGERS = {
|
||||
{CONF_TYPE: CONF_CONNECTED},
|
||||
{CONF_TYPE: CONF_NOT_CONNECTED},
|
||||
],
|
||||
DEVICE_CLASS_DOOR: [{CONF_TYPE: CONF_OPEN}, {CONF_TYPE: CONF_NOT_OPEN}],
|
||||
DEVICE_CLASS_GARAGE_DOOR: [{CONF_TYPE: CONF_OPEN}, {CONF_TYPE: CONF_NOT_OPEN}],
|
||||
DEVICE_CLASS_DOOR: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
|
||||
DEVICE_CLASS_GARAGE_DOOR: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
|
||||
DEVICE_CLASS_GAS: [{CONF_TYPE: CONF_GAS}, {CONF_TYPE: CONF_NO_GAS}],
|
||||
DEVICE_CLASS_HEAT: [{CONF_TYPE: CONF_HOT}, {CONF_TYPE: CONF_NOT_HOT}],
|
||||
DEVICE_CLASS_LIGHT: [{CONF_TYPE: CONF_LIGHT}, {CONF_TYPE: CONF_NO_LIGHT}],
|
||||
@@ -154,7 +154,7 @@ ENTITY_TRIGGERS = {
|
||||
{CONF_TYPE: CONF_OCCUPIED},
|
||||
{CONF_TYPE: CONF_NOT_OCCUPIED},
|
||||
],
|
||||
DEVICE_CLASS_OPENING: [{CONF_TYPE: CONF_OPEN}, {CONF_TYPE: CONF_NOT_OPEN}],
|
||||
DEVICE_CLASS_OPENING: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
|
||||
DEVICE_CLASS_PLUG: [{CONF_TYPE: CONF_PLUGGED_IN}, {CONF_TYPE: CONF_NOT_PLUGGED_IN}],
|
||||
DEVICE_CLASS_POWER: [{CONF_TYPE: CONF_POWERED}, {CONF_TYPE: CONF_NOT_POWERED}],
|
||||
DEVICE_CLASS_PRESENCE: [{CONF_TYPE: CONF_PRESENT}, {CONF_TYPE: CONF_NOT_PRESENT}],
|
||||
@@ -166,7 +166,7 @@ ENTITY_TRIGGERS = {
|
||||
{CONF_TYPE: CONF_VIBRATION},
|
||||
{CONF_TYPE: CONF_NO_VIBRATION},
|
||||
],
|
||||
DEVICE_CLASS_WINDOW: [{CONF_TYPE: CONF_OPEN}, {CONF_TYPE: CONF_NOT_OPEN}],
|
||||
DEVICE_CLASS_WINDOW: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
|
||||
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_TURNED_ON}, {CONF_TYPE: CONF_TURNED_OFF}],
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
"no_light": "{entity_name} stopped detecting light",
|
||||
"locked": "{entity_name} locked",
|
||||
"not_locked": "{entity_name} unlocked",
|
||||
"moist§": "{entity_name} became moist",
|
||||
"moist": "{entity_name} became moist",
|
||||
"not_moist": "{entity_name} became dry",
|
||||
"motion": "{entity_name} started detecting motion",
|
||||
"no_motion": "{entity_name} stopped detecting motion",
|
||||
@@ -84,7 +84,7 @@
|
||||
"vibration": "{entity_name} started detecting vibration",
|
||||
"no_vibration": "{entity_name} stopped detecting vibration",
|
||||
"opened": "{entity_name} opened",
|
||||
"closed": "{entity_name} closed",
|
||||
"not_opened": "{entity_name} closed",
|
||||
"turned_on": "{entity_name} turned on",
|
||||
"turned_off": "{entity_name} turned off"
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"host_port_exists": "\u042d\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430"
|
||||
"host_port_exists": "\u042d\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430."
|
||||
},
|
||||
"error": {
|
||||
"certificate_fetch_failed": "\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430",
|
||||
"connection_timeout": "\u0418\u0441\u0442\u0435\u043a\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0445\u043e\u0441\u0442\u0443",
|
||||
"host_port_exists": "\u042d\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430",
|
||||
"host_port_exists": "\u042d\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430.",
|
||||
"resolve_failed": "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0445\u043e\u0441\u0442"
|
||||
},
|
||||
"step": {
|
||||
|
||||
5
homeassistant/components/daikin/.translations/nn.json
Normal file
5
homeassistant/components/daikin/.translations/nn.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Daikin AC"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"device_fail": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.",
|
||||
"device_timeout": "\u0418\u0441\u0442\u0435\u043a\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443."
|
||||
},
|
||||
|
||||
@@ -41,6 +41,16 @@
|
||||
},
|
||||
"title": "deCONZ Zigbee Gateway"
|
||||
},
|
||||
"device_automation": {
|
||||
"trigger_subtype": {
|
||||
"close": "Schlie\u00dfen",
|
||||
"left": "Links",
|
||||
"open": "Offen",
|
||||
"right": "Rechts",
|
||||
"turn_off": "Ausschalten",
|
||||
"turn_on": "Einschalten"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"step": {
|
||||
"async_step_deconz_devices": {
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "Bot\u00f3n \"{subtype}\" pulsado cuatro veces consecutivas",
|
||||
"remote_button_quintuple_press": "Bot\u00f3n \"{subtype}\" pulsado cinco veces consecutivas",
|
||||
"remote_button_rotated": "Bot\u00f3n \"{subtype}\" girado",
|
||||
"remote_button_rotation_stopped": "Bot\u00f3n rotativo \"{subtipo}\" detenido",
|
||||
"remote_button_short_press": "Bot\u00f3n \"{subtype}\" pulsado",
|
||||
"remote_button_short_release": "Bot\u00f3n \"{subtype}\" liberado",
|
||||
"remote_button_triple_press": "Bot\u00f3n \"{subtype}\" pulsado cuatro veces consecutivas",
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "Bouton \"{subtype}\" quadruple cliqu\u00e9",
|
||||
"remote_button_quintuple_press": "Bouton \"{subtype}\" quintuple cliqu\u00e9",
|
||||
"remote_button_rotated": "Bouton \"{subtype}\" tourn\u00e9",
|
||||
"remote_button_rotation_stopped": "La rotation du bouton \" {subtype} \" s'est arr\u00eat\u00e9e",
|
||||
"remote_button_short_press": "Bouton \"{subtype}\" appuy\u00e9",
|
||||
"remote_button_short_release": "Bouton \"{subtype}\" rel\u00e2ch\u00e9",
|
||||
"remote_button_triple_press": "Bouton \"{subtype}\" triple cliqu\u00e9",
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "Pulsante \"{subtype}\" cliccato quattro volte",
|
||||
"remote_button_quintuple_press": "Pulsante \"{subtype}\" cliccato cinque volte",
|
||||
"remote_button_rotated": "Pulsante ruotato \"{subtype}\"",
|
||||
"remote_button_rotation_stopped": "La rotazione dei pulsanti \"{subtype}\" si \u00e8 arrestata",
|
||||
"remote_button_short_press": "Pulsante \"{subtype}\" premuto",
|
||||
"remote_button_short_release": "Pulsante \"{subtype}\" rilasciato",
|
||||
"remote_button_triple_press": "Pulsante \"{subtype}\" cliccato tre volte",
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "\"{subtype}\" Kn\u00e4ppche v\u00e9ier mol gedr\u00e9ckt",
|
||||
"remote_button_quintuple_press": "\"{subtype}\" Kn\u00e4ppche f\u00ebnnef mol gedr\u00e9ckt",
|
||||
"remote_button_rotated": "Kn\u00e4ppche gedr\u00e9int \"{subtype}\"",
|
||||
"remote_button_rotation_stopped": "Kn\u00e4ppchen Rotatioun \"{subtype}\" gestoppt",
|
||||
"remote_button_short_press": "\"{subtype}\" Kn\u00e4ppche gedr\u00e9ckt",
|
||||
"remote_button_short_release": "\"{subtype}\" Kn\u00e4ppche lassgelooss",
|
||||
"remote_button_triple_press": "\"{subtype}\" Kn\u00e4ppche dr\u00e4imol gedr\u00e9ckt",
|
||||
|
||||
@@ -58,15 +58,16 @@
|
||||
"turn_on": "Sl\u00e5 p\u00e5"
|
||||
},
|
||||
"trigger_type": {
|
||||
"remote_button_double_press": "\" {subtype} \"-knappen ble dobbeltklikket",
|
||||
"remote_button_long_press": "\" {subtype} \" - knappen ble kontinuerlig trykket",
|
||||
"remote_button_long_release": "\" {subtype} \" -knappen sluppet etter langt trykk",
|
||||
"remote_button_quadruple_press": "\" {subtype} \" -knappen ble firedoblet klikket",
|
||||
"remote_button_quintuple_press": "\" {subtype} \" - knappen femdobbelt klikket",
|
||||
"remote_button_rotated": "Knappen roterte \" {subtype} \"",
|
||||
"remote_button_short_press": "\" {subtype} \" -knappen ble trykket",
|
||||
"remote_button_double_press": "\"{subtype}\"-knappen ble dobbeltklikket",
|
||||
"remote_button_long_press": "\"{subtype}\"-knappen ble kontinuerlig trykket",
|
||||
"remote_button_long_release": "\"{subtype}\"-knappen sluppet etter langt trykk",
|
||||
"remote_button_quadruple_press": "\"{subtype}\"-knappen ble firedoblet klikket",
|
||||
"remote_button_quintuple_press": "\"{subtype}\"-knappen femdobbelt klikket",
|
||||
"remote_button_rotated": "Knappen roterte \"{subtype}\"",
|
||||
"remote_button_rotation_stopped": "Knappe rotasjon \"{subtype}\" stoppet",
|
||||
"remote_button_short_press": "\"{subtype}\" -knappen ble trykket",
|
||||
"remote_button_short_release": "\"{subtype}\"-knappen sluppet",
|
||||
"remote_button_triple_press": "\" {subtype} \"-knappen trippel klikket",
|
||||
"remote_button_triple_press": "\"{subtype}\"-knappen trippel klikket",
|
||||
"remote_gyro_activated": "Enhet er ristet"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "\"{subtype}\" gumb \u0161tirikrat kliknjen",
|
||||
"remote_button_quintuple_press": "\"{subtype}\" gumb petkrat kliknjen",
|
||||
"remote_button_rotated": "Gumb \"{subtype}\" zasukan",
|
||||
"remote_button_rotation_stopped": "Vrtenje \"{subtype}\" gumba se je ustavilo",
|
||||
"remote_button_short_press": "Pritisnjen \"{subtype}\" gumb",
|
||||
"remote_button_short_release": "Gumb \"{subtype}\" spro\u0161\u010den",
|
||||
"remote_button_triple_press": "Gumb \"{subtype}\" trikrat kliknjen",
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
"remote_button_quadruple_press": "\"{subtype}\" \u6309\u9215\u56db\u9023\u9ede\u64ca",
|
||||
"remote_button_quintuple_press": "\"{subtype}\" \u6309\u9215\u4e94\u9023\u9ede\u64ca",
|
||||
"remote_button_rotated": "\u65cb\u8f49 \"{subtype}\" \u6309\u9215",
|
||||
"remote_button_rotation_stopped": "\u65cb\u8f49 \"{subtype}\" \u6309\u9215\u5df2\u505c\u6b62",
|
||||
"remote_button_short_press": "\"{subtype}\" \u6309\u9215\u5df2\u6309\u4e0b",
|
||||
"remote_button_short_release": "\"{subtype}\" \u6309\u9215\u5df2\u91cb\u653e",
|
||||
"remote_button_triple_press": "\"{subtype}\" \u6309\u9215\u4e09\u9023\u9ede\u64ca",
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Dialogflow"
|
||||
}
|
||||
}
|
||||
11
homeassistant/components/ecobee/.translations/de.json
Normal file
11
homeassistant/components/ecobee/.translations/de.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "API Key"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
24
homeassistant/components/ecobee/.translations/fr.json
Normal file
24
homeassistant/components/ecobee/.translations/fr.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"one_instance_only": "Cette int\u00e9gration ne prend actuellement en charge qu'une seule instance ecobee."
|
||||
},
|
||||
"error": {
|
||||
"pin_request_failed": "Erreur lors de la demande du code PIN \u00e0 ecobee; veuillez v\u00e9rifier que la cl\u00e9 API est correcte.",
|
||||
"token_request_failed": "Erreur lors de la demande de jetons \u00e0 ecobee; Veuillez r\u00e9essayer."
|
||||
},
|
||||
"step": {
|
||||
"authorize": {
|
||||
"title": "Autoriser l'application sur ecobee.com"
|
||||
},
|
||||
"user": {
|
||||
"data": {
|
||||
"api_key": "Cl\u00e9 API"
|
||||
},
|
||||
"description": "Veuillez entrer la cl\u00e9 API obtenue aupr\u00e8s d'ecobee.com.",
|
||||
"title": "Cl\u00e9 API ecobee"
|
||||
}
|
||||
},
|
||||
"title": "ecobee"
|
||||
}
|
||||
}
|
||||
5
homeassistant/components/ecobee/.translations/nn.json
Normal file
5
homeassistant/components/ecobee/.translations/nn.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "ecobee"
|
||||
}
|
||||
}
|
||||
@@ -67,6 +67,10 @@ class EcobeeBinarySensor(BinarySensorDevice):
|
||||
"""Get the latest state of the sensor."""
|
||||
await self.data.update()
|
||||
for sensor in self.data.ecobee.get_remote_sensors(self.index):
|
||||
if sensor["name"] != self.sensor_name:
|
||||
continue
|
||||
for item in sensor["capability"]:
|
||||
if item["type"] == "occupancy" and self.sensor_name == sensor["name"]:
|
||||
self._state = item["value"]
|
||||
if item["type"] != "occupancy":
|
||||
continue
|
||||
self._state = item["value"]
|
||||
break
|
||||
|
||||
@@ -74,7 +74,7 @@ class EcobeeSensor(Entity):
|
||||
@property
|
||||
def state(self):
|
||||
"""Return the state of the sensor."""
|
||||
if self._state in [ECOBEE_STATE_CALIBRATING, ECOBEE_STATE_UNKNOWN]:
|
||||
if self._state in [ECOBEE_STATE_CALIBRATING, ECOBEE_STATE_UNKNOWN, "unknown"]:
|
||||
return None
|
||||
|
||||
if self.type == "temperature":
|
||||
@@ -91,6 +91,10 @@ class EcobeeSensor(Entity):
|
||||
"""Get the latest state of the sensor."""
|
||||
await self.data.update()
|
||||
for sensor in self.data.ecobee.get_remote_sensors(self.index):
|
||||
if sensor["name"] != self.sensor_name:
|
||||
continue
|
||||
for item in sensor["capability"]:
|
||||
if item["type"] == self.type and self.sensor_name == sensor["name"]:
|
||||
self._state = item["value"]
|
||||
if item["type"] != self.type:
|
||||
continue
|
||||
self._state = item["value"]
|
||||
break
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "EmulatedRoku"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"name_exists": "\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"
|
||||
"name_exists": "\u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"config": {
|
||||
"flow_title": "ESPHome: {name}",
|
||||
"step": {
|
||||
"discovery_confirm": {
|
||||
"title": "Fann ESPhome node"
|
||||
},
|
||||
"user": {
|
||||
"title": "ESPHome"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "ESPHome"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430"
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430."
|
||||
},
|
||||
"error": {
|
||||
"connection_error": "\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a ESP. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0412\u0430\u0448 YAML-\u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 'api:'.",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "Home Assistant Frontend",
|
||||
"documentation": "https://www.home-assistant.io/integrations/frontend",
|
||||
"requirements": [
|
||||
"home-assistant-frontend==20191002.0"
|
||||
"home-assistant-frontend==20191002.2"
|
||||
],
|
||||
"dependencies": [
|
||||
"api",
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"mmi": "MMI",
|
||||
"radius": "Radius"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"identifier_exists": "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e"
|
||||
"identifier_exists": "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
@@ -182,6 +182,11 @@ class GoogleEntity:
|
||||
]
|
||||
return self._traits
|
||||
|
||||
@callback
|
||||
def should_expose(self):
|
||||
"""If entity should be exposed."""
|
||||
return self.config.should_expose(self.state)
|
||||
|
||||
@callback
|
||||
def is_supported(self) -> bool:
|
||||
"""Return if the entity is supported by Google."""
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
"""Google Report State implementation."""
|
||||
import logging
|
||||
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.const import MATCH_ALL
|
||||
from homeassistant.helpers.event import async_call_later
|
||||
|
||||
from .helpers import AbstractConfig, GoogleEntity
|
||||
from .helpers import AbstractConfig, GoogleEntity, async_get_entities
|
||||
from .error import SmartHomeError
|
||||
|
||||
# Time to wait until the homegraph updates
|
||||
# https://github.com/actions-on-google/smart-home-nodejs/issues/196#issuecomment-439156639
|
||||
INITIAL_REPORT_DELAY = 60
|
||||
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@callback
|
||||
@@ -21,7 +32,11 @@ def async_enable_report_state(hass: HomeAssistant, google_config: AbstractConfig
|
||||
if not entity.is_supported():
|
||||
return
|
||||
|
||||
entity_data = entity.query_serialize()
|
||||
try:
|
||||
entity_data = entity.query_serialize()
|
||||
except SmartHomeError as err:
|
||||
_LOGGER.debug("Not reporting state for %s: %s", changed_entity, err.code)
|
||||
return
|
||||
|
||||
if old_state:
|
||||
old_entity = GoogleEntity(hass, google_config, old_state)
|
||||
@@ -34,6 +49,23 @@ def async_enable_report_state(hass: HomeAssistant, google_config: AbstractConfig
|
||||
{"devices": {"states": {changed_entity: entity_data}}}
|
||||
)
|
||||
|
||||
async_call_later(
|
||||
hass, INITIAL_REPORT_DELAY, _async_report_all_states(hass, google_config)
|
||||
)
|
||||
|
||||
return hass.helpers.event.async_track_state_change(
|
||||
MATCH_ALL, async_entity_state_listener
|
||||
)
|
||||
|
||||
|
||||
async def _async_report_all_states(hass: HomeAssistant, google_config: AbstractConfig):
|
||||
"""Report all states."""
|
||||
entities = {}
|
||||
|
||||
for entity in async_get_entities(hass, google_config):
|
||||
if not entity.should_expose():
|
||||
continue
|
||||
|
||||
entities[entity.entity_id] = entity.query_serialize()
|
||||
|
||||
await google_config.async_report_state({"devices": {"states": entities}})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"unknown": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -16,6 +16,6 @@
|
||||
"title": "Mit Heos verbinden"
|
||||
}
|
||||
},
|
||||
"title": "Heos"
|
||||
"title": "HEOS"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"connection_aborted": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 HMIP",
|
||||
"unknown": "\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."
|
||||
},
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"all_configured": "\u0412\u0441\u0435 Philips Hue \u0448\u043b\u044e\u0437\u044b \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430",
|
||||
"all_configured": "\u0412\u0441\u0435 Philips Hue \u0448\u043b\u044e\u0437\u044b \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b.",
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"already_in_progress": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0448\u043b\u044e\u0437\u0430 \u0443\u0436\u0435 \u043d\u0430\u0447\u0430\u0442\u0430.",
|
||||
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0448\u043b\u044e\u0437\u0443",
|
||||
"discover_timeout": "\u0428\u043b\u044e\u0437 Philips Hue \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d",
|
||||
|
||||
5
homeassistant/components/iaqualink/.translations/nn.json
Normal file
5
homeassistant/components/iaqualink/.translations/nn.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Jandy iAqualink"
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import asyncio
|
||||
from functools import wraps
|
||||
import logging
|
||||
|
||||
from aiohttp import CookieJar
|
||||
from aiohttp import ClientTimeout
|
||||
import voluptuous as vol
|
||||
|
||||
from iaqualink import (
|
||||
@@ -85,7 +85,7 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> None
|
||||
sensors = hass.data[DOMAIN][SENSOR_DOMAIN] = []
|
||||
switches = hass.data[DOMAIN][SWITCH_DOMAIN] = []
|
||||
|
||||
session = async_create_clientsession(hass, cookie_jar=CookieJar(unsafe=True))
|
||||
session = async_create_clientsession(hass, timeout=ClientTimeout(total=5))
|
||||
aqualink = AqualinkClient(username, password, session)
|
||||
try:
|
||||
await aqualink.login()
|
||||
|
||||
11
homeassistant/components/ipma/.translations/nn.json
Normal file
11
homeassistant/components/ipma/.translations/nn.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"name": "Namn"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"name_exists": "\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"
|
||||
"name_exists": "\u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
10
homeassistant/components/iqvia/.translations/nn.json
Normal file
10
homeassistant/components/iqvia/.translations/nn.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "IQVIA"
|
||||
}
|
||||
},
|
||||
"title": "IQVIA"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"identifier_exists": "\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d",
|
||||
"identifier_exists": "\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d.",
|
||||
"invalid_zip_code": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441"
|
||||
},
|
||||
"step": {
|
||||
|
||||
10
homeassistant/components/izone/.translations/nn.json
Normal file
10
homeassistant/components/izone/.translations/nn.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"title": "iZone"
|
||||
}
|
||||
},
|
||||
"title": "iZone"
|
||||
}
|
||||
}
|
||||
12
homeassistant/components/life360/.translations/nn.json
Normal file
12
homeassistant/components/life360/.translations/nn.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"username": "Brukarnamn"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Life360"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"config": {
|
||||
"abort": {
|
||||
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435",
|
||||
"user_already_configured": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430"
|
||||
"user_already_configured": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430."
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 [\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438]({docs_url}) \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438."
|
||||
@@ -11,7 +11,7 @@
|
||||
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435",
|
||||
"invalid_username": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u043d",
|
||||
"unexpected": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c Life360",
|
||||
"user_already_configured": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430"
|
||||
"user_already_configured": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
10
homeassistant/components/lifx/.translations/nn.json
Normal file
10
homeassistant/components/lifx/.translations/nn.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"title": "LIFX"
|
||||
}
|
||||
},
|
||||
"title": "LIFX"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,14 @@
|
||||
{
|
||||
"device_automation": {
|
||||
"action_type": {
|
||||
"toggle": "Schalte {entity_name} um.",
|
||||
"turn_off": "Schalte {entity_name} aus.",
|
||||
"turn_on": "Schalte {entity_name} ein."
|
||||
},
|
||||
"condition_type": {
|
||||
"is_off": "{entity_name} ausgeschaltet",
|
||||
"is_on": "{entity_name} ist eingeschaltet"
|
||||
},
|
||||
"trigger_type": {
|
||||
"turned_off": "{entity_name} ausgeschaltet",
|
||||
"turned_on": "{entity_name} eingeschaltet"
|
||||
|
||||
10
homeassistant/components/linky/.translations/nn.json
Normal file
10
homeassistant/components/linky/.translations/nn.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Linky"
|
||||
}
|
||||
},
|
||||
"title": "Linky"
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"username_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430"
|
||||
"username_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430."
|
||||
},
|
||||
"error": {
|
||||
"access": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a Enedis.fr, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443",
|
||||
"enedis": "Enedis.fr \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u043e\u0442\u0432\u0435\u0442 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439: \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435 (\u043d\u0435 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435 \u0441 23:00 \u043f\u043e 2:00)",
|
||||
"unknown": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430: \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435 (\u043d\u0435 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435 \u0441 23:00 \u043f\u043e 2:00)",
|
||||
"username_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430",
|
||||
"username_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430.",
|
||||
"wrong_login": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0445\u043e\u0434\u0430: \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b \u0438 \u043f\u0430\u0440\u043e\u043b\u044c"
|
||||
},
|
||||
"step": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"error": {
|
||||
"communication_error": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a API Luftdaten",
|
||||
"invalid_sensor": "\u0414\u0430\u0442\u0447\u0438\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u043b\u0438 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d",
|
||||
"sensor_exists": "\u0414\u0430\u0442\u0447\u0438\u043a \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d"
|
||||
"sensor_exists": "\u0414\u0430\u0442\u0447\u0438\u043a \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
5
homeassistant/components/mailgun/.translations/nn.json
Normal file
5
homeassistant/components/mailgun/.translations/nn.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"config": {
|
||||
"title": "Mailgun"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"name_exists": "Name existiert bereits"
|
||||
"name_exists": "Ort existiert bereits"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
11
homeassistant/components/met/.translations/nn.json
Normal file
11
homeassistant/components/met/.translations/nn.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"name": "Namn"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"name_exists": "Nazwa ju\u017c istnieje"
|
||||
"name_exists": "Lokalizacja ju\u017c istnieje"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"name_exists": "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e"
|
||||
"name_exists": "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"PyNaCl==1.3.0"
|
||||
],
|
||||
"dependencies": [
|
||||
"cloud",
|
||||
"http",
|
||||
"webhook"
|
||||
],
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
"""Support for MyQ-Enabled Garage Doors."""
|
||||
import logging
|
||||
|
||||
from pymyq import login
|
||||
from pymyq.errors import MyQError
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.cover import (
|
||||
@@ -30,35 +33,29 @@ MYQ_TO_HASS = {
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_TYPE): cv.string,
|
||||
vol.Required(CONF_USERNAME): cv.string,
|
||||
vol.Required(CONF_PASSWORD): cv.string,
|
||||
# This parameter is no longer used; keeping it to avoid a breaking change in
|
||||
# a hotfix, but in a future main release, this should be removed:
|
||||
vol.Optional(CONF_TYPE): cv.string,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
|
||||
"""Set up the platform."""
|
||||
from pymyq import login
|
||||
from pymyq.errors import MyQError, UnsupportedBrandError
|
||||
|
||||
websession = aiohttp_client.async_get_clientsession(hass)
|
||||
|
||||
username = config[CONF_USERNAME]
|
||||
password = config[CONF_PASSWORD]
|
||||
brand = config[CONF_TYPE]
|
||||
|
||||
try:
|
||||
myq = await login(username, password, brand, websession)
|
||||
except UnsupportedBrandError:
|
||||
_LOGGER.error("Unsupported brand: %s", brand)
|
||||
return
|
||||
myq = await login(username, password, websession)
|
||||
except MyQError as err:
|
||||
_LOGGER.error("There was an error while logging in: %s", err)
|
||||
return
|
||||
|
||||
devices = await myq.get_devices()
|
||||
async_add_entities([MyQDevice(device) for device in devices], True)
|
||||
async_add_entities([MyQDevice(device) for device in myq.covers.values()], True)
|
||||
|
||||
|
||||
class MyQDevice(CoverDevice):
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "Myq",
|
||||
"documentation": "https://www.home-assistant.io/integrations/myq",
|
||||
"requirements": [
|
||||
"pymyq==1.2.1"
|
||||
"pymyq==2.0.0"
|
||||
],
|
||||
"dependencies": [],
|
||||
"codeowners": []
|
||||
|
||||
27
homeassistant/components/neato/.translations/ca.json
Normal file
27
homeassistant/components/neato/.translations/ca.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Ja configurat",
|
||||
"invalid_credentials": "Credencials inv\u00e0lides"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Consulta la [documentaci\u00f3 de Neato]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Credencials inv\u00e0lides",
|
||||
"unexpected_error": "Error inesperat"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Contrasenya",
|
||||
"username": "Nom d'usuari",
|
||||
"vendor": "Venedor"
|
||||
},
|
||||
"description": "Consulta la [documentaci\u00f3 de Neato]({docs_url}).",
|
||||
"title": "Informaci\u00f3 del compte Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
23
homeassistant/components/neato/.translations/da.json
Normal file
23
homeassistant/components/neato/.translations/da.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Allerede konfigureret",
|
||||
"invalid_credentials": "Ugyldige legitimationsoplysninger"
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Ugyldige legitimationsoplysninger",
|
||||
"unexpected_error": "Uventet fejl"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Adgangskode",
|
||||
"username": "Brugernavn"
|
||||
},
|
||||
"description": "Se [Neato-dokumentation] ({docs_url}).",
|
||||
"title": "Neato kontooplysninger"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/de.json
Normal file
27
homeassistant/components/neato/.translations/de.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Bereits konfiguriert",
|
||||
"invalid_credentials": "Ung\u00fcltige Anmeldeinformationen"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Siehe [Neato-Dokumentation]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Ung\u00fcltige Anmeldeinformationen",
|
||||
"unexpected_error": "Unerwarteter Fehler"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Passwort",
|
||||
"username": "Benutzername",
|
||||
"vendor": "Hersteller"
|
||||
},
|
||||
"description": "Siehe [Neato-Dokumentation]({docs_url}).",
|
||||
"title": "Neato-Kontoinformationen"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/en.json
Normal file
27
homeassistant/components/neato/.translations/en.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Already configured",
|
||||
"invalid_credentials": "Invalid credentials"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "See [Neato documentation]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Invalid credentials",
|
||||
"unexpected_error": "Unexpected error"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Password",
|
||||
"username": "Username",
|
||||
"vendor": "Vendor"
|
||||
},
|
||||
"description": "See [Neato documentation]({docs_url}).",
|
||||
"title": "Neato Account Info"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/es.json
Normal file
27
homeassistant/components/neato/.translations/es.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Ya est\u00e1 configurado",
|
||||
"invalid_credentials": "Credenciales no v\u00e1lidas"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Ver [documentaci\u00f3n Neato]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Credenciales no v\u00e1lidas",
|
||||
"unexpected_error": "Error inesperado"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Contrase\u00f1a",
|
||||
"username": "Usuario",
|
||||
"vendor": "Vendedor"
|
||||
},
|
||||
"description": "Ver [documentaci\u00f3n Neato]({docs_url}).",
|
||||
"title": "Informaci\u00f3n de la cuenta de Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/fr.json
Normal file
27
homeassistant/components/neato/.translations/fr.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "D\u00e9j\u00e0 configur\u00e9",
|
||||
"invalid_credentials": "Informations d'identification invalides"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Voir [Documentation Neato]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Informations d'identification invalides",
|
||||
"unexpected_error": "Erreur inattendue"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Mot de passe",
|
||||
"username": "Nom d'utilisateur",
|
||||
"vendor": "Vendeur"
|
||||
},
|
||||
"description": "Voir [Documentation Neato] ( {docs_url} ).",
|
||||
"title": "Informations compte Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/it.json
Normal file
27
homeassistant/components/neato/.translations/it.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Gi\u00e0 configurato",
|
||||
"invalid_credentials": "Credenziali non valide"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Vedere la [Documentazione di Neato]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Credenziali non valide",
|
||||
"unexpected_error": "Errore inaspettato"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Password",
|
||||
"username": "Nome utente",
|
||||
"vendor": "Fornitore"
|
||||
},
|
||||
"description": "Vedere la [Documentazione di Neato]({docs_url}).",
|
||||
"title": "Informazioni sull'account Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/lb.json
Normal file
27
homeassistant/components/neato/.translations/lb.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Scho konfigur\u00e9iert",
|
||||
"invalid_credentials": "Ong\u00eblteg Login Informatioune"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Kuckt [Neato Dokumentatioun]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Ong\u00eblteg Login Informatioune",
|
||||
"unexpected_error": "Onerwaarte Feeler"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Passwuert",
|
||||
"username": "Benotzernumm",
|
||||
"vendor": "Hiersteller"
|
||||
},
|
||||
"description": "Kuckt [Neato Dokumentatioun]({docs_url}).",
|
||||
"title": "Neato Kont Informatiounen"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
12
homeassistant/components/neato/.translations/nn.json
Normal file
12
homeassistant/components/neato/.translations/nn.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"username": "Brukarnamn"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/no.json
Normal file
27
homeassistant/components/neato/.translations/no.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Allerede konfigurert",
|
||||
"invalid_credentials": "Ugyldig brukerinformasjon"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Se [Neato dokumentasjon]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Ugyldig brukerinformasjon",
|
||||
"unexpected_error": "Uventet feil"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Passord",
|
||||
"username": "Brukernavn",
|
||||
"vendor": "Leverand\u00f8r"
|
||||
},
|
||||
"description": "Se [Neato dokumentasjon]({docs_url}).",
|
||||
"title": "Neato kontoinformasjon"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/pl.json
Normal file
27
homeassistant/components/neato/.translations/pl.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Konto jest ju\u017c skonfigurowane",
|
||||
"invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Zapoznaj si\u0119 z [dokumentacj\u0105 Neato]({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce",
|
||||
"unexpected_error": "Niespodziewany b\u0142\u0105d"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Has\u0142o",
|
||||
"username": "Nazwa u\u017cytkownika",
|
||||
"vendor": "Dostawca"
|
||||
},
|
||||
"description": "Zapoznaj si\u0119 z [dokumentacj\u0105 Neato]({docs_url}).",
|
||||
"title": "Informacje o koncie Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/ru.json
Normal file
27
homeassistant/components/neato/.translations/ru.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.",
|
||||
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 [\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438]({docs_url}) \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435",
|
||||
"unexpected_error": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
|
||||
"username": "\u041b\u043e\u0433\u0438\u043d",
|
||||
"vendor": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c"
|
||||
},
|
||||
"description": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 [\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438]({docs_url}) \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.",
|
||||
"title": "Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/sl.json
Normal file
27
homeassistant/components/neato/.translations/sl.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u017de konfigurirano",
|
||||
"invalid_credentials": "Neveljavne poverilnice"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "Glejte [neato dokumentacija] ({docs_url})."
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "Neveljavne poverilnice",
|
||||
"unexpected_error": "Nepri\u010dakovana napaka"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "Geslo",
|
||||
"username": "Uporabni\u0161ko ime",
|
||||
"vendor": "Prodajalec"
|
||||
},
|
||||
"description": "Glejte [neato dokumentacija] ({docs_url}).",
|
||||
"title": "Podatki o ra\u010dunu Neato"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
27
homeassistant/components/neato/.translations/zh-Hant.json
Normal file
27
homeassistant/components/neato/.translations/zh-Hant.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u5df2\u8a2d\u5b9a\u5b8c\u6210",
|
||||
"invalid_credentials": "\u6191\u8b49\u7121\u6548"
|
||||
},
|
||||
"create_entry": {
|
||||
"default": "\u8acb\u53c3\u95b1 [Neato \u6587\u4ef6]({docs_url})\u3002"
|
||||
},
|
||||
"error": {
|
||||
"invalid_credentials": "\u6191\u8b49\u7121\u6548",
|
||||
"unexpected_error": "\u672a\u9810\u671f\u932f\u8aa4"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"password": "\u5bc6\u78bc",
|
||||
"username": "\u4f7f\u7528\u8005\u540d\u7a31",
|
||||
"vendor": "\u5ee0\u5546"
|
||||
},
|
||||
"description": "\u8acb\u53c3\u95b1 [Neato \u6587\u4ef6]({docs_url})\u3002",
|
||||
"title": "Neato \u5e33\u865f\u8cc7\u8a0a"
|
||||
}
|
||||
},
|
||||
"title": "Neato"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"identifier_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430",
|
||||
"identifier_exists": "\u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430.",
|
||||
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u043d \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||
"no_devices": "\u041d\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e"
|
||||
},
|
||||
|
||||
@@ -34,9 +34,9 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
name = discovery_info["client_name"]
|
||||
|
||||
devices = []
|
||||
for sensor_type, sensor_config in SENSOR_TYPES.items():
|
||||
for sensor_config in SENSOR_TYPES.values():
|
||||
new_sensor = NZBGetSensor(
|
||||
nzbget_data, sensor_type, name, sensor_config[0], sensor_config[1]
|
||||
nzbget_data, sensor_config[0], name, sensor_config[1], sensor_config[2]
|
||||
)
|
||||
devices.append(new_sensor)
|
||||
|
||||
@@ -50,8 +50,8 @@ class NZBGetSensor(Entity):
|
||||
self, nzbget_data, sensor_type, client_name, sensor_name, unit_of_measurement
|
||||
):
|
||||
"""Initialize a new NZBGet sensor."""
|
||||
self._name = f"{client_name} {sensor_type}"
|
||||
self.type = sensor_name
|
||||
self._name = f"{client_name} {sensor_name}"
|
||||
self.type = sensor_type
|
||||
self.client_name = client_name
|
||||
self.nzbget_data = nzbget_data
|
||||
self._state = None
|
||||
|
||||
23
homeassistant/components/opentherm_gw/.translations/ca.json
Normal file
23
homeassistant/components/opentherm_gw/.translations/ca.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Passarel\u00b7la ja configurada",
|
||||
"id_exists": "L'identificador de passarel\u00b7la ja existeix",
|
||||
"serial_error": "S'ha produ\u00eft un error en connectar-se al dispositiu",
|
||||
"timeout": "S'ha acabat el temps d'espera en l'intent de connexi\u00f3"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Ruta o URL",
|
||||
"floor_temperature": "Temperatura del pis",
|
||||
"id": "ID",
|
||||
"name": "Nom",
|
||||
"precision": "Precisi\u00f3 de la temperatura"
|
||||
},
|
||||
"title": "Passarel\u00b7la d'OpenTherm"
|
||||
}
|
||||
},
|
||||
"title": "Passarel\u00b7la d'OpenTherm"
|
||||
}
|
||||
}
|
||||
20
homeassistant/components/opentherm_gw/.translations/da.json
Normal file
20
homeassistant/components/opentherm_gw/.translations/da.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway allerede konfigureret",
|
||||
"id_exists": "Gateway-id findes allerede",
|
||||
"serial_error": "Fejl ved tilslutning til enheden"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Sti eller URL",
|
||||
"id": "ID",
|
||||
"name": "Navn"
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
}
|
||||
19
homeassistant/components/opentherm_gw/.translations/de.json
Normal file
19
homeassistant/components/opentherm_gw/.translations/de.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway bereits konfiguriert",
|
||||
"id_exists": "Gateway-ID ist bereits vorhanden",
|
||||
"serial_error": "Fehler beim Verbinden mit dem Ger\u00e4t",
|
||||
"timeout": "Zeit\u00fcberschreitung beim Verbindungsversuch"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Pfad oder URL",
|
||||
"id": "ID",
|
||||
"name": "Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
homeassistant/components/opentherm_gw/.translations/en.json
Normal file
23
homeassistant/components/opentherm_gw/.translations/en.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway already configured",
|
||||
"id_exists": "Gateway id already exists",
|
||||
"serial_error": "Error connecting to device",
|
||||
"timeout": "Connection attempt timed out"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Path or URL",
|
||||
"floor_temperature": "Floor climate temperature",
|
||||
"id": "ID",
|
||||
"name": "Name",
|
||||
"precision": "Climate temperature precision"
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
}
|
||||
23
homeassistant/components/opentherm_gw/.translations/es.json
Normal file
23
homeassistant/components/opentherm_gw/.translations/es.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway ya configurado",
|
||||
"id_exists": "El ID del Gateway ya existe",
|
||||
"serial_error": "Error de conexi\u00f3n al dispositivo",
|
||||
"timeout": "Intento de conexi\u00f3n agotado"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Ruta o URL",
|
||||
"floor_temperature": "Temperatura del suelo",
|
||||
"id": "ID",
|
||||
"name": "Nombre",
|
||||
"precision": "Precisi\u00f3n de la temperatura clim\u00e1tica"
|
||||
},
|
||||
"title": "Gateway OpenTherm"
|
||||
}
|
||||
},
|
||||
"title": "Gateway OpenTherm"
|
||||
}
|
||||
}
|
||||
22
homeassistant/components/opentherm_gw/.translations/fr.json
Normal file
22
homeassistant/components/opentherm_gw/.translations/fr.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Passerelle d\u00e9j\u00e0 configur\u00e9e",
|
||||
"id_exists": "L'identifiant de la passerelle existe d\u00e9j\u00e0",
|
||||
"serial_error": "Erreur de connexion \u00e0 l'appareil",
|
||||
"timeout": "La tentative de connexion a expir\u00e9"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Chemin ou URL",
|
||||
"id": "ID",
|
||||
"name": "Nom",
|
||||
"precision": "Pr\u00e9cision de la temp\u00e9rature climatique"
|
||||
},
|
||||
"title": "Passerelle OpenTherm"
|
||||
}
|
||||
},
|
||||
"title": "Passerelle OpenTherm"
|
||||
}
|
||||
}
|
||||
23
homeassistant/components/opentherm_gw/.translations/it.json
Normal file
23
homeassistant/components/opentherm_gw/.translations/it.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway gi\u00e0 configurato",
|
||||
"id_exists": "ID del gateway esiste gi\u00e0",
|
||||
"serial_error": "Errore durante la connessione al dispositivo",
|
||||
"timeout": "Tentativo di connessione scaduto"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Percorso o URL",
|
||||
"floor_temperature": "Temperatura climatica del pavimento",
|
||||
"id": "ID",
|
||||
"name": "Nome",
|
||||
"precision": "Precisione della temperatura climatica"
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
},
|
||||
"title": "Gateway OpenTherm"
|
||||
}
|
||||
}
|
||||
23
homeassistant/components/opentherm_gw/.translations/lb.json
Normal file
23
homeassistant/components/opentherm_gw/.translations/lb.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"already_configured": "Gateway ass scho konfigur\u00e9iert",
|
||||
"id_exists": "Gateway ID g\u00ebtt et schonn",
|
||||
"serial_error": "Feeler beim verbannen",
|
||||
"timeout": "Z\u00e4it Iwwerschreidung beim Verbindungs Versuch"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"data": {
|
||||
"device": "Pfad oder URL",
|
||||
"floor_temperature": "Buedem Klima Temperatur",
|
||||
"id": "ID",
|
||||
"name": "Numm",
|
||||
"precision": "Klima Temperatur Prezisioun"
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
},
|
||||
"title": "OpenTherm Gateway"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user