homeassistant 2025.8.0b1__py3-none-any.whl → 2025.8.0b2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant/components/adguard/translations/ga.json +11 -0
- homeassistant/components/airgradient/translations/ga.json +27 -0
- homeassistant/components/airos/diagnostics.py +33 -0
- homeassistant/components/airos/quality_scale.yaml +1 -1
- homeassistant/components/airos/translations/en-GB.json +87 -0
- homeassistant/components/airos/translations/nl.json +10 -0
- homeassistant/components/airos/translations/sk.json +32 -0
- homeassistant/components/airos/translations/sv.json +29 -0
- homeassistant/components/airq/translations/ga.json +2 -1
- homeassistant/components/airtouch4/translations/ga.json +11 -0
- homeassistant/components/airtouch5/translations/ga.json +16 -0
- homeassistant/components/airvisual_pro/translations/ga.json +11 -0
- homeassistant/components/airzone/translations/ga.json +6 -0
- homeassistant/components/airzone_cloud/translations/ga.json +4 -0
- homeassistant/components/alarmdecoder/translations/ga.json +10 -0
- homeassistant/components/alexa_devices/translations/de.json +34 -34
- homeassistant/components/alexa_devices/translations/en-GB.json +522 -1
- homeassistant/components/alexa_devices/translations/et.json +522 -1
- homeassistant/components/alexa_devices/translations/ga.json +81 -1
- homeassistant/components/alexa_devices/translations/nl.json +9 -0
- homeassistant/components/alexa_devices/translations/sv.json +27 -1
- homeassistant/components/alexa_devices/translations/zh-Hans.json +179 -5
- homeassistant/components/ambient_network/translations/ga.json +84 -0
- homeassistant/components/analytics/analytics.py +0 -1
- homeassistant/components/analytics_insights/translations/ga.json +10 -4
- homeassistant/components/androidtv_remote/translations/ga.json +1 -0
- homeassistant/components/anova/translations/ga.json +5 -1
- homeassistant/components/anthropic/translations/ga.json +2 -1
- homeassistant/components/aosmith/translations/ga.json +19 -0
- homeassistant/components/apcupsd/translations/ga.json +155 -0
- homeassistant/components/apple_tv/translations/ga.json +10 -0
- homeassistant/components/aprilaire/translations/ga.json +17 -0
- homeassistant/components/aranet/translations/ga.json +5 -0
- homeassistant/components/arve/translations/ga.json +20 -0
- homeassistant/components/august/manifest.json +1 -1
- homeassistant/components/aurora_abb_powerone/translations/ga.json +24 -0
- homeassistant/components/axis/translations/ga.json +4 -0
- homeassistant/components/azure_devops/translations/ga.json +3 -0
- homeassistant/components/azure_storage/translations/ga.json +3 -0
- homeassistant/components/balboa/translations/ga.json +28 -0
- homeassistant/components/binary_sensor/translations/ga.json +8 -0
- homeassistant/components/blink/translations/ga.json +24 -0
- homeassistant/components/blue_current/translations/ga.json +23 -0
- homeassistant/components/bluetooth/manifest.json +1 -1
- homeassistant/components/bmw_connected_drive/translations/ga.json +6 -0
- homeassistant/components/bond/translations/ga.json +11 -0
- homeassistant/components/bosch_alarm/translations/ga.json +2 -1
- homeassistant/components/bosch_shc/translations/ga.json +11 -0
- homeassistant/components/bring/translations/ga.json +52 -0
- homeassistant/components/brother/translations/ga.json +3 -0
- homeassistant/components/bryant_evolution/translations/ga.json +3 -0
- homeassistant/components/bsblan/translations/ga.json +6 -0
- homeassistant/components/bthome/translations/ga.json +3 -1
- homeassistant/components/calendar/translations/ga.json +27 -0
- homeassistant/components/cambridge_audio/translations/ga.json +1 -0
- homeassistant/components/climate/translations/ga.json +12 -0
- homeassistant/components/cloud/translations/ga.json +30 -0
- homeassistant/components/co2signal/translations/ga.json +32 -0
- homeassistant/components/comelit/translations/ga.json +20 -0
- homeassistant/components/conversation/translations/ga.json +7 -0
- homeassistant/components/cookidoo/translations/ga.json +4 -0
- homeassistant/components/datadog/translations/sv.json +28 -0
- homeassistant/components/deconz/translations/ga.json +11 -0
- homeassistant/components/deluge/translations/ga.json +9 -0
- homeassistant/components/demo/translations/ga.json +12 -0
- homeassistant/components/denonavr/manifest.json +1 -1
- homeassistant/components/devialet/translations/ga.json +16 -0
- homeassistant/components/devolo_home_network/translations/ga.json +18 -0
- homeassistant/components/dexcom/translations/ga.json +17 -0
- homeassistant/components/dhcp/manifest.json +1 -1
- homeassistant/components/directv/translations/ga.json +11 -0
- homeassistant/components/dlink/translations/ga.json +11 -0
- homeassistant/components/doorbird/translations/ga.json +5 -0
- homeassistant/components/downloader/translations/ga.json +9 -0
- homeassistant/components/drop_connect/translations/ga.json +83 -0
- homeassistant/components/dsmr/translations/ga.json +3 -0
- homeassistant/components/duotecno/translations/ga.json +18 -0
- homeassistant/components/dwd_weather_warnings/translations/ga.json +17 -0
- homeassistant/components/easyenergy/translations/ga.json +16 -0
- homeassistant/components/ecobee/translations/ga.json +11 -0
- homeassistant/components/ecoforest/translations/ga.json +24 -0
- homeassistant/components/ecovacs/translations/ga.json +117 -1
- homeassistant/components/eheimdigital/translations/ga.json +1 -0
- homeassistant/components/electric_kiwi/translations/ga.json +19 -0
- homeassistant/components/elevenlabs/translations/sv.json +2 -1
- homeassistant/components/elmax/translations/ga.json +39 -0
- homeassistant/components/elvia/translations/ga.json +18 -0
- homeassistant/components/emoncms/translations/cs.json +0 -8
- homeassistant/components/emoncms/translations/el.json +0 -8
- homeassistant/components/emoncms/translations/en-GB.json +2 -2
- homeassistant/components/emoncms/translations/en.json +2 -2
- homeassistant/components/emoncms/translations/es.json +0 -8
- homeassistant/components/emoncms/translations/ga.json +1 -8
- homeassistant/components/emoncms/translations/it.json +0 -8
- homeassistant/components/emoncms/translations/ja.json +0 -8
- homeassistant/components/emoncms/translations/lt.json +0 -8
- homeassistant/components/emoncms/translations/nl.json +0 -8
- homeassistant/components/emoncms/translations/pt.json +0 -8
- homeassistant/components/emoncms/translations/sk.json +0 -8
- homeassistant/components/emoncms/translations/sv.json +2 -9
- homeassistant/components/emoncms/translations/zh-Hans.json +0 -8
- homeassistant/components/emoncms/translations/zh-Hant.json +2 -2
- homeassistant/components/energenie_power_sockets/translations/ga.json +23 -0
- homeassistant/components/energyzero/translations/ga.json +42 -0
- homeassistant/components/enigma2/translations/ga.json +8 -0
- homeassistant/components/enphase_envoy/diagnostics.py +2 -0
- homeassistant/components/enphase_envoy/translations/ga.json +108 -0
- homeassistant/components/epic_games_store/translations/ga.json +22 -1
- homeassistant/components/epson/translations/ga.json +3 -0
- homeassistant/components/eq3btsmart/translations/ga.json +12 -0
- homeassistant/components/esphome/manifest.json +1 -1
- homeassistant/components/esphome/translations/ga.json +1 -0
- homeassistant/components/evil_genius_labs/translations/ga.json +11 -0
- homeassistant/components/faa_delays/translations/ga.json +73 -0
- homeassistant/components/fan/translations/ga.json +7 -0
- homeassistant/components/fastdotcom/translations/ga.json +9 -0
- homeassistant/components/feedreader/translations/ga.json +3 -0
- homeassistant/components/file/translations/ga.json +56 -0
- homeassistant/components/filesize/translations/ga.json +5 -0
- homeassistant/components/fitbit/translations/ga.json +11 -0
- homeassistant/components/fjaraskupan/translations/da.json +7 -0
- homeassistant/components/flexit_bacnet/translations/ga.json +19 -0
- homeassistant/components/folder_watcher/translations/ga.json +41 -0
- homeassistant/components/freebox/translations/ga.json +11 -0
- homeassistant/components/fritz/translations/ga.json +20 -0
- homeassistant/components/fritzbox/translations/ga.json +8 -0
- homeassistant/components/fritzbox_callmonitor/translations/ga.json +49 -0
- homeassistant/components/fronius/translations/ga.json +1 -0
- homeassistant/components/fyta/translations/ga.json +55 -7
- homeassistant/components/generic/translations/ga.json +8 -0
- homeassistant/components/generic_hygrostat/translations/it.json +47 -2
- homeassistant/components/generic_thermostat/translations/it.json +39 -6
- homeassistant/components/geocaching/translations/ga.json +4 -0
- homeassistant/components/glances/translations/ga.json +15 -0
- homeassistant/components/goalzero/translations/ga.json +53 -0
- homeassistant/components/google/translations/ga.json +3 -1
- homeassistant/components/google_assistant_sdk/translations/ga.json +4 -0
- homeassistant/components/google_drive/translations/ga.json +2 -0
- homeassistant/components/google_generative_ai_conversation/translations/ga.json +8 -4
- homeassistant/components/google_generative_ai_conversation/translations/sv.json +1 -0
- homeassistant/components/google_mail/translations/ga.json +4 -0
- homeassistant/components/google_photos/translations/ga.json +2 -0
- homeassistant/components/google_sheets/translations/ga.json +4 -0
- homeassistant/components/google_tasks/translations/ga.json +5 -0
- homeassistant/components/google_travel_time/translations/ga.json +65 -0
- homeassistant/components/gpsd/translations/ga.json +19 -0
- homeassistant/components/gree/translations/ga.json +15 -0
- homeassistant/components/group/translations/en-GB.json +18 -0
- homeassistant/components/group/translations/et.json +18 -0
- homeassistant/components/group/translations/ga.json +7 -0
- homeassistant/components/guardian/translations/ga.json +23 -0
- homeassistant/components/habitica/translations/ga.json +35 -0
- homeassistant/components/harmony/translations/ga.json +18 -0
- homeassistant/components/hassio/translations/ga.json +38 -0
- homeassistant/components/heos/translations/ga.json +11 -0
- homeassistant/components/here_travel_time/translations/ga.json +5 -0
- homeassistant/components/hko/translations/ga.json +9 -0
- homeassistant/components/holiday/translations/ga.json +5 -0
- homeassistant/components/home_connect/translations/da.json +6 -0
- homeassistant/components/home_connect/translations/ga.json +2 -0
- homeassistant/components/homeassistant/translations/ga.json +29 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +1 -0
- homeassistant/components/homee/translations/ga.json +3 -0
- homeassistant/components/homee/translations/sv.json +6 -0
- homeassistant/components/homekit_controller/translations/ga.json +15 -0
- homeassistant/components/homewizard/translations/ga.json +40 -0
- homeassistant/components/homeworks/translations/ga.json +147 -1
- homeassistant/components/honeywell/translations/ga.json +55 -0
- homeassistant/components/huawei_lte/translations/ga.json +94 -0
- homeassistant/components/hue/translations/ga.json +8 -0
- homeassistant/components/hunterdouglas_powerview/translations/ga.json +17 -0
- homeassistant/components/husqvarna_automower/translations/en-GB.json +12 -0
- homeassistant/components/husqvarna_automower/translations/ga.json +186 -3
- homeassistant/components/husqvarna_automower/translations/nl.json +1 -0
- homeassistant/components/husqvarna_automower/translations/sv.json +12 -0
- homeassistant/components/huum/translations/ga.json +10 -0
- homeassistant/components/huum/translations/sv.json +7 -0
- homeassistant/components/hydrawise/translations/ga.json +26 -1
- homeassistant/components/hyperion/translations/ga.json +5 -0
- homeassistant/components/idasen_desk/translations/ga.json +18 -0
- homeassistant/components/imap/translations/ga.json +80 -0
- homeassistant/components/imgw_pib/manifest.json +1 -1
- homeassistant/components/imgw_pib/translations/ga.json +9 -0
- homeassistant/components/imgw_pib/translations/sv.json +3 -0
- homeassistant/components/immich/translations/sv.json +9 -0
- homeassistant/components/incomfort/translations/ga.json +3 -0
- homeassistant/components/input_button/translations/ga.json +7 -0
- homeassistant/components/iotawatt/translations/ga.json +11 -0
- homeassistant/components/ista_ecotrend/translations/ga.json +1 -0
- homeassistant/components/jewish_calendar/translations/ga.json +7 -1
- homeassistant/components/jvc_projector/translations/ga.json +13 -1
- homeassistant/components/keenetic_ndms2/translations/ga.json +12 -0
- homeassistant/components/kitchen_sink/translations/ga.json +12 -0
- homeassistant/components/knx/translations/ga.json +12 -0
- homeassistant/components/kostal_plenticore/translations/ga.json +3 -0
- homeassistant/components/lamarzocco/translations/ga.json +67 -0
- homeassistant/components/lametric/translations/ga.json +4 -0
- homeassistant/components/lcn/translations/ga.json +3 -0
- homeassistant/components/lg_netcast/translations/ga.json +7 -0
- homeassistant/components/lg_thinq/translations/sv.json +45 -0
- homeassistant/components/life360/translations/ga.json +8 -0
- homeassistant/components/linkplay/translations/sv.json +8 -0
- homeassistant/components/litterrobot/manifest.json +1 -1
- homeassistant/components/litterrobot/translations/sv.json +3 -0
- homeassistant/components/lock/translations/ga.json +4 -0
- homeassistant/components/lupusec/translations/ga.json +9 -0
- homeassistant/components/lutron/translations/ga.json +26 -0
- homeassistant/components/lyric/translations/ga.json +14 -0
- homeassistant/components/madvr/translations/ga.json +1 -0
- homeassistant/components/matter/translations/ga.json +5 -0
- homeassistant/components/mazda/translations/ga.json +8 -0
- homeassistant/components/mealie/translations/en-GB.json +21 -0
- homeassistant/components/mealie/translations/et.json +21 -0
- homeassistant/components/mealie/translations/ga.json +3 -1
- homeassistant/components/mealie/translations/sv.json +8 -0
- homeassistant/components/mealie/translations/zh-Hans.json +14 -1
- homeassistant/components/mealie/translations/zh-Hant.json +5 -0
- homeassistant/components/media_extractor/translations/ga.json +18 -0
- homeassistant/components/melcloud/translations/ga.json +6 -0
- homeassistant/components/microbees/translations/ga.json +4 -0
- homeassistant/components/miele/strings.json +21 -21
- homeassistant/components/miele/translations/bg.json +0 -23
- homeassistant/components/miele/translations/cs.json +1 -24
- homeassistant/components/miele/translations/da.json +3 -0
- homeassistant/components/miele/translations/de.json +21 -21
- homeassistant/components/miele/translations/el.json +0 -25
- homeassistant/components/miele/translations/en-GB.json +46 -21
- homeassistant/components/miele/translations/en.json +20 -20
- homeassistant/components/miele/translations/es.json +1 -24
- homeassistant/components/miele/translations/et.json +55 -21
- homeassistant/components/miele/translations/ga.json +47 -22
- homeassistant/components/miele/translations/he.json +0 -23
- homeassistant/components/miele/translations/hu.json +1 -24
- homeassistant/components/miele/translations/it.json +83 -21
- homeassistant/components/miele/translations/ja.json +0 -20
- homeassistant/components/miele/translations/lt.json +1 -24
- homeassistant/components/miele/translations/nl.json +10 -24
- homeassistant/components/miele/translations/pt.json +1 -24
- homeassistant/components/miele/translations/sk.json +1 -24
- homeassistant/components/miele/translations/sv.json +32 -21
- homeassistant/components/miele/translations/zh-Hans.json +21 -21
- homeassistant/components/miele/translations/zh-Hant.json +30 -21
- homeassistant/components/minecraft_server/translations/ga.json +13 -0
- homeassistant/components/modbus/translations/ga.json +20 -0
- homeassistant/components/monzo/translations/ga.json +20 -0
- homeassistant/components/motion_blinds/manifest.json +1 -1
- homeassistant/components/motionblinds_ble/translations/ga.json +16 -0
- homeassistant/components/motionmount/translations/ga.json +5 -0
- homeassistant/components/mqtt/strings.json +1 -0
- homeassistant/components/mqtt/translations/de.json +6 -5
- homeassistant/components/mqtt/translations/en-GB.json +232 -0
- homeassistant/components/mqtt/translations/en.json +1 -0
- homeassistant/components/mqtt/translations/et.json +232 -0
- homeassistant/components/mqtt/translations/fr.json +1 -0
- homeassistant/components/mqtt/translations/ga.json +87 -3
- homeassistant/components/mqtt/translations/nl.json +17 -1
- homeassistant/components/mqtt/translations/ru.json +1 -0
- homeassistant/components/mqtt/translations/sv.json +40 -0
- homeassistant/components/mqtt/translations/zh-Hans.json +171 -2
- homeassistant/components/mqtt/translations/zh-Hant.json +64 -5
- homeassistant/components/music_assistant/translations/ga.json +2 -1
- homeassistant/components/myq/translations/ga.json +8 -0
- homeassistant/components/myuplink/translations/ga.json +7 -1
- homeassistant/components/nam/translations/ga.json +2 -1
- homeassistant/components/neato/translations/ga.json +4 -0
- homeassistant/components/nest/translations/ga.json +2 -0
- homeassistant/components/netatmo/translations/ga.json +107 -0
- homeassistant/components/netgear/translations/ga.json +24 -0
- homeassistant/components/netgear_lte/translations/ga.json +30 -0
- homeassistant/components/nextbus/translations/ga.json +30 -0
- homeassistant/components/nfandroidtv/translations/ga.json +10 -0
- homeassistant/components/nobo_hub/translations/ga.json +12 -0
- homeassistant/components/nordpool/translations/ga.json +3 -0
- homeassistant/components/notify/translations/ga.json +16 -0
- homeassistant/components/ntfy/translations/ga.json +3 -0
- homeassistant/components/nuki/translations/ga.json +23 -0
- homeassistant/components/number/translations/ga.json +8 -0
- homeassistant/components/nut/translations/ga.json +4 -1
- homeassistant/components/octoprint/translations/ga.json +31 -0
- homeassistant/components/ohme/translations/ga.json +3 -0
- homeassistant/components/ollama/translations/ga.json +4 -2
- homeassistant/components/onboarding/translations/ga.json +7 -0
- homeassistant/components/onedrive/translations/ga.json +3 -0
- homeassistant/components/onewire/translations/ga.json +37 -0
- homeassistant/components/onkyo/translations/ga.json +1 -0
- homeassistant/components/onvif/translations/ga.json +15 -0
- homeassistant/components/open_router/manifest.json +1 -1
- homeassistant/components/open_router/translations/en-GB.json +21 -0
- homeassistant/components/open_router/translations/et.json +21 -0
- homeassistant/components/open_router/translations/sv.json +20 -1
- homeassistant/components/open_router/translations/zh-Hans.json +4 -0
- homeassistant/components/open_router/translations/zh-Hant.json +4 -0
- homeassistant/components/openai_conversation/translations/ga.json +16 -2
- homeassistant/components/openai_conversation/translations/sv.json +7 -0
- homeassistant/components/openweathermap/translations/fr.json +2 -1
- homeassistant/components/osoenergy/translations/en-GB.json +10 -0
- homeassistant/components/osoenergy/translations/ga.json +34 -1
- homeassistant/components/osoenergy/translations/zh-Hant.json +1 -0
- homeassistant/components/overkiz/translations/ga.json +19 -3
- homeassistant/components/overseerr/translations/ga.json +3 -0
- homeassistant/components/paperless_ngx/translations/ga.json +3 -0
- homeassistant/components/peblar/translations/ga.json +2 -1
- homeassistant/components/peco/translations/ga.json +12 -0
- homeassistant/components/permobil/translations/ga.json +14 -0
- homeassistant/components/ping/translations/ga.json +39 -0
- homeassistant/components/playstation_network/translations/en-GB.json +41 -0
- homeassistant/components/playstation_network/translations/et.json +41 -0
- homeassistant/components/playstation_network/translations/ga.json +1 -0
- homeassistant/components/playstation_network/translations/nl.json +8 -0
- homeassistant/components/playstation_network/translations/sv.json +9 -0
- homeassistant/components/playstation_network/translations/zh-Hans.json +17 -1
- homeassistant/components/plugwise/translations/ga.json +11 -2
- homeassistant/components/point/translations/ga.json +2 -0
- homeassistant/components/powerfox/translations/ga.json +3 -0
- homeassistant/components/powerwall/translations/ga.json +20 -0
- homeassistant/components/profiler/translations/ga.json +18 -0
- homeassistant/components/progettihwsw/translations/ga.json +11 -0
- homeassistant/components/proximity/translations/ga.json +15 -0
- homeassistant/components/prusalink/translations/ga.json +19 -0
- homeassistant/components/pvpc_hourly_pricing/translations/ga.json +34 -0
- homeassistant/components/pyload/translations/ga.json +3 -0
- homeassistant/components/qbittorrent/translations/ga.json +34 -0
- homeassistant/components/qnap/translations/ga.json +30 -0
- homeassistant/components/rachio/translations/ga.json +12 -0
- homeassistant/components/rainforest_raven/translations/ga.json +26 -0
- homeassistant/components/random/strings.json +1 -0
- homeassistant/components/random/translations/bg.json +0 -1
- homeassistant/components/random/translations/ca.json +0 -1
- homeassistant/components/random/translations/cs.json +0 -1
- homeassistant/components/random/translations/de.json +1 -0
- homeassistant/components/random/translations/el.json +0 -1
- homeassistant/components/random/translations/en-GB.json +2 -1
- homeassistant/components/random/translations/en.json +2 -1
- homeassistant/components/random/translations/es.json +0 -1
- homeassistant/components/random/translations/et.json +2 -1
- homeassistant/components/random/translations/fi.json +1 -0
- homeassistant/components/random/translations/fr.json +2 -1
- homeassistant/components/random/translations/ga.json +26 -0
- homeassistant/components/random/translations/he.json +0 -1
- homeassistant/components/random/translations/hu.json +0 -1
- homeassistant/components/random/translations/id.json +0 -1
- homeassistant/components/random/translations/it.json +0 -1
- homeassistant/components/random/translations/ja.json +0 -1
- homeassistant/components/random/translations/ko.json +0 -1
- homeassistant/components/random/translations/lt.json +0 -1
- homeassistant/components/random/translations/nl.json +1 -1
- homeassistant/components/random/translations/pl.json +0 -1
- homeassistant/components/random/translations/pt.json +0 -1
- homeassistant/components/random/translations/ru.json +2 -1
- homeassistant/components/random/translations/sk.json +0 -1
- homeassistant/components/random/translations/sl.json +0 -1
- homeassistant/components/random/translations/sv.json +1 -1
- homeassistant/components/random/translations/tr.json +0 -1
- homeassistant/components/random/translations/vi.json +0 -1
- homeassistant/components/random/translations/zh-Hans.json +1 -1
- homeassistant/components/random/translations/zh-Hant.json +2 -1
- homeassistant/components/recorder/translations/ga.json +14 -0
- homeassistant/components/renault/translations/ga.json +10 -0
- homeassistant/components/renson/translations/ga.json +80 -0
- homeassistant/components/reolink/translations/ga.json +71 -1
- homeassistant/components/rest_command/translations/ga.json +13 -0
- homeassistant/components/rfxtrx/translations/ga.json +57 -1
- homeassistant/components/ring/translations/ga.json +10 -1
- homeassistant/components/risco/translations/ga.json +39 -0
- homeassistant/components/roborock/translations/ga.json +36 -0
- homeassistant/components/roku/translations/ga.json +8 -0
- homeassistant/components/romy/translations/ga.json +50 -1
- homeassistant/components/roomba/translations/ga.json +15 -0
- homeassistant/components/rova/translations/ga.json +43 -0
- homeassistant/components/russound_rio/translations/ga.json +1 -0
- homeassistant/components/ruuvitag_ble/translations/ga.json +8 -0
- homeassistant/components/sabnzbd/translations/ga.json +3 -0
- homeassistant/components/samsungtv/translations/ga.json +1 -0
- homeassistant/components/sanix/translations/ga.json +28 -0
- homeassistant/components/scene/translations/ga.json +16 -0
- homeassistant/components/schlage/translations/ga.json +10 -0
- homeassistant/components/scrape/translations/bg.json +0 -1
- homeassistant/components/scrape/translations/ca.json +0 -1
- homeassistant/components/scrape/translations/cs.json +0 -1
- homeassistant/components/scrape/translations/el.json +0 -1
- homeassistant/components/scrape/translations/en-GB.json +1 -1
- homeassistant/components/scrape/translations/en.json +1 -1
- homeassistant/components/scrape/translations/es.json +0 -1
- homeassistant/components/scrape/translations/fi.json +0 -1
- homeassistant/components/scrape/translations/fr.json +1 -1
- homeassistant/components/scrape/translations/ga.json +34 -1
- homeassistant/components/scrape/translations/he.json +0 -1
- homeassistant/components/scrape/translations/hu.json +0 -1
- homeassistant/components/scrape/translations/id.json +0 -1
- homeassistant/components/scrape/translations/it.json +0 -1
- homeassistant/components/scrape/translations/ja.json +0 -1
- homeassistant/components/scrape/translations/ko.json +0 -1
- homeassistant/components/scrape/translations/lt.json +0 -1
- homeassistant/components/scrape/translations/nb.json +0 -1
- homeassistant/components/scrape/translations/nl.json +0 -1
- homeassistant/components/scrape/translations/pl.json +0 -1
- homeassistant/components/scrape/translations/pt.json +0 -1
- homeassistant/components/scrape/translations/ru.json +0 -1
- homeassistant/components/scrape/translations/sk.json +0 -1
- homeassistant/components/scrape/translations/sl.json +0 -1
- homeassistant/components/scrape/translations/sv.json +0 -1
- homeassistant/components/scrape/translations/tr.json +0 -1
- homeassistant/components/scrape/translations/uk.json +0 -1
- homeassistant/components/scrape/translations/vi.json +0 -1
- homeassistant/components/scrape/translations/zh-Hans.json +0 -1
- homeassistant/components/scrape/translations/zh-Hant.json +1 -1
- homeassistant/components/screenlogic/translations/ga.json +33 -0
- homeassistant/components/sensibo/translations/ga.json +14 -0
- homeassistant/components/sensor/translations/ga.json +5 -0
- homeassistant/components/sensor/translations/sv.json +1 -0
- homeassistant/components/seventeentrack/translations/ga.json +55 -2
- homeassistant/components/sfr_box/translations/ga.json +9 -0
- homeassistant/components/sharkiq/translations/ga.json +17 -0
- homeassistant/components/shell_command/translations/ga.json +10 -0
- homeassistant/components/shelly/translations/ga.json +33 -1
- homeassistant/components/simplisafe/translations/de.json +7 -7
- homeassistant/components/sleepiq/translations/sv.json +5 -0
- homeassistant/components/slide_local/translations/ga.json +1 -0
- homeassistant/components/sma/translations/ga.json +5 -0
- homeassistant/components/smappee/translations/ga.json +3 -0
- homeassistant/components/smartthings/translations/fi.json +12 -1
- homeassistant/components/smartthings/translations/ga.json +2 -0
- homeassistant/components/smhi/translations/ga.json +3 -0
- homeassistant/components/smtp/translations/ga.json +7 -0
- homeassistant/components/snapcast/translations/ga.json +11 -0
- homeassistant/components/solaredge/translations/ga.json +27 -0
- homeassistant/components/solarlog/translations/ga.json +3 -0
- homeassistant/components/soma/translations/ga.json +11 -0
- homeassistant/components/somfy_mylink/translations/ga.json +11 -0
- homeassistant/components/sonos/translations/ga.json +8 -0
- homeassistant/components/soundtouch/translations/ga.json +11 -0
- homeassistant/components/speedtestdotnet/translations/ga.json +51 -0
- homeassistant/components/spotify/translations/ga.json +5 -0
- homeassistant/components/sql/translations/bg.json +0 -1
- homeassistant/components/sql/translations/ca.json +0 -1
- homeassistant/components/sql/translations/cs.json +0 -1
- homeassistant/components/sql/translations/el.json +0 -1
- homeassistant/components/sql/translations/en-GB.json +1 -1
- homeassistant/components/sql/translations/en.json +1 -1
- homeassistant/components/sql/translations/es.json +0 -1
- homeassistant/components/sql/translations/fi.json +0 -1
- homeassistant/components/sql/translations/fr.json +1 -1
- homeassistant/components/sql/translations/ga.json +2 -1
- homeassistant/components/sql/translations/he.json +0 -1
- homeassistant/components/sql/translations/hu.json +0 -1
- homeassistant/components/sql/translations/id.json +0 -1
- homeassistant/components/sql/translations/it.json +0 -1
- homeassistant/components/sql/translations/ja.json +0 -1
- homeassistant/components/sql/translations/ko.json +0 -1
- homeassistant/components/sql/translations/lt.json +0 -1
- homeassistant/components/sql/translations/nb.json +0 -1
- homeassistant/components/sql/translations/nl.json +0 -1
- homeassistant/components/sql/translations/pl.json +0 -1
- homeassistant/components/sql/translations/pt.json +0 -1
- homeassistant/components/sql/translations/ru.json +1 -1
- homeassistant/components/sql/translations/sk.json +0 -1
- homeassistant/components/sql/translations/sl.json +0 -1
- homeassistant/components/sql/translations/sv.json +0 -1
- homeassistant/components/sql/translations/tr.json +0 -1
- homeassistant/components/sql/translations/uk.json +0 -1
- homeassistant/components/sql/translations/vi.json +0 -1
- homeassistant/components/sql/translations/zh-Hans.json +0 -1
- homeassistant/components/sql/translations/zh-Hant.json +1 -1
- homeassistant/components/squeezebox/browse_media.py +40 -14
- homeassistant/components/squeezebox/media_player.py +5 -0
- homeassistant/components/starline/translations/ga.json +3 -0
- homeassistant/components/starlink/translations/ga.json +13 -0
- homeassistant/components/steamist/translations/ga.json +17 -0
- homeassistant/components/suez_water/translations/ga.json +6 -0
- homeassistant/components/sun/translations/cs.json +3 -3
- homeassistant/components/sun/translations/ga.json +5 -0
- homeassistant/components/surepetcare/translations/ga.json +9 -0
- homeassistant/components/swiss_public_transport/translations/ga.json +29 -2
- homeassistant/components/switch_as_x/translations/ga.json +9 -0
- homeassistant/components/switcher_kis/translations/sk.json +1 -1
- homeassistant/components/system_bridge/translations/ga.json +64 -1
- homeassistant/components/systemmonitor/translations/ga.json +36 -0
- homeassistant/components/tado/translations/ga.json +18 -1
- homeassistant/components/tailwind/translations/ga.json +26 -0
- homeassistant/components/tami4/translations/ga.json +8 -0
- homeassistant/components/tankerkoenig/translations/en-GB.json +11 -0
- homeassistant/components/tankerkoenig/translations/ga.json +17 -0
- homeassistant/components/tankerkoenig/translations/sv.json +22 -0
- homeassistant/components/technove/translations/ga.json +52 -1
- homeassistant/components/tedee/translations/ga.json +29 -0
- homeassistant/components/telegram_bot/translations/ga.json +3 -0
- homeassistant/components/tellduslive/translations/ga.json +11 -0
- homeassistant/components/template/strings.json +5 -4
- homeassistant/components/template/translations/bg.json +0 -1
- homeassistant/components/template/translations/ca.json +0 -1
- homeassistant/components/template/translations/cs.json +1 -5
- homeassistant/components/template/translations/da.json +0 -1
- homeassistant/components/template/translations/de.json +23 -22
- homeassistant/components/template/translations/el.json +0 -1
- homeassistant/components/template/translations/en-GB.json +490 -16
- homeassistant/components/template/translations/en.json +8 -7
- homeassistant/components/template/translations/es.json +0 -1
- homeassistant/components/template/translations/et.json +489 -15
- homeassistant/components/template/translations/fi.json +0 -1
- homeassistant/components/template/translations/fr.json +215 -28
- homeassistant/components/template/translations/ga.json +203 -16
- homeassistant/components/template/translations/he.json +0 -1
- homeassistant/components/template/translations/hu.json +0 -1
- homeassistant/components/template/translations/id.json +0 -1
- homeassistant/components/template/translations/it.json +0 -1
- homeassistant/components/template/translations/ja.json +0 -1
- homeassistant/components/template/translations/ko.json +0 -1
- homeassistant/components/template/translations/lt.json +0 -1
- homeassistant/components/template/translations/nb.json +0 -1
- homeassistant/components/template/translations/nl.json +32 -2
- homeassistant/components/template/translations/pl.json +0 -1
- homeassistant/components/template/translations/pt-BR.json +0 -1
- homeassistant/components/template/translations/pt.json +0 -1
- homeassistant/components/template/translations/ru.json +679 -19
- homeassistant/components/template/translations/sk.json +0 -1
- homeassistant/components/template/translations/sl.json +0 -1
- homeassistant/components/template/translations/sv.json +488 -2
- homeassistant/components/template/translations/tr.json +0 -1
- homeassistant/components/template/translations/uk.json +0 -1
- homeassistant/components/template/translations/vi.json +0 -1
- homeassistant/components/template/translations/zh-Hans.json +124 -25
- homeassistant/components/template/translations/zh-Hant.json +208 -19
- homeassistant/components/tesla_fleet/translations/ga.json +2 -0
- homeassistant/components/tesla_wall_connector/translations/ga.json +24 -1
- homeassistant/components/teslemetry/translations/ga.json +135 -0
- homeassistant/components/tessie/translations/ga.json +94 -0
- homeassistant/components/tibber/translations/ga.json +40 -0
- homeassistant/components/time_date/translations/ga.json +64 -0
- homeassistant/components/timer/translations/ga.json +5 -0
- homeassistant/components/todo/translations/ga.json +83 -0
- homeassistant/components/tolo/translations/ga.json +21 -0
- homeassistant/components/tomorrowio/translations/ga.json +53 -0
- homeassistant/components/toon/translations/ga.json +4 -0
- homeassistant/components/totalconnect/translations/ga.json +16 -0
- homeassistant/components/tplink/translations/ga.json +30 -2
- homeassistant/components/tplink_omada/translations/ga.json +34 -0
- homeassistant/components/traccar_server/translations/ga.json +42 -1
- homeassistant/components/tractive/translations/ga.json +7 -0
- homeassistant/components/tradfri/translations/ga.json +7 -0
- homeassistant/components/trafikverket_camera/translations/ga.json +25 -0
- homeassistant/components/trafikverket_ferry/translations/pl.json +1 -1
- homeassistant/components/trafikverket_train/translations/ga.json +13 -0
- homeassistant/components/trafikverket_weatherstation/translations/ga.json +35 -0
- homeassistant/components/transmission/translations/ga.json +9 -0
- homeassistant/components/trend/translations/ga.json +39 -0
- homeassistant/components/tuya/light.py +21 -13
- homeassistant/components/tuya/translations/en-GB.json +12 -0
- homeassistant/components/tuya/translations/et.json +12 -0
- homeassistant/components/tuya/translations/ga.json +30 -0
- homeassistant/components/tuya/translations/sk.json +3 -0
- homeassistant/components/tuya/translations/sv.json +7 -0
- homeassistant/components/twinkly/translations/ga.json +8 -1
- homeassistant/components/twitch/translations/ga.json +12 -0
- homeassistant/components/unifi/translations/ga.json +16 -0
- homeassistant/components/unifiprotect/translations/ga.json +63 -1
- homeassistant/components/unifiprotect/translations/sv.json +3 -0
- homeassistant/components/update/translations/ga.json +26 -0
- homeassistant/components/uptime_kuma/sensor.py +5 -1
- homeassistant/components/uptime_kuma/translations/en-GB.json +10 -0
- homeassistant/components/uptime_kuma/translations/et.json +10 -0
- homeassistant/components/uptime_kuma/translations/ga.json +3 -0
- homeassistant/components/uptime_kuma/translations/sv.json +12 -0
- homeassistant/components/uptime_kuma/translations/zh-Hans.json +3 -1
- homeassistant/components/v2c/translations/ga.json +23 -0
- homeassistant/components/vacuum/translations/ga.json +5 -0
- homeassistant/components/vallox/translations/ga.json +22 -0
- homeassistant/components/valve/translations/ga.json +45 -0
- homeassistant/components/venstar/translations/ga.json +20 -0
- homeassistant/components/vicare/translations/ga.json +232 -0
- homeassistant/components/vilfo/translations/ga.json +11 -0
- homeassistant/components/vizio/translations/ga.json +11 -0
- homeassistant/components/vlc_telnet/translations/ga.json +11 -0
- homeassistant/components/vodafone_station/translations/ga.json +8 -0
- homeassistant/components/voip/manifest.json +1 -1
- homeassistant/components/volumio/translations/ga.json +11 -0
- homeassistant/components/volvo/config_flow.py +8 -0
- homeassistant/components/volvo/translations/en-GB.json +178 -0
- homeassistant/components/volvo/translations/ga.json +5 -0
- homeassistant/components/volvo/translations/nl.json +5 -0
- homeassistant/components/volvo/translations/sv.json +53 -0
- homeassistant/components/wallbox/translations/ga.json +47 -0
- homeassistant/components/waqi/translations/ga.json +15 -0
- homeassistant/components/water_heater/translations/ga.json +8 -0
- homeassistant/components/waze_travel_time/translations/ga.json +5 -0
- homeassistant/components/weather/translations/ga.json +27 -0
- homeassistant/components/weatherflow/translations/ga.json +71 -0
- homeassistant/components/weatherflow_cloud/translations/en-GB.json +27 -0
- homeassistant/components/weatherflow_cloud/translations/et.json +27 -0
- homeassistant/components/weatherflow_cloud/translations/ga.json +9 -0
- homeassistant/components/weatherflow_cloud/translations/zh-Hans.json +27 -0
- homeassistant/components/weatherkit/translations/ga.json +14 -0
- homeassistant/components/webmin/translations/ga.json +29 -0
- homeassistant/components/webostv/translations/de.json +4 -4
- homeassistant/components/webostv/translations/ga.json +15 -0
- homeassistant/components/websocket_api/translations/ga.json +7 -0
- homeassistant/components/weheat/translations/ga.json +2 -0
- homeassistant/components/whirlpool/translations/ga.json +12 -1
- homeassistant/components/withings/translations/ga.json +67 -0
- homeassistant/components/wled/translations/ga.json +53 -0
- homeassistant/components/workday/translations/ga.json +47 -1
- homeassistant/components/wyoming/translations/ga.json +14 -0
- homeassistant/components/xbox/translations/ga.json +4 -0
- homeassistant/components/xiaomi_ble/translations/ga.json +142 -1
- homeassistant/components/yale/manifest.json +1 -1
- homeassistant/components/yale/translations/ga.json +2 -0
- homeassistant/components/yale_smart_alarm/translations/ga.json +8 -0
- homeassistant/components/yalexs_ble/manifest.json +1 -1
- homeassistant/components/yamaha_musiccast/translations/ga.json +11 -0
- homeassistant/components/yardian/translations/ga.json +11 -0
- homeassistant/components/yeelight/translations/ga.json +11 -0
- homeassistant/components/yolink/translations/ga.json +58 -0
- homeassistant/components/youless/translations/ga.json +9 -0
- homeassistant/components/youtube/translations/ga.json +2 -0
- homeassistant/components/zeversolar/translations/ga.json +11 -0
- homeassistant/components/zha/manifest.json +1 -1
- homeassistant/components/zha/translations/de.json +1 -1
- homeassistant/components/zha/translations/en-GB.json +30 -0
- homeassistant/components/zha/translations/et.json +30 -0
- homeassistant/components/zha/translations/fi.json +9 -0
- homeassistant/components/zha/translations/ga.json +244 -0
- homeassistant/components/zha/translations/sv.json +24 -0
- homeassistant/components/zha/translations/zh-Hans.json +18 -0
- homeassistant/components/zha/translations/zh-Hant.json +3 -0
- homeassistant/components/zha/update.py +6 -2
- homeassistant/components/zwave_js/__init__.py +25 -6
- homeassistant/components/zwave_js/api.py +11 -28
- homeassistant/components/zwave_js/config_flow.py +12 -14
- homeassistant/components/zwave_js/const.py +0 -4
- homeassistant/components/zwave_js/helpers.py +54 -1
- homeassistant/components/zwave_js/translations/ga.json +107 -0
- homeassistant/const.py +1 -1
- homeassistant/data_entry_flow.py +4 -3
- homeassistant/helpers/device_registry.py +43 -16
- homeassistant/package_constraints.txt +2 -2
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/METADATA +1 -1
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/RECORD +641 -526
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/WHEEL +0 -0
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.8.0b1.dist-info → homeassistant-2025.8.0b2.dist-info}/top_level.txt +0 -0
|
@@ -264,6 +264,9 @@
|
|
|
264
264
|
"frost_lock_reset": {
|
|
265
265
|
"name": "\u971c\u51bb\u9501\u91cd\u7f6e"
|
|
266
266
|
},
|
|
267
|
+
"reset_alarm": {
|
|
268
|
+
"name": "\u91cd\u7f6e\u8b66\u62a5"
|
|
269
|
+
},
|
|
267
270
|
"reset_frost_lock": {
|
|
268
271
|
"name": "\u9632\u971c\u51bb\u9501\u590d\u4f4d"
|
|
269
272
|
},
|
|
@@ -1398,6 +1401,9 @@
|
|
|
1398
1401
|
"todays_max_light_intensity": {
|
|
1399
1402
|
"name": "\u4eca\u65e5\u6700\u5927\u5149\u7167\u5f3a\u5ea6"
|
|
1400
1403
|
},
|
|
1404
|
+
"total_active_power": {
|
|
1405
|
+
"name": "\u603b\u529f\u7387"
|
|
1406
|
+
},
|
|
1401
1407
|
"total_power_factor": {
|
|
1402
1408
|
"name": "\u603b\u529f\u7387\u56e0\u6570"
|
|
1403
1409
|
},
|
|
@@ -1472,6 +1478,9 @@
|
|
|
1472
1478
|
"display_enabled": {
|
|
1473
1479
|
"name": "\u663e\u793a\u5df2\u542f\u7528"
|
|
1474
1480
|
},
|
|
1481
|
+
"distance_tracking": {
|
|
1482
|
+
"name": "\u8ddd\u79bb\u8ffd\u8e2a"
|
|
1483
|
+
},
|
|
1475
1484
|
"double_tap_down_enabled": {
|
|
1476
1485
|
"name": "\u5df2\u542f\u7528\u53cc\u51fb\u4e0b\u964d"
|
|
1477
1486
|
},
|
|
@@ -1502,6 +1511,12 @@
|
|
|
1502
1511
|
"firmware_progress_led": {
|
|
1503
1512
|
"name": "\u56fa\u4ef6\u8fdb\u5ea6 LED"
|
|
1504
1513
|
},
|
|
1514
|
+
"frient_com_1": {
|
|
1515
|
+
"name": "COM 1"
|
|
1516
|
+
},
|
|
1517
|
+
"frient_com_2": {
|
|
1518
|
+
"name": "COM 2"
|
|
1519
|
+
},
|
|
1505
1520
|
"frost_lock": {
|
|
1506
1521
|
"name": "\u971c\u51bb\u9501"
|
|
1507
1522
|
},
|
|
@@ -1640,6 +1655,9 @@
|
|
|
1640
1655
|
"valve_on_off_2": {
|
|
1641
1656
|
"name": "\u9600\u95e8 2"
|
|
1642
1657
|
},
|
|
1658
|
+
"water_shortage_auto_close": {
|
|
1659
|
+
"name": "\u7f3a\u6c34\u81ea\u52a8\u5173\u95ed"
|
|
1660
|
+
},
|
|
1643
1661
|
"window_detection": {
|
|
1644
1662
|
"name": "\u7a97\u53e3\u68c0\u6d4b"
|
|
1645
1663
|
},
|
|
@@ -58,7 +58,7 @@ async def async_setup_entry(
|
|
|
58
58
|
zha_data = get_zha_data(hass)
|
|
59
59
|
if zha_data.update_coordinator is None:
|
|
60
60
|
zha_data.update_coordinator = ZHAFirmwareUpdateCoordinator(
|
|
61
|
-
hass, get_zha_gateway(hass).application_controller
|
|
61
|
+
hass, config_entry, get_zha_gateway(hass).application_controller
|
|
62
62
|
)
|
|
63
63
|
entities_to_create = zha_data.platforms[Platform.UPDATE]
|
|
64
64
|
|
|
@@ -79,12 +79,16 @@ class ZHAFirmwareUpdateCoordinator(DataUpdateCoordinator[None]): # pylint: disa
|
|
|
79
79
|
"""Firmware update coordinator that broadcasts updates network-wide."""
|
|
80
80
|
|
|
81
81
|
def __init__(
|
|
82
|
-
self,
|
|
82
|
+
self,
|
|
83
|
+
hass: HomeAssistant,
|
|
84
|
+
config_entry: ConfigEntry,
|
|
85
|
+
controller_application: ControllerApplication,
|
|
83
86
|
) -> None:
|
|
84
87
|
"""Initialize the coordinator."""
|
|
85
88
|
super().__init__(
|
|
86
89
|
hass,
|
|
87
90
|
_LOGGER,
|
|
91
|
+
config_entry=config_entry,
|
|
88
92
|
name="ZHA firmware update coordinator",
|
|
89
93
|
update_method=self.async_update_data,
|
|
90
94
|
)
|
|
@@ -105,7 +105,6 @@ from .const import (
|
|
|
105
105
|
CONF_USB_PATH,
|
|
106
106
|
CONF_USE_ADDON,
|
|
107
107
|
DOMAIN,
|
|
108
|
-
DRIVER_READY_TIMEOUT,
|
|
109
108
|
EVENT_DEVICE_ADDED_TO_REGISTRY,
|
|
110
109
|
EVENT_VALUE_UPDATED,
|
|
111
110
|
LIB_LOGGER,
|
|
@@ -136,6 +135,7 @@ from .models import ZwaveJSConfigEntry, ZwaveJSData
|
|
|
136
135
|
from .services import async_setup_services
|
|
137
136
|
|
|
138
137
|
CONNECT_TIMEOUT = 10
|
|
138
|
+
DRIVER_READY_TIMEOUT = 60
|
|
139
139
|
|
|
140
140
|
CONFIG_SCHEMA = vol.Schema(
|
|
141
141
|
{
|
|
@@ -368,6 +368,16 @@ class DriverEvents:
|
|
|
368
368
|
)
|
|
369
369
|
)
|
|
370
370
|
|
|
371
|
+
# listen for driver ready event to reload the config entry
|
|
372
|
+
self.config_entry.async_on_unload(
|
|
373
|
+
driver.on(
|
|
374
|
+
"driver ready",
|
|
375
|
+
lambda _: self.hass.config_entries.async_schedule_reload(
|
|
376
|
+
self.config_entry.entry_id
|
|
377
|
+
),
|
|
378
|
+
)
|
|
379
|
+
)
|
|
380
|
+
|
|
371
381
|
# listen for new nodes being added to the mesh
|
|
372
382
|
self.config_entry.async_on_unload(
|
|
373
383
|
controller.on(
|
|
@@ -1074,23 +1084,32 @@ async def client_listen(
|
|
|
1074
1084
|
try:
|
|
1075
1085
|
await client.listen(driver_ready)
|
|
1076
1086
|
except BaseZwaveJSServerError as err:
|
|
1077
|
-
if entry.state is
|
|
1087
|
+
if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
|
|
1078
1088
|
raise
|
|
1079
1089
|
LOGGER.error("Client listen failed: %s", err)
|
|
1080
1090
|
except Exception as err:
|
|
1081
1091
|
# We need to guard against unknown exceptions to not crash this task.
|
|
1082
1092
|
LOGGER.exception("Unexpected exception: %s", err)
|
|
1083
|
-
if entry.state is
|
|
1093
|
+
if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
|
|
1084
1094
|
raise
|
|
1085
1095
|
|
|
1096
|
+
if hass.is_stopping or entry.state is ConfigEntryState.UNLOAD_IN_PROGRESS:
|
|
1097
|
+
return
|
|
1098
|
+
|
|
1099
|
+
if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
|
|
1100
|
+
raise HomeAssistantError("Listen task ended unexpectedly")
|
|
1101
|
+
|
|
1086
1102
|
# The entry needs to be reloaded since a new driver state
|
|
1087
1103
|
# will be acquired on reconnect.
|
|
1088
1104
|
# All model instances will be replaced when the new state is acquired.
|
|
1089
|
-
if
|
|
1090
|
-
if entry.state is not ConfigEntryState.LOADED:
|
|
1091
|
-
raise HomeAssistantError("Listen task ended unexpectedly")
|
|
1105
|
+
if entry.state.recoverable:
|
|
1092
1106
|
LOGGER.debug("Disconnected from server. Reloading integration")
|
|
1093
1107
|
hass.config_entries.async_schedule_reload(entry.entry_id)
|
|
1108
|
+
else:
|
|
1109
|
+
LOGGER.error(
|
|
1110
|
+
"Disconnected from server. Cannot recover entry %s",
|
|
1111
|
+
entry.title,
|
|
1112
|
+
)
|
|
1094
1113
|
|
|
1095
1114
|
|
|
1096
1115
|
async def async_unload_entry(hass: HomeAssistant, entry: ZwaveJSConfigEntry) -> bool:
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
import asyncio
|
|
6
5
|
from collections.abc import Callable, Coroutine
|
|
7
6
|
from contextlib import suppress
|
|
8
7
|
import dataclasses
|
|
@@ -87,7 +86,6 @@ from .const import (
|
|
|
87
86
|
CONF_DATA_COLLECTION_OPTED_IN,
|
|
88
87
|
CONF_INSTALLER_MODE,
|
|
89
88
|
DOMAIN,
|
|
90
|
-
DRIVER_READY_TIMEOUT,
|
|
91
89
|
EVENT_DEVICE_ADDED_TO_REGISTRY,
|
|
92
90
|
LOGGER,
|
|
93
91
|
USER_AGENT,
|
|
@@ -98,6 +96,7 @@ from .helpers import (
|
|
|
98
96
|
async_get_node_from_device_id,
|
|
99
97
|
async_get_provisioning_entry_from_device_id,
|
|
100
98
|
async_get_version_info,
|
|
99
|
+
async_wait_for_driver_ready_event,
|
|
101
100
|
get_device_id,
|
|
102
101
|
)
|
|
103
102
|
|
|
@@ -2854,26 +2853,18 @@ async def websocket_hard_reset_controller(
|
|
|
2854
2853
|
connection.send_result(msg[ID], device.id)
|
|
2855
2854
|
async_cleanup()
|
|
2856
2855
|
|
|
2857
|
-
@callback
|
|
2858
|
-
def set_driver_ready(event: dict) -> None:
|
|
2859
|
-
"Set the driver ready event."
|
|
2860
|
-
wait_driver_ready.set()
|
|
2861
|
-
|
|
2862
|
-
wait_driver_ready = asyncio.Event()
|
|
2863
|
-
|
|
2864
2856
|
msg[DATA_UNSUBSCRIBE] = unsubs = [
|
|
2865
2857
|
async_dispatcher_connect(
|
|
2866
2858
|
hass, EVENT_DEVICE_ADDED_TO_REGISTRY, _handle_device_added
|
|
2867
2859
|
),
|
|
2868
|
-
driver.once("driver ready", set_driver_ready),
|
|
2869
2860
|
]
|
|
2870
2861
|
|
|
2862
|
+
wait_for_driver_ready = async_wait_for_driver_ready_event(entry, driver)
|
|
2863
|
+
|
|
2871
2864
|
await driver.async_hard_reset()
|
|
2872
2865
|
|
|
2873
2866
|
with suppress(TimeoutError):
|
|
2874
|
-
|
|
2875
|
-
await wait_driver_ready.wait()
|
|
2876
|
-
|
|
2867
|
+
await wait_for_driver_ready()
|
|
2877
2868
|
# When resetting the controller, the controller home id is also changed.
|
|
2878
2869
|
# The controller state in the client is stale after resetting the controller,
|
|
2879
2870
|
# so get the new home id with a new client using the helper function.
|
|
@@ -2886,14 +2877,14 @@ async def websocket_hard_reset_controller(
|
|
|
2886
2877
|
# The stale unique id needs to be handled by a repair flow,
|
|
2887
2878
|
# after the config entry has been reloaded.
|
|
2888
2879
|
LOGGER.error(
|
|
2889
|
-
"Failed to get server version, cannot update config entry"
|
|
2880
|
+
"Failed to get server version, cannot update config entry "
|
|
2890
2881
|
"unique id with new home id, after controller reset"
|
|
2891
2882
|
)
|
|
2892
2883
|
else:
|
|
2893
2884
|
hass.config_entries.async_update_entry(
|
|
2894
2885
|
entry, unique_id=str(version_info.home_id)
|
|
2895
2886
|
)
|
|
2896
|
-
|
|
2887
|
+
hass.config_entries.async_schedule_reload(entry.entry_id)
|
|
2897
2888
|
|
|
2898
2889
|
|
|
2899
2890
|
@websocket_api.websocket_command(
|
|
@@ -3100,27 +3091,19 @@ async def websocket_restore_nvm(
|
|
|
3100
3091
|
)
|
|
3101
3092
|
)
|
|
3102
3093
|
|
|
3103
|
-
@callback
|
|
3104
|
-
def set_driver_ready(event: dict) -> None:
|
|
3105
|
-
"Set the driver ready event."
|
|
3106
|
-
wait_driver_ready.set()
|
|
3107
|
-
|
|
3108
|
-
wait_driver_ready = asyncio.Event()
|
|
3109
|
-
|
|
3110
3094
|
# Set up subscription for progress events
|
|
3111
3095
|
connection.subscriptions[msg["id"]] = async_cleanup
|
|
3112
3096
|
msg[DATA_UNSUBSCRIBE] = unsubs = [
|
|
3113
3097
|
controller.on("nvm convert progress", forward_progress),
|
|
3114
3098
|
controller.on("nvm restore progress", forward_progress),
|
|
3115
|
-
driver.once("driver ready", set_driver_ready),
|
|
3116
3099
|
]
|
|
3117
3100
|
|
|
3101
|
+
wait_for_driver_ready = async_wait_for_driver_ready_event(entry, driver)
|
|
3102
|
+
|
|
3118
3103
|
await controller.async_restore_nvm_base64(msg["data"], {"preserveRoutes": False})
|
|
3119
3104
|
|
|
3120
3105
|
with suppress(TimeoutError):
|
|
3121
|
-
|
|
3122
|
-
await wait_driver_ready.wait()
|
|
3123
|
-
|
|
3106
|
+
await wait_for_driver_ready()
|
|
3124
3107
|
# When restoring the NVM to the controller, the controller home id is also changed.
|
|
3125
3108
|
# The controller state in the client is stale after restoring the NVM,
|
|
3126
3109
|
# so get the new home id with a new client using the helper function.
|
|
@@ -3133,14 +3116,13 @@ async def websocket_restore_nvm(
|
|
|
3133
3116
|
# The stale unique id needs to be handled by a repair flow,
|
|
3134
3117
|
# after the config entry has been reloaded.
|
|
3135
3118
|
LOGGER.error(
|
|
3136
|
-
"Failed to get server version, cannot update config entry"
|
|
3119
|
+
"Failed to get server version, cannot update config entry "
|
|
3137
3120
|
"unique id with new home id, after controller NVM restore"
|
|
3138
3121
|
)
|
|
3139
3122
|
else:
|
|
3140
3123
|
hass.config_entries.async_update_entry(
|
|
3141
3124
|
entry, unique_id=str(version_info.home_id)
|
|
3142
3125
|
)
|
|
3143
|
-
|
|
3144
3126
|
await hass.config_entries.async_reload(entry.entry_id)
|
|
3145
3127
|
|
|
3146
3128
|
connection.send_message(
|
|
@@ -3152,3 +3134,4 @@ async def websocket_restore_nvm(
|
|
|
3152
3134
|
)
|
|
3153
3135
|
)
|
|
3154
3136
|
connection.send_result(msg[ID])
|
|
3137
|
+
async_cleanup()
|
|
@@ -62,9 +62,12 @@ from .const import (
|
|
|
62
62
|
CONF_USB_PATH,
|
|
63
63
|
CONF_USE_ADDON,
|
|
64
64
|
DOMAIN,
|
|
65
|
-
DRIVER_READY_TIMEOUT,
|
|
66
65
|
)
|
|
67
|
-
from .helpers import
|
|
66
|
+
from .helpers import (
|
|
67
|
+
CannotConnect,
|
|
68
|
+
async_get_version_info,
|
|
69
|
+
async_wait_for_driver_ready_event,
|
|
70
|
+
)
|
|
68
71
|
from .models import ZwaveJSConfigEntry
|
|
69
72
|
|
|
70
73
|
_LOGGER = logging.getLogger(__name__)
|
|
@@ -1396,19 +1399,15 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
1396
1399
|
event["bytesWritten"] / event["total"] * 0.5 + 0.5
|
|
1397
1400
|
)
|
|
1398
1401
|
|
|
1399
|
-
@callback
|
|
1400
|
-
def set_driver_ready(event: dict) -> None:
|
|
1401
|
-
"Set the driver ready event."
|
|
1402
|
-
wait_driver_ready.set()
|
|
1403
|
-
|
|
1404
1402
|
driver = self._get_driver()
|
|
1405
1403
|
controller = driver.controller
|
|
1406
|
-
wait_driver_ready = asyncio.Event()
|
|
1407
1404
|
unsubs = [
|
|
1408
1405
|
controller.on("nvm convert progress", forward_progress),
|
|
1409
1406
|
controller.on("nvm restore progress", forward_progress),
|
|
1410
|
-
driver.once("driver ready", set_driver_ready),
|
|
1411
1407
|
]
|
|
1408
|
+
|
|
1409
|
+
wait_for_driver_ready = async_wait_for_driver_ready_event(config_entry, driver)
|
|
1410
|
+
|
|
1412
1411
|
try:
|
|
1413
1412
|
await controller.async_restore_nvm(
|
|
1414
1413
|
self.backup_data, {"preserveRoutes": False}
|
|
@@ -1417,8 +1416,7 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
1417
1416
|
raise AbortFlow(f"Failed to restore network: {err}") from err
|
|
1418
1417
|
else:
|
|
1419
1418
|
with suppress(TimeoutError):
|
|
1420
|
-
|
|
1421
|
-
await wait_driver_ready.wait()
|
|
1419
|
+
await wait_for_driver_ready()
|
|
1422
1420
|
try:
|
|
1423
1421
|
version_info = await async_get_version_info(
|
|
1424
1422
|
self.hass, config_entry.data[CONF_URL]
|
|
@@ -1435,10 +1433,10 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
1435
1433
|
self.hass.config_entries.async_update_entry(
|
|
1436
1434
|
config_entry, unique_id=str(version_info.home_id)
|
|
1437
1435
|
)
|
|
1438
|
-
await self.hass.config_entries.async_reload(config_entry.entry_id)
|
|
1439
1436
|
|
|
1440
|
-
#
|
|
1441
|
-
# the
|
|
1437
|
+
# The config entry will be also be reloaded when the driver is ready,
|
|
1438
|
+
# by the listener in the package module,
|
|
1439
|
+
# and two reloads are needed to clean up the stale controller device entry.
|
|
1442
1440
|
# Since both the old and the new controller have the same node id,
|
|
1443
1441
|
# but different hardware identifiers, the integration
|
|
1444
1442
|
# will create a new device for the new controller, on the first reload,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
|
-
from collections.abc import Callable
|
|
6
|
+
from collections.abc import Callable, Coroutine
|
|
7
7
|
from dataclasses import astuple, dataclass
|
|
8
8
|
import logging
|
|
9
9
|
from typing import Any, cast
|
|
@@ -56,6 +56,7 @@ from .const import (
|
|
|
56
56
|
)
|
|
57
57
|
from .models import ZwaveJSConfigEntry
|
|
58
58
|
|
|
59
|
+
DRIVER_READY_EVENT_TIMEOUT = 60
|
|
59
60
|
SERVER_VERSION_TIMEOUT = 10
|
|
60
61
|
|
|
61
62
|
|
|
@@ -588,5 +589,57 @@ async def async_get_version_info(hass: HomeAssistant, ws_address: str) -> Versio
|
|
|
588
589
|
return version_info
|
|
589
590
|
|
|
590
591
|
|
|
592
|
+
@callback
|
|
593
|
+
def async_wait_for_driver_ready_event(
|
|
594
|
+
config_entry: ZwaveJSConfigEntry,
|
|
595
|
+
driver: Driver,
|
|
596
|
+
) -> Callable[[], Coroutine[Any, Any, None]]:
|
|
597
|
+
"""Wait for the driver ready event and the config entry reload.
|
|
598
|
+
|
|
599
|
+
When the driver ready event is received
|
|
600
|
+
the config entry will be reloaded by the integration.
|
|
601
|
+
This function helps wait for that to happen
|
|
602
|
+
before proceeding with further actions.
|
|
603
|
+
|
|
604
|
+
If the config entry is reloaded for another reason,
|
|
605
|
+
this function will not wait for it to be reloaded again.
|
|
606
|
+
|
|
607
|
+
Raises TimeoutError if the driver ready event and reload
|
|
608
|
+
is not received within the specified timeout.
|
|
609
|
+
"""
|
|
610
|
+
driver_ready_event_received = asyncio.Event()
|
|
611
|
+
config_entry_reloaded = asyncio.Event()
|
|
612
|
+
unsubscribers: list[Callable[[], None]] = []
|
|
613
|
+
|
|
614
|
+
@callback
|
|
615
|
+
def driver_ready_received(event: dict) -> None:
|
|
616
|
+
"""Receive the driver ready event."""
|
|
617
|
+
driver_ready_event_received.set()
|
|
618
|
+
|
|
619
|
+
unsubscribers.append(driver.once("driver ready", driver_ready_received))
|
|
620
|
+
|
|
621
|
+
@callback
|
|
622
|
+
def on_config_entry_state_change() -> None:
|
|
623
|
+
"""Check config entry was loaded after driver ready event."""
|
|
624
|
+
if config_entry.state is ConfigEntryState.LOADED:
|
|
625
|
+
config_entry_reloaded.set()
|
|
626
|
+
|
|
627
|
+
unsubscribers.append(
|
|
628
|
+
config_entry.async_on_state_change(on_config_entry_state_change)
|
|
629
|
+
)
|
|
630
|
+
|
|
631
|
+
async def wait_for_events() -> None:
|
|
632
|
+
try:
|
|
633
|
+
async with asyncio.timeout(DRIVER_READY_EVENT_TIMEOUT):
|
|
634
|
+
await asyncio.gather(
|
|
635
|
+
driver_ready_event_received.wait(), config_entry_reloaded.wait()
|
|
636
|
+
)
|
|
637
|
+
finally:
|
|
638
|
+
for unsubscribe in unsubscribers:
|
|
639
|
+
unsubscribe()
|
|
640
|
+
|
|
641
|
+
return wait_for_events
|
|
642
|
+
|
|
643
|
+
|
|
591
644
|
class CannotConnect(HomeAssistantError):
|
|
592
645
|
"""Indicate connection error."""
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"config_entry_not_loaded": "N\u00edl an iontr\u00e1il chumra\u00edochta Z-Wave l\u00f3d\u00e1ilte. D\u00e9an iarracht ar\u00eds nuair a bheidh an iontr\u00e1il chumra\u00edochta l\u00f3d\u00e1ilte.",
|
|
7
7
|
"different_device": "N\u00ed hionann an gl\u00e9as USB ceangailte agus an ceann a cumra\u00edodh roimhe seo don iontr\u00e1il chumra\u00edochta seo. Cruthaigh iontr\u00e1il chumra\u00edochta nua don ghl\u00e9as nua ina ionad sin.",
|
|
8
8
|
"migration_successful": "Imirce rath\u00fail.",
|
|
9
|
+
"reconfigure_successful": "D'\u00e9irigh leis an athchumr\u00fa",
|
|
9
10
|
"usb_ports_failed": "Theip ar ghl\u00e9asanna USB a fh\u00e1il."
|
|
10
11
|
},
|
|
11
12
|
"step": {
|
|
@@ -80,15 +81,90 @@
|
|
|
80
81
|
}
|
|
81
82
|
},
|
|
82
83
|
"entity": {
|
|
84
|
+
"button": {
|
|
85
|
+
"ping": {
|
|
86
|
+
"name": "Ping"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
83
89
|
"sensor": {
|
|
84
90
|
"avg_signal_noise": {
|
|
85
91
|
"name": "Me\u00e1ntorann comhartha (cain\u00e9al {channel})"
|
|
86
92
|
},
|
|
93
|
+
"can": {
|
|
94
|
+
"name": "Imbhuailt\u00ed"
|
|
95
|
+
},
|
|
96
|
+
"commands_dropped": {
|
|
97
|
+
"name": "Orduithe f\u00e1gtha ar l\u00e1r ({direction})"
|
|
98
|
+
},
|
|
99
|
+
"controller_status": {
|
|
100
|
+
"name": "St\u00e1das",
|
|
101
|
+
"state": {
|
|
102
|
+
"jammed": "Pl\u00fachta",
|
|
103
|
+
"ready": "R\u00e9idh",
|
|
104
|
+
"unresponsive": "Gan freagra"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"last_seen": {
|
|
108
|
+
"name": "Le feice\u00e1il go deireanach"
|
|
109
|
+
},
|
|
110
|
+
"messages_dropped": {
|
|
111
|
+
"name": "Teachtaireachta\u00ed caillte ({direction})"
|
|
112
|
+
},
|
|
113
|
+
"nak": {
|
|
114
|
+
"name": "N\u00ed ghlactar le teachtaireachta\u00ed"
|
|
115
|
+
},
|
|
116
|
+
"node_status": {
|
|
117
|
+
"name": "St\u00e1das an n\u00f3id",
|
|
118
|
+
"state": {
|
|
119
|
+
"alive": "Beo",
|
|
120
|
+
"asleep": "Ina chodladh",
|
|
121
|
+
"awake": "D\u00faisigh",
|
|
122
|
+
"dead": "Marbh",
|
|
123
|
+
"unknown": "Anaithnid"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"rtt": {
|
|
127
|
+
"name": "Am turais bhabhta"
|
|
128
|
+
},
|
|
87
129
|
"signal_noise": {
|
|
88
130
|
"name": "Torann comhartha (cain\u00e9al {channel})"
|
|
89
131
|
},
|
|
90
132
|
"signal_strength": {
|
|
91
133
|
"name": "Neart comhartha"
|
|
134
|
+
},
|
|
135
|
+
"successful_commands": {
|
|
136
|
+
"name": "Orduithe rath\u00fala ({direction})"
|
|
137
|
+
},
|
|
138
|
+
"successful_messages": {
|
|
139
|
+
"name": "Teachtaireachta\u00ed rath\u00fala ({direction})"
|
|
140
|
+
},
|
|
141
|
+
"timeout_ack": {
|
|
142
|
+
"name": "ACKanna ar Iarraidh"
|
|
143
|
+
},
|
|
144
|
+
"timeout_callback": {
|
|
145
|
+
"name": "Glaonna ar ais imithe thar an am"
|
|
146
|
+
},
|
|
147
|
+
"timeout_response": {
|
|
148
|
+
"name": "Freagra\u00ed imithe thar an am"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"issues": {
|
|
153
|
+
"device_config_file_changed": {
|
|
154
|
+
"fix_flow": {
|
|
155
|
+
"abort": {
|
|
156
|
+
"issue_ignored": "Neamhaird d\u00e9anta ar nuashonr\u00fa chomhaid chumra\u00edochta gl\u00e9is do {device_name}."
|
|
157
|
+
},
|
|
158
|
+
"step": {
|
|
159
|
+
"init": {
|
|
160
|
+
"description": "T\u00e1 athr\u00fa tagtha ar chomhad cumra\u00edochta na feiste do {device_name}.\n\nAims\u00edonn Z-Wave go leor meiteashonra\u00ed feiste tr\u00ed agallamh a chur ar an bhfeiste. Mar sin f\u00e9in, n\u00ed m\u00f3r cuid den fhaisn\u00e9is a lucht\u00fa \u00f3 chomhad cumra\u00edochta. N\u00ed dh\u00e9antar cuid den fhaisn\u00e9is seo a mheas ach uair amh\u00e1in, le linn an agallaimh leis an bhfeiste.\n\nNuair a dh\u00e9antar comhad cumra\u00edochta feiste a nuashonr\u00fa, f\u00e9adfaidh an fhaisn\u00e9is seo a bheith seanchaite agus n\u00ed m\u00f3r an fheiste a athagallamh chun na hathruithe a chur i bhfeidhm.\n\nN\u00ed oibr\u00edocht riachtanach \u00ed seo agus beidh tionchar ar fheidhmi\u00falacht na feiste le linn an phr\u00f3isis athagallaimh, ach d'fh\u00e9adf\u00e1 feabhsuithe a fheice\u00e1il do do ghl\u00e9as nuair a bheidh s\u00e9 cr\u00edochnaithe.\n\nM\u00e1 shocra\u00edonn t\u00fa dul ar aghaidh leis an athagallamh, d\u00e9anfar \u00e9 sa ch\u00falra.\n\nN\u00f3ta: N\u00ed m\u00f3r feist\u00ed codlata faoi thiom\u00e1int ceallra\u00ed a dh\u00faiseacht le linn athagallaimh chun go n-oibreoidh s\u00e9. Braitheann conas an fheiste a dh\u00faiseacht ar leith don fheiste agus de ghn\u00e1th m\u00edn\u00edtear \u00e9 i l\u00e1mhleabhar na feiste.",
|
|
161
|
+
"menu_options": {
|
|
162
|
+
"confirm": "Athagallamh a dh\u00e9anamh ar an ngl\u00e9as",
|
|
163
|
+
"ignore": "D\u00e9an neamhaird ar nuashonr\u00fa cumra\u00edochta gl\u00e9is"
|
|
164
|
+
},
|
|
165
|
+
"title": "Comhad cumra\u00edochta gl\u00e9is athraithe: {device_name}"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
92
168
|
}
|
|
93
169
|
}
|
|
94
170
|
},
|
|
@@ -166,6 +242,7 @@
|
|
|
166
242
|
}
|
|
167
243
|
},
|
|
168
244
|
"refresh_notifications": {
|
|
245
|
+
"description": "Athnuachana\u00edonn s\u00e9 f\u00f3gra\u00ed ar n\u00f3d bunaithe ar chine\u00e1l f\u00f3gra agus imeacht f\u00f3gra m\u00e1s mian leat.",
|
|
169
246
|
"fields": {
|
|
170
247
|
"area_id": {
|
|
171
248
|
"description": "An limist\u00e9ar/na limist\u00e9ir le d\u00edri\u00fa orthu don ghn\u00edomh seo. M\u00e1 shonra\u00edtear limist\u00e9ar, d\u00edreofar ar gach gl\u00e9as agus eintiteas Z-Wave sa limist\u00e9ar sin don ghn\u00edomh seo.",
|
|
@@ -213,6 +290,36 @@
|
|
|
213
290
|
}
|
|
214
291
|
}
|
|
215
292
|
},
|
|
293
|
+
"set_lock_configuration": {
|
|
294
|
+
"description": "Socra\u00edonn s\u00e9 cumra\u00edocht glas\u00e1la.",
|
|
295
|
+
"fields": {
|
|
296
|
+
"auto_relock_time": {
|
|
297
|
+
"description": "Fad i soicind\u00ed go dt\u00ed go bhfilleann an glas ar an staid ghlas\u00e1ilte. N\u00ed chuirtear i bhfeidhm ach amh\u00e1in nuair is \u00e9 an cine\u00e1l oibr\u00edochta `tairiseach`.",
|
|
298
|
+
"name": "Am athghlas\u00e1la uathoibr\u00edoch"
|
|
299
|
+
},
|
|
300
|
+
"block_to_block": {
|
|
301
|
+
"description": "Ar cheart don ghlas an m\u00f3tar a rith go dt\u00ed go mbuaileann s\u00e9 friota\u00edocht.",
|
|
302
|
+
"name": "Bloc go Bloc"
|
|
303
|
+
},
|
|
304
|
+
"hold_and_release_time": {
|
|
305
|
+
"description": "An fad ama i soicind\u00ed a fhanann an laiste tarraingthe siar.",
|
|
306
|
+
"name": "Am coinnigh agus scaoilte"
|
|
307
|
+
},
|
|
308
|
+
"lock_timeout": {
|
|
309
|
+
"description": "Soicind\u00ed go dt\u00ed go dt\u00e9ann an modh glas\u00e1la in \u00e9ag. N\u00edor cheart \u00e9 a \u00fas\u00e1id ach amh\u00e1in m\u00e1 t\u00e1 an cine\u00e1l oibr\u00edochta `uainithe`.",
|
|
310
|
+
"name": "Am scoir glas\u00e1la"
|
|
311
|
+
},
|
|
312
|
+
"operation_type": {
|
|
313
|
+
"description": "Cine\u00e1l oibr\u00edochta an ghlais.",
|
|
314
|
+
"name": "Cine\u00e1l oibr\u00edochta"
|
|
315
|
+
},
|
|
316
|
+
"twist_assist": {
|
|
317
|
+
"description": "Ar cheart don mh\u00f3tar cabhr\u00fa le glas\u00e1il agus d\u00edghlas\u00e1il.",
|
|
318
|
+
"name": "C\u00fanamh Casadh"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"name": "Socraigh cumra\u00edocht glas\u00e1la"
|
|
322
|
+
},
|
|
216
323
|
"set_value": {
|
|
217
324
|
"fields": {
|
|
218
325
|
"area_id": {
|
homeassistant/const.py
CHANGED
|
@@ -25,7 +25,7 @@ if TYPE_CHECKING:
|
|
|
25
25
|
APPLICATION_NAME: Final = "HomeAssistant"
|
|
26
26
|
MAJOR_VERSION: Final = 2025
|
|
27
27
|
MINOR_VERSION: Final = 8
|
|
28
|
-
PATCH_VERSION: Final = "
|
|
28
|
+
PATCH_VERSION: Final = "0b2"
|
|
29
29
|
__short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
|
30
30
|
__version__: Final = f"{__short_version__}.{PATCH_VERSION}"
|
|
31
31
|
REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 13, 2)
|
homeassistant/data_entry_flow.py
CHANGED
|
@@ -677,9 +677,10 @@ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
|
|
|
677
677
|
and key in suggested_values
|
|
678
678
|
):
|
|
679
679
|
new_section_key = copy.copy(key)
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
680
|
+
new_val = copy.copy(val)
|
|
681
|
+
schema[new_section_key] = new_val
|
|
682
|
+
new_val.schema = self.add_suggested_values_to_schema(
|
|
683
|
+
new_val.schema, suggested_values[key]
|
|
683
684
|
)
|
|
684
685
|
continue
|
|
685
686
|
|