homeassistant 2025.7.0b4__py3-none-any.whl → 2025.7.0b6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant/components/accuweather/translations/it.json +31 -6
- homeassistant/components/accuweather/translations/nl.json +4 -2
- homeassistant/components/ai_task/translations/ja.json +20 -0
- homeassistant/components/ai_task/translations/nl.json +11 -1
- homeassistant/components/airgradient/translations/it.json +11 -1
- homeassistant/components/airzone/translations/it.json +1 -1
- homeassistant/components/airzone_cloud/translations/it.json +7 -0
- homeassistant/components/alexa_devices/translations/hu.json +23 -0
- homeassistant/components/alexa_devices/translations/id.json +14 -0
- homeassistant/components/alexa_devices/translations/it.json +53 -0
- homeassistant/components/alexa_devices/translations/ja.json +29 -0
- homeassistant/components/alexa_devices/translations/nl.json +23 -0
- homeassistant/components/alexa_devices/translations/sv.json +8 -0
- homeassistant/components/altruist/translations/hu.json +33 -1
- homeassistant/components/altruist/translations/id.json +7 -0
- homeassistant/components/altruist/translations/it.json +51 -0
- homeassistant/components/altruist/translations/ja.json +50 -0
- homeassistant/components/anthropic/__init__.py +30 -0
- homeassistant/components/anthropic/config_flow.py +1 -0
- homeassistant/components/anthropic/translations/hu.json +19 -1
- homeassistant/components/anthropic/translations/nl.json +3 -1
- homeassistant/components/aprilaire/translations/it.json +14 -14
- homeassistant/components/aquacell/translations/it.json +6 -1
- homeassistant/components/aranet/translations/it.json +9 -0
- homeassistant/components/assist_satellite/__init__.py +24 -6
- homeassistant/components/assist_satellite/services.yaml +18 -6
- homeassistant/components/assist_satellite/translations/es.json +1 -1
- homeassistant/components/assist_satellite/translations/it.json +30 -0
- homeassistant/components/assist_satellite/translations/ja.json +8 -0
- homeassistant/components/asuswrt/translations/nl.json +6 -0
- homeassistant/components/automation/translations/it.json +2 -2
- homeassistant/components/baf/translations/it.json +11 -0
- homeassistant/components/balboa/translations/it.json +5 -1
- homeassistant/components/binary_sensor/translations/es.json +3 -3
- homeassistant/components/binary_sensor/translations/it.json +13 -6
- homeassistant/components/blue_current/translations/it.json +16 -0
- homeassistant/components/bmw_connected_drive/translations/it.json +7 -0
- homeassistant/components/bmw_connected_drive/translations/nl.json +57 -1
- homeassistant/components/calendar/translations/it.json +2 -2
- homeassistant/components/cambridge_audio/translations/it.json +2 -2
- homeassistant/components/camera/translations/it.json +2 -2
- homeassistant/components/climate/translations/hu.json +3 -0
- homeassistant/components/climate/translations/it.json +20 -9
- homeassistant/components/comelit/translations/it.json +13 -0
- homeassistant/components/cover/translations/it.json +3 -1
- homeassistant/components/demo/translations/it.json +6 -3
- homeassistant/components/derivative/translations/hu.json +4 -0
- homeassistant/components/devolo_home_control/translations/nl.json +10 -0
- homeassistant/components/drop_connect/sensor.py +1 -1
- homeassistant/components/drop_connect/translations/it.json +12 -0
- homeassistant/components/drop_connect/translations/nl.json +5 -0
- homeassistant/components/dsmr/translations/it.json +5 -1
- homeassistant/components/dsmr_reader/translations/it.json +5 -1
- homeassistant/components/ecoforest/translations/it.json +2 -2
- homeassistant/components/ecovacs/translations/it.json +14 -0
- homeassistant/components/ecovacs/translations/nl.json +4 -0
- homeassistant/components/electric_kiwi/translations/ja.json +6 -0
- homeassistant/components/enphase_envoy/translations/bg.json +0 -1
- homeassistant/components/enphase_envoy/translations/cs.json +0 -1
- homeassistant/components/enphase_envoy/translations/el.json +0 -1
- homeassistant/components/enphase_envoy/translations/et.json +0 -1
- homeassistant/components/enphase_envoy/translations/hu.json +12 -1
- homeassistant/components/enphase_envoy/translations/it.json +30 -0
- homeassistant/components/enphase_envoy/translations/ja.json +27 -1
- homeassistant/components/enphase_envoy/translations/lt.json +0 -1
- homeassistant/components/enphase_envoy/translations/pt-BR.json +0 -1
- homeassistant/components/enphase_envoy/translations/pt.json +0 -1
- homeassistant/components/enphase_envoy/translations/ru.json +0 -1
- homeassistant/components/enphase_envoy/translations/sv.json +1 -2
- homeassistant/components/enphase_envoy/translations/tr.json +0 -1
- homeassistant/components/esphome/entity.py +1 -1
- homeassistant/components/esphome/sensor.py +3 -2
- homeassistant/components/ezviz/translations/hu.json +10 -0
- homeassistant/components/ezviz/translations/ja.json +10 -0
- homeassistant/components/ezviz/translations/nl.json +10 -0
- homeassistant/components/ezviz/translations/sv.json +1 -1
- homeassistant/components/fan/translations/it.json +2 -2
- homeassistant/components/fitbit/translations/ja.json +6 -0
- homeassistant/components/flipr/translations/it.json +8 -0
- homeassistant/components/fritz/translations/nl.json +3 -0
- homeassistant/components/fronius/translations/it.json +4 -0
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/fyta/translations/it.json +8 -0
- homeassistant/components/geocaching/translations/ja.json +6 -0
- homeassistant/components/google/translations/ja.json +6 -0
- homeassistant/components/google_assistant_sdk/translations/ja.json +11 -0
- homeassistant/components/google_drive/translations/ja.json +6 -0
- homeassistant/components/google_generative_ai_conversation/__init__.py +55 -0
- homeassistant/components/google_generative_ai_conversation/config_flow.py +1 -0
- homeassistant/components/google_generative_ai_conversation/conversation.py +0 -10
- homeassistant/components/google_generative_ai_conversation/translations/hu.json +1 -0
- homeassistant/components/google_generative_ai_conversation/translations/it.json +50 -1
- homeassistant/components/google_generative_ai_conversation/translations/ja.json +69 -0
- homeassistant/components/google_generative_ai_conversation/translations/nl.json +19 -0
- homeassistant/components/google_mail/translations/it.json +7 -1
- homeassistant/components/google_mail/translations/ja.json +6 -0
- homeassistant/components/google_photos/translations/it.json +6 -0
- homeassistant/components/google_photos/translations/ja.json +6 -0
- homeassistant/components/google_sheets/translations/it.json +6 -0
- homeassistant/components/google_sheets/translations/ja.json +6 -0
- homeassistant/components/google_tasks/translations/it.json +3 -0
- homeassistant/components/google_tasks/translations/ja.json +6 -0
- homeassistant/components/group/translations/it.json +2 -2
- homeassistant/components/group/translations/pl.json +52 -2
- homeassistant/components/hive/translations/it.json +4 -3
- homeassistant/components/home_connect/translations/it.json +125 -30
- homeassistant/components/home_connect/translations/ja.json +9 -0
- homeassistant/components/homeassistant/translations/hu.json +1 -0
- homeassistant/components/homeassistant/translations/it.json +3 -0
- homeassistant/components/homeassistant/translations/ja.json +1 -0
- homeassistant/components/homeassistant/translations/nl.json +2 -1
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +48 -18
- homeassistant/components/homeassistant_hardware/strings.json +2 -1
- homeassistant/components/homeassistant_hardware/translations/de.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/hu.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/it.json +2 -1
- homeassistant/components/homeassistant_hardware/translations/ja.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/nl.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/ru.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
- homeassistant/components/homeassistant_sky_connect/strings.json +4 -2
- homeassistant/components/homeassistant_sky_connect/translations/de.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/hu.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/it.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/ja.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/nl.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/ru.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
- homeassistant/components/homeassistant_yellow/strings.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/de.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/en.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/es.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/hu.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/it.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/ja.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/nl.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/ru.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/sk.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
- homeassistant/components/homee/translations/it.json +54 -1
- homeassistant/components/homee/translations/ja.json +31 -1
- homeassistant/components/homekit_controller/translations/it.json +4 -2
- homeassistant/components/homewizard/translations/hu.json +19 -2
- homeassistant/components/homewizard/translations/it.json +15 -0
- homeassistant/components/honeywell/__init__.py +8 -16
- homeassistant/components/honeywell/config_flow.py +6 -2
- homeassistant/components/huawei_lte/translations/it.json +5 -1
- homeassistant/components/humidifier/translations/it.json +6 -3
- homeassistant/components/husqvarna_automower/const.py +12 -0
- homeassistant/components/husqvarna_automower/lawn_mower.py +15 -5
- homeassistant/components/husqvarna_automower/sensor.py +2 -16
- homeassistant/components/husqvarna_automower/translations/it.json +3 -1
- homeassistant/components/husqvarna_automower/translations/ja.json +6 -0
- homeassistant/components/husqvarna_automower/translations/nl.json +122 -2
- homeassistant/components/husqvarna_automower_ble/translations/nl.json +12 -0
- homeassistant/components/immich/translations/hu.json +5 -0
- homeassistant/components/immich/translations/id.json +6 -0
- homeassistant/components/immich/translations/ja.json +9 -0
- homeassistant/components/incomfort/translations/it.json +2 -1
- homeassistant/components/input_boolean/translations/it.json +2 -2
- homeassistant/components/iotty/translations/it.json +6 -0
- homeassistant/components/iotty/translations/ja.json +6 -0
- homeassistant/components/ipp/translations/it.json +2 -1
- homeassistant/components/iron_os/translations/it.json +12 -6
- homeassistant/components/ista_ecotrend/util.py +14 -14
- homeassistant/components/juicenet/translations/hu.json +8 -1
- homeassistant/components/juicenet/translations/it.json +8 -1
- homeassistant/components/juicenet/translations/ja.json +8 -1
- homeassistant/components/jvc_projector/translations/it.json +2 -1
- homeassistant/components/keenetic_ndms2/translations/hu.json +2 -1
- homeassistant/components/keenetic_ndms2/translations/it.json +4 -0
- homeassistant/components/keenetic_ndms2/translations/ja.json +4 -0
- homeassistant/components/knx/translations/it.json +3 -1
- homeassistant/components/knx/translations/ja.json +11 -0
- homeassistant/components/lamarzocco/translations/it.json +5 -0
- homeassistant/components/lametric/translations/it.json +11 -1
- homeassistant/components/lametric/translations/ja.json +6 -0
- homeassistant/components/lawn_mower/translations/it.json +1 -0
- homeassistant/components/lektrico/translations/it.json +5 -1
- homeassistant/components/lg_thinq/translations/bg.json +1 -5
- homeassistant/components/lg_thinq/translations/cs.json +1 -3
- homeassistant/components/lg_thinq/translations/et.json +1 -3
- homeassistant/components/lg_thinq/translations/hu.json +1 -3
- homeassistant/components/lg_thinq/translations/it.json +77 -21
- homeassistant/components/lg_thinq/translations/ja.json +1 -5
- homeassistant/components/lg_thinq/translations/ko.json +1 -5
- homeassistant/components/lg_thinq/translations/lt.json +1 -3
- homeassistant/components/lg_thinq/translations/nl.json +1 -3
- homeassistant/components/lg_thinq/translations/pt-BR.json +1 -5
- homeassistant/components/lg_thinq/translations/pt.json +1 -3
- homeassistant/components/lg_thinq/translations/ru.json +1 -3
- homeassistant/components/lg_thinq/translations/sk.json +1 -1
- homeassistant/components/lg_thinq/translations/sv.json +1 -3
- homeassistant/components/lg_thinq/translations/tr.json +1 -5
- homeassistant/components/light/translations/it.json +6 -3
- homeassistant/components/litterrobot/translations/cs.json +0 -1
- homeassistant/components/litterrobot/translations/en-GB.json +0 -1
- homeassistant/components/litterrobot/translations/et.json +0 -1
- homeassistant/components/litterrobot/translations/ga.json +0 -1
- homeassistant/components/litterrobot/translations/hu.json +1 -1
- homeassistant/components/litterrobot/translations/it.json +14 -3
- homeassistant/components/litterrobot/translations/lt.json +0 -1
- homeassistant/components/litterrobot/translations/nl.json +0 -1
- homeassistant/components/litterrobot/translations/pt-BR.json +0 -1
- homeassistant/components/litterrobot/translations/pt.json +0 -1
- homeassistant/components/litterrobot/translations/ru.json +0 -1
- homeassistant/components/litterrobot/translations/sensor.it.json +1 -1
- homeassistant/components/litterrobot/translations/sk.json +0 -1
- homeassistant/components/litterrobot/translations/sv.json +0 -1
- homeassistant/components/litterrobot/translations/tr.json +0 -1
- homeassistant/components/litterrobot/translations/zh-Hans.json +0 -1
- homeassistant/components/litterrobot/translations/zh-Hant.json +0 -1
- homeassistant/components/lutron_caseta/translations/it.json +2 -2
- homeassistant/components/lyric/translations/it.json +9 -0
- homeassistant/components/lyric/translations/ja.json +6 -0
- homeassistant/components/matter/translations/hu.json +24 -2
- homeassistant/components/matter/translations/id.json +5 -0
- homeassistant/components/matter/translations/it.json +69 -5
- homeassistant/components/matter/translations/ja.json +29 -0
- homeassistant/components/meater/translations/hu.json +12 -1
- homeassistant/components/meater/translations/it.json +12 -1
- homeassistant/components/media_player/translations/it.json +6 -5
- homeassistant/components/meteo_france/weather.py +9 -3
- homeassistant/components/microbees/translations/it.json +6 -0
- homeassistant/components/microbees/translations/ja.json +6 -0
- homeassistant/components/miele/translations/hu.json +3 -1
- homeassistant/components/miele/translations/it.json +33 -4
- homeassistant/components/miele/translations/ja.json +29 -0
- homeassistant/components/monzo/translations/it.json +6 -0
- homeassistant/components/monzo/translations/ja.json +6 -0
- homeassistant/components/motionblinds_ble/translations/it.json +14 -1
- homeassistant/components/mqtt/config_flow.py +4 -5
- homeassistant/components/mqtt/translations/es.json +11 -0
- homeassistant/components/mqtt/translations/fr.json +11 -0
- homeassistant/components/mqtt/translations/hu.json +37 -0
- homeassistant/components/mqtt/translations/it.json +17 -1
- homeassistant/components/mqtt/translations/ja.json +38 -0
- homeassistant/components/mqtt/translations/nl.json +12 -1
- homeassistant/components/mqtt/translations/ru.json +11 -0
- homeassistant/components/mqtt/translations/sv.json +11 -0
- homeassistant/components/mqtt/translations/zh-Hans.json +11 -0
- homeassistant/components/music_assistant/translations/hu.json +7 -0
- homeassistant/components/music_assistant/translations/it.json +7 -0
- homeassistant/components/music_assistant/translations/ja.json +7 -0
- homeassistant/components/myuplink/translations/it.json +6 -0
- homeassistant/components/myuplink/translations/ja.json +6 -0
- homeassistant/components/nam/__init__.py +0 -9
- homeassistant/components/nam/config_flow.py +22 -43
- homeassistant/components/nam/manifest.json +1 -1
- homeassistant/components/nam/translations/it.json +57 -3
- homeassistant/components/nam/translations/nl.json +21 -1
- homeassistant/components/nam/translations/pl.json +9 -0
- homeassistant/components/neato/translations/it.json +6 -0
- homeassistant/components/neato/translations/ja.json +6 -0
- homeassistant/components/nest/translations/it.json +6 -0
- homeassistant/components/nest/translations/ja.json +6 -0
- homeassistant/components/netatmo/translations/it.json +7 -0
- homeassistant/components/netatmo/translations/ja.json +6 -0
- homeassistant/components/nextcloud/translations/nl.json +3 -0
- homeassistant/components/nextdns/translations/hu.json +14 -0
- homeassistant/components/nextdns/translations/it.json +8 -0
- homeassistant/components/nextdns/translations/ja.json +6 -0
- homeassistant/components/ntfy/translations/id.json +2 -1
- homeassistant/components/ntfy/translations/it.json +97 -1
- homeassistant/components/ntfy/translations/ja.json +71 -0
- homeassistant/components/ntfy/translations/nl.json +20 -1
- homeassistant/components/nuki/translations/it.json +14 -0
- homeassistant/components/nut/translations/it.json +4 -3
- homeassistant/components/nzbget/translations/ja.json +5 -0
- homeassistant/components/ohme/translations/it.json +6 -0
- homeassistant/components/ollama/__init__.py +30 -0
- homeassistant/components/ollama/config_flow.py +1 -0
- homeassistant/components/ollama/translations/ja.json +33 -0
- homeassistant/components/ollama/translations/nl.json +12 -1
- homeassistant/components/ondilo_ico/translations/it.json +6 -0
- homeassistant/components/ondilo_ico/translations/ja.json +6 -0
- homeassistant/components/onedrive/translations/it.json +15 -0
- homeassistant/components/onedrive/translations/ja.json +6 -0
- homeassistant/components/openai_conversation/__init__.py +30 -0
- homeassistant/components/openai_conversation/config_flow.py +1 -0
- homeassistant/components/openai_conversation/translations/it.json +16 -0
- homeassistant/components/openai_conversation/translations/ja.json +45 -0
- homeassistant/components/openai_conversation/translations/nl.json +14 -0
- homeassistant/components/opentherm_gw/climate.py +12 -1
- homeassistant/components/opentherm_gw/strings.json +3 -0
- homeassistant/components/opentherm_gw/translations/de.json +3 -0
- homeassistant/components/opentherm_gw/translations/en.json +3 -0
- homeassistant/components/opentherm_gw/translations/es.json +3 -0
- homeassistant/components/opentherm_gw/translations/it.json +5 -0
- homeassistant/components/opentherm_gw/translations/ja.json +5 -0
- homeassistant/components/opentherm_gw/translations/nl.json +5 -0
- homeassistant/components/opentherm_gw/translations/sk.json +3 -0
- homeassistant/components/opentherm_gw/translations/zh-Hans.json +3 -0
- homeassistant/components/opentherm_gw/translations/zh-Hant.json +3 -0
- homeassistant/components/openuv/translations/it.json +4 -1
- homeassistant/components/osoenergy/translations/it.json +14 -0
- homeassistant/components/osoenergy/translations/nl.json +1 -0
- homeassistant/components/overkiz/translations/ca.json +0 -5
- homeassistant/components/overkiz/translations/cs.json +0 -1
- homeassistant/components/overkiz/translations/el.json +0 -1
- homeassistant/components/overkiz/translations/et.json +0 -1
- homeassistant/components/overkiz/translations/fi.json +0 -5
- homeassistant/components/overkiz/translations/fr.json +0 -1
- homeassistant/components/overkiz/translations/hu.json +0 -1
- homeassistant/components/overkiz/translations/id.json +0 -1
- homeassistant/components/overkiz/translations/it.json +11 -2
- homeassistant/components/overkiz/translations/ja.json +0 -5
- homeassistant/components/overkiz/translations/ko.json +0 -5
- homeassistant/components/overkiz/translations/lt.json +0 -1
- homeassistant/components/overkiz/translations/lv.json +0 -5
- homeassistant/components/overkiz/translations/nb.json +0 -5
- homeassistant/components/overkiz/translations/nl.json +0 -1
- homeassistant/components/overkiz/translations/pl.json +0 -5
- homeassistant/components/overkiz/translations/pt-BR.json +0 -5
- homeassistant/components/overkiz/translations/pt.json +0 -1
- homeassistant/components/overkiz/translations/ro.json +0 -5
- homeassistant/components/overkiz/translations/ru.json +0 -1
- homeassistant/components/overkiz/translations/sv.json +0 -1
- homeassistant/components/overkiz/translations/tr.json +0 -5
- homeassistant/components/overkiz/translations/uk.json +0 -5
- homeassistant/components/overkiz/translations/zh-Hans.json +0 -1
- homeassistant/components/palazzetti/translations/it.json +4 -0
- homeassistant/components/paperless_ngx/translations/hu.json +4 -2
- homeassistant/components/paperless_ngx/translations/it.json +50 -0
- homeassistant/components/paperless_ngx/translations/ja.json +20 -0
- homeassistant/components/peblar/translations/it.json +3 -1
- homeassistant/components/pegel_online/translations/en-GB.json +2 -1
- homeassistant/components/pegel_online/translations/hu.json +2 -1
- homeassistant/components/pegel_online/translations/ru.json +2 -1
- homeassistant/components/pegel_online/translations/sv.json +2 -1
- homeassistant/components/person/__init__.py +1 -2
- homeassistant/components/playstation_network/manifest.json +15 -0
- homeassistant/components/playstation_network/translations/it.json +30 -0
- homeassistant/components/playstation_network/translations/ja.json +44 -0
- homeassistant/components/playstation_network/translations/nl.json +29 -0
- homeassistant/components/playstation_network/translations/ru.json +1 -0
- homeassistant/components/playstation_network/translations/sv.json +2 -1
- homeassistant/components/plugwise/translations/it.json +12 -3
- homeassistant/components/point/translations/it.json +6 -0
- homeassistant/components/point/translations/ja.json +6 -0
- homeassistant/components/proximity/translations/bg.json +0 -3
- homeassistant/components/proximity/translations/ca.json +2 -27
- homeassistant/components/proximity/translations/cs.json +1 -25
- homeassistant/components/proximity/translations/el.json +1 -25
- homeassistant/components/proximity/translations/en-GB.json +4 -4
- homeassistant/components/proximity/translations/en.json +4 -4
- homeassistant/components/proximity/translations/et.json +1 -1
- homeassistant/components/proximity/translations/fi.json +1 -25
- homeassistant/components/proximity/translations/fr.json +1 -25
- homeassistant/components/proximity/translations/gl.json +1 -24
- homeassistant/components/proximity/translations/hu.json +1 -25
- homeassistant/components/proximity/translations/id.json +1 -25
- homeassistant/components/proximity/translations/it.json +1 -13
- homeassistant/components/proximity/translations/ja.json +1 -25
- homeassistant/components/proximity/translations/lt.json +1 -25
- homeassistant/components/proximity/translations/nl.json +8 -0
- homeassistant/components/proximity/translations/pl.json +1 -25
- homeassistant/components/proximity/translations/pt-BR.json +1 -25
- homeassistant/components/proximity/translations/pt.json +1 -25
- homeassistant/components/proximity/translations/ru.json +1 -25
- homeassistant/components/proximity/translations/sk.json +2 -2
- homeassistant/components/proximity/translations/sv.json +1 -25
- homeassistant/components/proximity/translations/tr.json +1 -25
- homeassistant/components/proximity/translations/zh-Hans.json +2 -2
- homeassistant/components/prusalink/translations/it.json +3 -1
- homeassistant/components/pushbullet/sensor.py +7 -2
- homeassistant/components/qbittorrent/translations/it.json +6 -0
- homeassistant/components/qbus/translations/nl.json +17 -0
- homeassistant/components/remote/translations/it.json +2 -2
- homeassistant/components/renault/translations/it.json +1 -0
- homeassistant/components/renson/translations/it.json +4 -4
- homeassistant/components/renson/translations/nl.json +85 -18
- homeassistant/components/reolink/manifest.json +1 -1
- homeassistant/components/reolink/translations/hu.json +21 -0
- homeassistant/components/reolink/translations/it.json +40 -13
- homeassistant/components/reolink/translations/ja.json +15 -0
- homeassistant/components/rest/data.py +6 -0
- homeassistant/components/rfxtrx/translations/it.json +4 -1
- homeassistant/components/roborock/translations/it.json +11 -2
- homeassistant/components/romy/translations/it.json +13 -0
- homeassistant/components/russound_rio/translations/hu.json +21 -0
- homeassistant/components/russound_rio/translations/it.json +21 -0
- homeassistant/components/russound_rio/translations/ja.json +21 -0
- homeassistant/components/samsungtv/translations/nl.json +24 -1
- homeassistant/components/schedule/translations/it.json +2 -2
- homeassistant/components/schlage/translations/it.json +1 -0
- homeassistant/components/script/translations/it.json +2 -2
- homeassistant/components/sensibo/translations/it.json +43 -28
- homeassistant/components/sensor/translations/it.json +2 -2
- homeassistant/components/sensor/translations/pl.json +1 -0
- homeassistant/components/senz/translations/it.json +6 -0
- homeassistant/components/senz/translations/ja.json +6 -0
- homeassistant/components/shelly/manifest.json +1 -1
- homeassistant/components/shelly/translations/it.json +5 -2
- homeassistant/components/siren/translations/it.json +2 -2
- homeassistant/components/sleepiq/translations/it.json +12 -0
- homeassistant/components/sma/translations/ja.json +8 -0
- homeassistant/components/smappee/translations/it.json +6 -0
- homeassistant/components/smappee/translations/ja.json +6 -0
- homeassistant/components/smarla/translations/ja.json +9 -0
- homeassistant/components/smartthings/translations/hu.json +9 -0
- homeassistant/components/smartthings/translations/it.json +40 -11
- homeassistant/components/smartthings/translations/ja.json +6 -0
- homeassistant/components/snoo/translations/it.json +16 -0
- homeassistant/components/solaredge/translations/nl.json +42 -0
- homeassistant/components/sonos/translations/hu.json +9 -0
- homeassistant/components/sonos/translations/ja.json +9 -0
- homeassistant/components/spotify/translations/it.json +6 -0
- homeassistant/components/subaru/translations/hu.json +2 -0
- homeassistant/components/subaru/translations/ru.json +2 -0
- homeassistant/components/sun/translations/ja.json +9 -0
- homeassistant/components/sun/translations/nl.json +6 -0
- homeassistant/components/switch/translations/it.json +6 -6
- homeassistant/components/switchbot/translations/es.json +1 -0
- homeassistant/components/switchbot/translations/hu.json +36 -1
- homeassistant/components/switchbot/translations/it.json +10 -0
- homeassistant/components/switchbot/translations/ja.json +46 -0
- homeassistant/components/switchbot/translations/nl.json +25 -1
- homeassistant/components/switchbot/translations/zh-Hans.json +1 -0
- homeassistant/components/tado/translations/it.json +11 -0
- homeassistant/components/telegram_bot/config_flow.py +10 -8
- homeassistant/components/telegram_bot/translations/hu.json +55 -0
- homeassistant/components/telegram_bot/translations/it.json +28 -1
- homeassistant/components/telegram_bot/translations/ja.json +99 -0
- homeassistant/components/telegram_bot/translations/nl.json +30 -0
- homeassistant/components/telegram_bot/translations/ru.json +21 -1
- homeassistant/components/template/translations/pl.json +25 -3
- homeassistant/components/tesla_fleet/translations/ca.json +0 -3
- homeassistant/components/tesla_fleet/translations/cs.json +0 -3
- homeassistant/components/tesla_fleet/translations/de.json +1 -1
- homeassistant/components/tesla_fleet/translations/el.json +0 -3
- homeassistant/components/tesla_fleet/translations/en-GB.json +0 -3
- homeassistant/components/tesla_fleet/translations/en.json +1 -1
- homeassistant/components/tesla_fleet/translations/es.json +1 -1
- homeassistant/components/tesla_fleet/translations/et.json +0 -3
- homeassistant/components/tesla_fleet/translations/fy.json +0 -3
- homeassistant/components/tesla_fleet/translations/hu.json +23 -3
- homeassistant/components/tesla_fleet/translations/it.json +78 -12
- homeassistant/components/tesla_fleet/translations/ja.json +22 -3
- homeassistant/components/tesla_fleet/translations/lt.json +0 -3
- homeassistant/components/tesla_fleet/translations/pt.json +0 -3
- homeassistant/components/tesla_fleet/translations/ru.json +0 -3
- homeassistant/components/tesla_fleet/translations/sk.json +1 -1
- homeassistant/components/tesla_fleet/translations/sv.json +0 -3
- homeassistant/components/tesla_fleet/translations/tr.json +0 -3
- homeassistant/components/tesla_fleet/translations/zh-Hans.json +0 -3
- homeassistant/components/tesla_fleet/translations/zh-Hant.json +0 -3
- homeassistant/components/tesla_wall_connector/translations/it.json +2 -1
- homeassistant/components/teslemetry/translations/de.json +2 -2
- homeassistant/components/teslemetry/translations/it.json +149 -11
- homeassistant/components/teslemetry/translations/nl.json +6 -3
- homeassistant/components/tessie/translations/it.json +49 -11
- homeassistant/components/thermopro/translations/hu.json +7 -0
- homeassistant/components/thermopro/translations/ru.json +7 -0
- homeassistant/components/tilt_pi/translations/hu.json +10 -0
- homeassistant/components/tilt_pi/translations/id.json +10 -0
- homeassistant/components/tilt_pi/translations/it.json +31 -0
- homeassistant/components/tilt_pi/translations/ja.json +31 -0
- homeassistant/components/tilt_pi/translations/nl.json +7 -0
- homeassistant/components/tolo/translations/it.json +2 -1
- homeassistant/components/tomorrowio/translations/it.json +22 -4
- homeassistant/components/toon/translations/it.json +6 -0
- homeassistant/components/tplink_omada/translations/it.json +1 -0
- homeassistant/components/traccar_server/translations/it.json +1 -0
- homeassistant/components/tuya/translations/it.json +17 -9
- homeassistant/components/tuya/translations/select.it.json +5 -5
- homeassistant/components/twinkly/translations/it.json +1 -1
- homeassistant/components/unifi/translations/nl.json +3 -1
- homeassistant/components/unifiprotect/translations/nl.json +284 -1
- homeassistant/components/vacuum/translations/it.json +3 -2
- homeassistant/components/vallox/translations/it.json +3 -1
- homeassistant/components/valve/translations/it.json +2 -1
- homeassistant/components/vegehub/translations/hu.json +35 -2
- homeassistant/components/vegehub/translations/it.json +4 -0
- homeassistant/components/vegehub/translations/ja.json +44 -0
- homeassistant/components/vegehub/translations/nl.json +3 -0
- homeassistant/components/venstar/translations/it.json +5 -0
- homeassistant/components/vesync/fan.py +25 -17
- homeassistant/components/vesync/translations/it.json +19 -0
- homeassistant/components/vicare/translations/it.json +21 -2
- homeassistant/components/wallbox/const.py +4 -0
- homeassistant/components/wallbox/coordinator.py +47 -20
- homeassistant/components/wallbox/lock.py +1 -12
- homeassistant/components/wallbox/number.py +1 -12
- homeassistant/components/wallbox/translations/hu.json +3 -0
- homeassistant/components/wallbox/translations/it.json +12 -0
- homeassistant/components/wallbox/translations/ja.json +5 -0
- homeassistant/components/water_heater/translations/it.json +3 -3
- homeassistant/components/webdav/config_flow.py +7 -1
- homeassistant/components/webdav/strings.json +1 -3
- homeassistant/components/webdav/translations/cs.json +0 -3
- homeassistant/components/webdav/translations/de.json +1 -3
- homeassistant/components/webdav/translations/en-GB.json +0 -3
- homeassistant/components/webdav/translations/en.json +1 -3
- homeassistant/components/webdav/translations/es.json +1 -3
- homeassistant/components/webdav/translations/et.json +0 -3
- homeassistant/components/webdav/translations/fr.json +0 -3
- homeassistant/components/webdav/translations/ga.json +0 -3
- homeassistant/components/webdav/translations/hu.json +0 -3
- homeassistant/components/webdav/translations/it.json +1 -0
- homeassistant/components/webdav/translations/ja.json +0 -3
- homeassistant/components/webdav/translations/lt.json +0 -3
- homeassistant/components/webdav/translations/nl.json +0 -3
- homeassistant/components/webdav/translations/pt-BR.json +0 -3
- homeassistant/components/webdav/translations/pt.json +0 -3
- homeassistant/components/webdav/translations/ru.json +0 -3
- homeassistant/components/webdav/translations/sk.json +1 -3
- homeassistant/components/webdav/translations/sl.json +0 -5
- homeassistant/components/webdav/translations/sv.json +0 -3
- homeassistant/components/webdav/translations/tr.json +0 -3
- homeassistant/components/webdav/translations/zh-Hans.json +0 -3
- homeassistant/components/webdav/translations/zh-Hant.json +1 -3
- homeassistant/components/weheat/translations/it.json +6 -0
- homeassistant/components/whirlpool/translations/ca.json +0 -1
- homeassistant/components/whirlpool/translations/cs.json +0 -1
- homeassistant/components/whirlpool/translations/el.json +0 -1
- homeassistant/components/whirlpool/translations/et.json +0 -1
- homeassistant/components/whirlpool/translations/fi.json +0 -1
- homeassistant/components/whirlpool/translations/fr.json +0 -1
- homeassistant/components/whirlpool/translations/hu.json +0 -1
- homeassistant/components/whirlpool/translations/id.json +0 -1
- homeassistant/components/whirlpool/translations/it.json +1 -1
- homeassistant/components/whirlpool/translations/ja.json +0 -1
- homeassistant/components/whirlpool/translations/ko.json +0 -1
- homeassistant/components/whirlpool/translations/lt.json +0 -1
- homeassistant/components/whirlpool/translations/lv.json +0 -1
- homeassistant/components/whirlpool/translations/nb.json +0 -1
- homeassistant/components/whirlpool/translations/nl.json +0 -1
- homeassistant/components/whirlpool/translations/pl.json +0 -1
- homeassistant/components/whirlpool/translations/pt-BR.json +0 -1
- homeassistant/components/whirlpool/translations/pt.json +0 -1
- homeassistant/components/whirlpool/translations/ro.json +0 -1
- homeassistant/components/whirlpool/translations/ru.json +0 -1
- homeassistant/components/whirlpool/translations/sv.json +0 -1
- homeassistant/components/whirlpool/translations/tr.json +0 -1
- homeassistant/components/whirlpool/translations/uk.json +0 -1
- homeassistant/components/whirlpool/translations/zh-Hans.json +0 -1
- homeassistant/components/whirlpool/translations/zh-Hant.json +1 -1
- homeassistant/components/withings/translations/de.json +4 -4
- homeassistant/components/withings/translations/it.json +15 -1
- homeassistant/components/withings/translations/ja.json +3 -0
- homeassistant/components/wled/translations/it.json +2 -2
- homeassistant/components/wmspro/cover.py +2 -7
- homeassistant/components/wmspro/light.py +12 -9
- homeassistant/components/wmspro/manifest.json +1 -1
- homeassistant/components/wolflink/translations/it.json +5 -0
- homeassistant/components/wyoming/translations/it.json +1 -1
- homeassistant/components/xbox/translations/it.json +6 -0
- homeassistant/components/xiaomi_miio/translations/hu.json +24 -8
- homeassistant/components/xiaomi_miio/translations/it.json +11 -2
- homeassistant/components/yale/translations/it.json +6 -0
- homeassistant/components/yale_smart_alarm/translations/it.json +3 -1
- homeassistant/components/yamaha/translations/it.json +1 -1
- homeassistant/components/yamaha_musiccast/__init__.py +3 -2
- homeassistant/components/yamaha_musiccast/config_flow.py +5 -4
- homeassistant/components/yamaha_musiccast/translations/it.json +13 -3
- homeassistant/components/yeelight/translations/it.json +2 -1
- homeassistant/components/yolink/translations/it.json +16 -4
- homeassistant/components/zha/translations/hu.json +47 -0
- homeassistant/components/zha/translations/it.json +18 -1
- homeassistant/components/zha/translations/ja.json +41 -0
- homeassistant/components/zha/translations/nl.json +41 -0
- homeassistant/components/zha/translations/sv.json +11 -0
- homeassistant/components/zwave_js/translations/en-GB.json +32 -0
- homeassistant/components/zwave_js/translations/hu.json +1 -0
- homeassistant/components/zwave_js/translations/ja.json +26 -0
- homeassistant/components/zwave_js/translations/nl.json +28 -1
- homeassistant/components/zwave_js/translations/ru.json +33 -0
- homeassistant/components/zwave_js/translations/sv.json +33 -0
- homeassistant/const.py +1 -1
- homeassistant/generated/dhcp.py +20 -0
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/METADATA +1 -1
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/RECORD +588 -573
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/WHEEL +0 -0
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.7.0b4.dist-info → homeassistant-2025.7.0b6.dist-info}/top_level.txt +0 -0
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van.",
|
|
5
|
+
"already_in_progress": "Az eszk\u00f6z m\u00e1r felismer\u00e9sre ker\u00fclt. Ellen\u0151rizze a felfedezett eszk\u00f6z\u00f6ket.",
|
|
6
|
+
"cannot_connect": "Nem siker\u00fclt csatlakozni az eszk\u00f6zh\u00f6z. Pr\u00f3b\u00e1lja meg \u00fajra.",
|
|
7
|
+
"timeout_connect": "A csatlakoz\u00e1si k\u00eds\u00e9rlet id\u0151t\u00fall\u00e9p\u00e9ssel megszakadt. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra.",
|
|
8
|
+
"unknown_error": "Ismeretlen hiba t\u00f6rt\u00e9nt."
|
|
9
|
+
},
|
|
10
|
+
"error": {
|
|
11
|
+
"cannot_connect": "Nem siker\u00fclt csatlakozni. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra.",
|
|
12
|
+
"invalid_ip": "\u00c9rv\u00e9nytelen IPv4-c\u00edm.",
|
|
13
|
+
"timeout_connect": "Id\u0151t\u00fall\u00e9p\u00e9s a kapcsolat l\u00e9trehoz\u00e1sa sor\u00e1n. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra."
|
|
14
|
+
},
|
|
15
|
+
"flow_title": "{host}",
|
|
3
16
|
"step": {
|
|
4
17
|
"user": {
|
|
5
18
|
"data": {
|
|
6
19
|
"ip_address": "IP-c\u00edm"
|
|
7
|
-
}
|
|
20
|
+
},
|
|
21
|
+
"data_description": {
|
|
22
|
+
"ip_address": "A c\u00e9l VegeHub IP-c\u00edme."
|
|
23
|
+
},
|
|
24
|
+
"description": "Szeretn\u00e9 be\u00e1ll\u00edtani ezt a VegeHub eszk\u00f6zt?",
|
|
25
|
+
"title": "VegeHub be\u00e1ll\u00edt\u00e1sa"
|
|
26
|
+
},
|
|
27
|
+
"zeroconf_confirm": {
|
|
28
|
+
"description": "Szeretn\u00e9 be\u00e1ll\u00edtani ezt a VegeHub eszk\u00f6zt?",
|
|
29
|
+
"title": "VegeHub be\u00e1ll\u00edt\u00e1sa"
|
|
8
30
|
}
|
|
9
31
|
}
|
|
10
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"entity": {
|
|
34
|
+
"sensor": {
|
|
35
|
+
"analog_sensor": {
|
|
36
|
+
"name": "{index} bemenet"
|
|
37
|
+
},
|
|
38
|
+
"battery_volts": {
|
|
39
|
+
"name": "Akkumul\u00e1tor fesz\u00fclts\u00e9g"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"title": "VegeHub"
|
|
11
44
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
|
+
"already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato.",
|
|
5
|
+
"already_in_progress": "Dispositivo gi\u00e0 rilevato. Controlla i dispositivi rilevati.",
|
|
6
|
+
"cannot_connect": "Impossibile connettersi al dispositivo. Riprova.",
|
|
7
|
+
"timeout_connect": "Tempo scaduto per la connessione. Assicurati che VegeHub sia attivo e riprova.",
|
|
4
8
|
"unknown_error": "Si \u00e8 verificato un errore sconosciuto."
|
|
5
9
|
},
|
|
6
10
|
"error": {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "\u30c7\u30d0\u30a4\u30b9\u306f\u3059\u3067\u306b\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002",
|
|
5
|
+
"already_in_progress": "\u30c7\u30d0\u30a4\u30b9\u306f\u3059\u3067\u306b\u691c\u51fa\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u691c\u51fa\u3055\u308c\u305f\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
|
|
6
|
+
"cannot_connect": "\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
|
|
7
|
+
"timeout_connect": "\u63a5\u7d9a\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
|
|
8
|
+
"unknown_error": "\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"
|
|
9
|
+
},
|
|
10
|
+
"error": {
|
|
11
|
+
"cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
|
|
12
|
+
"invalid_ip": "IPv4\u30a2\u30c9\u30ec\u30b9\u304c\u7121\u52b9\u3067\u3059\u3002",
|
|
13
|
+
"timeout_connect": "\u63a5\u7d9a\u78ba\u7acb\u4e2d\u306b\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"
|
|
14
|
+
},
|
|
15
|
+
"flow_title": "{host}",
|
|
16
|
+
"step": {
|
|
17
|
+
"user": {
|
|
18
|
+
"data": {
|
|
19
|
+
"ip_address": "IP\u30a2\u30c9\u30ec\u30b9"
|
|
20
|
+
},
|
|
21
|
+
"data_description": {
|
|
22
|
+
"ip_address": "\u5bfe\u8c61VegeHub\u306eIP\u30a2\u30c9\u30ec\u30b9"
|
|
23
|
+
},
|
|
24
|
+
"description": "\u3053\u306eVegeHub\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u304b?",
|
|
25
|
+
"title": "VegeHub\u3092\u8a2d\u5b9a\u3059\u308b"
|
|
26
|
+
},
|
|
27
|
+
"zeroconf_confirm": {
|
|
28
|
+
"description": "\u3053\u306eVegeHub\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u304b?",
|
|
29
|
+
"title": "VegeHub\u3092\u8a2d\u5b9a\u3059\u308b"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"entity": {
|
|
34
|
+
"sensor": {
|
|
35
|
+
"analog_sensor": {
|
|
36
|
+
"name": "\u5165\u529b{index}"
|
|
37
|
+
},
|
|
38
|
+
"battery_volts": {
|
|
39
|
+
"name": "\u30d0\u30c3\u30c6\u30ea\u30fc\u96fb\u5727"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"title": "VegeHub"
|
|
44
|
+
}
|
|
@@ -165,28 +165,36 @@ class VeSyncFanHA(VeSyncBaseEntity, FanEntity):
|
|
|
165
165
|
return attr
|
|
166
166
|
|
|
167
167
|
def set_percentage(self, percentage: int) -> None:
|
|
168
|
-
"""Set the speed of the device.
|
|
168
|
+
"""Set the speed of the device.
|
|
169
|
+
|
|
170
|
+
If percentage is 0, turn off the fan. Otherwise, ensure the fan is on,
|
|
171
|
+
set manual mode if needed, and set the speed.
|
|
172
|
+
"""
|
|
173
|
+
device_type = SKU_TO_BASE_DEVICE[self.device.device_type]
|
|
174
|
+
speed_range = SPEED_RANGE[device_type]
|
|
175
|
+
|
|
169
176
|
if percentage == 0:
|
|
170
|
-
|
|
171
|
-
if not
|
|
177
|
+
# Turning off is a special case: do not set speed or mode
|
|
178
|
+
if not self.device.turn_off():
|
|
172
179
|
raise HomeAssistantError("An error occurred while turning off.")
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
180
|
+
self.schedule_update_ha_state()
|
|
181
|
+
return
|
|
182
|
+
|
|
183
|
+
# If the fan is off, turn it on first
|
|
184
|
+
if not self.device.is_on:
|
|
185
|
+
if not self.device.turn_on():
|
|
176
186
|
raise HomeAssistantError("An error occurred while turning on.")
|
|
177
187
|
|
|
178
|
-
|
|
179
|
-
if
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
)
|
|
187
|
-
)
|
|
188
|
-
if not success:
|
|
188
|
+
# Switch to manual mode if not already set
|
|
189
|
+
if self.device.mode != VS_FAN_MODE_MANUAL:
|
|
190
|
+
if not self.device.manual_mode():
|
|
191
|
+
raise HomeAssistantError("An error occurred while setting manual mode.")
|
|
192
|
+
|
|
193
|
+
# Calculate the speed level and set it
|
|
194
|
+
speed_level = math.ceil(percentage_to_ranged_value(speed_range, percentage))
|
|
195
|
+
if not self.device.change_fan_speed(speed_level):
|
|
189
196
|
raise HomeAssistantError("An error occurred while changing fan speed.")
|
|
197
|
+
|
|
190
198
|
self.schedule_update_ha_state()
|
|
191
199
|
|
|
192
200
|
def set_preset_mode(self, preset_mode: str) -> None:
|
|
@@ -16,6 +16,25 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"entity": {
|
|
19
|
+
"fan": {
|
|
20
|
+
"vesync": {
|
|
21
|
+
"state_attributes": {
|
|
22
|
+
"preset_mode": {
|
|
23
|
+
"state": {
|
|
24
|
+
"auto": "Automatico"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"select": {
|
|
31
|
+
"night_light_level": {
|
|
32
|
+
"state": {
|
|
33
|
+
"off": "Spento/a",
|
|
34
|
+
"on": "Acceso/a"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
19
38
|
"sensor": {
|
|
20
39
|
"air_quality": {
|
|
21
40
|
"name": "Qualit\u00e0 dell'aria"
|
|
@@ -66,7 +66,14 @@
|
|
|
66
66
|
},
|
|
67
67
|
"fan": {
|
|
68
68
|
"ventilation": {
|
|
69
|
-
"name": "Ventilazione"
|
|
69
|
+
"name": "Ventilazione",
|
|
70
|
+
"state_attributes": {
|
|
71
|
+
"preset_mode": {
|
|
72
|
+
"state": {
|
|
73
|
+
"standby": "In attesa"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
70
77
|
}
|
|
71
78
|
},
|
|
72
79
|
"number": {
|
|
@@ -179,7 +186,9 @@
|
|
|
179
186
|
},
|
|
180
187
|
"ess_state": {
|
|
181
188
|
"state": {
|
|
182
|
-
"
|
|
189
|
+
"charge": "In carica",
|
|
190
|
+
"discharge": "In scaricamento",
|
|
191
|
+
"standby": "In attesa"
|
|
183
192
|
}
|
|
184
193
|
},
|
|
185
194
|
"gas_consumption_heating_this_month": {
|
|
@@ -242,6 +251,11 @@
|
|
|
242
251
|
"outside_temperature": {
|
|
243
252
|
"name": "Temperatura esterna"
|
|
244
253
|
},
|
|
254
|
+
"photovoltaic_status": {
|
|
255
|
+
"state": {
|
|
256
|
+
"ready": "In attesa"
|
|
257
|
+
}
|
|
258
|
+
},
|
|
245
259
|
"power_consumption_this_month": {
|
|
246
260
|
"name": "Consumo di energia elettrica questo mese"
|
|
247
261
|
},
|
|
@@ -302,6 +316,11 @@
|
|
|
302
316
|
"supply_temperature": {
|
|
303
317
|
"name": "Temperatura di mandata"
|
|
304
318
|
},
|
|
319
|
+
"ventilation_level": {
|
|
320
|
+
"state": {
|
|
321
|
+
"standby": "In attesa"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
305
324
|
"ventilation_reason": {
|
|
306
325
|
"state": {
|
|
307
326
|
"standby": "In attesa"
|
|
@@ -22,6 +22,8 @@ CHARGER_CURRENT_MODE_KEY = "current_mode"
|
|
|
22
22
|
CHARGER_CURRENT_VERSION_KEY = "currentVersion"
|
|
23
23
|
CHARGER_CURRENCY_KEY = "currency"
|
|
24
24
|
CHARGER_DATA_KEY = "config_data"
|
|
25
|
+
CHARGER_DATA_POST_L1_KEY = "data"
|
|
26
|
+
CHARGER_DATA_POST_L2_KEY = "chargerData"
|
|
25
27
|
CHARGER_DEPOT_PRICE_KEY = "depot_price"
|
|
26
28
|
CHARGER_ENERGY_PRICE_KEY = "energy_price"
|
|
27
29
|
CHARGER_FEATURES_KEY = "features"
|
|
@@ -32,7 +34,9 @@ CHARGER_POWER_BOOST_KEY = "POWER_BOOST"
|
|
|
32
34
|
CHARGER_SOFTWARE_KEY = "software"
|
|
33
35
|
CHARGER_MAX_AVAILABLE_POWER_KEY = "max_available_power"
|
|
34
36
|
CHARGER_MAX_CHARGING_CURRENT_KEY = "max_charging_current"
|
|
37
|
+
CHARGER_MAX_CHARGING_CURRENT_POST_KEY = "maxChargingCurrent"
|
|
35
38
|
CHARGER_MAX_ICP_CURRENT_KEY = "icp_max_current"
|
|
39
|
+
CHARGER_MAX_ICP_CURRENT_POST_KEY = "maxAvailableCurrent"
|
|
36
40
|
CHARGER_PAUSE_RESUME_KEY = "paused"
|
|
37
41
|
CHARGER_LOCKED_UNLOCKED_KEY = "locked"
|
|
38
42
|
CHARGER_NAME_KEY = "name"
|
|
@@ -14,11 +14,13 @@ from wallbox import Wallbox
|
|
|
14
14
|
from homeassistant.config_entries import ConfigEntry
|
|
15
15
|
from homeassistant.core import HomeAssistant
|
|
16
16
|
from homeassistant.exceptions import ConfigEntryAuthFailed, HomeAssistantError
|
|
17
|
-
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
|
17
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
|
18
18
|
|
|
19
19
|
from .const import (
|
|
20
20
|
CHARGER_CURRENCY_KEY,
|
|
21
21
|
CHARGER_DATA_KEY,
|
|
22
|
+
CHARGER_DATA_POST_L1_KEY,
|
|
23
|
+
CHARGER_DATA_POST_L2_KEY,
|
|
22
24
|
CHARGER_ECO_SMART_KEY,
|
|
23
25
|
CHARGER_ECO_SMART_MODE_KEY,
|
|
24
26
|
CHARGER_ECO_SMART_STATUS_KEY,
|
|
@@ -26,6 +28,7 @@ from .const import (
|
|
|
26
28
|
CHARGER_FEATURES_KEY,
|
|
27
29
|
CHARGER_LOCKED_UNLOCKED_KEY,
|
|
28
30
|
CHARGER_MAX_CHARGING_CURRENT_KEY,
|
|
31
|
+
CHARGER_MAX_CHARGING_CURRENT_POST_KEY,
|
|
29
32
|
CHARGER_MAX_ICP_CURRENT_KEY,
|
|
30
33
|
CHARGER_PLAN_KEY,
|
|
31
34
|
CHARGER_POWER_BOOST_KEY,
|
|
@@ -192,10 +195,10 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
192
195
|
return data # noqa: TRY300
|
|
193
196
|
except requests.exceptions.HTTPError as wallbox_connection_error:
|
|
194
197
|
if wallbox_connection_error.response.status_code == 429:
|
|
195
|
-
raise
|
|
198
|
+
raise UpdateFailed(
|
|
196
199
|
translation_domain=DOMAIN, translation_key="too_many_requests"
|
|
197
200
|
) from wallbox_connection_error
|
|
198
|
-
raise
|
|
201
|
+
raise UpdateFailed(
|
|
199
202
|
translation_domain=DOMAIN, translation_key="api_failed"
|
|
200
203
|
) from wallbox_connection_error
|
|
201
204
|
|
|
@@ -204,10 +207,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
204
207
|
return await self.hass.async_add_executor_job(self._get_data)
|
|
205
208
|
|
|
206
209
|
@_require_authentication
|
|
207
|
-
def _set_charging_current(
|
|
210
|
+
def _set_charging_current(
|
|
211
|
+
self, charging_current: float
|
|
212
|
+
) -> dict[str, dict[str, dict[str, Any]]]:
|
|
208
213
|
"""Set maximum charging current for Wallbox."""
|
|
209
214
|
try:
|
|
210
|
-
self._wallbox.setMaxChargingCurrent(
|
|
215
|
+
result = self._wallbox.setMaxChargingCurrent(
|
|
216
|
+
self._station, charging_current
|
|
217
|
+
)
|
|
218
|
+
data = self.data
|
|
219
|
+
data[CHARGER_MAX_CHARGING_CURRENT_KEY] = result[CHARGER_DATA_POST_L1_KEY][
|
|
220
|
+
CHARGER_DATA_POST_L2_KEY
|
|
221
|
+
][CHARGER_MAX_CHARGING_CURRENT_POST_KEY]
|
|
222
|
+
return data # noqa: TRY300
|
|
211
223
|
except requests.exceptions.HTTPError as wallbox_connection_error:
|
|
212
224
|
if wallbox_connection_error.response.status_code == 403:
|
|
213
225
|
raise InvalidAuth from wallbox_connection_error
|
|
@@ -221,16 +233,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
221
233
|
|
|
222
234
|
async def async_set_charging_current(self, charging_current: float) -> None:
|
|
223
235
|
"""Set maximum charging current for Wallbox."""
|
|
224
|
-
await self.hass.async_add_executor_job(
|
|
236
|
+
data = await self.hass.async_add_executor_job(
|
|
225
237
|
self._set_charging_current, charging_current
|
|
226
238
|
)
|
|
227
|
-
|
|
239
|
+
self.async_set_updated_data(data)
|
|
228
240
|
|
|
229
241
|
@_require_authentication
|
|
230
|
-
def _set_icp_current(self, icp_current: float) ->
|
|
242
|
+
def _set_icp_current(self, icp_current: float) -> dict[str, Any]:
|
|
231
243
|
"""Set maximum icp current for Wallbox."""
|
|
232
244
|
try:
|
|
233
|
-
self._wallbox.setIcpMaxCurrent(self._station, icp_current)
|
|
245
|
+
result = self._wallbox.setIcpMaxCurrent(self._station, icp_current)
|
|
246
|
+
data = self.data
|
|
247
|
+
data[CHARGER_MAX_ICP_CURRENT_KEY] = result[CHARGER_MAX_ICP_CURRENT_KEY]
|
|
248
|
+
return data # noqa: TRY300
|
|
234
249
|
except requests.exceptions.HTTPError as wallbox_connection_error:
|
|
235
250
|
if wallbox_connection_error.response.status_code == 403:
|
|
236
251
|
raise InvalidAuth from wallbox_connection_error
|
|
@@ -244,14 +259,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
244
259
|
|
|
245
260
|
async def async_set_icp_current(self, icp_current: float) -> None:
|
|
246
261
|
"""Set maximum icp current for Wallbox."""
|
|
247
|
-
await self.hass.async_add_executor_job(
|
|
248
|
-
|
|
262
|
+
data = await self.hass.async_add_executor_job(
|
|
263
|
+
self._set_icp_current, icp_current
|
|
264
|
+
)
|
|
265
|
+
self.async_set_updated_data(data)
|
|
249
266
|
|
|
250
267
|
@_require_authentication
|
|
251
|
-
def _set_energy_cost(self, energy_cost: float) ->
|
|
268
|
+
def _set_energy_cost(self, energy_cost: float) -> dict[str, Any]:
|
|
252
269
|
"""Set energy cost for Wallbox."""
|
|
253
270
|
try:
|
|
254
|
-
self._wallbox.setEnergyCost(self._station, energy_cost)
|
|
271
|
+
result = self._wallbox.setEnergyCost(self._station, energy_cost)
|
|
272
|
+
data = self.data
|
|
273
|
+
data[CHARGER_ENERGY_PRICE_KEY] = result[CHARGER_ENERGY_PRICE_KEY]
|
|
274
|
+
return data # noqa: TRY300
|
|
255
275
|
except requests.exceptions.HTTPError as wallbox_connection_error:
|
|
256
276
|
if wallbox_connection_error.response.status_code == 429:
|
|
257
277
|
raise HomeAssistantError(
|
|
@@ -263,17 +283,24 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
263
283
|
|
|
264
284
|
async def async_set_energy_cost(self, energy_cost: float) -> None:
|
|
265
285
|
"""Set energy cost for Wallbox."""
|
|
266
|
-
await self.hass.async_add_executor_job(
|
|
267
|
-
|
|
286
|
+
data = await self.hass.async_add_executor_job(
|
|
287
|
+
self._set_energy_cost, energy_cost
|
|
288
|
+
)
|
|
289
|
+
self.async_set_updated_data(data)
|
|
268
290
|
|
|
269
291
|
@_require_authentication
|
|
270
|
-
def _set_lock_unlock(self, lock: bool) ->
|
|
292
|
+
def _set_lock_unlock(self, lock: bool) -> dict[str, dict[str, dict[str, Any]]]:
|
|
271
293
|
"""Set wallbox to locked or unlocked."""
|
|
272
294
|
try:
|
|
273
295
|
if lock:
|
|
274
|
-
self._wallbox.lockCharger(self._station)
|
|
296
|
+
result = self._wallbox.lockCharger(self._station)
|
|
275
297
|
else:
|
|
276
|
-
self._wallbox.unlockCharger(self._station)
|
|
298
|
+
result = self._wallbox.unlockCharger(self._station)
|
|
299
|
+
data = self.data
|
|
300
|
+
data[CHARGER_LOCKED_UNLOCKED_KEY] = result[CHARGER_DATA_POST_L1_KEY][
|
|
301
|
+
CHARGER_DATA_POST_L2_KEY
|
|
302
|
+
][CHARGER_LOCKED_UNLOCKED_KEY]
|
|
303
|
+
return data # noqa: TRY300
|
|
277
304
|
except requests.exceptions.HTTPError as wallbox_connection_error:
|
|
278
305
|
if wallbox_connection_error.response.status_code == 403:
|
|
279
306
|
raise InvalidAuth from wallbox_connection_error
|
|
@@ -287,8 +314,8 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
|
287
314
|
|
|
288
315
|
async def async_set_lock_unlock(self, lock: bool) -> None:
|
|
289
316
|
"""Set wallbox to locked or unlocked."""
|
|
290
|
-
await self.hass.async_add_executor_job(self._set_lock_unlock, lock)
|
|
291
|
-
|
|
317
|
+
data = await self.hass.async_add_executor_job(self._set_lock_unlock, lock)
|
|
318
|
+
self.async_set_updated_data(data)
|
|
292
319
|
|
|
293
320
|
@_require_authentication
|
|
294
321
|
def _pause_charger(self, pause: bool) -> None:
|
|
@@ -7,7 +7,6 @@ from typing import Any
|
|
|
7
7
|
from homeassistant.components.lock import LockEntity, LockEntityDescription
|
|
8
8
|
from homeassistant.config_entries import ConfigEntry
|
|
9
9
|
from homeassistant.core import HomeAssistant
|
|
10
|
-
from homeassistant.exceptions import HomeAssistantError, PlatformNotReady
|
|
11
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
12
11
|
|
|
13
12
|
from .const import (
|
|
@@ -16,7 +15,7 @@ from .const import (
|
|
|
16
15
|
CHARGER_SERIAL_NUMBER_KEY,
|
|
17
16
|
DOMAIN,
|
|
18
17
|
)
|
|
19
|
-
from .coordinator import
|
|
18
|
+
from .coordinator import WallboxCoordinator
|
|
20
19
|
from .entity import WallboxEntity
|
|
21
20
|
|
|
22
21
|
LOCK_TYPES: dict[str, LockEntityDescription] = {
|
|
@@ -34,16 +33,6 @@ async def async_setup_entry(
|
|
|
34
33
|
) -> None:
|
|
35
34
|
"""Create wallbox lock entities in HASS."""
|
|
36
35
|
coordinator: WallboxCoordinator = hass.data[DOMAIN][entry.entry_id]
|
|
37
|
-
# Check if the user is authorized to lock, if so, add lock component
|
|
38
|
-
try:
|
|
39
|
-
await coordinator.async_set_lock_unlock(
|
|
40
|
-
coordinator.data[CHARGER_LOCKED_UNLOCKED_KEY]
|
|
41
|
-
)
|
|
42
|
-
except InvalidAuth:
|
|
43
|
-
return
|
|
44
|
-
except HomeAssistantError as exc:
|
|
45
|
-
raise PlatformNotReady from exc
|
|
46
|
-
|
|
47
36
|
async_add_entities(
|
|
48
37
|
WallboxLock(coordinator, description)
|
|
49
38
|
for ent in coordinator.data
|
|
@@ -12,7 +12,6 @@ from typing import cast
|
|
|
12
12
|
from homeassistant.components.number import NumberEntity, NumberEntityDescription
|
|
13
13
|
from homeassistant.config_entries import ConfigEntry
|
|
14
14
|
from homeassistant.core import HomeAssistant
|
|
15
|
-
from homeassistant.exceptions import HomeAssistantError, PlatformNotReady
|
|
16
15
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
17
16
|
|
|
18
17
|
from .const import (
|
|
@@ -26,7 +25,7 @@ from .const import (
|
|
|
26
25
|
CHARGER_SERIAL_NUMBER_KEY,
|
|
27
26
|
DOMAIN,
|
|
28
27
|
)
|
|
29
|
-
from .coordinator import
|
|
28
|
+
from .coordinator import WallboxCoordinator
|
|
30
29
|
from .entity import WallboxEntity
|
|
31
30
|
|
|
32
31
|
|
|
@@ -86,16 +85,6 @@ async def async_setup_entry(
|
|
|
86
85
|
) -> None:
|
|
87
86
|
"""Create wallbox number entities in HASS."""
|
|
88
87
|
coordinator: WallboxCoordinator = hass.data[DOMAIN][entry.entry_id]
|
|
89
|
-
# Check if the user has sufficient rights to change values, if so, add number component:
|
|
90
|
-
try:
|
|
91
|
-
await coordinator.async_set_charging_current(
|
|
92
|
-
coordinator.data[CHARGER_MAX_CHARGING_CURRENT_KEY]
|
|
93
|
-
)
|
|
94
|
-
except InvalidAuth:
|
|
95
|
-
return
|
|
96
|
-
except HomeAssistantError as exc:
|
|
97
|
-
raise PlatformNotReady from exc
|
|
98
|
-
|
|
99
88
|
async_add_entities(
|
|
100
89
|
WallboxNumber(coordinator, entry, description)
|
|
101
90
|
for ent in coordinator.data
|
|
@@ -112,6 +112,9 @@
|
|
|
112
112
|
"exceptions": {
|
|
113
113
|
"api_failed": {
|
|
114
114
|
"message": "Hiba t\u00f6rt\u00e9nt a Wallbox API-val val\u00f3 kommunik\u00e1ci\u00f3 sor\u00e1n"
|
|
115
|
+
},
|
|
116
|
+
"too_many_requests": {
|
|
117
|
+
"message": "Hiba a Wallbox API-val val\u00f3 kommunik\u00e1ci\u00f3 sor\u00e1n: t\u00fal sok k\u00e9r\u00e9s"
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
}
|
|
@@ -40,6 +40,13 @@
|
|
|
40
40
|
"name": "Corrente di carica massima"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
|
+
"select": {
|
|
44
|
+
"ecosmart": {
|
|
45
|
+
"state": {
|
|
46
|
+
"off": "Spento/a"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
43
50
|
"sensor": {
|
|
44
51
|
"added_discharged_energy": {
|
|
45
52
|
"name": "Energia scaricata"
|
|
@@ -86,5 +93,10 @@
|
|
|
86
93
|
"name": "Pausa/riprendi"
|
|
87
94
|
}
|
|
88
95
|
}
|
|
96
|
+
},
|
|
97
|
+
"exceptions": {
|
|
98
|
+
"too_many_requests": {
|
|
99
|
+
"message": "Errore di comunicazione con l'API Wallbox, troppe richieste"
|
|
100
|
+
}
|
|
89
101
|
}
|
|
90
102
|
}
|
|
@@ -92,5 +92,10 @@
|
|
|
92
92
|
"name": "\u4e00\u6642\u505c\u6b62/\u518d\u958b"
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
},
|
|
96
|
+
"exceptions": {
|
|
97
|
+
"too_many_requests": {
|
|
98
|
+
"message": "Wallbox API\u3068\u306e\u901a\u4fe1\u30a8\u30e9\u30fc\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u591a\u3059\u304e\u307e\u3059"
|
|
99
|
+
}
|
|
95
100
|
}
|
|
96
101
|
}
|
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
"eco": "Eco",
|
|
12
12
|
"electric": "Elettrico",
|
|
13
13
|
"gas": "Gas",
|
|
14
|
-
"off": "
|
|
14
|
+
"off": "Spento/a",
|
|
15
15
|
"performance": "Prestazione"
|
|
16
16
|
},
|
|
17
17
|
"state_attributes": {
|
|
18
18
|
"away_mode": {
|
|
19
19
|
"name": "Modalit\u00e0 fuori casa",
|
|
20
20
|
"state": {
|
|
21
|
-
"off": "
|
|
22
|
-
"on": "
|
|
21
|
+
"off": "Spento/a",
|
|
22
|
+
"on": "Acceso/a"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -5,7 +5,11 @@ from __future__ import annotations
|
|
|
5
5
|
import logging
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
|
-
from aiowebdav2.exceptions import
|
|
8
|
+
from aiowebdav2.exceptions import (
|
|
9
|
+
AccessDeniedError,
|
|
10
|
+
MethodNotSupportedError,
|
|
11
|
+
UnauthorizedError,
|
|
12
|
+
)
|
|
9
13
|
import voluptuous as vol
|
|
10
14
|
import yarl
|
|
11
15
|
|
|
@@ -65,6 +69,8 @@ class WebDavConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
65
69
|
result = await client.check()
|
|
66
70
|
except UnauthorizedError:
|
|
67
71
|
errors["base"] = "invalid_auth"
|
|
72
|
+
except AccessDeniedError:
|
|
73
|
+
errors["base"] = "access_denied"
|
|
68
74
|
except MethodNotSupportedError:
|
|
69
75
|
errors["base"] = "invalid_method"
|
|
70
76
|
except Exception:
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"error": {
|
|
22
22
|
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
|
|
23
23
|
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
|
|
24
|
+
"access_denied": "The access to the backup path has been denied. Please check the permissions of the backup path.",
|
|
24
25
|
"invalid_method": "The server does not support the required methods. Please check whether you have the correct URL. Check with your provider for the correct URL.",
|
|
25
26
|
"unknown": "[%key:common::config_flow::error::unknown%]"
|
|
26
27
|
},
|
|
@@ -35,9 +36,6 @@
|
|
|
35
36
|
"cannot_connect": {
|
|
36
37
|
"message": "Cannot connect to WebDAV server"
|
|
37
38
|
},
|
|
38
|
-
"cannot_access_or_create_backup_path": {
|
|
39
|
-
"message": "Cannot access or create backup path. Please check the path and permissions."
|
|
40
|
-
},
|
|
41
39
|
"failed_to_migrate_folder": {
|
|
42
40
|
"message": "Failed to migrate wrong encoded folder \"{wrong_path}\" to \"{correct_path}\"."
|
|
43
41
|
}
|
|
@@ -29,9 +29,6 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"exceptions": {
|
|
32
|
-
"cannot_access_or_create_backup_path": {
|
|
33
|
-
"message": "Nelze z\u00edskat p\u0159\u00edstup nebo vytvo\u0159it z\u00e1lo\u017en\u00ed cestu. Zkontrolujte cestu a opr\u00e1vn\u011bn\u00ed."
|
|
34
|
-
},
|
|
35
32
|
"cannot_connect": {
|
|
36
33
|
"message": "Nelze se p\u0159ipojit k serveru WebDAV"
|
|
37
34
|
},
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"already_configured": "Dienst ist bereits konfiguriert"
|
|
5
5
|
},
|
|
6
6
|
"error": {
|
|
7
|
+
"access_denied": "Der Zugriff auf den Backup-Pfad wurde verweigert. Bitte \u00fcberpr\u00fcfe die Berechtigungen des Backup-Pfades.",
|
|
7
8
|
"cannot_connect": "Verbindung fehlgeschlagen",
|
|
8
9
|
"invalid_auth": "Ung\u00fcltige Authentifizierung",
|
|
9
10
|
"invalid_method": "Der Server unterst\u00fctzt die erforderlichen Methoden nicht. Bitte pr\u00fcfe, ob du die richtige URL hast. Die korrekte URL erf\u00e4hrst du von deinem Anbieter.",
|
|
@@ -29,9 +30,6 @@
|
|
|
29
30
|
}
|
|
30
31
|
},
|
|
31
32
|
"exceptions": {
|
|
32
|
-
"cannot_access_or_create_backup_path": {
|
|
33
|
-
"message": "Kann nicht auf den Backup-Pfad zugreifen oder diesen erstellen. Bitte \u00fcberpr\u00fcfe den Pfad und die Berechtigungen."
|
|
34
|
-
},
|
|
35
33
|
"cannot_connect": {
|
|
36
34
|
"message": "Verbindung zum WebDAV-Server nicht m\u00f6glich"
|
|
37
35
|
},
|