homeassistant 2025.7.0b1__py3-none-any.whl → 2025.7.0b5__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/fr.json +22 -1
- homeassistant/components/ai_task/translations/hu.json +22 -0
- homeassistant/components/ai_task/translations/it.json +22 -0
- homeassistant/components/ai_task/translations/ja.json +20 -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 +27 -1
- homeassistant/components/alexa_devices/translations/it.json +29 -0
- homeassistant/components/alexa_devices/translations/ja.json +29 -0
- homeassistant/components/alexa_devices/translations/pt.json +12 -1
- homeassistant/components/alexa_devices/translations/sk.json +8 -0
- homeassistant/components/alexa_devices/translations/sv.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 +51 -0
- homeassistant/components/altruist/translations/ja.json +50 -0
- homeassistant/components/anthropic/__init__.py +6 -0
- homeassistant/components/anthropic/translations/fr.json +37 -0
- homeassistant/components/anthropic/translations/hu.json +37 -0
- homeassistant/components/anthropic/translations/it.json +37 -0
- homeassistant/components/anthropic/translations/nl.json +2 -1
- homeassistant/components/assist_satellite/__init__.py +24 -6
- homeassistant/components/assist_satellite/services.yaml +18 -6
- homeassistant/components/assist_satellite/translations/fr.json +8 -0
- homeassistant/components/assist_satellite/translations/hu.json +38 -0
- homeassistant/components/assist_satellite/translations/it.json +8 -0
- homeassistant/components/assist_satellite/translations/ja.json +8 -0
- homeassistant/components/asuswrt/translations/nl.json +6 -0
- homeassistant/components/backup/translations/de.json +1 -1
- homeassistant/components/blue_current/translations/el.json +3 -1
- homeassistant/components/bluetooth/translations/el.json +3 -0
- homeassistant/components/climate/translations/hu.json +3 -0
- homeassistant/components/comelit/translations/de.json +1 -1
- homeassistant/components/counter/translations/sv.json +2 -2
- homeassistant/components/denonavr/translations/el.json +5 -0
- homeassistant/components/derivative/translations/fr.json +4 -0
- homeassistant/components/derivative/translations/hu.json +4 -0
- homeassistant/components/derivative/translations/it.json +4 -0
- homeassistant/components/devolo_home_control/translations/hu.json +21 -0
- homeassistant/components/devolo_home_control/translations/it.json +6 -0
- homeassistant/components/devolo_home_control/translations/nl.json +10 -0
- homeassistant/components/dsmr/sensor.py +8 -0
- homeassistant/components/ecovacs/translations/el.json +1 -0
- homeassistant/components/electric_kiwi/translations/hu.json +6 -0
- homeassistant/components/electric_kiwi/translations/ja.json +6 -0
- homeassistant/components/emoncms/translations/el.json +3 -0
- homeassistant/components/enphase_envoy/translations/hu.json +30 -0
- homeassistant/components/enphase_envoy/translations/it.json +27 -0
- homeassistant/components/enphase_envoy/translations/ja.json +27 -0
- homeassistant/components/enphase_envoy/translations/sv.json +4 -1
- homeassistant/components/ezviz/translations/hu.json +10 -0
- homeassistant/components/ezviz/translations/it.json +10 -0
- homeassistant/components/ezviz/translations/ja.json +10 -0
- homeassistant/components/ezviz/translations/sv.json +1 -1
- homeassistant/components/fitbit/translations/hu.json +6 -0
- homeassistant/components/fitbit/translations/ja.json +6 -0
- homeassistant/components/fritz/translations/nl.json +3 -0
- homeassistant/components/fronius/translations/el.json +14 -1
- 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/geocaching/translations/ja.json +6 -0
- homeassistant/components/google/translations/hu.json +6 -0
- homeassistant/components/google/translations/ja.json +6 -0
- homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
- homeassistant/components/google_assistant_sdk/translations/ja.json +11 -0
- homeassistant/components/google_drive/translations/hu.json +6 -0
- homeassistant/components/google_drive/translations/ja.json +6 -0
- homeassistant/components/google_generative_ai_conversation/__init__.py +15 -0
- homeassistant/components/google_generative_ai_conversation/conversation.py +0 -10
- homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/fr.json +82 -1
- homeassistant/components/google_generative_ai_conversation/translations/hu.json +69 -0
- homeassistant/components/google_generative_ai_conversation/translations/it.json +69 -0
- homeassistant/components/google_generative_ai_conversation/translations/ja.json +69 -0
- homeassistant/components/google_generative_ai_conversation/translations/nl.json +16 -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_mail/translations/ja.json +6 -0
- homeassistant/components/google_photos/translations/hu.json +6 -0
- homeassistant/components/google_photos/translations/ja.json +6 -0
- homeassistant/components/google_sheets/translations/hu.json +6 -0
- homeassistant/components/google_sheets/translations/ja.json +6 -0
- homeassistant/components/google_tasks/translations/hu.json +6 -0
- homeassistant/components/google_tasks/translations/ja.json +6 -0
- homeassistant/components/group/translations/pl.json +52 -2
- homeassistant/components/home_connect/translations/hu.json +6 -0
- homeassistant/components/home_connect/translations/ja.json +9 -0
- homeassistant/components/homeassistant/translations/fr.json +1 -0
- homeassistant/components/homeassistant/translations/hu.json +1 -0
- homeassistant/components/homeassistant/translations/it.json +1 -0
- homeassistant/components/homeassistant/translations/ja.json +1 -0
- homeassistant/components/homeassistant/translations/nl.json +1 -1
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +119 -7
- homeassistant/components/homeassistant_hardware/strings.json +3 -1
- homeassistant/components/homeassistant_hardware/translations/de.json +2 -0
- homeassistant/components/homeassistant_hardware/translations/el.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en.json +2 -0
- homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/fr.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/hu.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/it.json +6 -0
- homeassistant/components/homeassistant_hardware/translations/ja.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/ru.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.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 +6 -2
- homeassistant/components/homeassistant_sky_connect/translations/de.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en.json +4 -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/fr.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/hu.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/it.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/ja.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/ru.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
- homeassistant/components/homeassistant_yellow/strings.json +3 -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 +2 -0
- homeassistant/components/homeassistant_yellow/translations/el.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/en.json +3 -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 +2 -1
- homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/hu.json +3 -1
- homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/it.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/ja.json +2 -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 +1 -0
- homeassistant/components/homeassistant_yellow/translations/sk.json +1 -0
- 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 +1 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
- homeassistant/components/homee/translations/hu.json +25 -0
- homeassistant/components/homee/translations/ja.json +31 -1
- homeassistant/components/homewizard/translations/hu.json +19 -2
- homeassistant/components/homewizard/translations/sv.json +1 -1
- homeassistant/components/honeywell/__init__.py +8 -16
- homeassistant/components/honeywell/config_flow.py +6 -2
- 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/husqvarna_automower/translations/ja.json +6 -0
- homeassistant/components/imap/translations/fr.json +2 -0
- homeassistant/components/immich/translations/hu.json +5 -0
- homeassistant/components/immich/translations/ja.json +9 -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/iotty/translations/ja.json +6 -0
- homeassistant/components/iron_os/manifest.json +1 -1
- homeassistant/components/ista_ecotrend/util.py +14 -14
- homeassistant/components/jellyfin/client_wrapper.py +1 -2
- homeassistant/components/jellyfin/coordinator.py +3 -0
- homeassistant/components/jellyfin/manifest.json +1 -2
- homeassistant/components/juicenet/translations/hu.json +8 -1
- homeassistant/components/juicenet/translations/it.json +8 -1
- homeassistant/components/juicenet/translations/ja.json +8 -1
- homeassistant/components/keenetic_ndms2/translations/hu.json +4 -0
- homeassistant/components/keenetic_ndms2/translations/it.json +4 -0
- homeassistant/components/keenetic_ndms2/translations/ja.json +4 -0
- homeassistant/components/knx/translations/ja.json +11 -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/lametric/translations/ja.json +6 -0
- homeassistant/components/lifx/translations/el.json +2 -1
- homeassistant/components/litterrobot/translations/hu.json +4 -0
- homeassistant/components/litterrobot/translations/it.json +4 -0
- homeassistant/components/lyric/translations/hu.json +6 -0
- homeassistant/components/lyric/translations/ja.json +6 -0
- homeassistant/components/matter/translations/hu.json +32 -0
- homeassistant/components/matter/translations/ja.json +29 -0
- homeassistant/components/mcp/translations/hu.json +6 -0
- homeassistant/components/meater/translations/hu.json +12 -1
- homeassistant/components/microbees/translations/hu.json +6 -0
- homeassistant/components/microbees/translations/ja.json +6 -0
- homeassistant/components/miele/translations/hu.json +30 -1
- homeassistant/components/miele/translations/it.json +24 -1
- homeassistant/components/miele/translations/ja.json +29 -0
- homeassistant/components/minecraft_server/translations/sv.json +1 -1
- homeassistant/components/monzo/translations/hu.json +6 -0
- homeassistant/components/monzo/translations/ja.json +6 -0
- homeassistant/components/motioneye/translations/sv.json +1 -1
- homeassistant/components/mqtt/config_flow.py +34 -7
- homeassistant/components/mqtt/strings.json +11 -4
- homeassistant/components/mqtt/translations/bg.json +1 -3
- homeassistant/components/mqtt/translations/cs.json +21 -6
- homeassistant/components/mqtt/translations/de.json +23 -16
- homeassistant/components/mqtt/translations/el.json +11 -0
- homeassistant/components/mqtt/translations/en-GB.json +2 -6
- homeassistant/components/mqtt/translations/en.json +13 -6
- homeassistant/components/mqtt/translations/es.json +13 -6
- homeassistant/components/mqtt/translations/et.json +13 -6
- homeassistant/components/mqtt/translations/fr.json +38 -6
- homeassistant/components/mqtt/translations/fy.json +2 -5
- homeassistant/components/mqtt/translations/ga.json +2 -6
- homeassistant/components/mqtt/translations/he.json +2 -6
- homeassistant/components/mqtt/translations/hu.json +39 -6
- homeassistant/components/mqtt/translations/it.json +40 -0
- homeassistant/components/mqtt/translations/ja.json +39 -4
- homeassistant/components/mqtt/translations/lt.json +2 -6
- homeassistant/components/mqtt/translations/mk.json +1 -6
- homeassistant/components/mqtt/translations/nl.json +39 -7
- homeassistant/components/mqtt/translations/pt.json +4 -6
- homeassistant/components/mqtt/translations/ru.json +13 -6
- homeassistant/components/mqtt/translations/sk.json +13 -6
- homeassistant/components/mqtt/translations/sl.json +2 -6
- homeassistant/components/mqtt/translations/sv.json +13 -6
- homeassistant/components/mqtt/translations/tr.json +2 -6
- homeassistant/components/mqtt/translations/zh-Hans.json +13 -6
- homeassistant/components/mqtt/translations/zh-Hant.json +13 -6
- homeassistant/components/music_assistant/translations/hu.json +7 -0
- homeassistant/components/music_assistant/translations/ja.json +7 -0
- homeassistant/components/myuplink/translations/hu.json +6 -0
- homeassistant/components/myuplink/translations/ja.json +6 -0
- homeassistant/components/nam/translations/pl.json +9 -0
- homeassistant/components/neato/translations/hu.json +6 -0
- homeassistant/components/neato/translations/ja.json +6 -0
- homeassistant/components/nest/translations/hu.json +6 -0
- homeassistant/components/nest/translations/ja.json +6 -0
- homeassistant/components/netatmo/translations/hu.json +6 -0
- homeassistant/components/netatmo/translations/ja.json +6 -0
- homeassistant/components/nextcloud/translations/nl.json +3 -0
- homeassistant/components/nextdns/translations/fr.json +6 -0
- homeassistant/components/nextdns/translations/hu.json +14 -0
- homeassistant/components/nextdns/translations/ja.json +6 -0
- homeassistant/components/ntfy/translations/hu.json +112 -2
- homeassistant/components/ntfy/translations/it.json +82 -0
- homeassistant/components/ntfy/translations/ja.json +71 -0
- homeassistant/components/ntfy/translations/nl.json +18 -0
- 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/nut/translations/el.json +42 -0
- homeassistant/components/nzbget/translations/ja.json +5 -0
- homeassistant/components/ollama/__init__.py +6 -0
- homeassistant/components/ollama/translations/fr.json +33 -0
- homeassistant/components/ollama/translations/hu.json +33 -0
- homeassistant/components/ollama/translations/it.json +35 -0
- homeassistant/components/ollama/translations/ja.json +33 -0
- homeassistant/components/ollama/translations/sv.json +1 -0
- homeassistant/components/ondilo_ico/translations/hu.json +6 -0
- homeassistant/components/ondilo_ico/translations/ja.json +6 -0
- homeassistant/components/onedrive/translations/hu.json +6 -0
- homeassistant/components/onedrive/translations/ja.json +6 -0
- homeassistant/components/onewire/translations/sv.json +1 -1
- homeassistant/components/openai_conversation/__init__.py +6 -0
- homeassistant/components/openai_conversation/translations/fr.json +56 -0
- homeassistant/components/openai_conversation/translations/hu.json +56 -0
- homeassistant/components/openai_conversation/translations/it.json +56 -0
- homeassistant/components/openai_conversation/translations/ja.json +45 -0
- homeassistant/components/openai_conversation/translations/nl.json +13 -0
- homeassistant/components/openai_conversation/translations/sv.json +4 -0
- homeassistant/components/opentherm_gw/climate.py +12 -1
- homeassistant/components/opentherm_gw/strings.json +3 -0
- homeassistant/components/opentherm_gw/translations/de.json +3 -0
- homeassistant/components/opentherm_gw/translations/en.json +3 -0
- homeassistant/components/opentherm_gw/translations/ja.json +5 -0
- homeassistant/components/osoenergy/translations/nl.json +1 -0
- homeassistant/components/paperless_ngx/manifest.json +1 -1
- homeassistant/components/paperless_ngx/translations/hu.json +8 -4
- homeassistant/components/paperless_ngx/translations/ja.json +20 -0
- homeassistant/components/peblar/translations/el.json +12 -0
- 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 -1
- homeassistant/components/pegel_online/translations/en-GB.json +1 -1
- homeassistant/components/pegel_online/translations/en.json +1 -1
- homeassistant/components/pegel_online/translations/es.json +1 -1
- homeassistant/components/pegel_online/translations/et.json +1 -1
- 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 -1
- 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 -1
- homeassistant/components/pegel_online/translations/sk.json +1 -1
- homeassistant/components/pegel_online/translations/sv.json +1 -1
- homeassistant/components/pegel_online/translations/tr.json +1 -2
- homeassistant/components/pegel_online/translations/zh-Hant.json +1 -1
- homeassistant/components/person/__init__.py +1 -2
- homeassistant/components/pi_hole/translations/fr.json +1 -0
- homeassistant/components/playstation_network/diagnostics.py +55 -0
- homeassistant/components/playstation_network/quality_scale.yaml +1 -1
- homeassistant/components/playstation_network/translations/fr.json +15 -0
- homeassistant/components/playstation_network/translations/hu.json +73 -0
- homeassistant/components/playstation_network/translations/it.json +73 -0
- homeassistant/components/playstation_network/translations/ja.json +44 -0
- homeassistant/components/playstation_network/translations/pl.json +73 -0
- homeassistant/components/playstation_network/translations/ru.json +1 -0
- homeassistant/components/playstation_network/translations/sv.json +2 -1
- homeassistant/components/plugwise/translations/sv.json +2 -2
- homeassistant/components/point/translations/hu.json +6 -0
- homeassistant/components/point/translations/ja.json +6 -0
- homeassistant/components/proximity/translations/bg.json +0 -3
- homeassistant/components/proximity/translations/ca.json +2 -27
- homeassistant/components/proximity/translations/cs.json +1 -25
- homeassistant/components/proximity/translations/el.json +1 -25
- homeassistant/components/proximity/translations/en-GB.json +4 -4
- homeassistant/components/proximity/translations/en.json +4 -4
- homeassistant/components/proximity/translations/et.json +1 -1
- homeassistant/components/proximity/translations/fi.json +1 -25
- homeassistant/components/proximity/translations/fr.json +1 -25
- homeassistant/components/proximity/translations/gl.json +1 -24
- homeassistant/components/proximity/translations/hu.json +1 -25
- homeassistant/components/proximity/translations/id.json +1 -25
- homeassistant/components/proximity/translations/it.json +1 -13
- homeassistant/components/proximity/translations/ja.json +1 -25
- homeassistant/components/proximity/translations/lt.json +1 -25
- homeassistant/components/proximity/translations/nl.json +8 -0
- homeassistant/components/proximity/translations/pl.json +1 -25
- homeassistant/components/proximity/translations/pt-BR.json +1 -25
- homeassistant/components/proximity/translations/pt.json +1 -25
- homeassistant/components/proximity/translations/ru.json +1 -25
- homeassistant/components/proximity/translations/sk.json +2 -2
- homeassistant/components/proximity/translations/sv.json +1 -25
- homeassistant/components/proximity/translations/tr.json +1 -25
- homeassistant/components/proximity/translations/zh-Hans.json +2 -2
- homeassistant/components/pushbullet/sensor.py +7 -2
- homeassistant/components/random/translations/sv.json +4 -4
- homeassistant/components/reolink/manifest.json +1 -1
- homeassistant/components/reolink/translations/hu.json +21 -0
- homeassistant/components/reolink/translations/it.json +12 -0
- homeassistant/components/reolink/translations/ja.json +15 -0
- homeassistant/components/rest/data.py +46 -1
- homeassistant/components/russound_rio/translations/hu.json +21 -0
- homeassistant/components/russound_rio/translations/ja.json +21 -0
- homeassistant/components/screenlogic/translations/el.json +7 -0
- homeassistant/components/sensibo/translations/el.json +1 -0
- homeassistant/components/sensor/translations/pl.json +1 -0
- homeassistant/components/senz/translations/hu.json +6 -0
- homeassistant/components/senz/translations/ja.json +6 -0
- homeassistant/components/shelly/entity.py +10 -3
- homeassistant/components/shelly/manifest.json +1 -1
- homeassistant/components/sma/translations/ja.json +8 -0
- homeassistant/components/smappee/translations/hu.json +6 -0
- homeassistant/components/smappee/translations/ja.json +6 -0
- homeassistant/components/smarla/translations/ja.json +9 -0
- homeassistant/components/smartthings/translations/hu.json +15 -0
- homeassistant/components/smartthings/translations/ja.json +6 -0
- homeassistant/components/sonos/translations/cs.json +6 -0
- homeassistant/components/sonos/translations/fr.json +6 -0
- homeassistant/components/sonos/translations/hu.json +9 -0
- homeassistant/components/sonos/translations/it.json +11 -0
- homeassistant/components/sonos/translations/ja.json +9 -0
- homeassistant/components/spotify/translations/hu.json +6 -0
- homeassistant/components/stream/__init__.py +8 -4
- homeassistant/components/stream/const.py +2 -1
- homeassistant/components/stream/core.py +3 -1
- 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 +2 -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 +2 -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 +2 -2
- homeassistant/components/subaru/translations/sk.json +2 -2
- homeassistant/components/subaru/translations/sv.json +0 -2
- homeassistant/components/subaru/translations/tr.json +0 -2
- homeassistant/components/subaru/translations/zh-Hans.json +2 -2
- homeassistant/components/subaru/translations/zh-Hant.json +2 -2
- homeassistant/components/sun/translations/ja.json +9 -0
- homeassistant/components/swiss_public_transport/translations/el.json +60 -6
- homeassistant/components/switchbot/translations/hu.json +54 -0
- homeassistant/components/switchbot/translations/it.json +53 -0
- homeassistant/components/switchbot/translations/ja.json +46 -0
- homeassistant/components/switchbot/translations/sv.json +2 -0
- homeassistant/components/switchbot_cloud/__init__.py +6 -1
- homeassistant/components/switchbot_cloud/binary_sensor.py +8 -1
- homeassistant/components/switchbot_cloud/sensor.py +3 -2
- homeassistant/components/telegram_bot/config_flow.py +23 -11
- 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/fr.json +3 -1
- homeassistant/components/telegram_bot/translations/hu.json +56 -0
- homeassistant/components/telegram_bot/translations/it.json +30 -0
- homeassistant/components/telegram_bot/translations/ja.json +99 -0
- homeassistant/components/telegram_bot/translations/pt.json +30 -0
- homeassistant/components/telegram_bot/translations/ru.json +21 -1
- 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/template/translations/pl.json +25 -3
- homeassistant/components/tesla_fleet/translations/de.json +1 -1
- homeassistant/components/tesla_fleet/translations/hu.json +30 -0
- homeassistant/components/tesla_fleet/translations/ja.json +22 -0
- homeassistant/components/teslemetry/coordinator.py +6 -6
- homeassistant/components/teslemetry/translations/de.json +2 -2
- 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 +1 -1
- homeassistant/components/thermopro/translations/en-GB.json +1 -1
- homeassistant/components/thermopro/translations/en.json +1 -1
- homeassistant/components/thermopro/translations/et.json +1 -1
- 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/sk.json +1 -1
- homeassistant/components/thermopro/translations/sv.json +0 -7
- homeassistant/components/thermopro/translations/tr.json +0 -7
- homeassistant/components/tibber/manifest.json +1 -1
- homeassistant/components/tibber/sensor.py +1 -1
- homeassistant/components/tilt_pi/translations/hu.json +31 -0
- homeassistant/components/tilt_pi/translations/ja.json +31 -0
- homeassistant/components/tilt_pi/translations/nl.json +7 -0
- homeassistant/components/toon/translations/hu.json +6 -0
- homeassistant/components/vegehub/translations/hu.json +44 -0
- homeassistant/components/vegehub/translations/it.json +44 -0
- homeassistant/components/vegehub/translations/ja.json +44 -0
- homeassistant/components/vegehub/translations/sv.json +2 -1
- homeassistant/components/vesync/fan.py +25 -17
- homeassistant/components/vicare/translations/sv.json +2 -2
- homeassistant/components/vulcan/manifest.json +1 -1
- homeassistant/components/wallbox/const.py +4 -0
- homeassistant/components/wallbox/coordinator.py +47 -20
- homeassistant/components/wallbox/lock.py +1 -12
- homeassistant/components/wallbox/number.py +1 -12
- homeassistant/components/wallbox/translations/hu.json +3 -0
- homeassistant/components/wallbox/translations/ja.json +5 -0
- homeassistant/components/weheat/translations/hu.json +6 -0
- homeassistant/components/withings/translations/de.json +4 -4
- homeassistant/components/withings/translations/hu.json +6 -0
- homeassistant/components/withings/translations/ja.json +3 -0
- homeassistant/components/wled/translations/fr.json +1 -0
- homeassistant/components/wmspro/cover.py +4 -7
- homeassistant/components/wmspro/light.py +12 -9
- homeassistant/components/wmspro/manifest.json +1 -1
- homeassistant/components/wyoming/translations/sv.json +2 -2
- homeassistant/components/xbox/translations/hu.json +6 -0
- homeassistant/components/xiaomi_miio/translations/fr.json +24 -2
- homeassistant/components/xiaomi_miio/translations/hu.json +30 -7
- homeassistant/components/yale/translations/hu.json +6 -0
- homeassistant/components/yolink/translations/hu.json +6 -0
- homeassistant/components/zha/translations/fr.json +50 -0
- homeassistant/components/zha/translations/hu.json +53 -0
- homeassistant/components/zha/translations/it.json +50 -0
- homeassistant/components/zha/translations/ja.json +41 -0
- homeassistant/components/zha/translations/nl.json +7 -0
- homeassistant/components/zha/translations/sv.json +23 -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 +25 -9
- homeassistant/components/zwave_js/translations/en-GB.json +25 -9
- homeassistant/components/zwave_js/translations/en.json +25 -9
- homeassistant/components/zwave_js/translations/es.json +25 -9
- homeassistant/components/zwave_js/translations/et.json +25 -9
- homeassistant/components/zwave_js/translations/fi.json +0 -14
- homeassistant/components/zwave_js/translations/fr.json +6 -0
- homeassistant/components/zwave_js/translations/ga.json +0 -19
- homeassistant/components/zwave_js/translations/hu.json +33 -9
- homeassistant/components/zwave_js/translations/it.json +26 -0
- homeassistant/components/zwave_js/translations/ja.json +26 -0
- 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 +28 -8
- homeassistant/components/zwave_js/translations/sk.json +25 -9
- homeassistant/components/zwave_js/translations/sv.json +30 -14
- homeassistant/components/zwave_js/translations/tr.json +0 -12
- homeassistant/components/zwave_js/translations/zh-Hans.json +27 -11
- homeassistant/components/zwave_js/translations/zh-Hant.json +25 -9
- 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.0b5.dist-info}/METADATA +1 -1
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/RECORD +529 -511
- 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.0b5.dist-info}/WHEEL +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/top_level.txt +0 -0
|
@@ -305,6 +305,12 @@
|
|
|
305
305
|
"led_intensity_when_on": {
|
|
306
306
|
"name": "Intensit\u00e0 predefinita di tutti i LED accesi"
|
|
307
307
|
},
|
|
308
|
+
"lift_drive_down_time": {
|
|
309
|
+
"name": "Tempo di discesa dell'ascensore"
|
|
310
|
+
},
|
|
311
|
+
"lift_drive_up_time": {
|
|
312
|
+
"name": "Tempo di salita dell'ascensore"
|
|
313
|
+
},
|
|
308
314
|
"load_level_indicator_timeout": {
|
|
309
315
|
"name": "Timeout dell'indicatore del livello di carico"
|
|
310
316
|
},
|
|
@@ -359,6 +365,9 @@
|
|
|
359
365
|
"serving_size": {
|
|
360
366
|
"name": "Usato per erogare"
|
|
361
367
|
},
|
|
368
|
+
"sound_volume": {
|
|
369
|
+
"name": "Volume audio"
|
|
370
|
+
},
|
|
362
371
|
"start_up_color_temperature": {
|
|
363
372
|
"name": "Temperatura di colore all'avvio"
|
|
364
373
|
},
|
|
@@ -368,6 +377,12 @@
|
|
|
368
377
|
"state_after_power_restored": {
|
|
369
378
|
"name": "Livello predefinito di attenuazione all'avvio"
|
|
370
379
|
},
|
|
380
|
+
"tilt_open_close_and_step_time": {
|
|
381
|
+
"name": "Tempo di inclinazione, di apertura e chiusura e passo"
|
|
382
|
+
},
|
|
383
|
+
"tilt_position_percentage_after_move_to_level": {
|
|
384
|
+
"name": "Percentuale della posizione di inclinazione dopo lo spostamento al livello"
|
|
385
|
+
},
|
|
371
386
|
"timer_duration": {
|
|
372
387
|
"name": "Durata del timer"
|
|
373
388
|
},
|
|
@@ -427,6 +442,12 @@
|
|
|
427
442
|
"start_up_on_off": {
|
|
428
443
|
"name": "Comportamento all'avvio"
|
|
429
444
|
},
|
|
445
|
+
"switch_actions": {
|
|
446
|
+
"name": "Azioni dell'interruttore"
|
|
447
|
+
},
|
|
448
|
+
"switch_indication": {
|
|
449
|
+
"name": "Indicazione dell'interruttore"
|
|
450
|
+
},
|
|
430
451
|
"switch_type": {
|
|
431
452
|
"name": "Tipo di interruttore"
|
|
432
453
|
},
|
|
@@ -462,12 +483,35 @@
|
|
|
462
483
|
"internal_temp_monitor": {
|
|
463
484
|
"name": "Temperatura interna"
|
|
464
485
|
},
|
|
486
|
+
"last_action": {
|
|
487
|
+
"name": "Ultima azione",
|
|
488
|
+
"state": {
|
|
489
|
+
"lock": "Bloccato/a",
|
|
490
|
+
"unlock": "Sbloccato/a"
|
|
491
|
+
}
|
|
492
|
+
},
|
|
493
|
+
"last_action_source": {
|
|
494
|
+
"name": "Ultima fonte di azione",
|
|
495
|
+
"state": {
|
|
496
|
+
"fingerprint": "impronta digitale",
|
|
497
|
+
"keypad": "Tastiera",
|
|
498
|
+
"rfid": "RFID",
|
|
499
|
+
"self": "Se stesso",
|
|
500
|
+
"zigbee": "Zigbee"
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
"last_action_user": {
|
|
504
|
+
"name": "Ultima azione utente"
|
|
505
|
+
},
|
|
465
506
|
"last_feeding_size": {
|
|
466
507
|
"name": "Ultima dimensione di alimentazione"
|
|
467
508
|
},
|
|
468
509
|
"last_feeding_source": {
|
|
469
510
|
"name": "Ultima fonte di alimentazione"
|
|
470
511
|
},
|
|
512
|
+
"last_pin_code": {
|
|
513
|
+
"name": "Ultimo codice PIN"
|
|
514
|
+
},
|
|
471
515
|
"leaf_wetness": {
|
|
472
516
|
"name": "Bagnatura fogliare"
|
|
473
517
|
},
|
|
@@ -477,6 +521,9 @@
|
|
|
477
521
|
"motion_distance": {
|
|
478
522
|
"name": "Distanza di movimento"
|
|
479
523
|
},
|
|
524
|
+
"opening": {
|
|
525
|
+
"name": "In apertura"
|
|
526
|
+
},
|
|
480
527
|
"overheated": {
|
|
481
528
|
"name": "Protezione da surriscaldamento"
|
|
482
529
|
},
|
|
@@ -521,6 +568,9 @@
|
|
|
521
568
|
}
|
|
522
569
|
},
|
|
523
570
|
"switch": {
|
|
571
|
+
"auto_relock": {
|
|
572
|
+
"name": "Riblocco automatico"
|
|
573
|
+
},
|
|
524
574
|
"aux_switch_scenes": {
|
|
525
575
|
"name": "Scene di commutazione ausiliaria"
|
|
526
576
|
},
|
|
@@ -520,6 +520,12 @@
|
|
|
520
520
|
"led_intensity_when_on": {
|
|
521
521
|
"name": "\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5168LED\u70b9\u706f\u5f37\u5ea6"
|
|
522
522
|
},
|
|
523
|
+
"lift_drive_down_time": {
|
|
524
|
+
"name": "\u30ea\u30d5\u30c8\u4e0b\u964d\u6642\u9593"
|
|
525
|
+
},
|
|
526
|
+
"lift_drive_up_time": {
|
|
527
|
+
"name": "\u30ea\u30d5\u30c8\u4e0a\u6607\u6642\u9593"
|
|
528
|
+
},
|
|
523
529
|
"liquid_depth_max": {
|
|
524
530
|
"name": "\u30bb\u30f3\u30b5\u30fc\u304b\u3089\u6db2\u9762\u307e\u3067\u306e\u9ad8\u3055"
|
|
525
531
|
},
|
|
@@ -676,6 +682,9 @@
|
|
|
676
682
|
"small_move_sensitivity": {
|
|
677
683
|
"name": "\u5c0f\u3055\u306a\u52d5\u304d\u306e\u611f\u5ea6"
|
|
678
684
|
},
|
|
685
|
+
"sound_volume": {
|
|
686
|
+
"name": "\u97f3\u91cf"
|
|
687
|
+
},
|
|
679
688
|
"start_up_color_temperature": {
|
|
680
689
|
"name": "\u8d77\u52d5\u6642\u306e\u8272\u6e29\u5ea6"
|
|
681
690
|
},
|
|
@@ -706,6 +715,12 @@
|
|
|
706
715
|
"temperature_sensitivity": {
|
|
707
716
|
"name": "\u6e29\u5ea6\u611f\u5ea6"
|
|
708
717
|
},
|
|
718
|
+
"tilt_open_close_and_step_time": {
|
|
719
|
+
"name": "\u30c1\u30eb\u30c8\u3001\u30aa\u30fc\u30d7\u30f3\u3001\u30af\u30ed\u30fc\u30ba\u3001\u30b9\u30c6\u30c3\u30d7\u30bf\u30a4\u30e0"
|
|
720
|
+
},
|
|
721
|
+
"tilt_position_percentage_after_move_to_level": {
|
|
722
|
+
"name": "\u6c34\u5e73\u79fb\u52d5\u5f8c\u306e\u50be\u659c\u4f4d\u7f6e\u306e\u30d1\u30fc\u30bb\u30f3\u30c6\u30fc\u30b8"
|
|
723
|
+
},
|
|
709
724
|
"timer_duration": {
|
|
710
725
|
"name": "\u30bf\u30a4\u30de\u30fc\u306e\u6301\u7d9a\u6642\u9593"
|
|
711
726
|
},
|
|
@@ -927,6 +942,12 @@
|
|
|
927
942
|
"status_indication": {
|
|
928
943
|
"name": "\u30b9\u30c6\u30fc\u30bf\u30b9\u8868\u793a"
|
|
929
944
|
},
|
|
945
|
+
"switch_actions": {
|
|
946
|
+
"name": "\u30b9\u30a4\u30c3\u30c1\u30a2\u30af\u30b7\u30e7\u30f3"
|
|
947
|
+
},
|
|
948
|
+
"switch_indication": {
|
|
949
|
+
"name": "\u30b9\u30a4\u30c3\u30c1\u8868\u793a"
|
|
950
|
+
},
|
|
930
951
|
"switch_mode": {
|
|
931
952
|
"name": "\u30b9\u30a4\u30c3\u30c1\u30e2\u30fc\u30c9"
|
|
932
953
|
},
|
|
@@ -1075,6 +1096,26 @@
|
|
|
1075
1096
|
"irrigation_start_time": {
|
|
1076
1097
|
"name": "\u704c\u6f11\u958b\u59cb\u6642\u9593"
|
|
1077
1098
|
},
|
|
1099
|
+
"last_action": {
|
|
1100
|
+
"name": "\u6700\u5f8c\u306e\u30a2\u30af\u30b7\u30e7\u30f3",
|
|
1101
|
+
"state": {
|
|
1102
|
+
"lock": "\u65bd\u9320\u6e08\u307f",
|
|
1103
|
+
"unlock": "\u89e3\u9320\u6e08\u307f"
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
"last_action_source": {
|
|
1107
|
+
"name": "\u6700\u5f8c\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u30bd\u30fc\u30b9",
|
|
1108
|
+
"state": {
|
|
1109
|
+
"fingerprint": "\u6307\u7d0b",
|
|
1110
|
+
"keypad": "\u30ad\u30fc\u30d1\u30c3\u30c9",
|
|
1111
|
+
"rfid": "RFID",
|
|
1112
|
+
"self": "\u30bb\u30eb\u30d5",
|
|
1113
|
+
"zigbee": "Zigbee"
|
|
1114
|
+
}
|
|
1115
|
+
},
|
|
1116
|
+
"last_action_user": {
|
|
1117
|
+
"name": "\u6700\u5f8c\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u30e6\u30fc\u30b6\u30fc"
|
|
1118
|
+
},
|
|
1078
1119
|
"last_feeding_size": {
|
|
1079
1120
|
"name": "\u524d\u56de\u306e\u7d66\u990c\u30b5\u30a4\u30ba"
|
|
1080
1121
|
},
|
|
@@ -1046,6 +1046,13 @@
|
|
|
1046
1046
|
"irrigation_start_time": {
|
|
1047
1047
|
"name": "Starttijd van de irrigatie"
|
|
1048
1048
|
},
|
|
1049
|
+
"last_action": {
|
|
1050
|
+
"name": "Laatste actie",
|
|
1051
|
+
"state": {
|
|
1052
|
+
"lock": "Vergrendeld",
|
|
1053
|
+
"unlock": "Ontgrendeld"
|
|
1054
|
+
}
|
|
1055
|
+
},
|
|
1049
1056
|
"last_feeding_size": {
|
|
1050
1057
|
"name": "Laatste voedingsafgifte"
|
|
1051
1058
|
},
|
|
@@ -986,6 +986,12 @@
|
|
|
986
986
|
"status_indication": {
|
|
987
987
|
"name": "Statusindikering"
|
|
988
988
|
},
|
|
989
|
+
"switch_actions": {
|
|
990
|
+
"name": "Brytar\u00e5tg\u00e4rder"
|
|
991
|
+
},
|
|
992
|
+
"switch_indication": {
|
|
993
|
+
"name": "Brytarindikator"
|
|
994
|
+
},
|
|
989
995
|
"switch_mode": {
|
|
990
996
|
"name": "V\u00e4xla l\u00e4ge"
|
|
991
997
|
},
|
|
@@ -1139,11 +1145,25 @@
|
|
|
1139
1145
|
"name": "Starttid f\u00f6r bevattning"
|
|
1140
1146
|
},
|
|
1141
1147
|
"last_action": {
|
|
1148
|
+
"name": "Senaste \u00e5tg\u00e4rd",
|
|
1142
1149
|
"state": {
|
|
1143
1150
|
"lock": "L\u00e5st",
|
|
1144
1151
|
"unlock": "Ol\u00e5st"
|
|
1145
1152
|
}
|
|
1146
1153
|
},
|
|
1154
|
+
"last_action_source": {
|
|
1155
|
+
"name": "K\u00e4lla f\u00f6r senaste \u00e5tg\u00e4rd",
|
|
1156
|
+
"state": {
|
|
1157
|
+
"fingerprint": "Fingeravtryck",
|
|
1158
|
+
"keypad": "Knappsats",
|
|
1159
|
+
"rfid": "RFID",
|
|
1160
|
+
"self": "Sj\u00e4lv",
|
|
1161
|
+
"zigbee": "Zigbee"
|
|
1162
|
+
}
|
|
1163
|
+
},
|
|
1164
|
+
"last_action_user": {
|
|
1165
|
+
"name": "Anv\u00e4ndare av senaste \u00e5tg\u00e4rd"
|
|
1166
|
+
},
|
|
1147
1167
|
"last_feeding_size": {
|
|
1148
1168
|
"name": "Senaste foderstorlek"
|
|
1149
1169
|
},
|
|
@@ -1153,6 +1173,9 @@
|
|
|
1153
1173
|
"last_illumination_state": {
|
|
1154
1174
|
"name": "Senaste belysningstillst\u00e5nd"
|
|
1155
1175
|
},
|
|
1176
|
+
"last_pin_code": {
|
|
1177
|
+
"name": "Senaste PIN-kod"
|
|
1178
|
+
},
|
|
1156
1179
|
"last_valve_open_duration": {
|
|
1157
1180
|
"name": "Senaste ventil\u00f6ppningstid"
|
|
1158
1181
|
},
|
|
@@ -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
|
|
|
@@ -38,26 +38,38 @@
|
|
|
38
38
|
},
|
|
39
39
|
"step": {
|
|
40
40
|
"configure_addon_user": {
|
|
41
|
+
"data": {
|
|
42
|
+
"usb_path": "[%key:common::config_flow::data::usb_path%]"
|
|
43
|
+
},
|
|
44
|
+
"description": "Select your Z-Wave adapter",
|
|
45
|
+
"title": "Enter the Z-Wave add-on configuration"
|
|
46
|
+
},
|
|
47
|
+
"network_type": {
|
|
48
|
+
"data": {
|
|
49
|
+
"network_type": "Is your network new or does it already exist?"
|
|
50
|
+
},
|
|
51
|
+
"title": "Z-Wave network"
|
|
52
|
+
},
|
|
53
|
+
"configure_security_keys": {
|
|
41
54
|
"data": {
|
|
42
55
|
"lr_s2_access_control_key": "Long Range S2 Access Control Key",
|
|
43
56
|
"lr_s2_authenticated_key": "Long Range S2 Authenticated Key",
|
|
44
57
|
"s0_legacy_key": "S0 Key (Legacy)",
|
|
45
58
|
"s2_access_control_key": "S2 Access Control Key",
|
|
46
59
|
"s2_authenticated_key": "S2 Authenticated Key",
|
|
47
|
-
"s2_unauthenticated_key": "S2 Unauthenticated Key"
|
|
48
|
-
"usb_path": "[%key:common::config_flow::data::usb_path%]"
|
|
60
|
+
"s2_unauthenticated_key": "S2 Unauthenticated Key"
|
|
49
61
|
},
|
|
50
|
-
"description": "
|
|
51
|
-
"title": "
|
|
62
|
+
"description": "Enter the security keys for your existing Z-Wave network",
|
|
63
|
+
"title": "Security keys"
|
|
52
64
|
},
|
|
53
65
|
"configure_addon_reconfigure": {
|
|
54
66
|
"data": {
|
|
55
|
-
"lr_s2_access_control_key": "[%key:component::zwave_js::config::step::
|
|
56
|
-
"lr_s2_authenticated_key": "[%key:component::zwave_js::config::step::
|
|
57
|
-
"s0_legacy_key": "[%key:component::zwave_js::config::step::
|
|
58
|
-
"s2_access_control_key": "[%key:component::zwave_js::config::step::
|
|
59
|
-
"s2_authenticated_key": "[%key:component::zwave_js::config::step::
|
|
60
|
-
"s2_unauthenticated_key": "[%key:component::zwave_js::config::step::
|
|
67
|
+
"lr_s2_access_control_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::lr_s2_access_control_key%]",
|
|
68
|
+
"lr_s2_authenticated_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::lr_s2_authenticated_key%]",
|
|
69
|
+
"s0_legacy_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::s0_legacy_key%]",
|
|
70
|
+
"s2_access_control_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::s2_access_control_key%]",
|
|
71
|
+
"s2_authenticated_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::s2_authenticated_key%]",
|
|
72
|
+
"s2_unauthenticated_key": "[%key:component::zwave_js::config::step::configure_security_keys::data::s2_unauthenticated_key%]",
|
|
61
73
|
"usb_path": "[%key:common::config_flow::data::usb_path%]"
|
|
62
74
|
},
|
|
63
75
|
"description": "[%key:component::zwave_js::config::step::configure_addon_user::description%]",
|
|
@@ -108,13 +120,9 @@
|
|
|
108
120
|
"intent_reconfigure": "Re-configure the current controller"
|
|
109
121
|
}
|
|
110
122
|
},
|
|
111
|
-
"intent_migrate": {
|
|
112
|
-
"title": "[%key:component::zwave_js::config::step::reconfigure::menu_options::intent_migrate%]",
|
|
113
|
-
"description": "Before setting up your new controller, your old controller needs to be reset. A backup will be performed first.\n\nDo you wish to continue?"
|
|
114
|
-
},
|
|
115
123
|
"instruct_unplug": {
|
|
116
124
|
"title": "Unplug your old controller",
|
|
117
|
-
"description": "Backup saved to \"{file_path}\"\n\nYour old controller has been reset.
|
|
125
|
+
"description": "Backup saved to \"{file_path}\"\n\nYour old controller has not been reset. You should now unplug it to prevent it from interfering with the new controller.\n\nPlease make sure your new controller is plugged in before continuing."
|
|
118
126
|
},
|
|
119
127
|
"restore_failed": {
|
|
120
128
|
"title": "Restoring unsuccessful",
|
|
@@ -626,5 +634,13 @@
|
|
|
626
634
|
},
|
|
627
635
|
"name": "Set a value (advanced)"
|
|
628
636
|
}
|
|
637
|
+
},
|
|
638
|
+
"selector": {
|
|
639
|
+
"network_type": {
|
|
640
|
+
"options": {
|
|
641
|
+
"new": "It's new",
|
|
642
|
+
"existing": "It already exists"
|
|
643
|
+
}
|
|
644
|
+
}
|
|
629
645
|
}
|
|
630
646
|
}
|
|
@@ -32,9 +32,6 @@
|
|
|
32
32
|
"instruct_unplug": {
|
|
33
33
|
"title": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u0442\u0435 \u0441\u0442\u0430\u0440\u0438\u044f \u0441\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440"
|
|
34
34
|
},
|
|
35
|
-
"intent_migrate": {
|
|
36
|
-
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440"
|
|
37
|
-
},
|
|
38
35
|
"manual": {
|
|
39
36
|
"data": {
|
|
40
37
|
"url": "URL"
|
|
@@ -45,12 +45,6 @@
|
|
|
45
45
|
},
|
|
46
46
|
"configure_addon_reconfigure": {
|
|
47
47
|
"data": {
|
|
48
|
-
"lr_s2_access_control_key": "Kl\u00ed\u010d pro \u0159\u00edzen\u00ed p\u0159\u00edstupu S2 s dlouh\u00fdm dosahem",
|
|
49
|
-
"lr_s2_authenticated_key": "Kl\u00ed\u010d ov\u011b\u0159en\u00fd S2 s dlouh\u00fdm dosahem",
|
|
50
|
-
"s0_legacy_key": "Kl\u00ed\u010d S0 (star\u0161\u00ed)",
|
|
51
|
-
"s2_access_control_key": "P\u0159\u00edstupov\u00fd kl\u00ed\u010d S2",
|
|
52
|
-
"s2_authenticated_key": "Ov\u011b\u0159en\u00fd kl\u00ed\u010d S2",
|
|
53
|
-
"s2_unauthenticated_key": "Neov\u011b\u0159en\u00fd kl\u00ed\u010d S2",
|
|
54
48
|
"usb_path": "Cesta k USB za\u0159\u00edzen\u00ed"
|
|
55
49
|
},
|
|
56
50
|
"description": "Vyberte sv\u016fj adapt\u00e9r Z-Wave",
|
|
@@ -58,12 +52,6 @@
|
|
|
58
52
|
},
|
|
59
53
|
"configure_addon_user": {
|
|
60
54
|
"data": {
|
|
61
|
-
"lr_s2_access_control_key": "Kl\u00ed\u010d pro \u0159\u00edzen\u00ed p\u0159\u00edstupu S2 s dlouh\u00fdm dosahem",
|
|
62
|
-
"lr_s2_authenticated_key": "Kl\u00ed\u010d ov\u011b\u0159en\u00fd S2 s dlouh\u00fdm dosahem",
|
|
63
|
-
"s0_legacy_key": "Kl\u00ed\u010d S0 (star\u0161\u00ed)",
|
|
64
|
-
"s2_access_control_key": "P\u0159\u00edstupov\u00fd kl\u00ed\u010d S2",
|
|
65
|
-
"s2_authenticated_key": "Ov\u011b\u0159en\u00fd kl\u00ed\u010d S2",
|
|
66
|
-
"s2_unauthenticated_key": "Neov\u011b\u0159en\u00fd kl\u00ed\u010d S2",
|
|
67
55
|
"usb_path": "Cesta k USB za\u0159\u00edzen\u00ed"
|
|
68
56
|
},
|
|
69
57
|
"description": "Vyberte sv\u016fj adapt\u00e9r Z-Wave",
|
|
@@ -84,13 +72,8 @@
|
|
|
84
72
|
"title": "Nastavit Z-Wave"
|
|
85
73
|
},
|
|
86
74
|
"instruct_unplug": {
|
|
87
|
-
"description": "Z\u00e1loha byla ulo\u017eena do \"{file_path}\".\n \nV\u00e1\u0161 star\u00fd ovlada\u010d byl resetov\u00e1n. Pokud ji\u017e hardware nepot\u0159ebujete, m\u016f\u017eete jej nyn\u00ed odpojit.\n\nNe\u017e budete pokra\u010dovat, ujist\u011bte se, \u017ee je v\u00e1\u0161 nov\u00fd ovlada\u010d zapojen.",
|
|
88
75
|
"title": "Odpojte star\u00fd ovlada\u010d"
|
|
89
76
|
},
|
|
90
|
-
"intent_migrate": {
|
|
91
|
-
"description": "P\u0159ed nastaven\u00edm nov\u00e9ho ovlada\u010de je t\u0159eba resetovat v\u00e1\u0161 star\u00fd ovlada\u010d. Nejprve bude provedena z\u00e1loha.\n\nChcete pokra\u010dovat?",
|
|
92
|
-
"title": "Migrujte na nov\u00fd \u0159adi\u010d"
|
|
93
|
-
},
|
|
94
77
|
"manual": {
|
|
95
78
|
"data": {
|
|
96
79
|
"url": "URL"
|