homeassistant 2025.7.0b1__py3-none-any.whl → 2025.7.0b3__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.
- homeassistant/components/ai_task/translations/hu.json +22 -0
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/translations/cs.json +12 -1
- homeassistant/components/alexa_devices/translations/de.json +8 -0
- homeassistant/components/alexa_devices/translations/el.json +8 -0
- homeassistant/components/alexa_devices/translations/es.json +12 -1
- homeassistant/components/alexa_devices/translations/et.json +8 -0
- homeassistant/components/alexa_devices/translations/hu.json +4 -1
- homeassistant/components/alexa_devices/translations/pt.json +12 -1
- homeassistant/components/alexa_devices/translations/sk.json +8 -0
- homeassistant/components/alexa_devices/translations/zh-Hans.json +12 -1
- homeassistant/components/alexa_devices/translations/zh-Hant.json +8 -0
- homeassistant/components/altruist/translations/hu.json +19 -0
- homeassistant/components/anthropic/__init__.py +6 -0
- homeassistant/components/anthropic/translations/hu.json +19 -0
- homeassistant/components/assist_satellite/translations/hu.json +38 -0
- homeassistant/components/backup/translations/de.json +1 -1
- homeassistant/components/comelit/translations/de.json +1 -1
- homeassistant/components/counter/translations/sv.json +2 -2
- homeassistant/components/devolo_home_control/translations/hu.json +21 -0
- homeassistant/components/dsmr/sensor.py +8 -0
- homeassistant/components/electric_kiwi/translations/hu.json +6 -0
- homeassistant/components/enphase_envoy/translations/hu.json +18 -0
- homeassistant/components/enphase_envoy/translations/sv.json +3 -0
- homeassistant/components/fitbit/translations/hu.json +6 -0
- homeassistant/components/fronius/translations/sv.json +2 -2
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/geocaching/translations/hu.json +6 -0
- homeassistant/components/google/translations/hu.json +6 -0
- homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
- homeassistant/components/google_drive/translations/hu.json +6 -0
- homeassistant/components/google_generative_ai_conversation/__init__.py +6 -0
- homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/hu.json +68 -0
- homeassistant/components/google_generative_ai_conversation/translations/pt.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/sv.json +2 -0
- homeassistant/components/google_mail/translations/hu.json +6 -0
- homeassistant/components/google_photos/translations/hu.json +6 -0
- homeassistant/components/google_sheets/translations/hu.json +6 -0
- homeassistant/components/google_tasks/translations/hu.json +6 -0
- homeassistant/components/home_connect/translations/hu.json +6 -0
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +89 -7
- homeassistant/components/homeassistant_hardware/strings.json +2 -1
- homeassistant/components/homeassistant_hardware/translations/de.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
- homeassistant/components/homeassistant_sky_connect/config_flow.py +1 -1
- homeassistant/components/homeassistant_sky_connect/strings.json +4 -2
- homeassistant/components/homeassistant_sky_connect/translations/de.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/et.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
- homeassistant/components/homeassistant_yellow/strings.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/bg.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/cs.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/de.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/el.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/en.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/es.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/et.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/fr.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/hu.json +1 -1
- homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/it.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/ja.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/lt.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/pt.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/ru.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/sk.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/sv.json +1 -1
- homeassistant/components/homeassistant_yellow/translations/tr.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
- homeassistant/components/homee/translations/hu.json +25 -0
- homeassistant/components/homewizard/translations/sv.json +1 -1
- homeassistant/components/honeywell/manifest.json +1 -1
- homeassistant/components/husqvarna_automower/button.py +3 -1
- homeassistant/components/husqvarna_automower/translations/hu.json +6 -0
- homeassistant/components/input_number/translations/sv.json +2 -2
- homeassistant/components/input_text/translations/sv.json +1 -1
- homeassistant/components/iotty/translations/hu.json +6 -0
- homeassistant/components/iron_os/manifest.json +1 -1
- homeassistant/components/jellyfin/client_wrapper.py +1 -2
- homeassistant/components/jellyfin/coordinator.py +3 -0
- homeassistant/components/jellyfin/manifest.json +1 -2
- homeassistant/components/keenetic_ndms2/translations/hu.json +3 -0
- homeassistant/components/lamarzocco/entity.py +19 -1
- homeassistant/components/lamarzocco/number.py +0 -4
- homeassistant/components/lamarzocco/sensor.py +2 -4
- homeassistant/components/lametric/translations/hu.json +6 -0
- homeassistant/components/litterrobot/translations/hu.json +3 -0
- homeassistant/components/lyric/translations/hu.json +6 -0
- homeassistant/components/matter/translations/hu.json +10 -0
- homeassistant/components/mcp/translations/hu.json +6 -0
- homeassistant/components/microbees/translations/hu.json +6 -0
- homeassistant/components/miele/translations/hu.json +28 -1
- homeassistant/components/minecraft_server/translations/sv.json +1 -1
- homeassistant/components/monzo/translations/hu.json +6 -0
- homeassistant/components/motioneye/translations/sv.json +1 -1
- homeassistant/components/mqtt/translations/cs.json +19 -0
- homeassistant/components/mqtt/translations/nl.json +25 -0
- homeassistant/components/mqtt/translations/pt.json +2 -0
- homeassistant/components/myuplink/translations/hu.json +6 -0
- homeassistant/components/neato/translations/hu.json +6 -0
- homeassistant/components/nest/translations/hu.json +6 -0
- homeassistant/components/netatmo/translations/hu.json +6 -0
- homeassistant/components/ntfy/translations/hu.json +62 -1
- homeassistant/components/ntfy/translations/sv.json +1 -0
- homeassistant/components/number/translations/sv.json +2 -2
- homeassistant/components/nut/config_flow.py +4 -2
- homeassistant/components/ollama/__init__.py +6 -0
- homeassistant/components/ollama/translations/hu.json +33 -0
- homeassistant/components/ollama/translations/sv.json +1 -0
- homeassistant/components/ondilo_ico/translations/hu.json +6 -0
- homeassistant/components/onedrive/translations/hu.json +6 -0
- homeassistant/components/onewire/translations/sv.json +1 -1
- homeassistant/components/openai_conversation/__init__.py +6 -0
- homeassistant/components/openai_conversation/translations/hu.json +56 -0
- homeassistant/components/openai_conversation/translations/sv.json +4 -0
- homeassistant/components/paperless_ngx/translations/hu.json +4 -2
- homeassistant/components/pegel_online/translations/bg.json +1 -2
- homeassistant/components/pegel_online/translations/ca.json +1 -2
- homeassistant/components/pegel_online/translations/cs.json +1 -2
- homeassistant/components/pegel_online/translations/de.json +1 -1
- homeassistant/components/pegel_online/translations/el.json +1 -2
- homeassistant/components/pegel_online/translations/en-GB.json +1 -2
- homeassistant/components/pegel_online/translations/en.json +1 -1
- homeassistant/components/pegel_online/translations/es.json +1 -2
- homeassistant/components/pegel_online/translations/et.json +1 -2
- homeassistant/components/pegel_online/translations/fi.json +1 -2
- homeassistant/components/pegel_online/translations/fr.json +1 -2
- homeassistant/components/pegel_online/translations/hu.json +1 -2
- homeassistant/components/pegel_online/translations/id.json +1 -2
- homeassistant/components/pegel_online/translations/it.json +1 -2
- homeassistant/components/pegel_online/translations/ja.json +1 -2
- homeassistant/components/pegel_online/translations/ko.json +1 -2
- homeassistant/components/pegel_online/translations/lt.json +1 -2
- homeassistant/components/pegel_online/translations/lv.json +1 -2
- homeassistant/components/pegel_online/translations/nl.json +1 -2
- homeassistant/components/pegel_online/translations/pt.json +1 -2
- homeassistant/components/pegel_online/translations/ru.json +1 -2
- homeassistant/components/pegel_online/translations/sk.json +1 -2
- homeassistant/components/pegel_online/translations/sv.json +1 -2
- homeassistant/components/pegel_online/translations/tr.json +1 -2
- homeassistant/components/pegel_online/translations/zh-Hans.json +1 -2
- homeassistant/components/pegel_online/translations/zh-Hant.json +1 -2
- homeassistant/components/playstation_network/diagnostics.py +55 -0
- homeassistant/components/playstation_network/quality_scale.yaml +1 -1
- homeassistant/components/playstation_network/translations/hu.json +30 -0
- homeassistant/components/playstation_network/translations/pl.json +73 -0
- homeassistant/components/plugwise/translations/sv.json +2 -2
- homeassistant/components/point/translations/hu.json +6 -0
- homeassistant/components/random/translations/sv.json +4 -4
- homeassistant/components/senz/translations/hu.json +6 -0
- homeassistant/components/shelly/entity.py +6 -2
- homeassistant/components/smappee/translations/hu.json +6 -0
- homeassistant/components/smartthings/translations/hu.json +6 -0
- homeassistant/components/sonos/translations/cs.json +6 -0
- homeassistant/components/spotify/translations/hu.json +6 -0
- homeassistant/components/subaru/strings.json +2 -2
- homeassistant/components/subaru/translations/ca.json +0 -1
- homeassistant/components/subaru/translations/cs.json +0 -2
- homeassistant/components/subaru/translations/de.json +2 -2
- homeassistant/components/subaru/translations/el.json +0 -2
- homeassistant/components/subaru/translations/en-GB.json +2 -2
- homeassistant/components/subaru/translations/en.json +2 -2
- homeassistant/components/subaru/translations/es.json +2 -2
- homeassistant/components/subaru/translations/et.json +2 -2
- homeassistant/components/subaru/translations/fi.json +0 -1
- homeassistant/components/subaru/translations/hu.json +0 -2
- homeassistant/components/subaru/translations/it.json +0 -1
- homeassistant/components/subaru/translations/ja.json +0 -1
- homeassistant/components/subaru/translations/ko.json +0 -1
- homeassistant/components/subaru/translations/lt.json +0 -2
- homeassistant/components/subaru/translations/pt-BR.json +0 -1
- homeassistant/components/subaru/translations/pt.json +2 -2
- homeassistant/components/subaru/translations/ru.json +0 -2
- homeassistant/components/subaru/translations/sk.json +0 -2
- homeassistant/components/subaru/translations/sv.json +0 -2
- homeassistant/components/subaru/translations/tr.json +0 -2
- homeassistant/components/subaru/translations/zh-Hans.json +0 -2
- homeassistant/components/subaru/translations/zh-Hant.json +2 -2
- homeassistant/components/switchbot/translations/hu.json +19 -0
- homeassistant/components/switchbot/translations/sv.json +2 -0
- homeassistant/components/telegram_bot/config_flow.py +17 -10
- homeassistant/components/telegram_bot/manifest.json +1 -1
- homeassistant/components/telegram_bot/translations/cs.json +30 -0
- homeassistant/components/telegram_bot/translations/de.json +23 -1
- homeassistant/components/telegram_bot/translations/el.json +30 -0
- homeassistant/components/telegram_bot/translations/en-GB.json +3 -1
- homeassistant/components/telegram_bot/translations/es.json +30 -0
- homeassistant/components/telegram_bot/translations/et.json +24 -0
- homeassistant/components/telegram_bot/translations/hu.json +1 -0
- homeassistant/components/telegram_bot/translations/pt.json +30 -0
- homeassistant/components/telegram_bot/translations/sk.json +30 -0
- homeassistant/components/telegram_bot/translations/sv.json +23 -0
- homeassistant/components/telegram_bot/translations/zh-Hans.json +30 -0
- homeassistant/components/telegram_bot/translations/zh-Hant.json +30 -0
- homeassistant/components/tesla_fleet/translations/hu.json +7 -0
- homeassistant/components/teslemetry/coordinator.py +6 -6
- homeassistant/components/text/translations/sv.json +1 -1
- homeassistant/components/thermopro/strings.json +1 -1
- homeassistant/components/thermopro/translations/cs.json +0 -7
- homeassistant/components/thermopro/translations/de.json +1 -1
- homeassistant/components/thermopro/translations/el.json +0 -7
- homeassistant/components/thermopro/translations/en-GB.json +1 -1
- homeassistant/components/thermopro/translations/en.json +1 -1
- homeassistant/components/thermopro/translations/es.json +0 -7
- homeassistant/components/thermopro/translations/et.json +1 -1
- homeassistant/components/thermopro/translations/hu.json +0 -7
- homeassistant/components/thermopro/translations/ja.json +0 -7
- homeassistant/components/thermopro/translations/lt.json +0 -7
- homeassistant/components/thermopro/translations/nl.json +0 -7
- homeassistant/components/thermopro/translations/pt-BR.json +0 -7
- homeassistant/components/thermopro/translations/pt.json +0 -7
- homeassistant/components/thermopro/translations/ru.json +0 -7
- homeassistant/components/thermopro/translations/sk.json +0 -7
- homeassistant/components/thermopro/translations/sv.json +0 -7
- homeassistant/components/thermopro/translations/tr.json +0 -7
- homeassistant/components/thermopro/translations/zh-Hans.json +0 -7
- homeassistant/components/tilt_pi/translations/hu.json +21 -0
- homeassistant/components/toon/translations/hu.json +6 -0
- homeassistant/components/vegehub/translations/hu.json +11 -0
- homeassistant/components/vegehub/translations/sv.json +2 -1
- homeassistant/components/vicare/translations/sv.json +2 -2
- homeassistant/components/weheat/translations/hu.json +6 -0
- homeassistant/components/withings/translations/hu.json +6 -0
- homeassistant/components/wyoming/translations/sv.json +2 -2
- homeassistant/components/xbox/translations/hu.json +6 -0
- homeassistant/components/xiaomi_miio/translations/hu.json +7 -0
- homeassistant/components/yale/translations/hu.json +6 -0
- homeassistant/components/yolink/translations/hu.json +6 -0
- homeassistant/components/zha/translations/hu.json +6 -0
- homeassistant/components/zha/translations/sv.json +12 -0
- homeassistant/components/zwave_js/config_flow.py +84 -88
- homeassistant/components/zwave_js/strings.json +31 -15
- homeassistant/components/zwave_js/translations/bg.json +0 -3
- homeassistant/components/zwave_js/translations/cs.json +0 -17
- homeassistant/components/zwave_js/translations/de.json +27 -11
- homeassistant/components/zwave_js/translations/el.json +0 -17
- homeassistant/components/zwave_js/translations/en-GB.json +1 -17
- homeassistant/components/zwave_js/translations/en.json +25 -9
- homeassistant/components/zwave_js/translations/es.json +1 -17
- homeassistant/components/zwave_js/translations/et.json +25 -9
- homeassistant/components/zwave_js/translations/fi.json +0 -14
- homeassistant/components/zwave_js/translations/ga.json +0 -19
- homeassistant/components/zwave_js/translations/hu.json +0 -17
- homeassistant/components/zwave_js/translations/lt.json +0 -17
- homeassistant/components/zwave_js/translations/mk.json +0 -10
- homeassistant/components/zwave_js/translations/pt.json +10 -18
- homeassistant/components/zwave_js/translations/ru.json +0 -13
- homeassistant/components/zwave_js/translations/sk.json +0 -17
- homeassistant/components/zwave_js/translations/sv.json +0 -17
- homeassistant/components/zwave_js/translations/tr.json +0 -12
- homeassistant/components/zwave_js/translations/zh-Hans.json +0 -17
- homeassistant/components/zwave_js/translations/zh-Hant.json +1 -17
- homeassistant/const.py +1 -1
- homeassistant/generated/integrations.json +1 -8
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/METADATA +1 -1
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/RECORD +277 -275
- homeassistant/components/dweet/__init__.py +0 -79
- homeassistant/components/dweet/manifest.json +0 -10
- homeassistant/components/dweet/sensor.py +0 -124
- homeassistant/components/thermopro/translations/ga.json +0 -9
- homeassistant/components/thermopro/translations/mk.json +0 -9
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/WHEEL +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/top_level.txt +0 -0
|
@@ -17,12 +17,5 @@
|
|
|
17
17
|
"description": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
},
|
|
21
|
-
"entity": {
|
|
22
|
-
"button": {
|
|
23
|
-
"set_datetime": {
|
|
24
|
-
"name": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
20
|
}
|
|
28
21
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
|
|
8
|
+
"invalid_host": "\u00c9rv\u00e9nytelen g\u00e9pn\u00e9v vagy IP-c\u00edm"
|
|
9
|
+
},
|
|
10
|
+
"step": {
|
|
11
|
+
"confirm": {
|
|
12
|
+
"description": "El szeretn\u00e9 kezdeni a be\u00e1ll\u00edt\u00e1st?"
|
|
13
|
+
},
|
|
14
|
+
"user": {
|
|
15
|
+
"data": {
|
|
16
|
+
"url": "URL"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"title": "V\u00e1lassza ki a szerz\u0151d\u00e9s\u00e9t"
|
|
23
23
|
},
|
|
24
24
|
"pick_implementation": {
|
|
25
|
+
"data": {
|
|
26
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
27
|
+
},
|
|
28
|
+
"data_description": {
|
|
29
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
30
|
+
},
|
|
25
31
|
"title": "V\u00e1lassza ki azt a b\u00e9rl\u0151t, amellyel hiteles\u00edteni szeretne"
|
|
26
32
|
}
|
|
27
33
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"abort": {
|
|
4
4
|
"already_configured": "Enheten \u00e4r redan konfigurerad.",
|
|
5
5
|
"already_in_progress": "Enheten har redan uppt\u00e4ckts. Kontrollera uppt\u00e4ckta enheter.",
|
|
6
|
-
"cannot_connect": "Misslyckades med att ansluta till enheten. F\u00f6rs\u00f6k igen."
|
|
6
|
+
"cannot_connect": "Misslyckades med att ansluta till enheten. F\u00f6rs\u00f6k igen.",
|
|
7
|
+
"unknown_error": "Ett ok\u00e4nt fel har uppst\u00e5tt."
|
|
7
8
|
},
|
|
8
9
|
"error": {
|
|
9
10
|
"invalid_ip": "Ogiltig IPv4-adress."
|
|
@@ -353,10 +353,10 @@
|
|
|
353
353
|
"name": "Varmvatten gasf\u00f6rbrukning senaste sju dagarna"
|
|
354
354
|
},
|
|
355
355
|
"hotwater_max_temperature": {
|
|
356
|
-
"name": "Varmvatten
|
|
356
|
+
"name": "Varmvatten h\u00f6gsta temperatur"
|
|
357
357
|
},
|
|
358
358
|
"hotwater_min_temperature": {
|
|
359
|
-
"name": "Varmvatten
|
|
359
|
+
"name": "Varmvatten l\u00e4gsta temperatur"
|
|
360
360
|
},
|
|
361
361
|
"hotwater_out_temperature": {
|
|
362
362
|
"name": "Varmvatten uttemperatur"
|
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
"title": "V\u00e1lassza ki a h\u0151szivatty\u00faj\u00e1t"
|
|
24
24
|
},
|
|
25
25
|
"pick_implementation": {
|
|
26
|
+
"data": {
|
|
27
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
28
|
+
},
|
|
29
|
+
"data_description": {
|
|
30
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
31
|
+
},
|
|
26
32
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
27
33
|
},
|
|
28
34
|
"reauth_confirm": {
|
|
@@ -26,6 +26,12 @@
|
|
|
26
26
|
"description": "A Home Assistant tal\u00e1lt egy Withings eszk\u00f6zt a h\u00e1l\u00f3zat\u00e1n. Vegye figyelembe, hogy a Withings be\u00e1ll\u00edt\u00e1sa bonyolultabb lehet, mint sok m\u00e1s integr\u00e1ci\u00f3\u00e9. A folytat\u00e1shoz nyomja meg a **Mehet** gombot."
|
|
27
27
|
},
|
|
28
28
|
"pick_implementation": {
|
|
29
|
+
"data": {
|
|
30
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
31
|
+
},
|
|
32
|
+
"data_description": {
|
|
33
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
34
|
+
},
|
|
29
35
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
30
36
|
},
|
|
31
37
|
"reauth_confirm": {
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"abort": {
|
|
4
4
|
"already_configured": "Tj\u00e4nsten \u00e4r redan konfigurerad",
|
|
5
5
|
"no_port": "Ingen port f\u00f6r slutpunkt",
|
|
6
|
-
"no_services": "Inga tj\u00e4nster hittades vid
|
|
6
|
+
"no_services": "Inga tj\u00e4nster hittades vid slutpunkten"
|
|
7
7
|
},
|
|
8
8
|
"error": {
|
|
9
9
|
"cannot_connect": "Det gick inte att ansluta"
|
|
10
10
|
},
|
|
11
11
|
"step": {
|
|
12
12
|
"hassio_confirm": {
|
|
13
|
-
"description": "Vill du konfigurera Home Assistant f\u00f6r att ansluta till Wyoming-tj\u00e4nsten som tillhandah\u00e5lls av till\u00e4gget: {addon}
|
|
13
|
+
"description": "Vill du konfigurera Home Assistant f\u00f6r att ansluta till Wyoming-tj\u00e4nsten som tillhandah\u00e5lls av till\u00e4gget: {addon}?"
|
|
14
14
|
},
|
|
15
15
|
"user": {
|
|
16
16
|
"data": {
|
|
@@ -14,6 +14,12 @@
|
|
|
14
14
|
},
|
|
15
15
|
"step": {
|
|
16
16
|
"pick_implementation": {
|
|
17
|
+
"data": {
|
|
18
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
19
|
+
},
|
|
20
|
+
"data_description": {
|
|
21
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
22
|
+
},
|
|
17
23
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
18
24
|
}
|
|
19
25
|
}
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
"step": {
|
|
17
17
|
"cloud": {
|
|
18
18
|
"data": {
|
|
19
|
+
"cloud_password": "Jelsz\u00f3",
|
|
20
|
+
"cloud_username": "Felhaszn\u00e1l\u00f3n\u00e9v",
|
|
19
21
|
"manual": "Konfigur\u00e1l\u00e1s manu\u00e1lisan (nem aj\u00e1nlott)"
|
|
20
22
|
}
|
|
21
23
|
},
|
|
@@ -33,6 +35,11 @@
|
|
|
33
35
|
},
|
|
34
36
|
"reauth_confirm": {
|
|
35
37
|
"title": "A(z) {name} hiteles\u00edt\u00e9se lej\u00e1rt"
|
|
38
|
+
},
|
|
39
|
+
"select": {
|
|
40
|
+
"data": {
|
|
41
|
+
"select_device": "Eszk\u00f6z"
|
|
42
|
+
}
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
},
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
},
|
|
20
20
|
"step": {
|
|
21
21
|
"pick_implementation": {
|
|
22
|
+
"data": {
|
|
23
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
24
|
+
},
|
|
25
|
+
"data_description": {
|
|
26
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
27
|
+
},
|
|
22
28
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
23
29
|
}
|
|
24
30
|
}
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
},
|
|
19
19
|
"step": {
|
|
20
20
|
"pick_implementation": {
|
|
21
|
+
"data": {
|
|
22
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
23
|
+
},
|
|
24
|
+
"data_description": {
|
|
25
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
26
|
+
},
|
|
21
27
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
22
28
|
},
|
|
23
29
|
"reauth_confirm": {
|
|
@@ -1135,6 +1135,12 @@
|
|
|
1135
1135
|
"irrigation_start_time": {
|
|
1136
1136
|
"name": "\u00d6nt\u00f6z\u00e9s kezd\u00e9si ideje"
|
|
1137
1137
|
},
|
|
1138
|
+
"last_action": {
|
|
1139
|
+
"state": {
|
|
1140
|
+
"lock": "Z\u00e1rolt",
|
|
1141
|
+
"unlock": "Feloldva"
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1138
1144
|
"last_feeding_size": {
|
|
1139
1145
|
"name": "Utols\u00f3 etet\u00e9si m\u00e9ret"
|
|
1140
1146
|
},
|
|
@@ -1139,11 +1139,20 @@
|
|
|
1139
1139
|
"name": "Starttid f\u00f6r bevattning"
|
|
1140
1140
|
},
|
|
1141
1141
|
"last_action": {
|
|
1142
|
+
"name": "Senaste \u00e5tg\u00e4rd",
|
|
1142
1143
|
"state": {
|
|
1143
1144
|
"lock": "L\u00e5st",
|
|
1144
1145
|
"unlock": "Ol\u00e5st"
|
|
1145
1146
|
}
|
|
1146
1147
|
},
|
|
1148
|
+
"last_action_source": {
|
|
1149
|
+
"state": {
|
|
1150
|
+
"fingerprint": "Fingeravtryck",
|
|
1151
|
+
"keypad": "Knappsats",
|
|
1152
|
+
"rfid": "RFID",
|
|
1153
|
+
"zigbee": "Zigbee"
|
|
1154
|
+
}
|
|
1155
|
+
},
|
|
1147
1156
|
"last_feeding_size": {
|
|
1148
1157
|
"name": "Senaste foderstorlek"
|
|
1149
1158
|
},
|
|
@@ -1153,6 +1162,9 @@
|
|
|
1153
1162
|
"last_illumination_state": {
|
|
1154
1163
|
"name": "Senaste belysningstillst\u00e5nd"
|
|
1155
1164
|
},
|
|
1165
|
+
"last_pin_code": {
|
|
1166
|
+
"name": "Senaste PIN-kod"
|
|
1167
|
+
},
|
|
1156
1168
|
"last_valve_open_duration": {
|
|
1157
1169
|
"name": "Senaste ventil\u00f6ppningstid"
|
|
1158
1170
|
},
|
|
@@ -40,7 +40,6 @@ from homeassistant.helpers.hassio import is_hassio
|
|
|
40
40
|
from homeassistant.helpers.service_info.hassio import HassioServiceInfo
|
|
41
41
|
from homeassistant.helpers.service_info.usb import UsbServiceInfo
|
|
42
42
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
|
|
43
|
-
from homeassistant.helpers.typing import VolDictType
|
|
44
43
|
|
|
45
44
|
from .addon import get_addon_manager
|
|
46
45
|
from .const import (
|
|
@@ -90,6 +89,9 @@ ADDON_USER_INPUT_MAP = {
|
|
|
90
89
|
ON_SUPERVISOR_SCHEMA = vol.Schema({vol.Optional(CONF_USE_ADDON, default=True): bool})
|
|
91
90
|
MIN_MIGRATION_SDK_VERSION = AwesomeVersion("6.61")
|
|
92
91
|
|
|
92
|
+
NETWORK_TYPE_NEW = "new"
|
|
93
|
+
NETWORK_TYPE_EXISTING = "existing"
|
|
94
|
+
|
|
93
95
|
|
|
94
96
|
def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema:
|
|
95
97
|
"""Return a schema for the manual step."""
|
|
@@ -632,6 +634,81 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
632
634
|
self, user_input: dict[str, Any] | None = None
|
|
633
635
|
) -> ConfigFlowResult:
|
|
634
636
|
"""Ask for config for Z-Wave JS add-on."""
|
|
637
|
+
|
|
638
|
+
if user_input is not None:
|
|
639
|
+
self.usb_path = user_input[CONF_USB_PATH]
|
|
640
|
+
return await self.async_step_network_type()
|
|
641
|
+
|
|
642
|
+
if self._usb_discovery:
|
|
643
|
+
return await self.async_step_network_type()
|
|
644
|
+
|
|
645
|
+
usb_path = self.usb_path or ""
|
|
646
|
+
|
|
647
|
+
try:
|
|
648
|
+
ports = await async_get_usb_ports(self.hass)
|
|
649
|
+
except OSError as err:
|
|
650
|
+
_LOGGER.error("Failed to get USB ports: %s", err)
|
|
651
|
+
return self.async_abort(reason="usb_ports_failed")
|
|
652
|
+
|
|
653
|
+
data_schema = vol.Schema(
|
|
654
|
+
{
|
|
655
|
+
vol.Required(CONF_USB_PATH, default=usb_path): vol.In(ports),
|
|
656
|
+
}
|
|
657
|
+
)
|
|
658
|
+
|
|
659
|
+
return self.async_show_form(
|
|
660
|
+
step_id="configure_addon_user", data_schema=data_schema
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
async def async_step_network_type(
|
|
664
|
+
self, user_input: dict[str, Any] | None = None
|
|
665
|
+
) -> ConfigFlowResult:
|
|
666
|
+
"""Ask for network type (new or existing)."""
|
|
667
|
+
# For recommended installation, automatically set network type to "new"
|
|
668
|
+
if self._recommended_install:
|
|
669
|
+
user_input = {"network_type": NETWORK_TYPE_NEW}
|
|
670
|
+
|
|
671
|
+
if user_input is not None:
|
|
672
|
+
if user_input["network_type"] == NETWORK_TYPE_NEW:
|
|
673
|
+
# Set all keys to empty strings for new network
|
|
674
|
+
self.s0_legacy_key = ""
|
|
675
|
+
self.s2_access_control_key = ""
|
|
676
|
+
self.s2_authenticated_key = ""
|
|
677
|
+
self.s2_unauthenticated_key = ""
|
|
678
|
+
self.lr_s2_access_control_key = ""
|
|
679
|
+
self.lr_s2_authenticated_key = ""
|
|
680
|
+
|
|
681
|
+
addon_config_updates = {
|
|
682
|
+
CONF_ADDON_DEVICE: self.usb_path,
|
|
683
|
+
CONF_ADDON_S0_LEGACY_KEY: self.s0_legacy_key,
|
|
684
|
+
CONF_ADDON_S2_ACCESS_CONTROL_KEY: self.s2_access_control_key,
|
|
685
|
+
CONF_ADDON_S2_AUTHENTICATED_KEY: self.s2_authenticated_key,
|
|
686
|
+
CONF_ADDON_S2_UNAUTHENTICATED_KEY: self.s2_unauthenticated_key,
|
|
687
|
+
CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY: self.lr_s2_access_control_key,
|
|
688
|
+
CONF_ADDON_LR_S2_AUTHENTICATED_KEY: self.lr_s2_authenticated_key,
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
await self._async_set_addon_config(addon_config_updates)
|
|
692
|
+
return await self.async_step_start_addon()
|
|
693
|
+
|
|
694
|
+
# Network already exists, go to security keys step
|
|
695
|
+
return await self.async_step_configure_security_keys()
|
|
696
|
+
|
|
697
|
+
return self.async_show_form(
|
|
698
|
+
step_id="network_type",
|
|
699
|
+
data_schema=vol.Schema(
|
|
700
|
+
{
|
|
701
|
+
vol.Required("network_type", default=""): vol.In(
|
|
702
|
+
[NETWORK_TYPE_NEW, NETWORK_TYPE_EXISTING]
|
|
703
|
+
)
|
|
704
|
+
}
|
|
705
|
+
),
|
|
706
|
+
)
|
|
707
|
+
|
|
708
|
+
async def async_step_configure_security_keys(
|
|
709
|
+
self, user_input: dict[str, Any] | None = None
|
|
710
|
+
) -> ConfigFlowResult:
|
|
711
|
+
"""Ask for security keys for existing Z-Wave network."""
|
|
635
712
|
addon_info = await self._async_get_addon_info()
|
|
636
713
|
addon_config = addon_info.options
|
|
637
714
|
|
|
@@ -654,10 +731,6 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
654
731
|
CONF_ADDON_LR_S2_AUTHENTICATED_KEY, self.lr_s2_authenticated_key or ""
|
|
655
732
|
)
|
|
656
733
|
|
|
657
|
-
if self._recommended_install and self._usb_discovery:
|
|
658
|
-
# Recommended installation with USB discovery, skip asking for keys
|
|
659
|
-
user_input = {}
|
|
660
|
-
|
|
661
734
|
if user_input is not None:
|
|
662
735
|
self.s0_legacy_key = user_input.get(CONF_S0_LEGACY_KEY, s0_legacy_key)
|
|
663
736
|
self.s2_access_control_key = user_input.get(
|
|
@@ -675,8 +748,6 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
675
748
|
self.lr_s2_authenticated_key = user_input.get(
|
|
676
749
|
CONF_LR_S2_AUTHENTICATED_KEY, lr_s2_authenticated_key
|
|
677
750
|
)
|
|
678
|
-
if not self._usb_discovery:
|
|
679
|
-
self.usb_path = user_input[CONF_USB_PATH]
|
|
680
751
|
|
|
681
752
|
addon_config_updates = {
|
|
682
753
|
CONF_ADDON_DEVICE: self.usb_path,
|
|
@@ -689,14 +760,10 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
689
760
|
}
|
|
690
761
|
|
|
691
762
|
await self._async_set_addon_config(addon_config_updates)
|
|
692
|
-
|
|
693
763
|
return await self.async_step_start_addon()
|
|
694
764
|
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
{}
|
|
698
|
-
if self._recommended_install
|
|
699
|
-
else {
|
|
765
|
+
data_schema = vol.Schema(
|
|
766
|
+
{
|
|
700
767
|
vol.Optional(CONF_S0_LEGACY_KEY, default=s0_legacy_key): str,
|
|
701
768
|
vol.Optional(
|
|
702
769
|
CONF_S2_ACCESS_CONTROL_KEY, default=s2_access_control_key
|
|
@@ -716,22 +783,8 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
716
783
|
}
|
|
717
784
|
)
|
|
718
785
|
|
|
719
|
-
if not self._usb_discovery:
|
|
720
|
-
try:
|
|
721
|
-
ports = await async_get_usb_ports(self.hass)
|
|
722
|
-
except OSError as err:
|
|
723
|
-
_LOGGER.error("Failed to get USB ports: %s", err)
|
|
724
|
-
return self.async_abort(reason="usb_ports_failed")
|
|
725
|
-
|
|
726
|
-
schema = {
|
|
727
|
-
vol.Required(CONF_USB_PATH, default=usb_path): vol.In(ports),
|
|
728
|
-
**schema,
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
data_schema = vol.Schema(schema)
|
|
732
|
-
|
|
733
786
|
return self.async_show_form(
|
|
734
|
-
step_id="
|
|
787
|
+
step_id="configure_security_keys", data_schema=data_schema
|
|
735
788
|
)
|
|
736
789
|
|
|
737
790
|
async def async_step_finish_addon_setup_user(
|
|
@@ -845,11 +898,8 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
845
898
|
},
|
|
846
899
|
)
|
|
847
900
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
return await self.async_step_backup_nvm()
|
|
851
|
-
|
|
852
|
-
return self.async_show_form(step_id="intent_migrate")
|
|
901
|
+
self._migrating = True
|
|
902
|
+
return await self.async_step_backup_nvm()
|
|
853
903
|
|
|
854
904
|
async def async_step_backup_nvm(
|
|
855
905
|
self, user_input: dict[str, Any] | None = None
|
|
@@ -904,7 +954,7 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
904
954
|
async def async_step_instruct_unplug(
|
|
905
955
|
self, user_input: dict[str, Any] | None = None
|
|
906
956
|
) -> ConfigFlowResult:
|
|
907
|
-
"""
|
|
957
|
+
"""Instruct the user to unplug the old controller."""
|
|
908
958
|
|
|
909
959
|
if user_input is not None:
|
|
910
960
|
if self.usb_path:
|
|
@@ -914,63 +964,9 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
914
964
|
# Now that the old controller is gone, we can scan for serial ports again
|
|
915
965
|
return await self.async_step_choose_serial_port()
|
|
916
966
|
|
|
917
|
-
try:
|
|
918
|
-
driver = self._get_driver()
|
|
919
|
-
except AbortFlow:
|
|
920
|
-
return self.async_abort(reason="config_entry_not_loaded")
|
|
921
|
-
|
|
922
|
-
@callback
|
|
923
|
-
def set_driver_ready(event: dict) -> None:
|
|
924
|
-
"Set the driver ready event."
|
|
925
|
-
wait_driver_ready.set()
|
|
926
|
-
|
|
927
|
-
wait_driver_ready = asyncio.Event()
|
|
928
|
-
|
|
929
|
-
unsubscribe = driver.once("driver ready", set_driver_ready)
|
|
930
|
-
|
|
931
|
-
# reset the old controller
|
|
932
|
-
try:
|
|
933
|
-
await driver.async_hard_reset()
|
|
934
|
-
except FailedCommand as err:
|
|
935
|
-
unsubscribe()
|
|
936
|
-
_LOGGER.error("Failed to reset controller: %s", err)
|
|
937
|
-
return self.async_abort(reason="reset_failed")
|
|
938
|
-
|
|
939
|
-
# Update the unique id of the config entry
|
|
940
|
-
# to the new home id, which requires waiting for the driver
|
|
941
|
-
# to be ready before getting the new home id.
|
|
942
|
-
# If the backup restore, done later in the flow, fails,
|
|
943
|
-
# the config entry unique id should be the new home id
|
|
944
|
-
# after the controller reset.
|
|
945
|
-
try:
|
|
946
|
-
async with asyncio.timeout(DRIVER_READY_TIMEOUT):
|
|
947
|
-
await wait_driver_ready.wait()
|
|
948
|
-
except TimeoutError:
|
|
949
|
-
pass
|
|
950
|
-
finally:
|
|
951
|
-
unsubscribe()
|
|
952
|
-
|
|
953
967
|
config_entry = self._reconfigure_config_entry
|
|
954
968
|
assert config_entry is not None
|
|
955
969
|
|
|
956
|
-
try:
|
|
957
|
-
version_info = await async_get_version_info(
|
|
958
|
-
self.hass, config_entry.data[CONF_URL]
|
|
959
|
-
)
|
|
960
|
-
except CannotConnect:
|
|
961
|
-
# Just log this error, as there's nothing to do about it here.
|
|
962
|
-
# The stale unique id needs to be handled by a repair flow,
|
|
963
|
-
# after the config entry has been reloaded, if the backup restore
|
|
964
|
-
# also fails.
|
|
965
|
-
_LOGGER.debug(
|
|
966
|
-
"Failed to get server version, cannot update config entry "
|
|
967
|
-
"unique id with new home id, after controller reset"
|
|
968
|
-
)
|
|
969
|
-
else:
|
|
970
|
-
self.hass.config_entries.async_update_entry(
|
|
971
|
-
config_entry, unique_id=str(version_info.home_id)
|
|
972
|
-
)
|
|
973
|
-
|
|
974
970
|
# Unload the config entry before asking the user to unplug the controller.
|
|
975
971
|
await self.hass.config_entries.async_unload(config_entry.entry_id)
|
|
976
972
|
|