homeassistant 2025.10.0b1__py3-none-any.whl → 2025.10.0b4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of homeassistant might be problematic. Click here for more details.
- homeassistant/components/accuweather/manifest.json +1 -1
- homeassistant/components/accuweather/translations/ga.json +16 -1
- homeassistant/components/airos/__init__.py +37 -2
- homeassistant/components/airos/config_flow.py +24 -3
- homeassistant/components/airos/const.py +5 -0
- homeassistant/components/airos/entity.py +8 -3
- homeassistant/components/airos/strings.json +12 -0
- homeassistant/components/airos/translations/de.json +12 -0
- homeassistant/components/airos/translations/en-GB.json +12 -0
- homeassistant/components/airos/translations/en.json +12 -0
- homeassistant/components/airzone/translations/es.json +10 -0
- homeassistant/components/airzone/translations/et.json +10 -0
- homeassistant/components/airzone/translations/ga.json +10 -0
- homeassistant/components/airzone/translations/pt.json +10 -0
- homeassistant/components/alexa_devices/binary_sensor.py +36 -38
- homeassistant/components/alexa_devices/config_flow.py +2 -2
- homeassistant/components/alexa_devices/coordinator.py +1 -1
- homeassistant/components/alexa_devices/diagnostics.py +1 -3
- homeassistant/components/alexa_devices/icons.json +0 -40
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/sensor.py +13 -0
- homeassistant/components/alexa_devices/strings.json +0 -20
- homeassistant/components/alexa_devices/switch.py +27 -7
- homeassistant/components/alexa_devices/translations/bg.json +0 -13
- homeassistant/components/alexa_devices/translations/cs.json +0 -20
- homeassistant/components/alexa_devices/translations/de.json +0 -20
- homeassistant/components/alexa_devices/translations/el.json +0 -20
- homeassistant/components/alexa_devices/translations/en-GB.json +0 -20
- homeassistant/components/alexa_devices/translations/en.json +0 -20
- homeassistant/components/alexa_devices/translations/es.json +0 -20
- homeassistant/components/alexa_devices/translations/et.json +0 -20
- homeassistant/components/alexa_devices/translations/ga.json +0 -20
- homeassistant/components/alexa_devices/translations/he.json +0 -7
- homeassistant/components/alexa_devices/translations/hu.json +0 -20
- homeassistant/components/alexa_devices/translations/it.json +0 -20
- homeassistant/components/alexa_devices/translations/ja.json +0 -19
- homeassistant/components/alexa_devices/translations/lt.json +0 -20
- homeassistant/components/alexa_devices/translations/mk.json +0 -14
- homeassistant/components/alexa_devices/translations/nl.json +0 -20
- homeassistant/components/alexa_devices/translations/pl.json +0 -5
- homeassistant/components/alexa_devices/translations/pt.json +0 -20
- homeassistant/components/alexa_devices/translations/ru.json +0 -5
- homeassistant/components/alexa_devices/translations/sk.json +0 -20
- homeassistant/components/alexa_devices/translations/sv.json +0 -20
- homeassistant/components/alexa_devices/translations/tr.json +0 -5
- homeassistant/components/alexa_devices/translations/zh-Hans.json +0 -20
- homeassistant/components/alexa_devices/translations/zh-Hant.json +0 -20
- homeassistant/components/alexa_devices/utils.py +24 -1
- homeassistant/components/assist_pipeline/pipeline.py +43 -18
- homeassistant/components/assist_pipeline/translations/nl.json +1 -0
- homeassistant/components/assist_pipeline/translations/sv.json +1 -0
- homeassistant/components/blue_current/translations/es.json +44 -0
- homeassistant/components/blue_current/translations/et.json +44 -0
- homeassistant/components/blue_current/translations/ga.json +44 -0
- homeassistant/components/blue_current/translations/pt.json +44 -0
- homeassistant/components/cloud/translations/sk.json +1 -1
- homeassistant/components/comelit/config_flow.py +8 -4
- homeassistant/components/cync/translations/es.json +32 -0
- homeassistant/components/cync/translations/et.json +32 -0
- homeassistant/components/cync/translations/ga.json +32 -0
- homeassistant/components/cync/translations/pt.json +32 -0
- homeassistant/components/cync/translations/ru.json +32 -0
- homeassistant/components/ecovacs/translations/es.json +7 -1
- homeassistant/components/ecovacs/translations/et.json +7 -1
- homeassistant/components/ecovacs/translations/ga.json +6 -1
- homeassistant/components/ecovacs/translations/pt.json +4 -0
- homeassistant/components/ecovacs/translations/ru.json +4 -0
- homeassistant/components/edl21/translations/de.json +1 -1
- homeassistant/components/ekeybionyx/translations/es.json +66 -0
- homeassistant/components/ekeybionyx/translations/et.json +66 -0
- homeassistant/components/ekeybionyx/translations/ga.json +66 -0
- homeassistant/components/ekeybionyx/translations/pt.json +66 -0
- homeassistant/components/elvia/translations/de.json +3 -3
- homeassistant/components/esphome/manager.py +1 -1
- homeassistant/components/esphome/manifest.json +1 -1
- homeassistant/components/esphome/translations/nl.json +1 -1
- homeassistant/components/esphome/translations/sv.json +1 -1
- homeassistant/components/ezviz/entity.py +12 -6
- homeassistant/components/file/translations/es.json +31 -0
- homeassistant/components/file/translations/et.json +31 -0
- homeassistant/components/file/translations/ga.json +31 -0
- homeassistant/components/file/translations/pt.json +31 -0
- homeassistant/components/file/translations/ru.json +31 -0
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/geniushub/entity.py +4 -4
- homeassistant/components/google_generative_ai_conversation/translations/ga.json +6 -0
- homeassistant/components/habitica/translations/ga.json +24 -0
- homeassistant/components/hassio/translations/es.json +4 -0
- homeassistant/components/hassio/translations/et.json +4 -0
- homeassistant/components/hassio/translations/ga.json +4 -0
- homeassistant/components/hassio/translations/pt.json +4 -0
- homeassistant/components/hassio/translations/ru.json +4 -0
- homeassistant/components/here_travel_time/translations/es.json +6 -0
- homeassistant/components/here_travel_time/translations/et.json +6 -0
- homeassistant/components/here_travel_time/translations/ga.json +6 -0
- homeassistant/components/here_travel_time/translations/pt.json +6 -0
- homeassistant/components/irm_kmi/translations/ga.json +50 -0
- homeassistant/components/lamarzocco/__init__.py +1 -1
- homeassistant/components/lamarzocco/coordinator.py +10 -2
- homeassistant/components/lamarzocco/manifest.json +1 -1
- homeassistant/components/letpot/translations/es.json +10 -0
- homeassistant/components/letpot/translations/et.json +10 -0
- homeassistant/components/letpot/translations/ga.json +9 -0
- homeassistant/components/letpot/translations/pt.json +10 -0
- homeassistant/components/lg_thinq/translations/ga.json +9 -0
- homeassistant/components/logbook/translations/es.json +6 -1
- homeassistant/components/logbook/translations/et.json +6 -1
- homeassistant/components/logbook/translations/pl.json +3 -1
- homeassistant/components/logbook/translations/pt.json +6 -1
- homeassistant/components/logbook/translations/ru.json +6 -1
- homeassistant/components/mastodon/translations/ga.json +4 -0
- homeassistant/components/matter/translations/es.json +3 -0
- homeassistant/components/matter/translations/et.json +3 -0
- homeassistant/components/matter/translations/ga.json +3 -0
- homeassistant/components/matter/translations/pt.json +3 -0
- homeassistant/components/matter/translations/ru.json +3 -0
- homeassistant/components/miele/translations/ga.json +1 -0
- homeassistant/components/mqtt/translations/es.json +19 -0
- homeassistant/components/mqtt/translations/et.json +19 -0
- homeassistant/components/mqtt/translations/ga.json +26 -1
- homeassistant/components/mqtt/translations/pt.json +19 -0
- homeassistant/components/mqtt/translations/ru.json +19 -0
- homeassistant/components/mvglive/manifest.json +2 -4
- homeassistant/components/mvglive/sensor.py +116 -86
- homeassistant/components/nina/strings.json +2 -2
- homeassistant/components/nina/translations/ca.json +0 -2
- homeassistant/components/nina/translations/cs.json +0 -2
- homeassistant/components/nina/translations/de.json +3 -3
- homeassistant/components/nina/translations/el.json +0 -1
- homeassistant/components/nina/translations/en-GB.json +3 -3
- homeassistant/components/nina/translations/en.json +3 -3
- homeassistant/components/nina/translations/es.json +0 -2
- homeassistant/components/nina/translations/et.json +0 -2
- homeassistant/components/nina/translations/fi.json +0 -2
- homeassistant/components/nina/translations/ga.json +0 -2
- homeassistant/components/nina/translations/hu.json +0 -2
- homeassistant/components/nina/translations/id.json +0 -1
- homeassistant/components/nina/translations/it.json +0 -2
- homeassistant/components/nina/translations/ja.json +0 -2
- homeassistant/components/nina/translations/ko.json +0 -2
- homeassistant/components/nina/translations/lt.json +0 -2
- homeassistant/components/nina/translations/nl.json +0 -2
- homeassistant/components/nina/translations/pt-BR.json +0 -1
- homeassistant/components/nina/translations/pt.json +0 -2
- homeassistant/components/nina/translations/ro.json +0 -1
- homeassistant/components/nina/translations/ru.json +0 -2
- homeassistant/components/nina/translations/sk.json +0 -2
- homeassistant/components/nina/translations/sv.json +0 -2
- homeassistant/components/nina/translations/tr.json +0 -2
- homeassistant/components/nina/translations/uk.json +0 -1
- homeassistant/components/nina/translations/zh-Hans.json +0 -2
- homeassistant/components/nina/translations/zh-Hant.json +0 -2
- homeassistant/components/nordpool/translations/ga.json +6 -0
- homeassistant/components/pooldose/translations/ga.json +8 -1
- homeassistant/components/portainer/__init__.py +4 -3
- homeassistant/components/portainer/config_flow.py +3 -2
- homeassistant/components/portainer/strings.json +4 -2
- homeassistant/components/portainer/translations/de.json +4 -2
- homeassistant/components/portainer/translations/en-GB.json +4 -2
- homeassistant/components/portainer/translations/en.json +4 -2
- homeassistant/components/profiler/translations/es.json +4 -0
- homeassistant/components/profiler/translations/et.json +4 -0
- homeassistant/components/profiler/translations/ga.json +4 -0
- homeassistant/components/profiler/translations/pt.json +4 -0
- homeassistant/components/route_b_smart_meter/translations/es.json +42 -0
- homeassistant/components/route_b_smart_meter/translations/et.json +42 -0
- homeassistant/components/route_b_smart_meter/translations/ga.json +42 -0
- homeassistant/components/route_b_smart_meter/translations/pt.json +42 -0
- homeassistant/components/russound_rio/manifest.json +1 -1
- homeassistant/components/satel_integra/translations/et.json +1 -0
- homeassistant/components/shelly/translations/pl.json +4 -0
- homeassistant/components/smartthings/manifest.json +1 -1
- homeassistant/components/smartthings/translations/es.json +21 -0
- homeassistant/components/smartthings/translations/et.json +21 -0
- homeassistant/components/smartthings/translations/ga.json +15 -0
- homeassistant/components/smartthings/translations/pt.json +21 -0
- homeassistant/components/thread/config_flow.py +11 -3
- homeassistant/components/thread/manifest.json +1 -0
- homeassistant/components/tolo/translations/es.json +2 -1
- homeassistant/components/tolo/translations/ga.json +2 -1
- homeassistant/components/tuya/translations/es.json +9 -0
- homeassistant/components/tuya/translations/et.json +9 -0
- homeassistant/components/tuya/translations/ga.json +9 -0
- homeassistant/components/tuya/translations/pt.json +9 -0
- homeassistant/components/usage_prediction/translations/et.json +3 -0
- homeassistant/components/valve/translations/pl.json +2 -1
- homeassistant/components/vesync/fan.py +3 -1
- homeassistant/components/voip/translations/nl.json +1 -1
- homeassistant/components/voip/translations/sv.json +1 -1
- homeassistant/components/volvooncall/translations/ga.json +18 -1
- homeassistant/components/wyoming/translations/nl.json +1 -1
- homeassistant/components/wyoming/translations/sv.json +1 -1
- homeassistant/components/zha/config_flow.py +37 -21
- homeassistant/components/zha/manifest.json +1 -1
- homeassistant/components/zha/translations/es.json +81 -3
- homeassistant/components/zha/translations/et.json +78 -0
- homeassistant/components/zha/translations/ga.json +74 -0
- homeassistant/components/zha/translations/pt.json +80 -2
- homeassistant/components/zha/translations/ru.json +8 -2
- homeassistant/components/zwave_js/config_flow.py +30 -11
- homeassistant/components/zwave_js/translations/es.json +1 -0
- homeassistant/components/zwave_js/translations/et.json +1 -0
- homeassistant/components/zwave_js/translations/ga.json +1 -0
- homeassistant/components/zwave_js/translations/pt.json +1 -0
- homeassistant/const.py +1 -1
- homeassistant/generated/integrations.json +2 -1
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/METADATA +1 -1
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/RECORD +214 -199
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/WHEEL +0 -0
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.10.0b1.dist-info → homeassistant-2025.10.0b4.dist-info}/top_level.txt +0 -0
|
@@ -102,10 +102,14 @@
|
|
|
102
102
|
},
|
|
103
103
|
"volume": {
|
|
104
104
|
"name": "\u041e\u0431\u044a\u0435\u043c"
|
|
105
|
+
},
|
|
106
|
+
"water_amount": {
|
|
107
|
+
"name": "\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u0442\u043e\u043a\u0430 \u0432\u043e\u0434\u044b"
|
|
105
108
|
}
|
|
106
109
|
},
|
|
107
110
|
"select": {
|
|
108
111
|
"water_amount": {
|
|
112
|
+
"name": "\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u0442\u043e\u043a\u0430 \u0432\u043e\u0434\u044b",
|
|
109
113
|
"state": {
|
|
110
114
|
"high": "\u0412\u044b\u0441\u043e\u043a\u0438\u0439",
|
|
111
115
|
"low": "\u041d\u0438\u0437\u043a\u0438\u0439",
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "La cuenta ya est\u00e1 configurada",
|
|
5
|
+
"already_in_progress": "El flujo de configuraci\u00f3n ya est\u00e1 en curso",
|
|
6
|
+
"authorize_url_timeout": "Tiempo de espera agotado mientras se generaba la URL de autorizaci\u00f3n.",
|
|
7
|
+
"cannot_connect": "La conexi\u00f3n a {ekeybionyx} fall\u00f3. Por favor, comprueba tu conexi\u00f3n a Internet e int\u00e9ntalo de nuevo.",
|
|
8
|
+
"missing_configuration": "El componente no est\u00e1 configurado. Por favor, sigue la documentaci\u00f3n.",
|
|
9
|
+
"no_available_webhooks": "No hay webhooks disponibles en el sistema {ekeybionyx}. Por favor, elimina algunos e int\u00e9ntalo de nuevo.",
|
|
10
|
+
"no_own_systems": "Tu cuenta no tiene acceso de administrador a ning\u00fan sistema.",
|
|
11
|
+
"no_url_available": "No hay URL disponible. Para obtener informaci\u00f3n sobre este error, [revisa la secci\u00f3n de ayuda]({docs_url})",
|
|
12
|
+
"oauth_error": "Se han recibido datos de token no v\u00e1lidos.",
|
|
13
|
+
"oauth_failed": "Error al obtener el token de acceso.",
|
|
14
|
+
"oauth_timeout": "Tiempo de espera agotado mientras se resolv\u00eda el token OAuth.",
|
|
15
|
+
"oauth_unauthorized": "Error de autorizaci\u00f3n OAuth al obtener el token de acceso.",
|
|
16
|
+
"user_rejected_authorize": "V\u00ednculo de cuenta rechazado: {error}"
|
|
17
|
+
},
|
|
18
|
+
"create_entry": {
|
|
19
|
+
"default": "Autenticado correctamente"
|
|
20
|
+
},
|
|
21
|
+
"error": {
|
|
22
|
+
"invalid_name": "El nombre no es v\u00e1lido",
|
|
23
|
+
"invalid_url": "La URL no es v\u00e1lida",
|
|
24
|
+
"no_webhooks_provided": "No se proporcionaron nombres de eventos"
|
|
25
|
+
},
|
|
26
|
+
"progress": {
|
|
27
|
+
"check_deletion_status": "Por favor, abre la aplicaci\u00f3n {ekeybionyx} y confirma la eliminaci\u00f3n de las funciones."
|
|
28
|
+
},
|
|
29
|
+
"step": {
|
|
30
|
+
"choose_system": {
|
|
31
|
+
"data": {
|
|
32
|
+
"system": "Sistema"
|
|
33
|
+
},
|
|
34
|
+
"data_description": {
|
|
35
|
+
"system": "Sistema para el que deben configurarse las entidades de eventos."
|
|
36
|
+
},
|
|
37
|
+
"description": "Por favor, selecciona el sistema {ekeybionyx} que quieres conectar a Home Assistant."
|
|
38
|
+
},
|
|
39
|
+
"delete_webhooks": {
|
|
40
|
+
"description": "Este sistema ya est\u00e1 conectado a Home Assistant. Si contin\u00faas, se eliminar\u00e1n las funciones configuradas previamente."
|
|
41
|
+
},
|
|
42
|
+
"pick_implementation": {
|
|
43
|
+
"title": "Selecciona el m\u00e9todo de autenticaci\u00f3n"
|
|
44
|
+
},
|
|
45
|
+
"webhooks": {
|
|
46
|
+
"data": {
|
|
47
|
+
"url": "URL de Home Assistant",
|
|
48
|
+
"webhook1": "Entidad de evento 1",
|
|
49
|
+
"webhook2": "Entidad de evento 2",
|
|
50
|
+
"webhook3": "Entidad de evento 3",
|
|
51
|
+
"webhook4": "Entidad de evento 4",
|
|
52
|
+
"webhook5": "Entidad de evento 5"
|
|
53
|
+
},
|
|
54
|
+
"data_description": {
|
|
55
|
+
"url": "URL de la instancia de Home Assistant a la que se puede acceder desde el controlador de huellas dactilares",
|
|
56
|
+
"webhook1": "Nombre de la entidad de evento 1 que se asignar\u00e1 a una funci\u00f3n",
|
|
57
|
+
"webhook2": "Nombre de la entidad de evento 2 que se asignar\u00e1 a una funci\u00f3n",
|
|
58
|
+
"webhook3": "Nombre de la entidad de evento 3 que se asignar\u00e1 a una funci\u00f3n",
|
|
59
|
+
"webhook4": "Nombre de la entidad de evento 4 que se asignar\u00e1 a una funci\u00f3n",
|
|
60
|
+
"webhook5": "Nombre de la entidad de evento 5 que se asignar\u00e1 a una funci\u00f3n"
|
|
61
|
+
},
|
|
62
|
+
"description": "Por favor, asigna un nombre a tus entidades de evento. Estas entidades se asignar\u00e1n como funciones en la aplicaci\u00f3n {ekeybionyx}. Puedes configurar hasta {webhooks_available} entidades de evento. Si dejas un nombre vac\u00edo, se omitir\u00e1 la configuraci\u00f3n de esa entidad."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Kasutaja on juba seadistatud",
|
|
5
|
+
"already_in_progress": "Seadistamine on juba k\u00e4imas",
|
|
6
|
+
"authorize_url_timeout": "Kinnitus-URLi loomise ajal\u00f5pp",
|
|
7
|
+
"cannot_connect": "\u00dchenduse loomine saidiga {ekeybionyx} nurjus. Kontrolli oma interneti\u00fchendust ja proovi uuesti.",
|
|
8
|
+
"missing_configuration": "Komponent pole seadistatud. Palun loe dokumentatsiooni.",
|
|
9
|
+
"no_available_webhooks": "{ekeybionyx} s\u00fcsteemis pole \u00fchtegi vaba veebihaaki. Kustuta m\u00f5ned ja proovi uuesti.",
|
|
10
|
+
"no_own_systems": "Kontol ei ole \u00fchelegi s\u00fcsteemile administraatori juurdep\u00e4\u00e4su.",
|
|
11
|
+
"no_url_available": "URL pole saadaval. Selle t\u00f5rke kohta teabe saamiseks vaata [spikrijaotis]({docs_url})",
|
|
12
|
+
"oauth_error": "Saadi sobimatud loaandmed.",
|
|
13
|
+
"oauth_failed": "T\u00f5rge juurdep\u00e4\u00e4sut\u00f5endi hankimisel.",
|
|
14
|
+
"oauth_timeout": "OAuthi loa lahendamise ajal\u00f5pp.",
|
|
15
|
+
"oauth_unauthorized": "OAuthi tuvastaimisviga juurdep\u00e4\u00e4sut\u00f5endi hankimisel.",
|
|
16
|
+
"user_rejected_authorize": "Konto sidumine nurjus: {error}"
|
|
17
|
+
},
|
|
18
|
+
"create_entry": {
|
|
19
|
+
"default": "Tuvastamine \u00f5nnestus"
|
|
20
|
+
},
|
|
21
|
+
"error": {
|
|
22
|
+
"invalid_name": "Nimi on sobimatu",
|
|
23
|
+
"invalid_url": "URL on sobimatu",
|
|
24
|
+
"no_webhooks_provided": "S\u00fcndmuste nimed puuduvad"
|
|
25
|
+
},
|
|
26
|
+
"progress": {
|
|
27
|
+
"check_deletion_status": "Ava {ekeybionyx} rakendus ja kinnita funktsioonide kustutamine."
|
|
28
|
+
},
|
|
29
|
+
"step": {
|
|
30
|
+
"choose_system": {
|
|
31
|
+
"data": {
|
|
32
|
+
"system": "S\u00fcsteem"
|
|
33
|
+
},
|
|
34
|
+
"data_description": {
|
|
35
|
+
"system": "S\u00fcsteem mille jaoks tuleks luua s\u00fcndmus\u00fcksused."
|
|
36
|
+
},
|
|
37
|
+
"description": "Vali {ekeybionyx} s\u00fcsteem mille soovid Home Assistantiga \u00fchendada."
|
|
38
|
+
},
|
|
39
|
+
"delete_webhooks": {
|
|
40
|
+
"description": "See s\u00fcsteem on juba Home Assistantiga \u00fchendatud. J\u00e4tkamisel kustutatakse eelnevalt konfigureeritud funktsioonid."
|
|
41
|
+
},
|
|
42
|
+
"pick_implementation": {
|
|
43
|
+
"title": "Vali tuvastusmeetod"
|
|
44
|
+
},
|
|
45
|
+
"webhooks": {
|
|
46
|
+
"data": {
|
|
47
|
+
"url": "Home Assistanti URL",
|
|
48
|
+
"webhook1": "S\u00fcndmuse \u00fcksus 1",
|
|
49
|
+
"webhook2": "S\u00fcndmuse \u00fcksus 2",
|
|
50
|
+
"webhook3": "S\u00fcndmuse \u00fcksus 3",
|
|
51
|
+
"webhook4": "S\u00fcndmuse \u00fcksus 4",
|
|
52
|
+
"webhook5": "S\u00fcndmuse \u00fcksus 5"
|
|
53
|
+
},
|
|
54
|
+
"data_description": {
|
|
55
|
+
"url": "Home Assistanti eksemplari URL millele p\u00e4\u00e4seb ligi s\u00f5rmej\u00e4ljekontrolleri kaudu",
|
|
56
|
+
"webhook1": "Funktsiooniga vastendatava s\u00fcndmuse olemi 1 nimi",
|
|
57
|
+
"webhook2": "Funktsiooniga vastendatava s\u00fcndmuse olemi 2 nimi",
|
|
58
|
+
"webhook3": "Funktsiooniga vastendatava s\u00fcndmuse olemi 3 nimi",
|
|
59
|
+
"webhook4": "Funktsiooniga vastendatava s\u00fcndmuse olemi 4 nimi",
|
|
60
|
+
"webhook5": "Funktsiooniga vastendatava s\u00fcndmuse olemi 5 nimi"
|
|
61
|
+
},
|
|
62
|
+
"description": "Pane oma s\u00fcndmuste \u00fcksustele nimed. Need s\u00fcndmuste \u00fcksused kaardistatakse funktsioonidena {ekeybionyx} rakenduses. Saad konfigureerida kuni {webhooks_available} s\u00fcndmuse \u00fcksust. Nime t\u00fchjaks j\u00e4tmine j\u00e4tab selle s\u00fcndmuse \u00fcksuse seadistamise vahele."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "T\u00e1 an cuntas cumraithe cheana f\u00e9in",
|
|
5
|
+
"already_in_progress": "T\u00e1 sreabhadh cumra\u00edochta ar si\u00fal cheana f\u00e9in",
|
|
6
|
+
"authorize_url_timeout": "Am cr\u00edochnaithe ag gini\u00faint URL \u00fadaraithe.",
|
|
7
|
+
"cannot_connect": "Theip ar an nasc le {ekeybionyx}. Seice\u00e1il do nasc Idirl\u00edn agus d\u00e9an iarracht ar\u00eds.",
|
|
8
|
+
"missing_configuration": "N\u00edl an chomhph\u00e1irt cumraithe. Lean an doicim\u00e9ad\u00fa le do thoil.",
|
|
9
|
+
"no_available_webhooks": "N\u00edl aon cr\u00faca\u00ed gr\u00e9as\u00e1in ar f\u00e1il sa ch\u00f3ras {ekeybionyx}. Scrios cuid acu agus d\u00e9an iarracht ar\u00eds.",
|
|
10
|
+
"no_own_systems": "N\u00edl rochtain riarth\u00f3ra ag do chuntas ar aon ch\u00f3rais.",
|
|
11
|
+
"no_url_available": "N\u00edl aon URL ar f\u00e1il. Chun eolas a fh\u00e1il faoin earr\u00e1id seo, [f\u00e9ach ar an rann\u00f3g chabhrach]({docs_url})",
|
|
12
|
+
"oauth_error": "Fuarthas sonra\u00ed comhartha neamhbhail\u00ed.",
|
|
13
|
+
"oauth_failed": "Earr\u00e1id agus comhartha rochtana \u00e1 fh\u00e1il.",
|
|
14
|
+
"oauth_timeout": "Am cr\u00edochnaithe ag r\u00e9iteach comhartha OAuth.",
|
|
15
|
+
"oauth_unauthorized": "Earr\u00e1id \u00fadaraithe OAuth agus comhartha rochtana \u00e1 fh\u00e1il.",
|
|
16
|
+
"user_rejected_authorize": "Di\u00falta\u00edodh nascadh cuntais: {error}"
|
|
17
|
+
},
|
|
18
|
+
"create_entry": {
|
|
19
|
+
"default": "F\u00edordheimhnithe go rath\u00fail"
|
|
20
|
+
},
|
|
21
|
+
"error": {
|
|
22
|
+
"invalid_name": "T\u00e1 an t-ainm neamhbhail\u00ed",
|
|
23
|
+
"invalid_url": "T\u00e1 an URL neamhbhail\u00ed",
|
|
24
|
+
"no_webhooks_provided": "N\u00edor sol\u00e1thra\u00edodh aon ainmneacha imeachta\u00ed"
|
|
25
|
+
},
|
|
26
|
+
"progress": {
|
|
27
|
+
"check_deletion_status": "Oscail an aip {ekeybionyx} agus deimhnigh scriosadh na bhfeidhmeanna le do thoil."
|
|
28
|
+
},
|
|
29
|
+
"step": {
|
|
30
|
+
"choose_system": {
|
|
31
|
+
"data": {
|
|
32
|
+
"system": "C\u00f3ras"
|
|
33
|
+
},
|
|
34
|
+
"data_description": {
|
|
35
|
+
"system": "C\u00f3ras ar cheart na heintitis imeachta a shocr\u00fa d\u00f3."
|
|
36
|
+
},
|
|
37
|
+
"description": "Roghnaigh an c\u00f3ras {ekeybionyx} ar mhaith leat ceangal le C\u00fant\u00f3ir Baile."
|
|
38
|
+
},
|
|
39
|
+
"delete_webhooks": {
|
|
40
|
+
"description": "T\u00e1 an c\u00f3ras seo ceangailte le Home Assistant cheana f\u00e9in. M\u00e1 leanann t\u00fa ar aghaidh, scriosfar na feidhmeanna a cumra\u00edodh roimhe seo."
|
|
41
|
+
},
|
|
42
|
+
"pick_implementation": {
|
|
43
|
+
"title": "Roghnaigh modh f\u00edordheimhnithe"
|
|
44
|
+
},
|
|
45
|
+
"webhooks": {
|
|
46
|
+
"data": {
|
|
47
|
+
"url": "URL Home Assistant",
|
|
48
|
+
"webhook1": "Eintiteas imeachta 1",
|
|
49
|
+
"webhook2": "Eintiteas imeachta 2",
|
|
50
|
+
"webhook3": "Eintiteas imeachta 3",
|
|
51
|
+
"webhook4": "Eintiteas imeachta 4",
|
|
52
|
+
"webhook5": "Eintiteas imeachta 5"
|
|
53
|
+
},
|
|
54
|
+
"data_description": {
|
|
55
|
+
"url": "URL sampla Home Assistant ar f\u00e9idir teacht air \u00f3n rialt\u00f3ir m\u00e9arloirg",
|
|
56
|
+
"webhook1": "Ainm eintiteas imeachta 1 a mhap\u00e1lfar i bhfeidhm",
|
|
57
|
+
"webhook2": "Ainm eintiteas imeachta 2 a mhap\u00e1lfar i bhfeidhm",
|
|
58
|
+
"webhook3": "Ainm eintiteas imeachta 3 a mhap\u00e1lfar i bhfeidhm",
|
|
59
|
+
"webhook4": "Ainm eintiteas imeachta 4 a mhap\u00e1lfar i bhfeidhm",
|
|
60
|
+
"webhook5": "Ainm eintiteas imeachta 5 a mhap\u00e1lfar i bhfeidhm"
|
|
61
|
+
},
|
|
62
|
+
"description": "Ainmnigh d\u2019eintitis imeachta le do thoil. D\u00e9anfar na heintitis imeachta seo a mhap\u00e1il mar fheidhmeanna san aip {ekeybionyx}. Is f\u00e9idir leat suas le {webhooks_available} eintiteas imeachta a chumr\u00fa. M\u00e1 fh\u00e1gtar ainm folamh, scipe\u00e1lfar socr\u00fa an eintitis imeachta sin."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Conta j\u00e1 configurada",
|
|
5
|
+
"already_in_progress": "O processo de configura\u00e7\u00e3o j\u00e1 est\u00e1 a decorrer",
|
|
6
|
+
"authorize_url_timeout": "Excedido o tempo limite para gerar um URL de autoriza\u00e7\u00e3o",
|
|
7
|
+
"cannot_connect": "A liga\u00e7\u00e3o a {ekeybionyx} falhou. Verifique a sua liga\u00e7\u00e3o \u00e0 Internet e tente novamente.",
|
|
8
|
+
"missing_configuration": "O componente n\u00e3o est\u00e1 configurado. Por favor, siga a documenta\u00e7\u00e3o.",
|
|
9
|
+
"no_available_webhooks": "N\u00e3o existem webhooks dispon\u00edveis no sistema {ekeybionyx}. Elimine alguns e tente novamente.",
|
|
10
|
+
"no_own_systems": "A sua conta n\u00e3o tem acesso de administrador a nenhum sistema.",
|
|
11
|
+
"no_url_available": "Nenhum URL est\u00e1 dispon\u00edvel. Para obter informa\u00e7\u00f5es sobre esse erro, [consulte a sec\u00e7\u00e3o de ajuda]({docs_url})",
|
|
12
|
+
"oauth_error": "Recebido token de autentica\u00e7\u00e3o inv\u00e1lido.",
|
|
13
|
+
"oauth_failed": "Erro ao obter o token de acesso.",
|
|
14
|
+
"oauth_timeout": "Excedido o tempo limite para o OAuth token.",
|
|
15
|
+
"oauth_unauthorized": "Erro de autoriza\u00e7\u00e3o OAuth ao obter o token de acesso.",
|
|
16
|
+
"user_rejected_authorize": "Vincula\u00e7\u00e3o de conta rejeitada: {error}"
|
|
17
|
+
},
|
|
18
|
+
"create_entry": {
|
|
19
|
+
"default": "Autenticado com sucesso"
|
|
20
|
+
},
|
|
21
|
+
"error": {
|
|
22
|
+
"invalid_name": "O nome \u00e9 inv\u00e1lido",
|
|
23
|
+
"invalid_url": "O URL \u00e9 inv\u00e1lido",
|
|
24
|
+
"no_webhooks_provided": "N\u00e3o foram fornecidos nomes de eventos"
|
|
25
|
+
},
|
|
26
|
+
"progress": {
|
|
27
|
+
"check_deletion_status": "Abra a aplica\u00e7\u00e3o {ekeybionyx} e confirme a elimina\u00e7\u00e3o das fun\u00e7\u00f5es."
|
|
28
|
+
},
|
|
29
|
+
"step": {
|
|
30
|
+
"choose_system": {
|
|
31
|
+
"data": {
|
|
32
|
+
"system": "Sistema"
|
|
33
|
+
},
|
|
34
|
+
"data_description": {
|
|
35
|
+
"system": "Sistema para o qual as entidades de evento devem ser preparadas."
|
|
36
|
+
},
|
|
37
|
+
"description": "Selecione o sistema {ekeybionyx} que pretende ligar ao Home Assistant"
|
|
38
|
+
},
|
|
39
|
+
"delete_webhooks": {
|
|
40
|
+
"description": "Este sistema j\u00e1 foi ligado ao Home Assistant. Se continuar, as fun\u00e7\u00f5es anteriormente configuradas ser\u00e3o eliminadas."
|
|
41
|
+
},
|
|
42
|
+
"pick_implementation": {
|
|
43
|
+
"title": "Escolha o m\u00e9todo de autentica\u00e7\u00e3o"
|
|
44
|
+
},
|
|
45
|
+
"webhooks": {
|
|
46
|
+
"data": {
|
|
47
|
+
"url": "URL do Home Assistant",
|
|
48
|
+
"webhook1": "Entidade de evento 1",
|
|
49
|
+
"webhook2": "Entidade de evento 2",
|
|
50
|
+
"webhook3": "Entidade de evento 3",
|
|
51
|
+
"webhook4": "Entidade de evento 4",
|
|
52
|
+
"webhook5": "Entidade de evento 5"
|
|
53
|
+
},
|
|
54
|
+
"data_description": {
|
|
55
|
+
"url": "URL da inst\u00e2ncia do Home Assistant que pode ser acedido a partir do controlador de impress\u00f5es digitais",
|
|
56
|
+
"webhook1": "Nome da entidade do evento 1 que ser\u00e1 mapeada para uma fun\u00e7\u00e3o",
|
|
57
|
+
"webhook2": "Nome da entidade do evento 2 que ser\u00e1 mapeada para uma fun\u00e7\u00e3o",
|
|
58
|
+
"webhook3": "Nome da entidade do evento 3 que ser\u00e1 mapeada para uma fun\u00e7\u00e3o",
|
|
59
|
+
"webhook4": "Nome da entidade do evento 4 que ser\u00e1 mapeada para uma fun\u00e7\u00e3o",
|
|
60
|
+
"webhook5": "Nome da entidade de evento 5 que ser\u00e1 mapeada em uma fun\u00e7\u00e3o"
|
|
61
|
+
},
|
|
62
|
+
"description": "D\u00ea um nome \u00e0s suas entidades de evento. Estas entidades de evento ser\u00e3o mapeadas como fun\u00e7\u00f5es na aplica\u00e7\u00e3o {ekeybionyx}. Pode configurar at\u00e9 {webhooks_available} entidades de evento. Se deixar um nome vazio, a configura\u00e7\u00e3o dessa entidade de evento ser\u00e1 ignorada."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
|
-
"metering_point_id_already_configured": "Der Z\
|
|
5
|
-
"no_metering_points": "Das bereitgestellte API-Token hat keine Z\
|
|
4
|
+
"metering_point_id_already_configured": "Der Z\u00e4hlpunkt mit der ID `{metering_point_id}` ist bereits konfiguriert.",
|
|
5
|
+
"no_metering_points": "Das bereitgestellte API-Token hat keine Z\u00e4hlpunkte."
|
|
6
6
|
},
|
|
7
7
|
"error": {
|
|
8
8
|
"invalid_auth": "Ung\u00fcltige Authentifizierung",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"step": {
|
|
12
12
|
"select_meter": {
|
|
13
13
|
"data": {
|
|
14
|
-
"metering_point_id": "W\u00e4hle deine Z\
|
|
14
|
+
"metering_point_id": "W\u00e4hle deine Z\u00e4hlpunkt-ID aus"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"user": {
|
|
@@ -1073,7 +1073,7 @@ def _async_register_service(
|
|
|
1073
1073
|
service_name,
|
|
1074
1074
|
{
|
|
1075
1075
|
"description": (
|
|
1076
|
-
f"
|
|
1076
|
+
f"Performs the action {service.name} of the node {device_info.name}"
|
|
1077
1077
|
),
|
|
1078
1078
|
"fields": fields,
|
|
1079
1079
|
},
|
|
@@ -26,11 +26,14 @@ class EzvizEntity(CoordinatorEntity[EzvizDataUpdateCoordinator], Entity):
|
|
|
26
26
|
super().__init__(coordinator)
|
|
27
27
|
self._serial = serial
|
|
28
28
|
self._camera_name = self.data["name"]
|
|
29
|
+
|
|
30
|
+
connections = set()
|
|
31
|
+
if mac_address := self.data["mac_address"]:
|
|
32
|
+
connections.add((CONNECTION_NETWORK_MAC, mac_address))
|
|
33
|
+
|
|
29
34
|
self._attr_device_info = DeviceInfo(
|
|
30
35
|
identifiers={(DOMAIN, serial)},
|
|
31
|
-
connections=
|
|
32
|
-
(CONNECTION_NETWORK_MAC, self.data["mac_address"]),
|
|
33
|
-
},
|
|
36
|
+
connections=connections,
|
|
34
37
|
manufacturer=MANUFACTURER,
|
|
35
38
|
model=self.data["device_sub_category"],
|
|
36
39
|
name=self.data["name"],
|
|
@@ -62,11 +65,14 @@ class EzvizBaseEntity(Entity):
|
|
|
62
65
|
self._serial = serial
|
|
63
66
|
self.coordinator = coordinator
|
|
64
67
|
self._camera_name = self.data["name"]
|
|
68
|
+
|
|
69
|
+
connections = set()
|
|
70
|
+
if mac_address := self.data["mac_address"]:
|
|
71
|
+
connections.add((CONNECTION_NETWORK_MAC, mac_address))
|
|
72
|
+
|
|
65
73
|
self._attr_device_info = DeviceInfo(
|
|
66
74
|
identifiers={(DOMAIN, serial)},
|
|
67
|
-
connections=
|
|
68
|
-
(CONNECTION_NETWORK_MAC, self.data["mac_address"]),
|
|
69
|
-
},
|
|
75
|
+
connections=connections,
|
|
70
76
|
manufacturer=MANUFACTURER,
|
|
71
77
|
model=self.data["device_sub_category"],
|
|
72
78
|
name=self.data["name"],
|
|
@@ -46,6 +46,21 @@
|
|
|
46
46
|
"dir_not_allowed": {
|
|
47
47
|
"message": "Acceso a {filename} no permitido."
|
|
48
48
|
},
|
|
49
|
+
"file_decoding": {
|
|
50
|
+
"message": "No se puede leer el archivo {filename} como {encoding}."
|
|
51
|
+
},
|
|
52
|
+
"file_not_found": {
|
|
53
|
+
"message": "Archivo {filename} no encontrado."
|
|
54
|
+
},
|
|
55
|
+
"file_read_error": {
|
|
56
|
+
"message": "Error al leer {filename}."
|
|
57
|
+
},
|
|
58
|
+
"no_access_to_path": {
|
|
59
|
+
"message": "No se puede leer {filename}, no hay acceso a la ruta; es posible que sea necesario ajustar `allowlist_external_dirs` en `configuration.yaml`"
|
|
60
|
+
},
|
|
61
|
+
"unsupported_file_encoding": {
|
|
62
|
+
"message": "No se puede leer {filename}, codificaci\u00f3n de archivo no compatible {encoding}."
|
|
63
|
+
},
|
|
49
64
|
"write_access_failed": {
|
|
50
65
|
"message": "Error de acceso de escritura a {filename} : {exc}."
|
|
51
66
|
}
|
|
@@ -65,5 +80,21 @@
|
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"services": {
|
|
85
|
+
"read_file": {
|
|
86
|
+
"description": "Lee un archivo y devuelve el contenido.",
|
|
87
|
+
"fields": {
|
|
88
|
+
"file_encoding": {
|
|
89
|
+
"description": "Codificaci\u00f3n del archivo (JSON, YAML.)",
|
|
90
|
+
"name": "Codificaci\u00f3n del archivo"
|
|
91
|
+
},
|
|
92
|
+
"file_name": {
|
|
93
|
+
"description": "Nombre del archivo a leer.",
|
|
94
|
+
"name": "Nombre de archivo"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"name": "Leer archivo"
|
|
98
|
+
}
|
|
68
99
|
}
|
|
69
100
|
}
|
|
@@ -46,6 +46,21 @@
|
|
|
46
46
|
"dir_not_allowed": {
|
|
47
47
|
"message": "Juurdep\u00e4\u00e4s failile {filename} pole lubatud."
|
|
48
48
|
},
|
|
49
|
+
"file_decoding": {
|
|
50
|
+
"message": "Ei saa lugeda faili {filename} kui {encoding}."
|
|
51
|
+
},
|
|
52
|
+
"file_not_found": {
|
|
53
|
+
"message": "Faili {filename} ei leitud."
|
|
54
|
+
},
|
|
55
|
+
"file_read_error": {
|
|
56
|
+
"message": "Viga faili {filename} lugemisel."
|
|
57
|
+
},
|
|
58
|
+
"no_access_to_path": {
|
|
59
|
+
"message": "Ei saa lugeda {filename} , puudub juurdep\u00e4\u00e4s teele; \"allowlist_external_dirs\" v\u00f5ib olla vaja kohandada failis \"configuration.yaml\""
|
|
60
|
+
},
|
|
61
|
+
"unsupported_file_encoding": {
|
|
62
|
+
"message": "Faili {filename} ei saa lugeda, faili kodeering {encoding} on toetamata."
|
|
63
|
+
},
|
|
49
64
|
"write_access_failed": {
|
|
50
65
|
"message": "Kirjutus\u00f5igus failinimele {filename} nurjus: {exc}."
|
|
51
66
|
}
|
|
@@ -65,5 +80,21 @@
|
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"services": {
|
|
85
|
+
"read_file": {
|
|
86
|
+
"description": "Loeb faili ja tagastab selle sisu.",
|
|
87
|
+
"fields": {
|
|
88
|
+
"file_encoding": {
|
|
89
|
+
"description": "Faili kodeering (JSON, YAML)",
|
|
90
|
+
"name": "Faili kodeering"
|
|
91
|
+
},
|
|
92
|
+
"file_name": {
|
|
93
|
+
"description": "Loetava faili nimi.",
|
|
94
|
+
"name": "Faili nimi"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"name": "Loe faili"
|
|
98
|
+
}
|
|
68
99
|
}
|
|
69
100
|
}
|
|
@@ -46,6 +46,21 @@
|
|
|
46
46
|
"dir_not_allowed": {
|
|
47
47
|
"message": "N\u00ed cheada\u00edtear rochtain ar {filename}."
|
|
48
48
|
},
|
|
49
|
+
"file_decoding": {
|
|
50
|
+
"message": "N\u00ed f\u00e9idir an comhad {filename} a l\u00e9amh mar {encoding}."
|
|
51
|
+
},
|
|
52
|
+
"file_not_found": {
|
|
53
|
+
"message": "N\u00edor aims\u00edodh an comhad {filename}."
|
|
54
|
+
},
|
|
55
|
+
"file_read_error": {
|
|
56
|
+
"message": "Earr\u00e1id ag l\u00e9amh {filename}."
|
|
57
|
+
},
|
|
58
|
+
"no_access_to_path": {
|
|
59
|
+
"message": "N\u00ed f\u00e9idir {filename} a l\u00e9amh, n\u00edl rochtain ar an gcos\u00e1n; b'fh\u00e9idir go mbeadh g\u00e1 le `allowlist_external_dirs` a choigeart\u00fa i `configuration.yaml`"
|
|
60
|
+
},
|
|
61
|
+
"unsupported_file_encoding": {
|
|
62
|
+
"message": "N\u00ed f\u00e9idir {filename} a l\u00e9amh, ionch\u00f3d\u00fa comhaid gan taca\u00edocht {encoding}."
|
|
63
|
+
},
|
|
49
64
|
"write_access_failed": {
|
|
50
65
|
"message": "Theip ar rochtain scr\u00edbhneoireachta chuig {filename}: {exc}."
|
|
51
66
|
}
|
|
@@ -65,5 +80,21 @@
|
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"services": {
|
|
85
|
+
"read_file": {
|
|
86
|
+
"description": "L\u00e9ann s\u00e9 comhad agus tugann s\u00e9 an t-\u00e1bhar ar ais.",
|
|
87
|
+
"fields": {
|
|
88
|
+
"file_encoding": {
|
|
89
|
+
"description": "Ionch\u00f3d\u00fa an chomhaid (JSON, YAML.)",
|
|
90
|
+
"name": "Ionch\u00f3d\u00fa comhaid"
|
|
91
|
+
},
|
|
92
|
+
"file_name": {
|
|
93
|
+
"description": "Ainm an chomhaid le l\u00e9amh.",
|
|
94
|
+
"name": "Ainm comhaid"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"name": "L\u00e9igh an comhad"
|
|
98
|
+
}
|
|
68
99
|
}
|
|
69
100
|
}
|
|
@@ -46,6 +46,21 @@
|
|
|
46
46
|
"dir_not_allowed": {
|
|
47
47
|
"message": "Acesso a {filename} n\u00e3o \u00e9 permitido."
|
|
48
48
|
},
|
|
49
|
+
"file_decoding": {
|
|
50
|
+
"message": "N\u00e3o \u00e9 poss\u00edvel ler o ficheiro {filename} como {encoding}."
|
|
51
|
+
},
|
|
52
|
+
"file_not_found": {
|
|
53
|
+
"message": "Ficheiro {filename} n\u00e3o encontrado."
|
|
54
|
+
},
|
|
55
|
+
"file_read_error": {
|
|
56
|
+
"message": "Erro ao ler {filename}."
|
|
57
|
+
},
|
|
58
|
+
"no_access_to_path": {
|
|
59
|
+
"message": "N\u00e3o \u00e9 poss\u00edvel ler {filename}, n\u00e3o h\u00e1 acesso ao caminho; `allowlist_external_dirs` pode ter de ser ajustado em `configuration.yaml`"
|
|
60
|
+
},
|
|
61
|
+
"unsupported_file_encoding": {
|
|
62
|
+
"message": "N\u00e3o \u00e9 poss\u00edvel ler {filename}, codifica\u00e7\u00e3o de ficheiro n\u00e3o suportada {encoding}."
|
|
63
|
+
},
|
|
49
64
|
"write_access_failed": {
|
|
50
65
|
"message": "Falha no acesso de escrita a {filename}: {exc}."
|
|
51
66
|
}
|
|
@@ -65,5 +80,21 @@
|
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"services": {
|
|
85
|
+
"read_file": {
|
|
86
|
+
"description": "L\u00ea um ficheiro e devolve o seu conte\u00fado.",
|
|
87
|
+
"fields": {
|
|
88
|
+
"file_encoding": {
|
|
89
|
+
"description": "Codifica\u00e7\u00e3o do ficheiro (JSON, YAML.)",
|
|
90
|
+
"name": "Codifica\u00e7\u00e3o do ficheiro"
|
|
91
|
+
},
|
|
92
|
+
"file_name": {
|
|
93
|
+
"description": "Nome do ficheiro a ler.",
|
|
94
|
+
"name": "Nome do ficheiro"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"name": "Ler ficheiro"
|
|
98
|
+
}
|
|
68
99
|
}
|
|
69
100
|
}
|
|
@@ -46,6 +46,21 @@
|
|
|
46
46
|
"dir_not_allowed": {
|
|
47
47
|
"message": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a {filename} \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d."
|
|
48
48
|
},
|
|
49
|
+
"file_decoding": {
|
|
50
|
+
"message": "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u0430\u0439\u043b {filename} \u043a\u0430\u043a {encoding}."
|
|
51
|
+
},
|
|
52
|
+
"file_not_found": {
|
|
53
|
+
"message": "\u0424\u0430\u0439\u043b {filename} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d."
|
|
54
|
+
},
|
|
55
|
+
"file_read_error": {
|
|
56
|
+
"message": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f {filename}."
|
|
57
|
+
},
|
|
58
|
+
"no_access_to_path": {
|
|
59
|
+
"message": "\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c {filename}, \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0443\u0442\u0438; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c `allowlist_external_dirs` \u0432 `configuration.yaml`"
|
|
60
|
+
},
|
|
61
|
+
"unsupported_file_encoding": {
|
|
62
|
+
"message": "\u041d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c {filename}, \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u0430 {encoding}."
|
|
63
|
+
},
|
|
49
64
|
"write_access_failed": {
|
|
50
65
|
"message": "\u0417\u0430\u043f\u0438\u0441\u044c \u0432 {filename} \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c: {exc}."
|
|
51
66
|
}
|
|
@@ -65,5 +80,21 @@
|
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"services": {
|
|
85
|
+
"read_file": {
|
|
86
|
+
"description": "\u0427\u0438\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435.",
|
|
87
|
+
"fields": {
|
|
88
|
+
"file_encoding": {
|
|
89
|
+
"description": "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u0430 (JSON, YAML.)",
|
|
90
|
+
"name": "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u0430"
|
|
91
|
+
},
|
|
92
|
+
"file_name": {
|
|
93
|
+
"description": "\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f.",
|
|
94
|
+
"name": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"name": "\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u0430\u0439\u043b"
|
|
98
|
+
}
|
|
68
99
|
}
|
|
69
100
|
}
|
|
@@ -77,10 +77,10 @@ class GeniusDevice(GeniusEntity):
|
|
|
77
77
|
|
|
78
78
|
async def async_update(self) -> None:
|
|
79
79
|
"""Update an entity's state data."""
|
|
80
|
-
if
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
)
|
|
80
|
+
if (state := self._device.data.get("_state")) and (
|
|
81
|
+
last_comms := state.get("lastComms")
|
|
82
|
+
) is not None: # only via v3 API
|
|
83
|
+
self._last_comms = dt_util.utc_from_timestamp(last_comms)
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
class GeniusZone(GeniusEntity):
|