homeassistant 2025.10.0b5__py3-none-any.whl → 2025.10.0b7__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/id.json +9 -0
- homeassistant/components/airos/translations/id.json +36 -0
- homeassistant/components/airzone_cloud/translations/ar.json +15 -0
- homeassistant/components/aladdin_connect/config_flow.py +11 -0
- homeassistant/components/aladdin_connect/strings.json +2 -1
- homeassistant/components/aladdin_connect/translations/bg.json +7 -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/translations/id.json +12 -0
- homeassistant/components/analytics/analytics.py +23 -12
- 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/binary_sensor/translations/ar.json +10 -0
- homeassistant/components/broadlink/translations/zh-Hant.json +1 -1
- homeassistant/components/brother/translations/id.json +21 -0
- homeassistant/components/bsblan/translations/id.json +17 -2
- homeassistant/components/climate/translations/ar.json +18 -0
- homeassistant/components/coinbase/translations/id.json +5 -0
- homeassistant/components/compit/translations/id.json +25 -0
- homeassistant/components/conversation/manifest.json +1 -1
- homeassistant/components/cync/translations/id.json +20 -0
- homeassistant/components/datadog/translations/id.json +28 -0
- homeassistant/components/demo/translations/ar.json +23 -0
- homeassistant/components/device_tracker/translations/ar.json +8 -0
- homeassistant/components/drop_connect/translations/ar.json +12 -0
- homeassistant/components/droplet/translations/id.json +17 -0
- 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/translations/ar.json +9 -0
- homeassistant/components/ecowitt/manifest.json +1 -1
- homeassistant/components/eheimdigital/translations/id.json +7 -1
- homeassistant/components/ekeybionyx/translations/id.json +24 -0
- homeassistant/components/ekeybionyx/translations/lt.json +1 -0
- homeassistant/components/elevenlabs/translations/id.json +2 -1
- 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/eq3btsmart/translations/ar.json +9 -0
- homeassistant/components/esphome/analytics.py +11 -0
- homeassistant/components/fan/translations/id.json +3 -0
- homeassistant/components/flick_electric/translations/zh-Hant.json +2 -2
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/generic_thermostat/translations/ar.json +22 -0
- homeassistant/components/google_generative_ai_conversation/translations/id.json +29 -1
- homeassistant/components/group/translations/ar.json +8 -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/translations/bg.json +14 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/fr.json +14 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/id.json +238 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +24 -8
- homeassistant/components/homeassistant_connect_zbt2/translations/nl.json +20 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/ru.json +22 -4
- homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +18 -2
- homeassistant/components/homeassistant_connect_zbt2/update.py +2 -1
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +13 -67
- homeassistant/components/homeassistant_hardware/manifest.json +1 -1
- homeassistant/components/homeassistant_hardware/translations/bg.json +10 -0
- homeassistant/components/homeassistant_hardware/translations/fr.json +10 -0
- homeassistant/components/homeassistant_hardware/translations/id.json +58 -0
- homeassistant/components/homeassistant_hardware/translations/lt.json +17 -0
- homeassistant/components/homeassistant_hardware/translations/nl.json +10 -0
- homeassistant/components/homeassistant_hardware/translations/ru.json +17 -0
- homeassistant/components/homeassistant_hardware/translations/sk.json +3 -0
- homeassistant/components/homeassistant_hardware/update.py +8 -3
- homeassistant/components/homeassistant_hardware/util.py +22 -5
- homeassistant/components/homeassistant_sky_connect/translations/bg.json +14 -0
- homeassistant/components/homeassistant_sky_connect/translations/fr.json +14 -0
- homeassistant/components/homeassistant_sky_connect/translations/id.json +98 -14
- homeassistant/components/homeassistant_sky_connect/translations/lt.json +24 -8
- homeassistant/components/homeassistant_sky_connect/translations/nl.json +20 -0
- homeassistant/components/homeassistant_sky_connect/translations/ru.json +24 -8
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +18 -2
- homeassistant/components/homeassistant_sky_connect/update.py +2 -1
- homeassistant/components/homeassistant_yellow/config_flow.py +7 -1
- homeassistant/components/homeassistant_yellow/translations/bg.json +7 -0
- homeassistant/components/homeassistant_yellow/translations/fr.json +7 -0
- homeassistant/components/homeassistant_yellow/translations/id.json +50 -7
- homeassistant/components/homeassistant_yellow/translations/lt.json +12 -4
- homeassistant/components/homeassistant_yellow/translations/nl.json +10 -0
- homeassistant/components/homeassistant_yellow/translations/ru.json +6 -4
- homeassistant/components/homeassistant_yellow/translations/sk.json +9 -1
- homeassistant/components/homeassistant_yellow/update.py +2 -1
- homeassistant/components/homee/translations/id.json +14 -0
- homeassistant/components/homekit_controller/translations/ar.json +12 -0
- homeassistant/components/homekit_controller/translations/select.ar.json +8 -0
- homeassistant/components/honeywell/translations/ar.json +15 -0
- homeassistant/components/humidifier/translations/ar.json +14 -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/imap/translations/ar.json +7 -0
- homeassistant/components/imeon_inverter/translations/id.json +10 -0
- homeassistant/components/intellifire/translations/ar.json +9 -0
- homeassistant/components/irm_kmi/translations/id.json +28 -0
- homeassistant/components/keenetic_ndms2/translations/id.json +2 -1
- homeassistant/components/knx/translations/id.json +3 -0
- homeassistant/components/konnected/translations/lt.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/bg.json +0 -5
- 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 +1 -2
- homeassistant/components/letpot/translations/ga.json +1 -2
- homeassistant/components/letpot/translations/id.json +10 -0
- homeassistant/components/letpot/translations/lt.json +1 -2
- 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/ar.json +33 -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/id.json +15 -0
- homeassistant/components/mastodon/translations/ar.json +14 -0
- homeassistant/components/mcp/translations/fr.json +20 -1
- homeassistant/components/mcp/translations/id.json +8 -1
- homeassistant/components/media_extractor/manifest.json +1 -1
- homeassistant/components/media_player/translations/ar.json +34 -0
- homeassistant/components/mqtt/translations/ar.json +17 -0
- homeassistant/components/mqtt/translations/bg.json +2 -0
- homeassistant/components/mqtt/translations/fr.json +2 -0
- homeassistant/components/mqtt/translations/id.json +6 -0
- homeassistant/components/mqtt/translations/lt.json +2 -0
- homeassistant/components/mqtt/translations/nl.json +31 -0
- homeassistant/components/mqtt/translations/ru.json +2 -0
- homeassistant/components/mqtt/translations/sk.json +2 -0
- homeassistant/components/nasweb/translations/id.json +10 -0
- homeassistant/components/nederlandse_spoorwegen/translations/id.json +28 -0
- homeassistant/components/netatmo/translations/ar.json +18 -0
- homeassistant/components/nightscout/translations/zh-Hant.json +1 -1
- homeassistant/components/niko_home_control/translations/id.json +7 -1
- homeassistant/components/nobo_hub/translations/ar.json +11 -0
- homeassistant/components/ntfy/translations/id.json +11 -0
- homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
- homeassistant/components/number/translations/bg.json +3 -0
- homeassistant/components/number/translations/fr.json +3 -0
- homeassistant/components/number/translations/lt.json +3 -0
- homeassistant/components/number/translations/ru.json +3 -0
- homeassistant/components/number/translations/sk.json +3 -0
- homeassistant/components/ollama/translations/id.json +18 -1
- homeassistant/components/onboarding/translations/ar.json +7 -0
- homeassistant/components/open_router/translations/id.json +40 -0
- homeassistant/components/openai_conversation/translations/id.json +26 -1
- homeassistant/components/opentherm_gw/translations/ar.json +11 -0
- homeassistant/components/opower/translations/ar.json +12 -0
- homeassistant/components/opower/translations/id.json +6 -0
- homeassistant/components/overkiz/translations/ar.json +18 -0
- homeassistant/components/overkiz/translations/id.json +1 -0
- homeassistant/components/overkiz/translations/sensor.ar.json +3 -0
- homeassistant/components/palazzetti/translations/ar.json +16 -0
- homeassistant/components/peco/translations/zh-Hant.json +1 -1
- homeassistant/components/person/translations/ar.json +8 -0
- homeassistant/components/pi_hole/__init__.py +9 -3
- homeassistant/components/playstation_network/translations/ar.json +11 -0
- homeassistant/components/playstation_network/translations/id.json +8 -0
- homeassistant/components/plex/translations/zh-Hant.json +1 -1
- homeassistant/components/plugwise/translations/ar.json +16 -0
- homeassistant/components/pooldose/translations/id.json +49 -0
- homeassistant/components/portainer/__init__.py +5 -0
- homeassistant/components/portainer/translations/id.json +22 -0
- homeassistant/components/portainer/translations/ru.json +15 -0
- homeassistant/components/pyload/translations/id.json +6 -0
- homeassistant/components/qbittorrent/translations/cs.json +4 -4
- homeassistant/components/random/translations/bg.json +1 -0
- homeassistant/components/random/translations/fr.json +1 -0
- homeassistant/components/random/translations/lt.json +1 -0
- homeassistant/components/random/translations/ru.json +1 -0
- homeassistant/components/random/translations/sk.json +1 -0
- homeassistant/components/remote/translations/id.json +3 -0
- homeassistant/components/remote_calendar/translations/id.json +2 -1
- homeassistant/components/reolink/translations/ar.json +7 -0
- 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/id.json +24 -0
- homeassistant/components/satel_integra/translations/id.json +85 -0
- homeassistant/components/scrape/translations/bg.json +2 -0
- homeassistant/components/scrape/translations/fr.json +2 -0
- homeassistant/components/scrape/translations/lt.json +2 -0
- homeassistant/components/scrape/translations/ru.json +2 -0
- homeassistant/components/scrape/translations/sk.json +2 -0
- homeassistant/components/screenlogic/translations/ar.json +15 -0
- homeassistant/components/sensibo/translations/ar.json +25 -0
- homeassistant/components/sensor/translations/bg.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/ru.json +3 -0
- homeassistant/components/sftp_storage/translations/id.json +14 -0
- homeassistant/components/shelly/translations/id.json +19 -0
- homeassistant/components/shelly/utils.py +9 -2
- homeassistant/components/sleep_as_android/translations/id.json +31 -0
- homeassistant/components/sleepiq/translations/id.json +5 -0
- homeassistant/components/smartthings/translations/ar.json +11 -0
- homeassistant/components/smartthings/translations/id.json +7 -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/translations/bg.json +1 -0
- homeassistant/components/sql/translations/fr.json +1 -0
- homeassistant/components/sql/translations/lt.json +1 -0
- homeassistant/components/sql/translations/ru.json +1 -0
- homeassistant/components/sql/translations/sk.json +1 -0
- homeassistant/components/sql/translations/zh-Hant.json +4 -4
- homeassistant/components/starline/translations/ar.json +9 -0
- homeassistant/components/switch/translations/id.json +3 -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/synology_dsm/translations/ar.json +9 -0
- homeassistant/components/system_bridge/translations/ar.json +9 -0
- homeassistant/components/telegram_bot/translations/id.json +5 -0
- homeassistant/components/template/translations/bg.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/ru.json +1 -0
- homeassistant/components/template/translations/sk.json +1 -0
- homeassistant/components/tesla_fleet/translations/ar.json +55 -0
- homeassistant/components/teslemetry/translations/ar.json +27 -0
- homeassistant/components/teslemetry/translations/id.json +33 -0
- homeassistant/components/tessie/translations/ar.json +9 -0
- homeassistant/components/togrill/translations/id.json +16 -0
- homeassistant/components/tolo/translations/id.json +2 -1
- homeassistant/components/traccar_server/translations/id.json +9 -1
- homeassistant/components/tradfri/translations/ar.json +12 -0
- homeassistant/components/trafikverket_train/translations/zh-Hant.json +1 -1
- 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/uptimerobot/translations/id.json +6 -0
- homeassistant/components/vallox/translations/ar.json +7 -0
- homeassistant/components/vegehub/translations/id.json +4 -0
- homeassistant/components/victron_remote_monitoring/translations/id.json +25 -0
- homeassistant/components/volvo/translations/id.json +58 -0
- homeassistant/components/whirlpool/translations/id.json +1 -0
- homeassistant/components/wled/analytics.py +11 -0
- homeassistant/components/xiaomi_aqara/translations/zh-Hant.json +2 -2
- homeassistant/components/yolink/translations/id.json +9 -0
- homeassistant/components/zha/config_flow.py +3 -1
- homeassistant/components/zha/strings.json +16 -16
- homeassistant/components/zha/translations/bg.json +0 -16
- homeassistant/components/zha/translations/bn.json +0 -9
- homeassistant/components/zha/translations/ca.json +0 -24
- homeassistant/components/zha/translations/cs.json +0 -28
- homeassistant/components/zha/translations/da.json +0 -19
- homeassistant/components/zha/translations/de.json +28 -28
- homeassistant/components/zha/translations/el.json +0 -28
- homeassistant/components/zha/translations/en-GB.json +28 -28
- homeassistant/components/zha/translations/en.json +28 -28
- homeassistant/components/zha/translations/es.json +0 -28
- homeassistant/components/zha/translations/et.json +26 -26
- homeassistant/components/zha/translations/fi.json +0 -25
- homeassistant/components/zha/translations/fr.json +0 -28
- homeassistant/components/zha/translations/fy.json +0 -9
- homeassistant/components/zha/translations/ga.json +0 -28
- homeassistant/components/zha/translations/gsw.json +0 -18
- homeassistant/components/zha/translations/he.json +0 -3
- homeassistant/components/zha/translations/hr.json +0 -7
- homeassistant/components/zha/translations/hu.json +0 -28
- homeassistant/components/zha/translations/id.json +0 -26
- homeassistant/components/zha/translations/it.json +0 -25
- homeassistant/components/zha/translations/ja.json +0 -28
- homeassistant/components/zha/translations/ko.json +0 -25
- homeassistant/components/zha/translations/lt.json +17 -28
- homeassistant/components/zha/translations/lv.json +0 -4
- homeassistant/components/zha/translations/nb.json +0 -17
- homeassistant/components/zha/translations/nl.json +6 -28
- homeassistant/components/zha/translations/pl.json +22 -21
- homeassistant/components/zha/translations/pt-BR.json +0 -24
- homeassistant/components/zha/translations/pt.json +0 -28
- homeassistant/components/zha/translations/ro.json +0 -18
- homeassistant/components/zha/translations/ru.json +3 -28
- homeassistant/components/zha/translations/sk.json +0 -28
- homeassistant/components/zha/translations/sl.json +0 -28
- homeassistant/components/zha/translations/sv.json +0 -28
- homeassistant/components/zha/translations/tr.json +0 -28
- homeassistant/components/zha/translations/uk.json +0 -24
- homeassistant/components/zha/translations/vi.json +0 -23
- homeassistant/components/zha/translations/zh-Hans.json +0 -28
- homeassistant/components/zha/translations/zh-Hant.json +0 -28
- homeassistant/const.py +1 -1
- homeassistant/generated/integrations.json +27 -4
- homeassistant/package_constraints.txt +2 -2
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/METADATA +1 -1
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/RECORD +367 -307
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/WHEEL +0 -0
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"addon_already_running": "Gagal memulai add-on {addon_name} karena sudah berjalan.",
|
|
5
|
+
"addon_info_failed": "Gagal mendapatkan info add-on {addon_name}.",
|
|
6
|
+
"addon_install_failed": "Gagal menginstal add-on {addon_name}.",
|
|
7
|
+
"addon_set_config_failed": "Gagal mengatur konfigurasi {addon_name}.",
|
|
8
|
+
"addon_start_failed": "Gagal memulai add-on {addon_name}.",
|
|
9
|
+
"fw_download_failed": "Firmware {firmware_name} untuk {model} Anda gagal diunduh. Pastikan Home Assistant memiliki akses internet dan coba lagi.",
|
|
10
|
+
"fw_install_failed": "Firmware {firmware_name} gagal diinstal, periksa log Home Assistant untuk informasi lebih lanjut.",
|
|
11
|
+
"not_hassio": "Opsi perangkat keras hanya bisa dikonfigurasi pada instalasi Home Assistant OS.",
|
|
12
|
+
"not_hassio_thread": "Addon OpenThread Border Router hanya dapat diinstal dengan Home Assistant OS. Jika Anda ingin menggunakan {model} sebagai router perbatasan Thread, silakan flash firmware secara manual menggunakan [web flasher] ({docs_web_flasher_url}) dan atur OpenThread Border Router untuk berkomunikasi dengannya.",
|
|
13
|
+
"otbr_addon_already_running": "Add-on OpenThread Border Router sudah berjalan, tidak dapat diinstal lagi.",
|
|
14
|
+
"otbr_still_using_stick": "{model} ini digunakan oleh add-on OpenThread Border Router. Jika Anda menggunakan jaringan Thread, pastikan Anda memiliki router perbatasan alternatif. Copot pengaya dan coba lagi.",
|
|
15
|
+
"unsupported_firmware": "Firmware radio pada {model} Anda tidak dapat dikenali. Pastikan tidak ada integrasi atau addon lain yang sedang mencoba berkomunikasi dengan perangkat. Jika Anda menjalankan Home Assistant OS di mesin virtual atau di Docker, pastikan izin telah diatur dengan benar untuk perangkat.",
|
|
16
|
+
"zha_migration_failed": "Migrasi ZHA tidak berhasil.",
|
|
17
|
+
"zha_still_using_stick": "{model} ini digunakan oleh integrasi Zigbee Home Automation. Migrasikan jaringan Zigbee Anda ke adaptor lain atau hapus integrasi dan coba lagi."
|
|
18
|
+
},
|
|
19
|
+
"flow_title": "{model}",
|
|
20
|
+
"progress": {
|
|
21
|
+
"install_addon": "Harap tunggu hingga penginstalan add-on {addon_name} selesai. Ini bisa memakan waktu beberapa saat.",
|
|
22
|
+
"install_firmware": "Menginstal firmware {firmware_name}.\n\nJangan lakukan perubahan apa pun pada perangkat keras atau perangkat lunak Anda hingga proses ini selesai.",
|
|
23
|
+
"install_otbr_addon": "Menginstal add-on",
|
|
24
|
+
"start_addon": "Harap tunggu hingga add-on {addon_name} selesai. Ini mungkin perlu waktu beberapa saat.",
|
|
25
|
+
"start_otbr_addon": "Memulai add-on"
|
|
26
|
+
},
|
|
27
|
+
"step": {
|
|
28
|
+
"confirm_otbr": {
|
|
29
|
+
"description": "{model} Anda sekarang menjadi OpenThread Border Router dan akan muncul di integrasi Thread.",
|
|
30
|
+
"title": "Penyiapan Router Perbatasan OpenThread selesai"
|
|
31
|
+
},
|
|
32
|
+
"confirm_zigbee": {
|
|
33
|
+
"description": "{model} Anda sekarang menjadi koordinator Zigbee dan akan ditampilkan sebagai ditemukan oleh integrasi Zigbee Home Automation.",
|
|
34
|
+
"title": "Penyiapan Zigbee selesai"
|
|
35
|
+
},
|
|
36
|
+
"install_otbr_addon": {
|
|
37
|
+
"title": "Mengonfigurasi Thread"
|
|
38
|
+
},
|
|
39
|
+
"install_thread_firmware": {
|
|
40
|
+
"title": "Memperbarui adaptor"
|
|
41
|
+
},
|
|
42
|
+
"install_zigbee_firmware": {
|
|
43
|
+
"title": "Memperbarui adaptor"
|
|
44
|
+
},
|
|
45
|
+
"otbr_failed": {
|
|
46
|
+
"description": "Instalasi add-on OpenThread Border Router tidak berhasil. Pastikan tidak ada perangkat lunak lain yang mencoba berkomunikasi dengan {model}, Anda memiliki akses ke internet dan dapat menginstal add-on lain, lalu coba lagi. Periksa log Supervisor jika masalah terus berlanjut.",
|
|
47
|
+
"title": "Gagal menyiapkan OpenThread Border Router"
|
|
48
|
+
},
|
|
49
|
+
"pick_firmware": {
|
|
50
|
+
"description": "Anda dapat menggunakan {model} untuk jaringan Zigbee atau Thread. Periksa jenis perangkat yang ingin ditambahkan ke Home Assistant. Anda selalu dapat mengubahnya nanti.",
|
|
51
|
+
"menu_option_descriptions": {
|
|
52
|
+
"pick_firmware_thread": "Sering digunakan untuk perangkat Matter lewat Thread.",
|
|
53
|
+
"pick_firmware_thread_migrate": "Ini akan memigrasikan Router Perbatasan Thread Anda ke adaptor yang baru.",
|
|
54
|
+
"pick_firmware_zigbee": "Protokol yang paling umum.",
|
|
55
|
+
"pick_firmware_zigbee_migrate": "Ini akan memindahkan jaringan Zigbee Anda ke adaptor yang baru."
|
|
56
|
+
},
|
|
57
|
+
"menu_options": {
|
|
58
|
+
"pick_firmware_thread": "Gunakan sebagai adaptor Thread",
|
|
59
|
+
"pick_firmware_thread_migrate": "Migrasikan Thread ke adaptor baru",
|
|
60
|
+
"pick_firmware_zigbee": "Gunakan sebagai adaptor Zigbee",
|
|
61
|
+
"pick_firmware_zigbee_migrate": "Migrasikan Zigbee ke adaptor baru"
|
|
62
|
+
},
|
|
63
|
+
"title": "Pilih protokol Anda"
|
|
64
|
+
},
|
|
65
|
+
"start_otbr_addon": {
|
|
66
|
+
"title": "Mengonfigurasi Thread"
|
|
67
|
+
},
|
|
68
|
+
"zigbee_installation_type": {
|
|
69
|
+
"description": "Pilih jenis instalasi untuk adaptor Zigbee.",
|
|
70
|
+
"menu_option_descriptions": {
|
|
71
|
+
"zigbee_intent_custom": "Instal dan konfigurasikan Zigbee secara manual, misalnya dengan Zigbee2MQTT.",
|
|
72
|
+
"zigbee_intent_recommended": "Instal dan konfigurasikan Zigbee secara otomatis."
|
|
73
|
+
},
|
|
74
|
+
"menu_options": {
|
|
75
|
+
"zigbee_intent_custom": "Khusus",
|
|
76
|
+
"zigbee_intent_recommended": "Instalasi yang disarankan"
|
|
77
|
+
},
|
|
78
|
+
"title": "Siapkan Zigbee"
|
|
79
|
+
},
|
|
80
|
+
"zigbee_integration": {
|
|
81
|
+
"menu_option_descriptions": {
|
|
82
|
+
"zigbee_integration_other": "Misalnya jika Anda ingin menggunakan adaptor dengan Zigbee2MQTT.",
|
|
83
|
+
"zigbee_integration_zha": "Gunakan Home Assistant untuk mengendalikan jaringan Zigbee Anda."
|
|
84
|
+
},
|
|
85
|
+
"menu_options": {
|
|
86
|
+
"zigbee_integration_other": "Lainnya",
|
|
87
|
+
"zigbee_integration_zha": "Zigbee Home Automation"
|
|
88
|
+
},
|
|
89
|
+
"title": "Pilih metode Zigbee"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"exceptions": {
|
|
94
|
+
"device_disconnected": {
|
|
95
|
+
"message": "Perangkat tidak dicolokkan"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"options": {
|
|
99
|
+
"abort": {
|
|
100
|
+
"addon_already_running": "Gagal memulai add-on {addon_name} karena sudah berjalan.",
|
|
101
|
+
"addon_info_failed": "Gagal mendapatkan info add-on {addon_name}.",
|
|
102
|
+
"addon_install_failed": "Gagal menginstal add-on {addon_name}.",
|
|
103
|
+
"addon_set_config_failed": "Gagal mengatur konfigurasi {addon_name}.",
|
|
104
|
+
"addon_start_failed": "Gagal memulai add-on {addon_name}.",
|
|
105
|
+
"fw_download_failed": "Firmware {firmware_name} untuk {model} Anda gagal diunduh. Pastikan Home Assistant memiliki akses internet dan coba lagi.",
|
|
106
|
+
"fw_install_failed": "Firmware {firmware_name} gagal diinstal, periksa log Home Assistant untuk informasi lebih lanjut.",
|
|
107
|
+
"not_hassio": "Opsi perangkat keras hanya bisa dikonfigurasi pada instalasi Home Assistant OS.",
|
|
108
|
+
"not_hassio_thread": "Addon OpenThread Border Router hanya dapat diinstal dengan Home Assistant OS. Jika Anda ingin menggunakan {model} sebagai router perbatasan Thread, silakan flash firmware secara manual menggunakan [web flasher] ({docs_web_flasher_url}) dan atur OpenThread Border Router untuk berkomunikasi dengannya.",
|
|
109
|
+
"otbr_addon_already_running": "Add-on OpenThread Border Router sudah berjalan, tidak dapat diinstal lagi.",
|
|
110
|
+
"otbr_still_using_stick": "{model} ini digunakan oleh add-on OpenThread Border Router. Jika Anda menggunakan jaringan Thread, pastikan Anda memiliki router perbatasan alternatif. Copot pengaya dan coba lagi.",
|
|
111
|
+
"unsupported_firmware": "Firmware radio pada {model} Anda tidak dapat dikenali. Pastikan tidak ada integrasi atau addon lain yang sedang mencoba berkomunikasi dengan perangkat. Jika Anda menjalankan Home Assistant OS di mesin virtual atau di Docker, pastikan izin telah diatur dengan benar untuk perangkat.",
|
|
112
|
+
"zha_migration_failed": "Migrasi ZHA tidak berhasil.",
|
|
113
|
+
"zha_still_using_stick": "{model} ini digunakan oleh integrasi Zigbee Home Automation. Migrasikan jaringan Zigbee Anda ke adaptor lain atau hapus integrasi dan coba lagi."
|
|
114
|
+
},
|
|
115
|
+
"error": {
|
|
116
|
+
"unknown": "Kesalahan tak terduga"
|
|
117
|
+
},
|
|
118
|
+
"progress": {
|
|
119
|
+
"install_addon": "Harap tunggu hingga penginstalan add-on {addon_name} selesai. Ini bisa memakan waktu beberapa saat.",
|
|
120
|
+
"install_firmware": "Menginstal firmware {firmware_name}.\n\nJangan lakukan perubahan apa pun pada perangkat keras atau perangkat lunak Anda hingga proses ini selesai.",
|
|
121
|
+
"install_otbr_addon": "Menginstal add-on",
|
|
122
|
+
"start_addon": "Harap tunggu hingga add-on {addon_name} selesai. Ini mungkin perlu waktu beberapa saat.",
|
|
123
|
+
"start_otbr_addon": "Memulai add-on"
|
|
124
|
+
},
|
|
125
|
+
"step": {
|
|
126
|
+
"addon_installed_other_device": {
|
|
127
|
+
"title": "Dukungan multiprotokol sudah diaktifkan untuk perangkat lain"
|
|
128
|
+
},
|
|
129
|
+
"addon_menu": {
|
|
130
|
+
"menu_options": {
|
|
131
|
+
"reconfigure_addon": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4",
|
|
132
|
+
"uninstall_addon": "Hapus dukungan multiprotokol radio IEEE 802.15.4"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"addon_not_installed": {
|
|
136
|
+
"data": {
|
|
137
|
+
"enable_multi_pan": "Aktifkan dukungan multiprotokol"
|
|
138
|
+
},
|
|
139
|
+
"description": "Jika dukungan multiprotocol diaktifkan, radio IEEE 802.15.4 {hardware_name} dapat digunakan untuk Zigbee dan Thread (digunakan oleh Matter) secara bersamaan. Catatan: Ini adalah fitur eksperimental. Jika komponen radio telah digunakan oleh integrasi ZHA Zigbee, ZHA akan dikonfigurasi ulang untuk menggunakan firmware multiprotokol.\n\nCatatan: Fitur ini bersifat eksperimental.",
|
|
140
|
+
"title": "Aktifkan dukungan multiprotokol pada radio IEEE 802.15.4"
|
|
141
|
+
},
|
|
142
|
+
"change_channel": {
|
|
143
|
+
"data": {
|
|
144
|
+
"channel": "Kanal"
|
|
145
|
+
},
|
|
146
|
+
"description": "Mulai perubahan kanal untuk jaringan Zigbee dan Thread Anda.\n\nCatatan: Operasi ini adalah operasi tingkat lanjut dan dapat menyebabkan jaringan Zigbee dan Thread Anda tidak dapat beroperasi jika saluran baru padat. Tergantung pada kondisi jaringan yang ada, banyak perangkat Anda yang mungkin tidak dapat bermigrasi ke saluran baru dan perlu bergabung kembali sebelum dapat berfungsi kembali. Gunakan dengan hati-hati.\n\nSetelah Anda mengeklik **Kirim**, perubahan kanal akan terjadi di latar belakang dan akan selesai dalam beberapa menit.",
|
|
147
|
+
"title": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4"
|
|
148
|
+
},
|
|
149
|
+
"confirm_otbr": {
|
|
150
|
+
"description": "{model} Anda sekarang menjadi OpenThread Border Router dan akan muncul di integrasi Thread.",
|
|
151
|
+
"title": "Penyiapan Router Perbatasan OpenThread selesai"
|
|
152
|
+
},
|
|
153
|
+
"confirm_zigbee": {
|
|
154
|
+
"description": "{model} Anda sekarang menjadi koordinator Zigbee dan akan ditampilkan sebagai ditemukan oleh integrasi Zigbee Home Automation.",
|
|
155
|
+
"title": "Penyiapan Zigbee selesai"
|
|
156
|
+
},
|
|
157
|
+
"install_addon": {
|
|
158
|
+
"title": "Penginstalan add-on Multiprotocol Silicon Labs telah dimulai"
|
|
159
|
+
},
|
|
160
|
+
"install_otbr_addon": {
|
|
161
|
+
"title": "Mengonfigurasi Thread"
|
|
162
|
+
},
|
|
163
|
+
"install_thread_firmware": {
|
|
164
|
+
"title": "Memperbarui adaptor"
|
|
165
|
+
},
|
|
166
|
+
"install_zigbee_firmware": {
|
|
167
|
+
"title": "Memperbarui adaptor"
|
|
168
|
+
},
|
|
169
|
+
"notify_channel_change": {
|
|
170
|
+
"description": "Perubahan saluran Zigbee dan Thread telah dimulai dan akan selesai dalam {delay_minutes} menit.",
|
|
171
|
+
"title": "Perubahan saluran dimulai"
|
|
172
|
+
},
|
|
173
|
+
"notify_unknown_multipan_user": {
|
|
174
|
+
"description": "Home Assistant dapat secara otomatis mengubah kanal untuk OTBR dan ZHA. Jika Anda telah mengonfigurasi integrasi lain untuk menggunakan radio, misalnya Zigbee2MQTT, Anda harus mengonfigurasi ulang saluran dalam integrasi tersebut setelah menyelesaikan panduan ini.",
|
|
175
|
+
"title": "Konfigurasi manual mungkin diperlukan"
|
|
176
|
+
},
|
|
177
|
+
"otbr_failed": {
|
|
178
|
+
"description": "Instalasi add-on OpenThread Border Router tidak berhasil. Pastikan tidak ada perangkat lunak lain yang mencoba berkomunikasi dengan {model}, Anda memiliki akses ke internet dan dapat menginstal add-on lain, lalu coba lagi. Periksa log Supervisor jika masalah terus berlanjut.",
|
|
179
|
+
"title": "Gagal menyiapkan OpenThread Border Router"
|
|
180
|
+
},
|
|
181
|
+
"pick_firmware": {
|
|
182
|
+
"description": "Anda dapat menggunakan {model} untuk jaringan Zigbee atau Thread. Periksa jenis perangkat yang ingin ditambahkan ke Home Assistant. Anda selalu dapat mengubahnya nanti.",
|
|
183
|
+
"menu_option_descriptions": {
|
|
184
|
+
"pick_firmware_thread": "Sering digunakan untuk perangkat Matter lewat Thread.",
|
|
185
|
+
"pick_firmware_thread_migrate": "Ini akan memigrasikan Router Perbatasan Thread Anda ke adaptor yang baru.",
|
|
186
|
+
"pick_firmware_zigbee": "Protokol yang paling umum.",
|
|
187
|
+
"pick_firmware_zigbee_migrate": "Ini akan memindahkan jaringan Zigbee Anda ke adaptor yang baru."
|
|
188
|
+
},
|
|
189
|
+
"menu_options": {
|
|
190
|
+
"pick_firmware_thread": "Gunakan sebagai adaptor Thread",
|
|
191
|
+
"pick_firmware_thread_migrate": "Migrasikan Thread ke adaptor baru",
|
|
192
|
+
"pick_firmware_zigbee": "Gunakan sebagai adaptor Zigbee",
|
|
193
|
+
"pick_firmware_zigbee_migrate": "Migrasikan Zigbee ke adaptor baru"
|
|
194
|
+
},
|
|
195
|
+
"title": "Pilih protokol Anda"
|
|
196
|
+
},
|
|
197
|
+
"reconfigure_addon": {
|
|
198
|
+
"title": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4"
|
|
199
|
+
},
|
|
200
|
+
"start_addon": {
|
|
201
|
+
"title": "Add-on Multiprotokol Silicon Labs sedang dimulai."
|
|
202
|
+
},
|
|
203
|
+
"start_otbr_addon": {
|
|
204
|
+
"title": "Mengonfigurasi Thread"
|
|
205
|
+
},
|
|
206
|
+
"uninstall_addon": {
|
|
207
|
+
"data": {
|
|
208
|
+
"disable_multi_pan": "Nonaktifkan dukungan multiprotokol"
|
|
209
|
+
},
|
|
210
|
+
"description": "Menonaktifkan dukungan multiprotokol akan mengembalikan radio {hardware_name} Anda kembali ke firmware khusus Zigbee dan akan menonaktifkan dukungan Thread yang disediakan oleh {hardware_name}. Perangkat Thread Anda akan terus berfungsi hanya jika Anda memiliki router perbatasan Thread lain di dekatnya.\n\nDiperlukan beberapa menit untuk menginstal firmware Zigbee dan memulihkan cadangan.",
|
|
211
|
+
"title": "Hapus dukungan multiprotokol radio IEEE 802.15.4"
|
|
212
|
+
},
|
|
213
|
+
"zigbee_installation_type": {
|
|
214
|
+
"description": "Pilih jenis instalasi untuk adaptor Zigbee.",
|
|
215
|
+
"menu_option_descriptions": {
|
|
216
|
+
"zigbee_intent_custom": "Instal dan konfigurasikan Zigbee secara manual, misalnya dengan Zigbee2MQTT.",
|
|
217
|
+
"zigbee_intent_recommended": "Instal dan konfigurasikan Zigbee secara otomatis."
|
|
218
|
+
},
|
|
219
|
+
"menu_options": {
|
|
220
|
+
"zigbee_intent_custom": "Khusus",
|
|
221
|
+
"zigbee_intent_recommended": "Instalasi yang disarankan"
|
|
222
|
+
},
|
|
223
|
+
"title": "Siapkan Zigbee"
|
|
224
|
+
},
|
|
225
|
+
"zigbee_integration": {
|
|
226
|
+
"menu_option_descriptions": {
|
|
227
|
+
"zigbee_integration_other": "Misalnya jika Anda ingin menggunakan adaptor dengan Zigbee2MQTT.",
|
|
228
|
+
"zigbee_integration_zha": "Gunakan Home Assistant untuk mengendalikan jaringan Zigbee Anda."
|
|
229
|
+
},
|
|
230
|
+
"menu_options": {
|
|
231
|
+
"zigbee_integration_other": "Lainnya",
|
|
232
|
+
"zigbee_integration_zha": "Zigbee Home Automation"
|
|
233
|
+
},
|
|
234
|
+
"title": "Pilih metode Zigbee"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
@@ -19,8 +19,10 @@
|
|
|
19
19
|
"flow_title": "{model}",
|
|
20
20
|
"progress": {
|
|
21
21
|
"install_addon": "Palaukite, kol bus baigtas {addon_name} priedo diegimas. Tai gali u\u017etrukti kelias minutes.",
|
|
22
|
-
"install_firmware": "
|
|
23
|
-
"
|
|
22
|
+
"install_firmware": "Diegiama {firmware_name} programin\u0117 \u012franga. \n \n Kol tai nebus baigta, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
|
|
23
|
+
"install_otbr_addon": "Priedo diegimas",
|
|
24
|
+
"start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes.",
|
|
25
|
+
"start_otbr_addon": "Pradedamas priedas"
|
|
24
26
|
},
|
|
25
27
|
"step": {
|
|
26
28
|
"confirm_otbr": {
|
|
@@ -32,7 +34,13 @@
|
|
|
32
34
|
"title": "Zigbee s\u0105ranka baigta"
|
|
33
35
|
},
|
|
34
36
|
"install_otbr_addon": {
|
|
35
|
-
"title": "
|
|
37
|
+
"title": "Thread konfig\u016bravimas"
|
|
38
|
+
},
|
|
39
|
+
"install_thread_firmware": {
|
|
40
|
+
"title": "Adapterio atnaujinimas"
|
|
41
|
+
},
|
|
42
|
+
"install_zigbee_firmware": {
|
|
43
|
+
"title": "Adapterio atnaujinimas"
|
|
36
44
|
},
|
|
37
45
|
"otbr_failed": {
|
|
38
46
|
"description": "OpenThread Border Router priedo diegimas buvo nes\u0117kmingas. \u012esitikinkite, kad jokia kita programin\u0117 \u012franga nebando susisiekti su {model}, turite prieig\u0105 prie interneto ir galite \u012fdiegti kitus priedus, ir bandykite dar kart\u0105. Patikrinkite pri\u017ei\u016br\u0117tojo \u017eurnalus, jei problema i\u0161lieka.",
|
|
@@ -55,7 +63,7 @@
|
|
|
55
63
|
"title": "Pasirinkite savo protokol\u0105"
|
|
56
64
|
},
|
|
57
65
|
"start_otbr_addon": {
|
|
58
|
-
"title": "
|
|
66
|
+
"title": "Thread konfig\u016bravimas"
|
|
59
67
|
},
|
|
60
68
|
"zigbee_installation_type": {
|
|
61
69
|
"description": "Pasirinkite Zigbee adapterio diegimo tip\u0105.",
|
|
@@ -109,8 +117,10 @@
|
|
|
109
117
|
},
|
|
110
118
|
"progress": {
|
|
111
119
|
"install_addon": "Palaukite, kol bus baigtas {addon_name} priedo diegimas. Tai gali u\u017etrukti kelias minutes.",
|
|
112
|
-
"install_firmware": "
|
|
113
|
-
"
|
|
120
|
+
"install_firmware": "Diegiama {firmware_name} programin\u0117 \u012franga. \n \n Kol tai nebus baigta, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
|
|
121
|
+
"install_otbr_addon": "Priedo diegimas",
|
|
122
|
+
"start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes.",
|
|
123
|
+
"start_otbr_addon": "Pradedamas priedas"
|
|
114
124
|
},
|
|
115
125
|
"step": {
|
|
116
126
|
"addon_installed_other_device": {
|
|
@@ -148,7 +158,13 @@
|
|
|
148
158
|
"title": "Prasid\u0117jo Silicon Labs keli\u0173 protokol\u0173 priedo diegimas"
|
|
149
159
|
},
|
|
150
160
|
"install_otbr_addon": {
|
|
151
|
-
"title": "
|
|
161
|
+
"title": "Thread konfig\u016bravimas"
|
|
162
|
+
},
|
|
163
|
+
"install_thread_firmware": {
|
|
164
|
+
"title": "Adapterio atnaujinimas"
|
|
165
|
+
},
|
|
166
|
+
"install_zigbee_firmware": {
|
|
167
|
+
"title": "Adapterio atnaujinimas"
|
|
152
168
|
},
|
|
153
169
|
"notify_channel_change": {
|
|
154
170
|
"description": "Zigbee ir Thread kanal\u0173 pakeitimas buvo prad\u0117tas ir baigsis po {delay_minutes} min.",
|
|
@@ -185,7 +201,7 @@
|
|
|
185
201
|
"title": "Paleid\u017eiamas Silicon Labs Multiprotocol priedas."
|
|
186
202
|
},
|
|
187
203
|
"start_otbr_addon": {
|
|
188
|
-
"title": "
|
|
204
|
+
"title": "Thread konfig\u016bravimas"
|
|
189
205
|
},
|
|
190
206
|
"uninstall_addon": {
|
|
191
207
|
"data": {
|
|
@@ -35,6 +35,16 @@
|
|
|
35
35
|
"pick_firmware_zigbee": "Zigbee"
|
|
36
36
|
},
|
|
37
37
|
"title": "Kies je firmware"
|
|
38
|
+
},
|
|
39
|
+
"zigbee_installation_type": {
|
|
40
|
+
"menu_option_descriptions": {
|
|
41
|
+
"zigbee_intent_custom": "Handmatig installeren en configureren van Zigbee, bijvoorbeeld met Zigbee2MQTT."
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"zigbee_integration": {
|
|
45
|
+
"menu_option_descriptions": {
|
|
46
|
+
"zigbee_integration_other": "Bijvoorbeeld als je de adapter met Zigbee2MQTT wilt gebruiken."
|
|
47
|
+
}
|
|
38
48
|
}
|
|
39
49
|
}
|
|
40
50
|
},
|
|
@@ -128,6 +138,16 @@
|
|
|
128
138
|
},
|
|
129
139
|
"description": "Als je multiprotocol ondersteuning uitschakelt, wordt de radio van je {hardware_name} teruggezet naar firmware die alleen Zigbee ondersteunt en wordt Thread-ondersteuning door de {hardware_name} uitgeschakeld. Je Thread-apparaten blijven alleen werken als je een andere Thread-borderrouter in de buurt hebt.\n\nHet duurt een paar minuten om de Zigbee-firmware te installeren en een back-up terug te zetten.",
|
|
130
140
|
"title": "Verwijder IEEE 802.15.4 radio multiprotocol-ondersteuning."
|
|
141
|
+
},
|
|
142
|
+
"zigbee_installation_type": {
|
|
143
|
+
"menu_option_descriptions": {
|
|
144
|
+
"zigbee_intent_custom": "Handmatig installeren en configureren van Zigbee, bijvoorbeeld met Zigbee2MQTT."
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"zigbee_integration": {
|
|
148
|
+
"menu_option_descriptions": {
|
|
149
|
+
"zigbee_integration_other": "Bijvoorbeeld als je de adapter met Zigbee2MQTT wilt gebruiken."
|
|
150
|
+
}
|
|
131
151
|
}
|
|
132
152
|
}
|
|
133
153
|
}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
|
+
"progress": {
|
|
4
|
+
"install_otbr_addon": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f",
|
|
5
|
+
"start_otbr_addon": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"
|
|
6
|
+
},
|
|
3
7
|
"step": {
|
|
8
|
+
"install_thread_firmware": {
|
|
9
|
+
"title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
|
|
10
|
+
},
|
|
11
|
+
"install_zigbee_firmware": {
|
|
12
|
+
"title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
|
|
13
|
+
},
|
|
4
14
|
"otbr_failed": {
|
|
5
15
|
"description": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \"OpenThread Border Router\". \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c {model}, \u0447\u0442\u043e \u0443 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0438 \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u044b Supervisor, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430.",
|
|
6
16
|
"title": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 OpenThread"
|
|
@@ -22,7 +32,7 @@
|
|
|
22
32
|
"title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b"
|
|
23
33
|
},
|
|
24
34
|
"start_otbr_addon": {
|
|
25
|
-
"title": "\
|
|
35
|
+
"title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Thread"
|
|
26
36
|
},
|
|
27
37
|
"zigbee_installation_type": {
|
|
28
38
|
"description": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 Zigbee.",
|
|
@@ -76,8 +86,10 @@
|
|
|
76
86
|
},
|
|
77
87
|
"progress": {
|
|
78
88
|
"install_addon": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"{addon_name}\". \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442.",
|
|
79
|
-
"install_firmware": "\
|
|
80
|
-
"
|
|
89
|
+
"install_firmware": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 {firmware_name}. \n \n\u041d\u0435 \u0432\u043d\u043e\u0441\u0438\u0442\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f.",
|
|
90
|
+
"install_otbr_addon": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f",
|
|
91
|
+
"start_addon": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"{addon_name}\". \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434.",
|
|
92
|
+
"start_otbr_addon": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"
|
|
81
93
|
},
|
|
82
94
|
"step": {
|
|
83
95
|
"addon_installed_other_device": {
|
|
@@ -88,6 +100,12 @@
|
|
|
88
100
|
"reconfigure_addon": "\u041f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u0432\u044f\u0437\u0438 IEEE 802.15.4"
|
|
89
101
|
}
|
|
90
102
|
},
|
|
103
|
+
"install_thread_firmware": {
|
|
104
|
+
"title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
|
|
105
|
+
},
|
|
106
|
+
"install_zigbee_firmware": {
|
|
107
|
+
"title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
|
|
108
|
+
},
|
|
91
109
|
"notify_channel_change": {
|
|
92
110
|
"description": "\u041d\u0430\u0447\u0430\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u0430 Zigbee \u0438 Thread, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 {delay_minutes} \u043c\u0438\u043d\u0443\u0442.",
|
|
93
111
|
"title": "\u0418\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u0430"
|
|
@@ -123,7 +141,7 @@
|
|
|
123
141
|
"title": "\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Silicon Labs Multiprotocol \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f."
|
|
124
142
|
},
|
|
125
143
|
"start_otbr_addon": {
|
|
126
|
-
"title": "\
|
|
144
|
+
"title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Thread"
|
|
127
145
|
},
|
|
128
146
|
"uninstall_addon": {
|
|
129
147
|
"data": {
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
"progress": {
|
|
21
21
|
"install_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed in\u0161tal\u00e1cia doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko min\u00fat.",
|
|
22
22
|
"install_firmware": "In\u0161tal\u00e1cia firmv\u00e9ru {firmware_name}. Do jej ukon\u010denia nevykon\u00e1vajte \u017eiadne zmeny na hardv\u00e9ri ani softv\u00e9ri.",
|
|
23
|
-
"
|
|
23
|
+
"install_otbr_addon": "In\u0161tal\u00e1cia doplnku",
|
|
24
|
+
"start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand.",
|
|
25
|
+
"start_otbr_addon": "Spustenie doplnku"
|
|
24
26
|
},
|
|
25
27
|
"step": {
|
|
26
28
|
"confirm_otbr": {
|
|
@@ -34,6 +36,12 @@
|
|
|
34
36
|
"install_otbr_addon": {
|
|
35
37
|
"title": "Konfigur\u00e1cia vl\u00e1kna"
|
|
36
38
|
},
|
|
39
|
+
"install_thread_firmware": {
|
|
40
|
+
"title": "Aktualiz\u00e1cia adapt\u00e9ra"
|
|
41
|
+
},
|
|
42
|
+
"install_zigbee_firmware": {
|
|
43
|
+
"title": "Aktualiz\u00e1cia adapt\u00e9ra"
|
|
44
|
+
},
|
|
37
45
|
"otbr_failed": {
|
|
38
46
|
"description": "In\u0161tal\u00e1cia doplnku OpenThread Border Router bola ne\u00faspe\u0161n\u00e1. Uistite sa, \u017ee sa so str\u00e1nkou {model} nepok\u00fa\u0161a komunikova\u0165 \u017eiadny in\u00fd softv\u00e9r , m\u00e1te pr\u00edstup na internet a m\u00f4\u017eete nain\u0161talova\u0165 in\u00e9 doplnky, a sk\u00faste to znova. Ak probl\u00e9m pretrv\u00e1va, skontrolujte protokoly programu Supervisor.",
|
|
39
47
|
"title": "Nepodarilo sa nastavi\u0165 OpenThread Border Router"
|
|
@@ -110,7 +118,9 @@
|
|
|
110
118
|
"progress": {
|
|
111
119
|
"install_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed in\u0161tal\u00e1cia doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko min\u00fat.",
|
|
112
120
|
"install_firmware": "In\u0161tal\u00e1cia firmv\u00e9ru {firmware_name}. Do jej ukon\u010denia nevykon\u00e1vajte \u017eiadne zmeny na hardv\u00e9ri ani softv\u00e9ri.",
|
|
113
|
-
"
|
|
121
|
+
"install_otbr_addon": "In\u0161tal\u00e1cia doplnku",
|
|
122
|
+
"start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand.",
|
|
123
|
+
"start_otbr_addon": "Spustenie doplnku"
|
|
114
124
|
},
|
|
115
125
|
"step": {
|
|
116
126
|
"addon_installed_other_device": {
|
|
@@ -150,6 +160,12 @@
|
|
|
150
160
|
"install_otbr_addon": {
|
|
151
161
|
"title": "Konfigur\u00e1cia vl\u00e1kna"
|
|
152
162
|
},
|
|
163
|
+
"install_thread_firmware": {
|
|
164
|
+
"title": "Aktualiz\u00e1cia adapt\u00e9ra"
|
|
165
|
+
},
|
|
166
|
+
"install_zigbee_firmware": {
|
|
167
|
+
"title": "Aktualiz\u00e1cia adapt\u00e9ra"
|
|
168
|
+
},
|
|
153
169
|
"notify_channel_change": {
|
|
154
170
|
"description": "Bola spusten\u00e1 zmena kan\u00e1la Zigbee a Thread a skon\u010d\u00ed sa o {delay_minutes} min\u00fat.",
|
|
155
171
|
"title": "Iniciovan\u00e1 zmena kan\u00e1la"
|
|
@@ -16,6 +16,7 @@ from homeassistant.components.homeassistant_hardware.update import (
|
|
|
16
16
|
from homeassistant.components.homeassistant_hardware.util import (
|
|
17
17
|
ApplicationType,
|
|
18
18
|
FirmwareInfo,
|
|
19
|
+
ResetTarget,
|
|
19
20
|
)
|
|
20
21
|
from homeassistant.components.update import UpdateDeviceClass
|
|
21
22
|
from homeassistant.config_entries import ConfigEntry
|
|
@@ -156,7 +157,7 @@ async def async_setup_entry(
|
|
|
156
157
|
class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
|
|
157
158
|
"""Connect ZBT-2 firmware update entity."""
|
|
158
159
|
|
|
159
|
-
|
|
160
|
+
bootloader_reset_methods = [ResetTarget.RTS_DTR, ResetTarget.BAUDRATE]
|
|
160
161
|
|
|
161
162
|
def __init__(
|
|
162
163
|
self,
|
|
@@ -39,6 +39,7 @@ from .util import (
|
|
|
39
39
|
FirmwareInfo,
|
|
40
40
|
OwningAddon,
|
|
41
41
|
OwningIntegration,
|
|
42
|
+
ResetTarget,
|
|
42
43
|
async_flash_silabs_firmware,
|
|
43
44
|
get_otbr_addon_manager,
|
|
44
45
|
guess_firmware_info,
|
|
@@ -79,6 +80,8 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
79
80
|
"""Base flow to install firmware."""
|
|
80
81
|
|
|
81
82
|
ZIGBEE_BAUDRATE = 115200 # Default, subclasses may override
|
|
83
|
+
BOOTLOADER_RESET_METHODS: list[ResetTarget] = [] # Default, subclasses may override
|
|
84
|
+
|
|
82
85
|
_picked_firmware_type: PickedFirmwareType
|
|
83
86
|
_zigbee_flow_strategy: ZigbeeFlowStrategy = ZigbeeFlowStrategy.RECOMMENDED
|
|
84
87
|
|
|
@@ -155,34 +158,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
155
158
|
description_placeholders=self._get_translation_placeholders(),
|
|
156
159
|
)
|
|
157
160
|
|
|
158
|
-
async def _probe_firmware_info(
|
|
159
|
-
self,
|
|
160
|
-
probe_methods: tuple[ApplicationType, ...] = (
|
|
161
|
-
# We probe in order of frequency: Zigbee, Thread, then multi-PAN
|
|
162
|
-
ApplicationType.GECKO_BOOTLOADER,
|
|
163
|
-
ApplicationType.EZSP,
|
|
164
|
-
ApplicationType.SPINEL,
|
|
165
|
-
ApplicationType.CPC,
|
|
166
|
-
),
|
|
167
|
-
) -> bool:
|
|
168
|
-
"""Probe the firmware currently on the device."""
|
|
169
|
-
assert self._device is not None
|
|
170
|
-
|
|
171
|
-
self._probed_firmware_info = await probe_silabs_firmware_info(
|
|
172
|
-
self._device,
|
|
173
|
-
probe_methods=probe_methods,
|
|
174
|
-
)
|
|
175
|
-
|
|
176
|
-
return (
|
|
177
|
-
self._probed_firmware_info is not None
|
|
178
|
-
and self._probed_firmware_info.firmware_type
|
|
179
|
-
in (
|
|
180
|
-
ApplicationType.EZSP,
|
|
181
|
-
ApplicationType.SPINEL,
|
|
182
|
-
ApplicationType.CPC,
|
|
183
|
-
)
|
|
184
|
-
)
|
|
185
|
-
|
|
186
161
|
async def _install_firmware_step(
|
|
187
162
|
self,
|
|
188
163
|
fw_update_url: str,
|
|
@@ -236,12 +211,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
236
211
|
expected_installed_firmware_type: ApplicationType,
|
|
237
212
|
) -> None:
|
|
238
213
|
"""Install firmware."""
|
|
239
|
-
if not await self._probe_firmware_info():
|
|
240
|
-
raise AbortFlow(
|
|
241
|
-
reason="unsupported_firmware",
|
|
242
|
-
description_placeholders=self._get_translation_placeholders(),
|
|
243
|
-
)
|
|
244
|
-
|
|
245
214
|
assert self._device is not None
|
|
246
215
|
|
|
247
216
|
# Keep track of the firmware we're working with, for error messages
|
|
@@ -250,6 +219,8 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
250
219
|
# Installing new firmware is only truly required if the wrong type is
|
|
251
220
|
# installed: upgrading to the latest release of the current firmware type
|
|
252
221
|
# isn't strictly necessary for functionality.
|
|
222
|
+
self._probed_firmware_info = await probe_silabs_firmware_info(self._device)
|
|
223
|
+
|
|
253
224
|
firmware_install_required = self._probed_firmware_info is None or (
|
|
254
225
|
self._probed_firmware_info.firmware_type != expected_installed_firmware_type
|
|
255
226
|
)
|
|
@@ -301,12 +272,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
301
272
|
# Otherwise, fail
|
|
302
273
|
raise AbortFlow(reason="firmware_download_failed") from err
|
|
303
274
|
|
|
304
|
-
await async_flash_silabs_firmware(
|
|
275
|
+
self._probed_firmware_info = await async_flash_silabs_firmware(
|
|
305
276
|
hass=self.hass,
|
|
306
277
|
device=self._device,
|
|
307
278
|
fw_data=fw_data,
|
|
308
279
|
expected_installed_firmware_type=expected_installed_firmware_type,
|
|
309
|
-
|
|
280
|
+
bootloader_reset_methods=self.BOOTLOADER_RESET_METHODS,
|
|
310
281
|
progress_callback=lambda offset, total: self.async_update_progress(
|
|
311
282
|
offset / total
|
|
312
283
|
),
|
|
@@ -314,15 +285,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
314
285
|
|
|
315
286
|
async def _configure_and_start_otbr_addon(self) -> None:
|
|
316
287
|
"""Configure and start the OTBR addon."""
|
|
317
|
-
|
|
318
|
-
# Before we start the addon, confirm that the correct firmware is running
|
|
319
|
-
# and populate `self._probed_firmware_info` with the correct information
|
|
320
|
-
if not await self._probe_firmware_info(probe_methods=(ApplicationType.SPINEL,)):
|
|
321
|
-
raise AbortFlow(
|
|
322
|
-
"unsupported_firmware",
|
|
323
|
-
description_placeholders=self._get_translation_placeholders(),
|
|
324
|
-
)
|
|
325
|
-
|
|
326
288
|
otbr_manager = get_otbr_addon_manager(self.hass)
|
|
327
289
|
addon_info = await self._async_get_addon_info(otbr_manager)
|
|
328
290
|
|
|
@@ -444,12 +406,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
444
406
|
if self._picked_firmware_type == PickedFirmwareType.ZIGBEE:
|
|
445
407
|
return await self.async_step_install_zigbee_firmware()
|
|
446
408
|
|
|
447
|
-
return await self.
|
|
409
|
+
return await self.async_step_install_thread_firmware()
|
|
448
410
|
|
|
449
|
-
async def
|
|
411
|
+
async def async_step_finish_thread_installation(
|
|
450
412
|
self, user_input: dict[str, Any] | None = None
|
|
451
413
|
) -> ConfigFlowResult:
|
|
452
|
-
"""
|
|
414
|
+
"""Finish Thread installation by starting the OTBR addon."""
|
|
453
415
|
if not is_hassio(self.hass):
|
|
454
416
|
return self.async_abort(
|
|
455
417
|
reason="not_hassio_thread",
|
|
@@ -459,22 +421,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
459
421
|
otbr_manager = get_otbr_addon_manager(self.hass)
|
|
460
422
|
addon_info = await self._async_get_addon_info(otbr_manager)
|
|
461
423
|
|
|
462
|
-
if addon_info.state == AddonState.RUNNING:
|
|
463
|
-
# Stop the addon before continuing to flash firmware
|
|
464
|
-
await otbr_manager.async_stop_addon()
|
|
465
|
-
|
|
466
|
-
return await self.async_step_install_thread_firmware()
|
|
467
|
-
|
|
468
|
-
async def async_step_finish_thread_installation(
|
|
469
|
-
self, user_input: dict[str, Any] | None = None
|
|
470
|
-
) -> ConfigFlowResult:
|
|
471
|
-
"""Finish Thread installation by starting the OTBR addon."""
|
|
472
|
-
otbr_manager = get_otbr_addon_manager(self.hass)
|
|
473
|
-
addon_info = await self._async_get_addon_info(otbr_manager)
|
|
474
|
-
|
|
475
424
|
if addon_info.state == AddonState.NOT_INSTALLED:
|
|
476
425
|
return await self.async_step_install_otbr_addon()
|
|
477
426
|
|
|
427
|
+
if addon_info.state == AddonState.RUNNING:
|
|
428
|
+
await otbr_manager.async_stop_addon()
|
|
429
|
+
|
|
478
430
|
return await self.async_step_start_otbr_addon()
|
|
479
431
|
|
|
480
432
|
async def async_step_pick_firmware_zigbee(
|
|
@@ -511,12 +463,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
|
|
|
511
463
|
assert self._device is not None
|
|
512
464
|
assert self._hardware_name is not None
|
|
513
465
|
|
|
514
|
-
if not await self._probe_firmware_info(probe_methods=(ApplicationType.EZSP,)):
|
|
515
|
-
return self.async_abort(
|
|
516
|
-
reason="unsupported_firmware",
|
|
517
|
-
description_placeholders=self._get_translation_placeholders(),
|
|
518
|
-
)
|
|
519
|
-
|
|
520
466
|
if self._zigbee_integration == ZigbeeIntegration.OTHER:
|
|
521
467
|
return self._async_flow_finished()
|
|
522
468
|
|