homeassistant 2025.10.0b4__py3-none-any.whl → 2025.10.0b6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of homeassistant might be problematic. Click here for more details.
- homeassistant/brands/eltako.json +5 -0
- homeassistant/brands/konnected.json +5 -0
- homeassistant/brands/level.json +5 -0
- homeassistant/components/accuweather/translations/bg.json +7 -1
- homeassistant/components/accuweather/translations/id.json +9 -0
- homeassistant/components/adax/translations/fy.json +11 -0
- homeassistant/components/adguard/translations/zh-Hant.json +1 -1
- homeassistant/components/airos/translations/bg.json +8 -0
- homeassistant/components/airos/translations/ca.json +8 -0
- homeassistant/components/airos/translations/cs.json +12 -0
- homeassistant/components/airos/translations/es.json +12 -0
- homeassistant/components/airos/translations/et.json +12 -0
- homeassistant/components/airos/translations/fr.json +18 -0
- homeassistant/components/airos/translations/fy.json +11 -0
- homeassistant/components/airos/translations/id.json +36 -0
- homeassistant/components/airos/translations/lt.json +12 -0
- homeassistant/components/airos/translations/lv.json +1 -0
- homeassistant/components/airos/translations/pt.json +12 -0
- homeassistant/components/airos/translations/sk.json +12 -0
- homeassistant/components/airos/translations/sv.json +40 -1
- homeassistant/components/airos/translations/zh-Hans.json +12 -0
- homeassistant/components/airos/translations/zh-Hant.json +12 -0
- homeassistant/components/airtouch5/translations/da.json +9 -0
- homeassistant/components/airzone/translations/fr.json +9 -0
- homeassistant/components/airzone/translations/lt.json +10 -0
- homeassistant/components/aladdin_connect/config_flow.py +11 -0
- homeassistant/components/aladdin_connect/strings.json +2 -1
- homeassistant/components/aladdin_connect/translations/cs.json +1 -0
- homeassistant/components/aladdin_connect/translations/de.json +1 -0
- homeassistant/components/aladdin_connect/translations/en-GB.json +1 -0
- homeassistant/components/aladdin_connect/translations/en.json +1 -0
- homeassistant/components/aladdin_connect/translations/es.json +1 -0
- homeassistant/components/aladdin_connect/translations/et.json +1 -0
- homeassistant/components/aladdin_connect/translations/id.json +28 -1
- homeassistant/components/aladdin_connect/translations/lt.json +1 -0
- homeassistant/components/aladdin_connect/translations/pt.json +1 -0
- homeassistant/components/alexa_devices/binary_sensor.py +0 -7
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/translations/fy.json +16 -0
- homeassistant/components/alexa_devices/translations/id.json +12 -0
- homeassistant/components/analytics/analytics.py +24 -13
- homeassistant/components/androidtv_remote/translations/id.json +7 -1
- homeassistant/components/anthropic/translations/id.json +2 -1
- homeassistant/components/aosmith/translations/id.json +9 -0
- homeassistant/components/apcupsd/translations/id.json +6 -0
- homeassistant/components/august/translations/id.json +25 -1
- homeassistant/components/bayesian/binary_sensor.py +7 -0
- homeassistant/components/bayesian/translations/id.json +62 -0
- homeassistant/components/blue_current/translations/bg.json +18 -0
- homeassistant/components/blue_current/translations/fr.json +9 -0
- homeassistant/components/blue_current/translations/lt.json +44 -0
- homeassistant/components/broadlink/translations/zh-Hant.json +1 -1
- homeassistant/components/brother/translations/id.json +21 -0
- homeassistant/components/bsblan/translations/fy.json +16 -0
- homeassistant/components/bsblan/translations/id.json +17 -2
- homeassistant/components/cast/translations/pl.json +14 -0
- homeassistant/components/coinbase/translations/id.json +5 -0
- homeassistant/components/compit/translations/bg.json +25 -0
- homeassistant/components/compit/translations/fy.json +16 -0
- homeassistant/components/compit/translations/id.json +25 -0
- homeassistant/components/cover/translations/da.json +20 -1
- homeassistant/components/cync/translations/bg.json +20 -0
- homeassistant/components/cync/translations/ca.json +12 -0
- homeassistant/components/cync/translations/fr.json +32 -0
- homeassistant/components/cync/translations/fy.json +11 -0
- homeassistant/components/cync/translations/id.json +20 -0
- homeassistant/components/cync/translations/lt.json +32 -0
- homeassistant/components/datadog/translations/id.json +28 -0
- homeassistant/components/deconz/translations/zh-Hant.json +1 -1
- homeassistant/components/deluge/translations/bg.json +6 -0
- homeassistant/components/devolo_home_control/translations/fy.json +11 -0
- homeassistant/components/devolo_home_network/translations/fy.json +10 -0
- homeassistant/components/dnsip/sensor.py +17 -4
- homeassistant/components/droplet/translations/id.json +17 -0
- homeassistant/components/ebusd/__init__.py +5 -1
- homeassistant/components/ecobee/strings.json +2 -2
- homeassistant/components/ecobee/translations/cs.json +2 -2
- homeassistant/components/ecobee/translations/de.json +3 -3
- homeassistant/components/ecobee/translations/el.json +1 -2
- homeassistant/components/ecobee/translations/en-GB.json +2 -2
- homeassistant/components/ecobee/translations/en.json +2 -2
- homeassistant/components/ecobee/translations/es.json +2 -2
- homeassistant/components/ecobee/translations/et.json +2 -2
- homeassistant/components/ecobee/translations/ga.json +1 -5
- homeassistant/components/ecobee/translations/hu.json +1 -5
- homeassistant/components/ecobee/translations/it.json +1 -5
- homeassistant/components/ecobee/translations/ja.json +1 -5
- homeassistant/components/ecobee/translations/lt.json +2 -2
- homeassistant/components/ecobee/translations/pt.json +2 -2
- homeassistant/components/ecobee/translations/ru.json +1 -5
- homeassistant/components/ecobee/translations/sk.json +1 -5
- homeassistant/components/ecobee/translations/sv.json +1 -5
- homeassistant/components/ecobee/translations/tr.json +1 -5
- homeassistant/components/ecobee/translations/zh-Hans.json +1 -5
- homeassistant/components/ecobee/translations/zh-Hant.json +1 -5
- homeassistant/components/ecovacs/image.py +3 -1
- homeassistant/components/ecovacs/manifest.json +1 -1
- homeassistant/components/ecowitt/manifest.json +1 -1
- homeassistant/components/eheimdigital/translations/id.json +7 -1
- homeassistant/components/ekeybionyx/translations/bg.json +26 -0
- homeassistant/components/ekeybionyx/translations/fr.json +32 -0
- homeassistant/components/ekeybionyx/translations/id.json +24 -0
- homeassistant/components/ekeybionyx/translations/lt.json +66 -0
- homeassistant/components/elevenlabs/translations/id.json +2 -1
- homeassistant/components/elkm1/translations/fy.json +11 -0
- homeassistant/components/elkm1/translations/id.json +6 -0
- homeassistant/components/emoncms/translations/id.json +9 -0
- homeassistant/components/enphase_envoy/translations/id.json +1 -0
- homeassistant/components/ephember/climate.py +12 -2
- homeassistant/components/esphome/analytics.py +11 -0
- homeassistant/components/esphome/translations/pl.json +4 -2
- homeassistant/components/fan/translations/id.json +3 -0
- homeassistant/components/file/translations/bg.json +17 -0
- homeassistant/components/flick_electric/translations/zh-Hant.json +2 -2
- homeassistant/components/fritz/diagnostics.py +3 -0
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/geocaching/translations/bg.json +13 -0
- homeassistant/components/google_generative_ai_conversation/translations/id.json +29 -1
- homeassistant/components/hassio/translations/bg.json +3 -0
- homeassistant/components/hassio/translations/id.json +29 -0
- homeassistant/components/holiday/translations/zh-Hant.json +2 -2
- homeassistant/components/homeassistant/translations/id.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/config_flow.py +6 -0
- homeassistant/components/homeassistant_connect_zbt2/strings.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/bg.json +64 -6
- homeassistant/components/homeassistant_connect_zbt2/translations/ca.json +2 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/cs.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/de.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/el.json +2 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/en-GB.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/en.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/es.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/et.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/fr.json +16 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/ga.json +2 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/he.json +2 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/id.json +238 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/nl.json +2 -4
- homeassistant/components/homeassistant_connect_zbt2/translations/pl.json +1 -2
- homeassistant/components/homeassistant_connect_zbt2/translations/pt.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/ru.json +21 -6
- homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +6 -12
- homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hans.json +2 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hant.json +22 -12
- homeassistant/components/homeassistant_connect_zbt2/update.py +2 -1
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +24 -67
- homeassistant/components/homeassistant_hardware/manifest.json +1 -1
- homeassistant/components/homeassistant_hardware/strings.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/bg.json +40 -0
- homeassistant/components/homeassistant_hardware/translations/ca.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/cs.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/de.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/el.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/en.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/es.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/et.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/fr.json +7 -8
- homeassistant/components/homeassistant_hardware/translations/ga.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/he.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/hu.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/id.json +54 -4
- homeassistant/components/homeassistant_hardware/translations/it.json +0 -3
- homeassistant/components/homeassistant_hardware/translations/ja.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/ko.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/lt.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/mk.json +0 -3
- homeassistant/components/homeassistant_hardware/translations/nl.json +0 -3
- homeassistant/components/homeassistant_hardware/translations/pt.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/ru.json +11 -5
- homeassistant/components/homeassistant_hardware/translations/sk.json +10 -7
- homeassistant/components/homeassistant_hardware/translations/sv.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/tr.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +0 -11
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +11 -5
- homeassistant/components/homeassistant_hardware/update.py +8 -3
- homeassistant/components/homeassistant_hardware/util.py +22 -5
- homeassistant/components/homeassistant_sky_connect/strings.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/bg.json +72 -4
- homeassistant/components/homeassistant_sky_connect/translations/ca.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/cs.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/de.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/en.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/es.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/et.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/fi.json +2 -4
- homeassistant/components/homeassistant_sky_connect/translations/fr.json +16 -8
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/he.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/hu.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/id.json +96 -18
- homeassistant/components/homeassistant_sky_connect/translations/it.json +2 -4
- homeassistant/components/homeassistant_sky_connect/translations/ja.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/ko.json +2 -12
- homeassistant/components/homeassistant_sky_connect/translations/lt.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/nl.json +2 -4
- homeassistant/components/homeassistant_sky_connect/translations/pl.json +2 -4
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/ru.json +22 -12
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +6 -12
- homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/tr.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -8
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +22 -12
- homeassistant/components/homeassistant_sky_connect/update.py +2 -1
- homeassistant/components/homeassistant_yellow/config_flow.py +7 -1
- homeassistant/components/homeassistant_yellow/strings.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/bg.json +32 -3
- homeassistant/components/homeassistant_yellow/translations/ca.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/cs.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/de.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/el.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/en.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/es.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/et.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/fr.json +8 -4
- homeassistant/components/homeassistant_yellow/translations/ga.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/he.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/hu.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/id.json +49 -9
- homeassistant/components/homeassistant_yellow/translations/it.json +1 -2
- homeassistant/components/homeassistant_yellow/translations/ja.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/ko.json +0 -2
- homeassistant/components/homeassistant_yellow/translations/lt.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/nl.json +1 -2
- homeassistant/components/homeassistant_yellow/translations/pt.json +11 -6
- homeassistant/components/homeassistant_yellow/translations/ru.json +5 -6
- homeassistant/components/homeassistant_yellow/translations/sk.json +3 -6
- homeassistant/components/homeassistant_yellow/translations/sv.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/tr.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +1 -4
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +11 -6
- homeassistant/components/homeassistant_yellow/update.py +2 -1
- homeassistant/components/homee/translations/fy.json +14 -0
- homeassistant/components/homee/translations/id.json +14 -0
- homeassistant/components/hue/v2/binary_sensor.py +5 -1
- homeassistant/components/husqvarna_automower/translations/da.json +16 -0
- homeassistant/components/husqvarna_automower/translations/id.json +18 -0
- homeassistant/components/husqvarna_automower_ble/translations/id.json +4 -0
- homeassistant/components/icloud/translations/id.json +3 -0
- homeassistant/components/imeon_inverter/translations/fy.json +11 -0
- homeassistant/components/imeon_inverter/translations/id.json +10 -0
- homeassistant/components/improv_ble/translations/fy.json +7 -0
- homeassistant/components/irm_kmi/translations/bg.json +49 -0
- homeassistant/components/irm_kmi/translations/id.json +28 -0
- homeassistant/components/ista_ecotrend/translations/fy.json +11 -0
- homeassistant/components/keenetic_ndms2/translations/id.json +2 -1
- homeassistant/components/knx/translations/fr.json +3 -0
- homeassistant/components/knx/translations/id.json +3 -0
- homeassistant/components/konnected/__init__.py +14 -1
- homeassistant/components/konnected/manifest.json +1 -1
- homeassistant/components/konnected/strings.json +6 -0
- homeassistant/components/konnected/translations/cs.json +6 -0
- homeassistant/components/konnected/translations/de.json +6 -0
- homeassistant/components/konnected/translations/en-GB.json +6 -0
- homeassistant/components/konnected/translations/en.json +6 -0
- homeassistant/components/konnected/translations/es.json +6 -0
- homeassistant/components/konnected/translations/et.json +6 -0
- homeassistant/components/konnected/translations/lt.json +6 -0
- homeassistant/components/konnected/translations/pt.json +6 -0
- homeassistant/components/konnected/translations/sk.json +6 -0
- homeassistant/components/konnected/translations/zh-Hant.json +6 -0
- homeassistant/components/konnected_esphome/__init__.py +1 -0
- homeassistant/components/konnected_esphome/manifest.json +6 -0
- homeassistant/components/letpot/number.py +2 -1
- homeassistant/components/letpot/strings.json +1 -2
- homeassistant/components/letpot/translations/cs.json +1 -2
- homeassistant/components/letpot/translations/de.json +1 -2
- homeassistant/components/letpot/translations/en-GB.json +1 -2
- homeassistant/components/letpot/translations/en.json +1 -2
- homeassistant/components/letpot/translations/es.json +1 -2
- homeassistant/components/letpot/translations/et.json +1 -2
- homeassistant/components/letpot/translations/fr.json +9 -0
- homeassistant/components/letpot/translations/ga.json +1 -2
- homeassistant/components/letpot/translations/id.json +10 -0
- homeassistant/components/letpot/translations/lt.json +9 -0
- homeassistant/components/letpot/translations/nl.json +0 -5
- homeassistant/components/letpot/translations/pt.json +1 -2
- homeassistant/components/letpot/translations/sk.json +1 -2
- homeassistant/components/letpot/translations/zh-Hans.json +1 -2
- homeassistant/components/letpot/translations/zh-Hant.json +1 -2
- homeassistant/components/lg_thinq/translations/bg.json +9 -0
- homeassistant/components/lg_thinq/translations/id.json +5 -2
- homeassistant/components/libre_hardware_monitor/translations/id.json +19 -0
- homeassistant/components/lifx/translations/zh-Hant.json +1 -1
- homeassistant/components/light/translations/id.json +2 -1
- homeassistant/components/litterrobot/translations/bg.json +5 -0
- homeassistant/components/litterrobot/translations/id.json +15 -0
- homeassistant/components/lovelace/translations/pl.json +6 -1
- homeassistant/components/mastodon/translations/bg.json +3 -0
- homeassistant/components/matter/translations/bg.json +3 -0
- homeassistant/components/matter/translations/da.json +7 -0
- homeassistant/components/mcp/strings.json +20 -1
- homeassistant/components/mcp/translations/bg.json +1 -0
- homeassistant/components/mcp/translations/cs.json +20 -1
- homeassistant/components/mcp/translations/de.json +20 -1
- homeassistant/components/mcp/translations/en-GB.json +20 -1
- homeassistant/components/mcp/translations/en.json +20 -1
- homeassistant/components/mcp/translations/es.json +20 -1
- homeassistant/components/mcp/translations/et.json +20 -1
- homeassistant/components/mcp/translations/fr.json +20 -1
- homeassistant/components/mcp/translations/id.json +8 -1
- homeassistant/components/mcp/translations/lt.json +20 -1
- homeassistant/components/mcp/translations/pt.json +20 -1
- homeassistant/components/mcp/translations/sk.json +20 -1
- homeassistant/components/mcp/translations/zh-Hant.json +20 -1
- homeassistant/components/media_extractor/manifest.json +1 -1
- homeassistant/components/motioneye/translations/zh-Hant.json +1 -1
- homeassistant/components/mqtt/strings.json +2 -0
- homeassistant/components/mqtt/translations/bg.json +1 -0
- homeassistant/components/mqtt/translations/cs.json +2 -0
- homeassistant/components/mqtt/translations/da.json +19 -0
- homeassistant/components/mqtt/translations/de.json +2 -0
- homeassistant/components/mqtt/translations/en-GB.json +2 -0
- homeassistant/components/mqtt/translations/en.json +2 -0
- homeassistant/components/mqtt/translations/es.json +2 -0
- homeassistant/components/mqtt/translations/et.json +2 -0
- homeassistant/components/mqtt/translations/fr.json +2 -0
- homeassistant/components/mqtt/translations/fy.json +9 -0
- homeassistant/components/mqtt/translations/id.json +6 -0
- homeassistant/components/mqtt/translations/lt.json +2 -0
- homeassistant/components/mqtt/translations/nl.json +9 -0
- homeassistant/components/mqtt/translations/pt.json +2 -0
- homeassistant/components/mqtt/translations/ru.json +2 -0
- homeassistant/components/mqtt/translations/zh-Hant.json +3 -1
- homeassistant/components/music_assistant/translations/fr.json +7 -0
- homeassistant/components/nasweb/translations/id.json +10 -0
- homeassistant/components/nederlandse_spoorwegen/translations/id.json +28 -0
- homeassistant/components/nightscout/translations/zh-Hant.json +1 -1
- homeassistant/components/niko_home_control/translations/id.json +7 -1
- homeassistant/components/nina/translations/cs.json +3 -1
- homeassistant/components/nina/translations/de.json +1 -1
- homeassistant/components/nina/translations/es.json +3 -1
- homeassistant/components/nina/translations/et.json +2 -0
- homeassistant/components/nina/translations/lt.json +3 -1
- homeassistant/components/nina/translations/pt.json +3 -1
- homeassistant/components/nina/translations/sk.json +3 -1
- homeassistant/components/nina/translations/zh-Hans.json +3 -1
- homeassistant/components/nina/translations/zh-Hant.json +3 -1
- homeassistant/components/nordpool/translations/bg.json +8 -0
- homeassistant/components/ntfy/translations/fy.json +30 -0
- homeassistant/components/ntfy/translations/id.json +11 -0
- homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
- homeassistant/components/number/const.py +2 -5
- homeassistant/components/number/strings.json +3 -0
- homeassistant/components/number/translations/cs.json +3 -0
- homeassistant/components/number/translations/de.json +3 -0
- homeassistant/components/number/translations/en-GB.json +3 -0
- homeassistant/components/number/translations/en.json +3 -0
- homeassistant/components/number/translations/es.json +3 -0
- homeassistant/components/number/translations/et.json +3 -0
- homeassistant/components/number/translations/fr.json +3 -0
- homeassistant/components/number/translations/lt.json +3 -0
- homeassistant/components/number/translations/pt.json +3 -0
- homeassistant/components/number/translations/ru.json +3 -0
- homeassistant/components/number/translations/zh-Hant.json +3 -0
- homeassistant/components/ohme/translations/fy.json +11 -0
- homeassistant/components/ollama/translations/id.json +18 -1
- homeassistant/components/open_router/translations/id.json +40 -0
- homeassistant/components/openai_conversation/translations/id.json +26 -1
- homeassistant/components/opower/translations/fy.json +5 -0
- homeassistant/components/opower/translations/id.json +6 -0
- homeassistant/components/overkiz/translations/id.json +1 -0
- homeassistant/components/peco/translations/zh-Hant.json +1 -1
- homeassistant/components/pi_hole/__init__.py +9 -3
- homeassistant/components/playstation_network/translations/id.json +8 -0
- homeassistant/components/plex/translations/zh-Hant.json +1 -1
- homeassistant/components/pooldose/translations/bg.json +9 -0
- homeassistant/components/pooldose/translations/id.json +49 -0
- homeassistant/components/portainer/__init__.py +27 -3
- homeassistant/components/portainer/config_flow.py +14 -10
- homeassistant/components/portainer/coordinator.py +2 -2
- homeassistant/components/portainer/strings.json +5 -5
- homeassistant/components/portainer/translations/bg.json +2 -2
- homeassistant/components/portainer/translations/ca.json +3 -2
- homeassistant/components/portainer/translations/cs.json +7 -5
- homeassistant/components/portainer/translations/de.json +5 -5
- homeassistant/components/portainer/translations/el.json +0 -8
- homeassistant/components/portainer/translations/en-GB.json +5 -5
- homeassistant/components/portainer/translations/en.json +5 -5
- homeassistant/components/portainer/translations/es.json +7 -5
- homeassistant/components/portainer/translations/et.json +7 -5
- homeassistant/components/portainer/translations/fr.json +18 -0
- homeassistant/components/portainer/translations/ga.json +0 -13
- homeassistant/components/portainer/translations/he.json +0 -8
- homeassistant/components/portainer/translations/id.json +22 -0
- homeassistant/components/portainer/translations/lt.json +7 -5
- homeassistant/components/portainer/translations/nl.json +0 -8
- homeassistant/components/portainer/translations/pt.json +7 -5
- homeassistant/components/portainer/translations/ru.json +7 -5
- homeassistant/components/portainer/translations/sk.json +7 -5
- homeassistant/components/portainer/translations/sl.json +0 -13
- homeassistant/components/portainer/translations/zh-Hans.json +7 -5
- homeassistant/components/portainer/translations/zh-Hant.json +7 -5
- homeassistant/components/pyload/translations/id.json +6 -0
- homeassistant/components/pyload/translations/zh-Hant.json +1 -1
- homeassistant/components/qbittorrent/translations/cs.json +4 -4
- homeassistant/components/random/strings.json +1 -0
- homeassistant/components/random/translations/cs.json +1 -0
- homeassistant/components/random/translations/de.json +1 -0
- homeassistant/components/random/translations/en-GB.json +1 -0
- homeassistant/components/random/translations/en.json +1 -0
- homeassistant/components/random/translations/es.json +1 -0
- homeassistant/components/random/translations/et.json +1 -0
- homeassistant/components/random/translations/fr.json +1 -0
- homeassistant/components/random/translations/lt.json +1 -0
- homeassistant/components/random/translations/pt.json +1 -0
- homeassistant/components/random/translations/ru.json +1 -0
- homeassistant/components/random/translations/zh-Hant.json +1 -0
- homeassistant/components/recorder/statistics.py +0 -5
- homeassistant/components/recorder/websocket_api.py +0 -4
- homeassistant/components/rehlko/translations/fy.json +16 -0
- homeassistant/components/remote/translations/id.json +3 -0
- homeassistant/components/remote_calendar/translations/id.json +2 -1
- homeassistant/components/reolink/manifest.json +1 -1
- homeassistant/components/reolink/translations/es.json +4 -4
- homeassistant/components/roomba/translations/bg.json +1 -2
- homeassistant/components/roomba/translations/ca.json +2 -4
- homeassistant/components/roomba/translations/el.json +2 -4
- homeassistant/components/roomba/translations/en-GB.json +2 -2
- homeassistant/components/roomba/translations/en.json +2 -2
- homeassistant/components/roomba/translations/fi.json +2 -4
- homeassistant/components/roomba/translations/fr.json +2 -4
- homeassistant/components/roomba/translations/ga.json +2 -4
- homeassistant/components/roomba/translations/he.json +1 -5
- homeassistant/components/roomba/translations/hu.json +2 -4
- homeassistant/components/roomba/translations/id.json +2 -4
- homeassistant/components/roomba/translations/it.json +2 -4
- homeassistant/components/roomba/translations/ja.json +2 -4
- homeassistant/components/roomba/translations/ko.json +2 -4
- homeassistant/components/roomba/translations/lb.json +1 -5
- homeassistant/components/roomba/translations/lt.json +2 -2
- homeassistant/components/roomba/translations/nb.json +1 -5
- homeassistant/components/roomba/translations/nl.json +2 -4
- homeassistant/components/roomba/translations/pl.json +1 -5
- homeassistant/components/roomba/translations/pt-BR.json +1 -5
- homeassistant/components/roomba/translations/pt.json +2 -2
- homeassistant/components/roomba/translations/ro.json +1 -5
- homeassistant/components/roomba/translations/ru.json +2 -4
- homeassistant/components/roomba/translations/sk.json +2 -4
- homeassistant/components/roomba/translations/sv.json +2 -4
- homeassistant/components/roomba/translations/tr.json +2 -4
- homeassistant/components/roomba/translations/uk.json +1 -5
- homeassistant/components/roomba/translations/zh-Hans.json +2 -4
- homeassistant/components/roomba/translations/zh-Hant.json +2 -4
- homeassistant/components/route_b_smart_meter/translations/bg.json +24 -0
- homeassistant/components/route_b_smart_meter/translations/fr.json +36 -0
- homeassistant/components/route_b_smart_meter/translations/fy.json +14 -0
- homeassistant/components/route_b_smart_meter/translations/id.json +24 -0
- homeassistant/components/route_b_smart_meter/translations/lt.json +42 -0
- homeassistant/components/satel_integra/__init__.py +6 -0
- homeassistant/components/satel_integra/translations/bg.json +102 -0
- homeassistant/components/satel_integra/translations/id.json +85 -0
- homeassistant/components/scrape/strings.json +2 -0
- homeassistant/components/scrape/translations/cs.json +2 -0
- homeassistant/components/scrape/translations/de.json +2 -0
- homeassistant/components/scrape/translations/en-GB.json +2 -0
- homeassistant/components/scrape/translations/en.json +2 -0
- homeassistant/components/scrape/translations/es.json +2 -0
- homeassistant/components/scrape/translations/et.json +2 -0
- homeassistant/components/scrape/translations/fr.json +2 -0
- homeassistant/components/scrape/translations/lt.json +2 -0
- homeassistant/components/scrape/translations/pt.json +2 -0
- homeassistant/components/scrape/translations/ru.json +2 -0
- homeassistant/components/scrape/translations/zh-Hant.json +2 -0
- homeassistant/components/sensibo/translations/pl.json +1 -0
- homeassistant/components/sensor/const.py +2 -7
- homeassistant/components/sensor/strings.json +3 -0
- homeassistant/components/sensor/translations/cs.json +3 -0
- homeassistant/components/sensor/translations/de.json +3 -0
- homeassistant/components/sensor/translations/en-GB.json +3 -0
- homeassistant/components/sensor/translations/en.json +3 -0
- homeassistant/components/sensor/translations/es.json +3 -0
- homeassistant/components/sensor/translations/et.json +3 -0
- homeassistant/components/sensor/translations/fr.json +3 -0
- homeassistant/components/sensor/translations/lt.json +3 -0
- homeassistant/components/sensor/translations/nl.json +3 -0
- homeassistant/components/sensor/translations/pl.json +3 -0
- homeassistant/components/sensor/translations/pt.json +3 -0
- homeassistant/components/sensor/translations/ru.json +3 -0
- homeassistant/components/sensor/translations/sk.json +3 -0
- homeassistant/components/sensor/translations/zh-Hant.json +3 -0
- homeassistant/components/sensorpush_cloud/translations/fy.json +11 -0
- homeassistant/components/sftp_storage/translations/id.json +14 -0
- homeassistant/components/shelly/icons.json +3 -0
- homeassistant/components/shelly/sensor.py +83 -3
- homeassistant/components/shelly/strings.json +12 -0
- homeassistant/components/shelly/translations/bg.json +19 -0
- homeassistant/components/shelly/translations/cs.json +12 -0
- homeassistant/components/shelly/translations/de.json +12 -0
- homeassistant/components/shelly/translations/en-GB.json +12 -0
- homeassistant/components/shelly/translations/en.json +12 -0
- homeassistant/components/shelly/translations/es.json +12 -0
- homeassistant/components/shelly/translations/et.json +12 -0
- homeassistant/components/shelly/translations/id.json +19 -0
- homeassistant/components/shelly/translations/lt.json +12 -0
- homeassistant/components/shelly/translations/lv.json +6 -0
- homeassistant/components/shelly/translations/pl.json +12 -0
- homeassistant/components/shelly/translations/pt.json +12 -0
- homeassistant/components/shelly/translations/sk.json +12 -0
- homeassistant/components/shelly/translations/zh-Hant.json +12 -0
- homeassistant/components/sleep_as_android/translations/id.json +31 -0
- homeassistant/components/sleepiq/translations/id.json +5 -0
- homeassistant/components/sma/translations/fy.json +16 -0
- homeassistant/components/smartthings/translations/fr.json +12 -0
- homeassistant/components/smartthings/translations/id.json +7 -0
- homeassistant/components/smartthings/translations/lt.json +21 -0
- homeassistant/components/snoo/translations/fy.json +9 -0
- homeassistant/components/sonos/select.py +9 -13
- homeassistant/components/sonos/speaker.py +23 -0
- homeassistant/components/sonos/translations/id.json +10 -0
- homeassistant/components/sql/strings.json +1 -0
- homeassistant/components/sql/translations/cs.json +1 -0
- homeassistant/components/sql/translations/de.json +1 -0
- homeassistant/components/sql/translations/en-GB.json +1 -0
- homeassistant/components/sql/translations/en.json +1 -0
- homeassistant/components/sql/translations/es.json +1 -0
- homeassistant/components/sql/translations/et.json +1 -0
- homeassistant/components/sql/translations/fr.json +1 -0
- homeassistant/components/sql/translations/lt.json +1 -0
- homeassistant/components/sql/translations/pt.json +1 -0
- homeassistant/components/sql/translations/ru.json +1 -0
- homeassistant/components/sql/translations/zh-Hant.json +5 -4
- homeassistant/components/switch/translations/id.json +3 -0
- homeassistant/components/switch_as_x/translations/da.json +7 -0
- homeassistant/components/switchbot/translations/fy.json +7 -0
- homeassistant/components/switchbot/translations/id.json +12 -0
- homeassistant/components/switchbot_cloud/cover.py +3 -5
- homeassistant/components/switchbot_cloud/entity.py +1 -1
- homeassistant/components/switchbot_cloud/translations/id.json +27 -0
- homeassistant/components/telegram_bot/translations/id.json +5 -0
- homeassistant/components/template/strings.json +1 -0
- homeassistant/components/template/translations/cs.json +1 -0
- homeassistant/components/template/translations/da.json +17 -0
- homeassistant/components/template/translations/de.json +1 -0
- homeassistant/components/template/translations/en-GB.json +1 -0
- homeassistant/components/template/translations/en.json +1 -0
- homeassistant/components/template/translations/es.json +1 -0
- homeassistant/components/template/translations/et.json +1 -0
- homeassistant/components/template/translations/fr.json +1 -0
- homeassistant/components/template/translations/id.json +81 -0
- homeassistant/components/template/translations/lt.json +1 -0
- homeassistant/components/template/translations/mk.json +9 -0
- homeassistant/components/template/translations/pt.json +1 -0
- homeassistant/components/template/translations/ru.json +1 -0
- homeassistant/components/template/translations/zh-Hant.json +1 -0
- homeassistant/components/teslemetry/translations/id.json +33 -0
- homeassistant/components/togrill/coordinator.py +24 -6
- homeassistant/components/togrill/translations/id.json +16 -0
- homeassistant/components/tolo/translations/bg.json +2 -1
- homeassistant/components/tolo/translations/id.json +2 -1
- homeassistant/components/traccar_server/translations/fy.json +9 -0
- homeassistant/components/traccar_server/translations/id.json +9 -1
- homeassistant/components/trafikverket_train/translations/zh-Hant.json +1 -1
- homeassistant/components/tuya/translations/da.json +8 -0
- homeassistant/components/tuya/translations/id.json +32 -0
- homeassistant/components/unifiprotect/translations/id.json +3 -0
- homeassistant/components/update/translations/id.json +3 -0
- homeassistant/components/uptime_kuma/translations/id.json +40 -0
- homeassistant/components/uptime_kuma/translations/zh-Hant.json +1 -1
- homeassistant/components/uptimerobot/translations/id.json +6 -0
- homeassistant/components/valve/translations/da.json +1 -0
- homeassistant/components/vegehub/translations/id.json +4 -0
- homeassistant/components/velbus/translations/fy.json +11 -0
- homeassistant/components/vesync/binary_sensor.py +1 -1
- homeassistant/components/vesync/translations/fy.json +9 -0
- homeassistant/components/vicare/const.py +1 -0
- homeassistant/components/victron_remote_monitoring/translations/bg.json +71 -0
- homeassistant/components/victron_remote_monitoring/translations/id.json +25 -0
- homeassistant/components/volvo/sensor.py +12 -6
- homeassistant/components/volvo/translations/id.json +58 -0
- homeassistant/components/webdav/translations/fy.json +11 -0
- homeassistant/components/whirlpool/translations/id.json +1 -0
- homeassistant/components/wled/analytics.py +11 -0
- homeassistant/components/workday/calendar.py +5 -5
- homeassistant/components/workday/config_flow.py +1 -0
- homeassistant/components/workday/translations/bg.json +5 -0
- homeassistant/components/wyoming/translations/zh-Hant.json +1 -1
- homeassistant/components/xiaomi_aqara/translations/zh-Hant.json +2 -2
- homeassistant/components/xiaomi_miio/translations/fy.json +7 -0
- homeassistant/components/yolink/translations/id.json +9 -0
- homeassistant/components/zha/config_flow.py +20 -1
- homeassistant/components/zha/radio_manager.py +4 -0
- homeassistant/components/zha/strings.json +25 -25
- homeassistant/components/zha/translations/bg.json +55 -7
- homeassistant/components/zha/translations/ca.json +0 -7
- homeassistant/components/zha/translations/cs.json +10 -10
- homeassistant/components/zha/translations/da.json +0 -9
- homeassistant/components/zha/translations/de.json +10 -10
- homeassistant/components/zha/translations/el.json +0 -9
- homeassistant/components/zha/translations/en-GB.json +10 -10
- homeassistant/components/zha/translations/en.json +10 -10
- homeassistant/components/zha/translations/es.json +10 -10
- homeassistant/components/zha/translations/et.json +10 -10
- homeassistant/components/zha/translations/fi.json +0 -9
- homeassistant/components/zha/translations/fr.json +0 -17
- homeassistant/components/zha/translations/ga.json +0 -17
- homeassistant/components/zha/translations/gsw.json +0 -7
- homeassistant/components/zha/translations/hr.json +0 -4
- homeassistant/components/zha/translations/hu.json +0 -9
- homeassistant/components/zha/translations/id.json +0 -9
- homeassistant/components/zha/translations/it.json +0 -9
- homeassistant/components/zha/translations/ja.json +0 -9
- homeassistant/components/zha/translations/ko.json +0 -9
- homeassistant/components/zha/translations/lt.json +10 -10
- homeassistant/components/zha/translations/nb.json +0 -7
- homeassistant/components/zha/translations/nl.json +6 -8
- homeassistant/components/zha/translations/pl.json +20 -8
- homeassistant/components/zha/translations/pt-BR.json +0 -7
- homeassistant/components/zha/translations/pt.json +10 -10
- homeassistant/components/zha/translations/ro.json +0 -7
- homeassistant/components/zha/translations/ru.json +1 -11
- homeassistant/components/zha/translations/sk.json +10 -10
- homeassistant/components/zha/translations/sl.json +0 -9
- homeassistant/components/zha/translations/sv.json +0 -9
- homeassistant/components/zha/translations/tr.json +0 -9
- homeassistant/components/zha/translations/uk.json +0 -7
- homeassistant/components/zha/translations/vi.json +0 -7
- homeassistant/components/zha/translations/zh-Hans.json +0 -17
- homeassistant/components/zha/translations/zh-Hant.json +10 -10
- homeassistant/const.py +1 -1
- homeassistant/generated/integrations.json +27 -4
- homeassistant/package_constraints.txt +1 -1
- homeassistant/util/unit_conversion.py +0 -16
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/METADATA +1 -1
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/RECORD +635 -572
- homeassistant/components/homeassistant_sky_connect/translations/hr.json +0 -7
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/WHEEL +0 -0
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.10.0b4.dist-info → homeassistant-2025.10.0b6.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Analytics platform."""
|
|
2
|
+
|
|
3
|
+
from homeassistant.components.analytics import AnalyticsInput, AnalyticsModifications
|
|
4
|
+
from homeassistant.core import HomeAssistant
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
async def async_modify_analytics(
|
|
8
|
+
hass: HomeAssistant, analytics_input: AnalyticsInput
|
|
9
|
+
) -> AnalyticsModifications:
|
|
10
|
+
"""Modify the analytics."""
|
|
11
|
+
return AnalyticsModifications(remove=True)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from datetime import datetime, timedelta
|
|
5
|
+
from datetime import date, datetime, timedelta
|
|
6
6
|
|
|
7
7
|
from holidays import HolidayBase
|
|
8
8
|
|
|
@@ -15,8 +15,6 @@ from . import WorkdayConfigEntry
|
|
|
15
15
|
from .const import CONF_EXCLUDES, CONF_OFFSET, CONF_WORKDAYS
|
|
16
16
|
from .entity import BaseWorkdayEntity
|
|
17
17
|
|
|
18
|
-
CALENDAR_DAYS_AHEAD = 365
|
|
19
|
-
|
|
20
18
|
|
|
21
19
|
async def async_setup_entry(
|
|
22
20
|
hass: HomeAssistant,
|
|
@@ -73,8 +71,10 @@ class WorkdayCalendarEntity(BaseWorkdayEntity, CalendarEntity):
|
|
|
73
71
|
def update_data(self, now: datetime) -> None:
|
|
74
72
|
"""Update data."""
|
|
75
73
|
event_list = []
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
start_date = date(now.year, 1, 1)
|
|
75
|
+
end_number_of_days = date(now.year + 1, 12, 31) - start_date
|
|
76
|
+
for i in range(end_number_of_days.days + 1):
|
|
77
|
+
future_date = start_date + timedelta(days=i)
|
|
78
78
|
if self.date_is_workday(future_date):
|
|
79
79
|
event = CalendarEvent(
|
|
80
80
|
summary=self._name,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"step": {
|
|
12
12
|
"hassio_confirm": {
|
|
13
|
-
"description": "\u662f\u5426\u8981\u8a2d\u5b9a Home Assistant \u4ee5\u9023\u7dda\u81f3
|
|
13
|
+
"description": "\u662f\u5426\u8981\u8a2d\u5b9a Home Assistant \u4ee5\u9023\u7dda\u81f3\u9644\u52a0\u5143\u4ef6 {addon} \u6240\u63d0\u4f9b Wyoming \u670d\u52d9\uff1f"
|
|
14
14
|
},
|
|
15
15
|
"user": {
|
|
16
16
|
"data": {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
},
|
|
31
31
|
"user": {
|
|
32
32
|
"data": {
|
|
33
|
-
"host": "IP \u4f4d\u5740\uff08\u9078\
|
|
33
|
+
"host": "IP \u4f4d\u5740\uff08\u9078\u586b\uff09",
|
|
34
34
|
"interface": "\u4f7f\u7528\u7684\u7db2\u8def\u4ecb\u9762",
|
|
35
|
-
"mac": "Mac \u4f4d\u5740\uff08\u9078\
|
|
35
|
+
"mac": "Mac \u4f4d\u5740\uff08\u9078\u586b\uff09"
|
|
36
36
|
},
|
|
37
37
|
"description": "\u5047\u5982 IP \u6216 Mac \u4f4d\u5740\u70ba\u7a7a\u767d\u3001\u5c07\u9032\u884c\u81ea\u52d5\u641c\u7d22"
|
|
38
38
|
}
|
|
@@ -20,6 +20,9 @@ from homeassistant.components import onboarding, usb
|
|
|
20
20
|
from homeassistant.components.file_upload import process_uploaded_file
|
|
21
21
|
from homeassistant.components.hassio import AddonError, AddonState
|
|
22
22
|
from homeassistant.components.homeassistant_hardware import silabs_multiprotocol_addon
|
|
23
|
+
from homeassistant.components.homeassistant_hardware.firmware_config_flow import (
|
|
24
|
+
ZigbeeFlowStrategy,
|
|
25
|
+
)
|
|
23
26
|
from homeassistant.components.homeassistant_yellow import hardware as yellow_hardware
|
|
24
27
|
from homeassistant.config_entries import (
|
|
25
28
|
SOURCE_IGNORE,
|
|
@@ -163,6 +166,7 @@ async def list_serial_ports(hass: HomeAssistant) -> list[ListPortInfo]:
|
|
|
163
166
|
class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
164
167
|
"""Mixin for common ZHA flow steps and forms."""
|
|
165
168
|
|
|
169
|
+
_flow_strategy: ZigbeeFlowStrategy | None = None
|
|
166
170
|
_hass: HomeAssistant
|
|
167
171
|
_title: str
|
|
168
172
|
|
|
@@ -316,7 +320,9 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
|
316
320
|
}
|
|
317
321
|
)
|
|
318
322
|
|
|
319
|
-
if await self._radio_mgr.radio_type.controller.probe(
|
|
323
|
+
if await self._radio_mgr.radio_type.controller.probe(
|
|
324
|
+
self._radio_mgr.device_settings
|
|
325
|
+
):
|
|
320
326
|
return await self.async_step_verify_radio()
|
|
321
327
|
|
|
322
328
|
errors["base"] = "cannot_connect"
|
|
@@ -373,6 +379,12 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
|
373
379
|
self, user_input: dict[str, Any] | None = None
|
|
374
380
|
) -> ConfigFlowResult:
|
|
375
381
|
"""Choose how to set up the integration from scratch."""
|
|
382
|
+
if self._flow_strategy == ZigbeeFlowStrategy.RECOMMENDED:
|
|
383
|
+
# Fast path: automatically form a new network
|
|
384
|
+
return await self.async_step_setup_strategy_recommended()
|
|
385
|
+
if self._flow_strategy == ZigbeeFlowStrategy.ADVANCED:
|
|
386
|
+
# Advanced path: let the user choose
|
|
387
|
+
return await self.async_step_setup_strategy_advanced()
|
|
376
388
|
|
|
377
389
|
# Allow onboarding for new users to just create a new network automatically
|
|
378
390
|
if (
|
|
@@ -406,6 +418,12 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
|
406
418
|
self, user_input: dict[str, Any] | None = None
|
|
407
419
|
) -> ConfigFlowResult:
|
|
408
420
|
"""Choose how to deal with the current radio's settings during migration."""
|
|
421
|
+
if self._flow_strategy == ZigbeeFlowStrategy.RECOMMENDED:
|
|
422
|
+
# Fast path: automatically migrate everything
|
|
423
|
+
return await self.async_step_migration_strategy_recommended()
|
|
424
|
+
if self._flow_strategy == ZigbeeFlowStrategy.ADVANCED:
|
|
425
|
+
# Advanced path: let the user choose
|
|
426
|
+
return await self.async_step_migration_strategy_advanced()
|
|
409
427
|
return self.async_show_menu(
|
|
410
428
|
step_id="choose_migration_strategy",
|
|
411
429
|
menu_options=[
|
|
@@ -867,6 +885,7 @@ class ZhaConfigFlowHandler(BaseZhaFlow, ConfigFlow, domain=DOMAIN):
|
|
|
867
885
|
radio_type = self._radio_mgr.parse_radio_type(discovery_data["radio_type"])
|
|
868
886
|
device_settings = discovery_data["port"]
|
|
869
887
|
device_path = device_settings[CONF_DEVICE_PATH]
|
|
888
|
+
self._flow_strategy = discovery_data.get("flow_strategy")
|
|
870
889
|
|
|
871
890
|
await self._set_unique_id_and_update_ignored_flow(
|
|
872
891
|
unique_id=f"{name}_{radio_type.name}_{device_path}",
|
|
@@ -28,6 +28,9 @@ from zigpy.exceptions import NetworkNotFormed
|
|
|
28
28
|
|
|
29
29
|
from homeassistant import config_entries
|
|
30
30
|
from homeassistant.components import usb
|
|
31
|
+
from homeassistant.components.homeassistant_hardware.firmware_config_flow import (
|
|
32
|
+
ZigbeeFlowStrategy,
|
|
33
|
+
)
|
|
31
34
|
from homeassistant.core import HomeAssistant
|
|
32
35
|
from homeassistant.exceptions import HomeAssistantError
|
|
33
36
|
from homeassistant.helpers.service_info.usb import UsbServiceInfo
|
|
@@ -74,6 +77,7 @@ HARDWARE_DISCOVERY_SCHEMA = vol.Schema(
|
|
|
74
77
|
vol.Required("name"): str,
|
|
75
78
|
vol.Required("port"): DEVICE_SCHEMA,
|
|
76
79
|
vol.Required("radio_type"): str,
|
|
80
|
+
vol.Optional("flow_strategy"): vol.All(str, vol.Coerce(ZigbeeFlowStrategy)),
|
|
77
81
|
}
|
|
78
82
|
)
|
|
79
83
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"step": {
|
|
5
5
|
"choose_serial_port": {
|
|
6
6
|
"title": "Select a serial port",
|
|
7
|
-
"description": "Select the serial port for your Zigbee
|
|
7
|
+
"description": "Select the serial port for your Zigbee adapter",
|
|
8
8
|
"data": {
|
|
9
9
|
"path": "Serial device path"
|
|
10
10
|
}
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"description": "Do you want to set up {name}?"
|
|
17
17
|
},
|
|
18
18
|
"manual_pick_radio_type": {
|
|
19
|
-
"title": "Select
|
|
20
|
-
"description": "Pick your Zigbee
|
|
19
|
+
"title": "Select an adapter type",
|
|
20
|
+
"description": "Pick your Zigbee adapter type",
|
|
21
21
|
"data": {
|
|
22
|
-
"radio_type": "
|
|
22
|
+
"radio_type": "Adapter type"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"manual_port_config": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"verify_radio": {
|
|
40
|
-
"title": "
|
|
41
|
-
"description": "The
|
|
40
|
+
"title": "Adapter is not recommended",
|
|
41
|
+
"description": "The adapter you are using ({name}) is not recommended and support for it may be removed in the future. Please see the Zigbee Home Automation integration's documentation for [a list of recommended adapters]({docs_recommended_adapters_url})."
|
|
42
42
|
},
|
|
43
43
|
"choose_setup_strategy": {
|
|
44
44
|
"title": "Set up Zigbee",
|
|
@@ -65,16 +65,16 @@
|
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"maybe_reset_old_radio": {
|
|
68
|
-
"title": "Resetting old
|
|
69
|
-
"description": "A backup was created earlier and your old
|
|
68
|
+
"title": "Resetting old adapter",
|
|
69
|
+
"description": "A backup was created earlier and your old adapter is being reset as part of the migration."
|
|
70
70
|
},
|
|
71
71
|
"choose_formation_strategy": {
|
|
72
72
|
"title": "Network formation",
|
|
73
|
-
"description": "Choose the network settings for your
|
|
73
|
+
"description": "Choose the network settings for your adapter.",
|
|
74
74
|
"menu_options": {
|
|
75
75
|
"form_new_network": "Erase network settings and create a new network",
|
|
76
76
|
"form_initial_network": "Create a network",
|
|
77
|
-
"reuse_settings": "Keep
|
|
77
|
+
"reuse_settings": "Keep adapter network settings",
|
|
78
78
|
"choose_automatic_backup": "Restore an automatic backup",
|
|
79
79
|
"upload_manual_backup": "Upload a manual backup"
|
|
80
80
|
},
|
|
@@ -101,10 +101,10 @@
|
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
"maybe_confirm_ezsp_restore": {
|
|
104
|
-
"title": "Overwrite
|
|
105
|
-
"description": "Your backup has a different IEEE address than your
|
|
104
|
+
"title": "Overwrite adapter IEEE address",
|
|
105
|
+
"description": "Your backup has a different IEEE address than your adapter. For your network to function properly, the IEEE address of your adapter should also be changed.\n\nThis is a permanent operation.",
|
|
106
106
|
"data": {
|
|
107
|
-
"overwrite_coordinator_ieee": "Permanently replace the
|
|
107
|
+
"overwrite_coordinator_ieee": "Permanently replace the adapter IEEE address"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
},
|
|
@@ -133,23 +133,23 @@
|
|
|
133
133
|
},
|
|
134
134
|
"prompt_migrate_or_reconfigure": {
|
|
135
135
|
"title": "Migrate or re-configure",
|
|
136
|
-
"description": "Are you migrating to a new
|
|
136
|
+
"description": "Are you migrating to a new adapter or re-configuring the current adapter?",
|
|
137
137
|
"menu_options": {
|
|
138
|
-
"intent_migrate": "Migrate to a new
|
|
139
|
-
"intent_reconfigure": "Re-configure the current
|
|
138
|
+
"intent_migrate": "Migrate to a new adapter",
|
|
139
|
+
"intent_reconfigure": "Re-configure the current adapter"
|
|
140
140
|
},
|
|
141
141
|
"menu_option_descriptions": {
|
|
142
|
-
"intent_migrate": "This will help you migrate your Zigbee network from your old
|
|
143
|
-
"intent_reconfigure": "This will let you change the serial port for your current Zigbee
|
|
142
|
+
"intent_migrate": "This will help you migrate your Zigbee network from your old adapter to a new one.",
|
|
143
|
+
"intent_reconfigure": "This will let you change the serial port for your current Zigbee adapter."
|
|
144
144
|
}
|
|
145
145
|
},
|
|
146
146
|
"intent_migrate": {
|
|
147
147
|
"title": "[%key:component::zha::options::step::prompt_migrate_or_reconfigure::menu_options::intent_migrate%]",
|
|
148
|
-
"description": "Before plugging in your new
|
|
148
|
+
"description": "Before plugging in your new adapter, your old adapter needs to be reset. An automatic backup will be performed. If you are using a combined Z-Wave and Zigbee adapter like the HUSBZB-1, this will only reset the Zigbee portion.\n\n*Note: if you are migrating from a **ConBee/RaspBee**, make sure it is running firmware `0x26720700` or newer! Otherwise, some devices may not be controllable after migrating until they are power cycled.*\n\nDo you wish to continue?"
|
|
149
149
|
},
|
|
150
150
|
"instruct_unplug": {
|
|
151
|
-
"title": "Unplug your old
|
|
152
|
-
"description": "Your old
|
|
151
|
+
"title": "Unplug your old adapter",
|
|
152
|
+
"description": "Your old adapter has been reset. If the hardware is no longer needed, you can now unplug it.\n\nYou can now plug in your new adapter."
|
|
153
153
|
},
|
|
154
154
|
"choose_serial_port": {
|
|
155
155
|
"title": "[%key:component::zha::config::step::choose_serial_port::title%]",
|
|
@@ -584,12 +584,12 @@
|
|
|
584
584
|
},
|
|
585
585
|
"issues": {
|
|
586
586
|
"wrong_silabs_firmware_installed_nabucasa": {
|
|
587
|
-
"title": "Zigbee
|
|
588
|
-
"description": "Your Zigbee
|
|
587
|
+
"title": "Zigbee adapter with multiprotocol firmware detected",
|
|
588
|
+
"description": "Your Zigbee adapter was previously used with multiprotocol (Zigbee and Thread) and still has multiprotocol firmware installed: ({firmware_type}).\n\nTo run your adapter exclusively with ZHA, you need to install the Zigbee firmware:\n - Go to Settings > System > Hardware, select the device and select Configure.\n - Select the 'Migrate Zigbee to a new adapter' option and follow the instructions."
|
|
589
589
|
},
|
|
590
590
|
"wrong_silabs_firmware_installed_other": {
|
|
591
591
|
"title": "[%key:component::zha::issues::wrong_silabs_firmware_installed_nabucasa::title%]",
|
|
592
|
-
"description": "Your Zigbee
|
|
592
|
+
"description": "Your Zigbee adapter was previously used with multiprotocol (Zigbee and Thread) and still has multiprotocol firmware installed: ({firmware_type}).\n\nTo run your adapter exclusively with ZHA, you need to install Zigbee firmware. Follow your Zigbee adapter manufacturer's instructions for how to do this."
|
|
593
593
|
},
|
|
594
594
|
"inconsistent_network_settings": {
|
|
595
595
|
"title": "Zigbee network settings have changed",
|
|
@@ -597,7 +597,7 @@
|
|
|
597
597
|
"step": {
|
|
598
598
|
"init": {
|
|
599
599
|
"title": "[%key:component::zha::issues::inconsistent_network_settings::title%]",
|
|
600
|
-
"description": "Your Zigbee
|
|
600
|
+
"description": "Your Zigbee adapter's network settings are inconsistent with the most recent network backup. This usually happens if another Zigbee integration (e.g. Zigbee2MQTT or deCONZ) has overwritten them.\n\n{diff}\n\nIf you did not intentionally change your network settings, restore from the most recent backup: your devices will not work otherwise.",
|
|
601
601
|
"menu_options": {
|
|
602
602
|
"use_new_settings": "Keep the new settings",
|
|
603
603
|
"restore_old_settings": "Restore backup (recommended)"
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
"choose_formation_strategy": {
|
|
19
19
|
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043c\u0440\u0435\u0436\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0440\u0430\u0434\u0438\u043e.",
|
|
20
|
+
"menu_option_descriptions": {
|
|
21
|
+
"form_initial_network": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u043d\u043e\u0432\u0430 Zigbee \u043c\u0440\u0435\u0436\u0430.",
|
|
22
|
+
"form_new_network": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u043d\u043e\u0432\u0430 Zigbee \u043c\u0440\u0435\u0436\u0430."
|
|
23
|
+
},
|
|
20
24
|
"menu_options": {
|
|
21
25
|
"choose_automatic_backup": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435",
|
|
22
26
|
"form_initial_network": "\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0440\u0435\u0436\u0430",
|
|
@@ -25,9 +29,33 @@
|
|
|
25
29
|
"upload_manual_backup": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u044a\u0447\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435"
|
|
26
30
|
}
|
|
27
31
|
},
|
|
32
|
+
"choose_migration_strategy": {
|
|
33
|
+
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u0430\u043a \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0442\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043c\u0440\u0435\u0436\u0430 Zigbee \u043e\u0442 \u0441\u0442\u0430\u0440\u0438\u044f \u0432\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043a\u044a\u043c \u043d\u043e\u0432.",
|
|
34
|
+
"menu_option_descriptions": {
|
|
35
|
+
"migration_strategy_advanced": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0432\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u0434\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 \u043c\u0440\u0435\u0436\u0430 \u0438\u043b\u0438 \u0434\u0430 \u043a\u0430\u0447\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e.",
|
|
36
|
+
"migration_strategy_recommended": "\u0422\u043e\u0432\u0430 \u0435 \u043d\u0430\u0439-\u0431\u044a\u0440\u0437\u0438\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440."
|
|
37
|
+
},
|
|
38
|
+
"menu_options": {
|
|
39
|
+
"migration_strategy_advanced": "\u0420\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f",
|
|
40
|
+
"migration_strategy_recommended": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 (\u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0438\u0442\u0435\u043b\u043d\u043e)"
|
|
41
|
+
},
|
|
42
|
+
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
43
|
+
},
|
|
28
44
|
"choose_serial_port": {
|
|
29
45
|
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u044f \u043f\u043e\u0440\u0442 \u0437\u0430 \u0432\u0430\u0448\u0435\u0442\u043e Zigbee \u0440\u0430\u0434\u0438\u043e"
|
|
30
46
|
},
|
|
47
|
+
"choose_setup_strategy": {
|
|
48
|
+
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u0430\u043a \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u0435 Zigbee. \u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430 \u0441\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430, \u043e\u0441\u0432\u0435\u043d \u0430\u043a\u043e \u043d\u0435 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u0442\u0435 \u043c\u0440\u0435\u0436\u0430\u0442\u0430 \u0441\u0438 \u043e\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435 \u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u0442\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0441 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.",
|
|
49
|
+
"menu_option_descriptions": {
|
|
50
|
+
"setup_strategy_advanced": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0432\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u0434\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043e\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435.",
|
|
51
|
+
"setup_strategy_recommended": "\u0422\u043e\u0432\u0430 \u0435 \u043d\u0430\u0439-\u0431\u044a\u0440\u0437\u0438\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0430 \u043c\u0440\u0435\u0436\u0430 \u0438 \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430."
|
|
52
|
+
},
|
|
53
|
+
"menu_options": {
|
|
54
|
+
"setup_strategy_advanced": "\u0420\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
|
|
55
|
+
"setup_strategy_recommended": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u043d\u0435 (\u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0438\u0442\u0435\u043b\u043d\u043e)"
|
|
56
|
+
},
|
|
57
|
+
"title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430 Zigbee"
|
|
58
|
+
},
|
|
31
59
|
"confirm": {
|
|
32
60
|
"description": "\u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u0435 {name}?"
|
|
33
61
|
},
|
|
@@ -37,6 +65,13 @@
|
|
|
37
65
|
"manual_pick_radio_type": {
|
|
38
66
|
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0432\u043e\u044f \u0442\u0438\u043f Zigbee \u0440\u0430\u0434\u0438\u043e"
|
|
39
67
|
},
|
|
68
|
+
"manual_port_config": {
|
|
69
|
+
"data_description": {
|
|
70
|
+
"baudrate": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442 \u043d\u0430 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0435, \u043a\u043e\u044f\u0442\u043e \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043f\u0440\u0438 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u044a\u0441 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u044f \u043f\u043e\u0440\u0442, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e 115200 \u0438\u043b\u0438 460800",
|
|
71
|
+
"flow_control": "\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0438\u044f \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0437\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u0430\u0442\u0430 \u043e\u043f\u0446\u0438\u044f, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e `\u041d\u044f\u043c\u0430` \u0438\u043b\u0438 `\u0425\u0430\u0440\u0434\u0443\u0435\u0440`.",
|
|
72
|
+
"path": "\u041f\u044a\u0442\u044f\u0442 \u0434\u043e \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u044f \u043f\u043e\u0440\u0442 \u0438\u043b\u0438 `socket://` TCP \u0430\u0434\u0440\u0435\u0441"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
40
75
|
"upload_manual_backup": {
|
|
41
76
|
"data": {
|
|
42
77
|
"uploaded_backup_file": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b"
|
|
@@ -407,6 +442,10 @@
|
|
|
407
442
|
"fix_flow": {
|
|
408
443
|
"step": {
|
|
409
444
|
"init": {
|
|
445
|
+
"menu_option_descriptions": {
|
|
446
|
+
"restore_old_settings": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u043c\u0440\u0435\u0436\u043e\u0432\u0438\u0442\u0435 \u0432\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0435\u0449\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435.",
|
|
447
|
+
"use_new_settings": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0437\u0430\u043f\u0430\u0437\u0438 \u043d\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0438 \u043d\u0430 \u0441\u0442\u0438\u043a\u0430. \u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0442\u0430\u0437\u0438 \u043e\u043f\u0446\u0438\u044f \u0441\u0430\u043c\u043e \u0430\u043a\u043e \u0443\u043c\u0438\u0448\u043b\u0435\u043d\u043e \u0441\u0442\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435."
|
|
448
|
+
},
|
|
410
449
|
"menu_options": {
|
|
411
450
|
"restore_old_settings": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435 (\u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0438\u0442\u0435\u043b\u043d\u043e)",
|
|
412
451
|
"use_new_settings": "\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"
|
|
@@ -443,6 +482,10 @@
|
|
|
443
482
|
},
|
|
444
483
|
"choose_formation_strategy": {
|
|
445
484
|
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043c\u0440\u0435\u0436\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0440\u0430\u0434\u0438\u043e.",
|
|
485
|
+
"menu_option_descriptions": {
|
|
486
|
+
"form_initial_network": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u043d\u043e\u0432\u0430 Zigbee \u043c\u0440\u0435\u0436\u0430.",
|
|
487
|
+
"form_new_network": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u043d\u043e\u0432\u0430 Zigbee \u043c\u0440\u0435\u0436\u0430."
|
|
488
|
+
},
|
|
446
489
|
"menu_options": {
|
|
447
490
|
"choose_automatic_backup": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435",
|
|
448
491
|
"form_initial_network": "\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0440\u0435\u0436\u0430",
|
|
@@ -451,6 +494,18 @@
|
|
|
451
494
|
"upload_manual_backup": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u044a\u0447\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435"
|
|
452
495
|
}
|
|
453
496
|
},
|
|
497
|
+
"choose_migration_strategy": {
|
|
498
|
+
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u0430\u043a \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0442\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043c\u0440\u0435\u0436\u0430 Zigbee \u043e\u0442 \u0441\u0442\u0430\u0440\u0438\u044f \u0432\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043a\u044a\u043c \u043d\u043e\u0432.",
|
|
499
|
+
"menu_option_descriptions": {
|
|
500
|
+
"migration_strategy_advanced": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0432\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u0434\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 \u043c\u0440\u0435\u0436\u0430 \u0438\u043b\u0438 \u0434\u0430 \u043a\u0430\u0447\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e.",
|
|
501
|
+
"migration_strategy_recommended": "\u0422\u043e\u0432\u0430 \u0435 \u043d\u0430\u0439-\u0431\u044a\u0440\u0437\u0438\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440."
|
|
502
|
+
},
|
|
503
|
+
"menu_options": {
|
|
504
|
+
"migration_strategy_advanced": "\u0420\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f",
|
|
505
|
+
"migration_strategy_recommended": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 (\u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0438\u0442\u0435\u043b\u043d\u043e)"
|
|
506
|
+
},
|
|
507
|
+
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
508
|
+
},
|
|
454
509
|
"choose_serial_port": {
|
|
455
510
|
"description": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u044f \u043f\u043e\u0440\u0442 \u0437\u0430 \u0432\u0430\u0448\u0435\u0442\u043e Zigbee \u0440\u0430\u0434\u0438\u043e",
|
|
456
511
|
"title": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0435\u0440\u0438\u0435\u043d \u043f\u043e\u0440\u0442"
|
|
@@ -458,9 +513,6 @@
|
|
|
458
513
|
"init": {
|
|
459
514
|
"title": "\u041f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 ZHA"
|
|
460
515
|
},
|
|
461
|
-
"instruct_unplug": {
|
|
462
|
-
"title": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u0442\u0435 \u0441\u0442\u0430\u0440\u043e\u0442\u043e \u0441\u0438 \u0440\u0430\u0434\u0438\u043e"
|
|
463
|
-
},
|
|
464
516
|
"intent_migrate": {
|
|
465
517
|
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432\u043e \u0440\u0430\u0434\u0438\u043e"
|
|
466
518
|
},
|
|
@@ -480,10 +532,6 @@
|
|
|
480
532
|
},
|
|
481
533
|
"prompt_migrate_or_reconfigure": {
|
|
482
534
|
"description": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u0442\u0435 \u043a\u044a\u043c \u043d\u043e\u0432\u043e \u0440\u0430\u0434\u0438\u043e \u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u043e\u0442\u043e \u0440\u0430\u0434\u0438\u043e?",
|
|
483
|
-
"menu_options": {
|
|
484
|
-
"intent_migrate": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432\u043e \u0440\u0430\u0434\u0438\u043e",
|
|
485
|
-
"intent_reconfigure": "\u041f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u043e\u0442\u043e \u0440\u0430\u0434\u0438\u043e"
|
|
486
|
-
},
|
|
487
535
|
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435"
|
|
488
536
|
},
|
|
489
537
|
"upload_manual_backup": {
|
|
@@ -408,9 +408,6 @@
|
|
|
408
408
|
"init": {
|
|
409
409
|
"title": "Reconfiguraci\u00f3 de ZHA"
|
|
410
410
|
},
|
|
411
|
-
"instruct_unplug": {
|
|
412
|
-
"title": "Desconnecta la r\u00e0dio antiga"
|
|
413
|
-
},
|
|
414
411
|
"intent_migrate": {
|
|
415
412
|
"title": "Migra a una nova r\u00e0dio"
|
|
416
413
|
},
|
|
@@ -439,10 +436,6 @@
|
|
|
439
436
|
},
|
|
440
437
|
"prompt_migrate_or_reconfigure": {
|
|
441
438
|
"description": "Est\u00e0s migrant a una r\u00e0dio nova o tornant a configurar la r\u00e0dio actual?",
|
|
442
|
-
"menu_options": {
|
|
443
|
-
"intent_migrate": "Migra a una nova r\u00e0dio",
|
|
444
|
-
"intent_reconfigure": "Torna a configurar la r\u00e0dio actual"
|
|
445
|
-
},
|
|
446
439
|
"title": "Migraci\u00f3 o reconfiguraci\u00f3"
|
|
447
440
|
},
|
|
448
441
|
"upload_manual_backup": {
|
|
@@ -108,8 +108,8 @@
|
|
|
108
108
|
"title": "P\u0159epsat adresu IEEE r\u00e1dia"
|
|
109
109
|
},
|
|
110
110
|
"maybe_reset_old_radio": {
|
|
111
|
-
"description": "Z\u00e1loha byla vytvo\u0159ena d\u0159\u00edve a
|
|
112
|
-
"title": "Resetov\u00e1n\u00ed star\u00e9ho
|
|
111
|
+
"description": "Z\u00e1loha byla vytvo\u0159ena d\u0159\u00edve a v\u00e1\u0161 star\u00fd adapt\u00e9r se v r\u00e1mci migrace resetuje.",
|
|
112
|
+
"title": "Resetov\u00e1n\u00ed star\u00e9ho adapt\u00e9ru"
|
|
113
113
|
},
|
|
114
114
|
"upload_manual_backup": {
|
|
115
115
|
"data": {
|
|
@@ -1872,12 +1872,12 @@
|
|
|
1872
1872
|
"title": "P\u0159enastavit ZHA"
|
|
1873
1873
|
},
|
|
1874
1874
|
"instruct_unplug": {
|
|
1875
|
-
"description": "
|
|
1876
|
-
"title": "
|
|
1875
|
+
"description": "V\u00e1\u0161 star\u00fd adapt\u00e9r byl resetov\u00e1n. Pokud hardware ji\u017e nepot\u0159ebujete, m\u016f\u017eete jej nyn\u00ed odpojit.\n \nNyn\u00ed m\u016f\u017eete zapojit nov\u00fd adapt\u00e9r.",
|
|
1876
|
+
"title": "Odpojte star\u00fd adapt\u00e9r"
|
|
1877
1877
|
},
|
|
1878
1878
|
"intent_migrate": {
|
|
1879
|
-
"description": "P\u0159ed p\u0159ipojen\u00edm nov\u00e9ho
|
|
1880
|
-
"title": "Migrovat na nov\
|
|
1879
|
+
"description": "P\u0159ed p\u0159ipojen\u00edm nov\u00e9ho adapt\u00e9ru je t\u0159eba resetovat ten star\u00fd. Bude provedena automatick\u00e1 z\u00e1loha. Pokud pou\u017e\u00edv\u00e1te kombinovan\u00fd adapt\u00e9r Z-Wave a Zigbee, jako je HUSBZB-1, resetuje se jen \u010d\u00e1st Zigbee.\n \n*Pozn\u00e1mka: Pokud migrujete z **ConBee/RaspBee**, ujist\u011bte se, \u017ee pou\u017e\u00edv\u00e1 firmware \"0x26720700\" nebo nov\u011bj\u0161\u00ed! Jinak n\u011bkter\u00e1 za\u0159\u00edzen\u00ed nemus\u00ed b\u00fdt po migraci ovladateln\u00e1, dokud nebudou restartov\u00e1na.*\n\nChcete pokra\u010dovat?",
|
|
1880
|
+
"title": "Migrovat na nov\u00fd adapt\u00e9r"
|
|
1881
1881
|
},
|
|
1882
1882
|
"manual_pick_radio_type": {
|
|
1883
1883
|
"data": {
|
|
@@ -1905,12 +1905,12 @@
|
|
|
1905
1905
|
"prompt_migrate_or_reconfigure": {
|
|
1906
1906
|
"description": "P\u0159ech\u00e1z\u00edte na nov\u00e9 r\u00e1dio nebo m\u011bn\u00edte nastaven\u00ed st\u00e1vaj\u00edc\u00edho r\u00e1dia?",
|
|
1907
1907
|
"menu_option_descriptions": {
|
|
1908
|
-
"intent_migrate": "To v\u00e1m pom\u016f\u017ee migrovat va\u0161i Zigbee s\u00ed\u0165 ze star\u00e9ho
|
|
1909
|
-
"intent_reconfigure": "To v\u00e1m umo\u017en\u00ed zm\u011bnit s\u00e9riov\u00fd port pro
|
|
1908
|
+
"intent_migrate": "To v\u00e1m pom\u016f\u017ee migrovat va\u0161i Zigbee s\u00ed\u0165 ze star\u00e9ho adapt\u00e9ru na nov\u00fd.",
|
|
1909
|
+
"intent_reconfigure": "To v\u00e1m umo\u017en\u00ed zm\u011bnit s\u00e9riov\u00fd port pro v\u00e1\u0161 aktu\u00e1ln\u00ed adapt\u00e9r Zigbee."
|
|
1910
1910
|
},
|
|
1911
1911
|
"menu_options": {
|
|
1912
|
-
"intent_migrate": "Migrovat na nov\
|
|
1913
|
-
"intent_reconfigure": "P\u0159enastavit aktu\u00e1ln\u00ed
|
|
1912
|
+
"intent_migrate": "Migrovat na nov\u00fd adapt\u00e9r",
|
|
1913
|
+
"intent_reconfigure": "P\u0159enastavit aktu\u00e1ln\u00ed adapt\u00e9r"
|
|
1914
1914
|
},
|
|
1915
1915
|
"title": "Migrovat nebo p\u0159enastavit"
|
|
1916
1916
|
},
|
|
@@ -448,12 +448,7 @@
|
|
|
448
448
|
"init": {
|
|
449
449
|
"title": "Omkonfigur\u00e9r ZHA"
|
|
450
450
|
},
|
|
451
|
-
"instruct_unplug": {
|
|
452
|
-
"description": "Din gamle radio er blevet nulstillet. Hvis hardwaren ikke l\u00e6ngere er n\u00f8dvendig, kan du nu frakoble den.\n\nDu kan nu tilslutte din nye radio.",
|
|
453
|
-
"title": "Frakobl din gamle radio"
|
|
454
|
-
},
|
|
455
451
|
"intent_migrate": {
|
|
456
|
-
"description": "F\u00f8r du tilslutter din nye radio, skal din gamle radio nulstilles. En automatisk sikkerhedskopi udf\u00f8res. Hvis du bruger en kombineret Z-Wave og Zigbee-adapter som HUSBZB-1, vil dette kun nulstille Zigbee-delen.\n\n* Bem\u00e6rk: Hvis du migrerer fra en **ConBee/RaspBee**, skal du s\u00f8rge for, at den k\u00f8rer firmware '0x26720700' eller nyere! Ellers kan nogle enheder muligvis ikke styres efter migrering, f\u00f8r de genstartes.*\n\n\u00d8nsker du at forts\u00e6tte?",
|
|
457
452
|
"title": "Migrer til en ny radio"
|
|
458
453
|
},
|
|
459
454
|
"manual_pick_radio_type": {
|
|
@@ -481,10 +476,6 @@
|
|
|
481
476
|
},
|
|
482
477
|
"prompt_migrate_or_reconfigure": {
|
|
483
478
|
"description": "Migrerer du til en ny radio eller omkonfigurerer du den nuv\u00e6rende radio?",
|
|
484
|
-
"menu_options": {
|
|
485
|
-
"intent_migrate": "Migrer til en ny radio",
|
|
486
|
-
"intent_reconfigure": "Omkonfigurer den aktuelle radio"
|
|
487
|
-
},
|
|
488
479
|
"title": "Migr\u00e9r eller omkonfigur\u00e9r"
|
|
489
480
|
},
|
|
490
481
|
"upload_manual_backup": {
|
|
@@ -108,8 +108,8 @@
|
|
|
108
108
|
"title": "IEEE-Adresse des Funkmoduls \u00fcberschreiben"
|
|
109
109
|
},
|
|
110
110
|
"maybe_reset_old_radio": {
|
|
111
|
-
"description": "Zuvor wurde ein Backup erstellt und dein
|
|
112
|
-
"title": "
|
|
111
|
+
"description": "Zuvor wurde ein Backup erstellt und dein alter Adapter wird im Rahmen der Migration zur\u00fcckgesetzt.",
|
|
112
|
+
"title": "Alten Adapter zur\u00fccksetzen"
|
|
113
113
|
},
|
|
114
114
|
"upload_manual_backup": {
|
|
115
115
|
"data": {
|
|
@@ -1872,12 +1872,12 @@
|
|
|
1872
1872
|
"title": "ZHA rekonfigurieren"
|
|
1873
1873
|
},
|
|
1874
1874
|
"instruct_unplug": {
|
|
1875
|
-
"description": "Dein
|
|
1876
|
-
"title": "Stecke
|
|
1875
|
+
"description": "Dein alter Adapter wurde zur\u00fcckgesetzt. Wenn die Hardware nicht mehr ben\u00f6tigt wird, kannst du ihn jetzt ausstecken. \n\nJetzt kannst du deinen neuen Adapter anschlie\u00dfen.",
|
|
1876
|
+
"title": "Stecke deinen alten Adapter aus"
|
|
1877
1877
|
},
|
|
1878
1878
|
"intent_migrate": {
|
|
1879
|
-
"description": "Bevor du
|
|
1880
|
-
"title": "
|
|
1879
|
+
"description": "Bevor du deinen neuen Adapter anschlie\u00dft, muss dein alter Adapter zur\u00fcckgesetzt werden. Es wird ein automatisches Backup durchgef\u00fchrt. Wenn du einen kombinierten Z-Wave- und Zigbee-Adapter wie den HUSBZB-1 verwendest, wird nur der Zigbee-Teil zur\u00fcckgesetzt.\n\n*Hinweis: Wenn du von einem **ConBee/RaspBee** migrierst, stelle sicher, dass dieser mit der Firmware `0x26720700` oder neuer l\u00e4uft! Andernfalls kann es sein, dass einige Ger\u00e4te nach der Migration nicht mehr steuerbar sind, bis die Stromversorgung unterbrochen wird.*\n\nM\u00f6chtest du fortfahren?",
|
|
1880
|
+
"title": "Auf einen neuen Adapter migrieren"
|
|
1881
1881
|
},
|
|
1882
1882
|
"manual_pick_radio_type": {
|
|
1883
1883
|
"data": {
|
|
@@ -1905,12 +1905,12 @@
|
|
|
1905
1905
|
"prompt_migrate_or_reconfigure": {
|
|
1906
1906
|
"description": "Stellst du auf ein neues Funkmodul um oder konfigurierst du das aktuelle Funkmodul neu?",
|
|
1907
1907
|
"menu_option_descriptions": {
|
|
1908
|
-
"intent_migrate": "Dies hilft dir, dein Zigbee-Netzwerk von deinem alten
|
|
1909
|
-
"intent_reconfigure": "
|
|
1908
|
+
"intent_migrate": "Dies hilft dir, dein Zigbee-Netzwerk von deinem alten Adapter auf einen neuen zu migrieren.",
|
|
1909
|
+
"intent_reconfigure": "Damit kannst du den seriellen Anschluss f\u00fcr deinen aktuellen Zigbee-Adapter \u00e4ndern."
|
|
1910
1910
|
},
|
|
1911
1911
|
"menu_options": {
|
|
1912
|
-
"intent_migrate": "
|
|
1913
|
-
"intent_reconfigure": "
|
|
1912
|
+
"intent_migrate": "Auf einen neuen Adapter migrieren",
|
|
1913
|
+
"intent_reconfigure": "Den aktuellen Adapter neu konfigurieren"
|
|
1914
1914
|
},
|
|
1915
1915
|
"title": "Migrieren oder neu konfigurieren"
|
|
1916
1916
|
},
|