homeassistant 2025.11.0b5__py3-none-any.whl → 2025.11.2__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/auth/mfa_modules/notify.py +7 -7
- homeassistant/auth/providers/homeassistant.py +8 -2
- homeassistant/components/abode/translations/mk.json +11 -0
- homeassistant/components/abode/translations/uk.json +4 -1
- homeassistant/components/accuweather/translations/mk.json +1 -0
- homeassistant/components/actron_air/translations/sr-Latn.json +3 -0
- homeassistant/components/adax/translations/sv.json +1 -1
- homeassistant/components/ads/translations/mk.json +11 -0
- homeassistant/components/aemet/translations/sv.json +2 -1
- homeassistant/components/aftership/translations/mk.json +11 -0
- homeassistant/components/ai_task/translations/mk.json +42 -1
- homeassistant/components/ai_task/translations/sv.json +3 -0
- homeassistant/components/airgradient/translations/bg.json +11 -0
- homeassistant/components/airgradient/translations/sr-Latn.json +3 -3
- homeassistant/components/airgradient/translations/sv.json +2 -0
- homeassistant/components/airly/translations/sv.json +2 -1
- homeassistant/components/airnow/translations/sv.json +2 -1
- homeassistant/components/airq/translations/sv.json +1 -0
- homeassistant/components/airthings/translations/mk.json +9 -1
- homeassistant/components/airthings_ble/config_flow.py +10 -7
- homeassistant/components/airthings_ble/const.py +5 -0
- homeassistant/components/airthings_ble/coordinator.py +32 -3
- homeassistant/components/airzone/translations/bg.json +2 -1
- homeassistant/components/airzone/translations/sr-Latn.json +1 -1
- homeassistant/components/airzone/translations/vi.json +9 -0
- homeassistant/components/airzone_cloud/translations/bg.json +5 -0
- homeassistant/components/airzone_cloud/translations/sr-Latn.json +2 -2
- homeassistant/components/airzone_cloud/translations/vi.json +9 -0
- homeassistant/components/aladdin_connect/translations/sr-Latn.json +7 -0
- homeassistant/components/aladdin_connect/translations/sv.json +1 -1
- homeassistant/components/alarm_control_panel/translations/mk.json +12 -0
- homeassistant/components/alarm_control_panel/translations/vi.json +16 -11
- homeassistant/components/alexa_devices/binary_sensor.py +2 -2
- homeassistant/components/alexa_devices/coordinator.py +6 -1
- homeassistant/components/alexa_devices/diagnostics.py +1 -1
- homeassistant/components/alexa_devices/entity.py +2 -2
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/notify.py +3 -2
- homeassistant/components/alexa_devices/sensor.py +2 -2
- homeassistant/components/alexa_devices/services.py +1 -1
- homeassistant/components/alexa_devices/switch.py +1 -1
- homeassistant/components/alexa_devices/translations/it.json +3 -3
- homeassistant/components/alexa_devices/translations/mk.json +7 -0
- homeassistant/components/alexa_devices/translations/pt.json +11 -0
- homeassistant/components/alexa_devices/translations/sv.json +16 -0
- homeassistant/components/alexa_devices/utils.py +1 -1
- homeassistant/components/anthropic/translations/en-GB.json +1 -1
- homeassistant/components/anthropic/translations/lt.json +1 -1
- homeassistant/components/aosmith/translations/bg.json +2 -1
- homeassistant/components/aosmith/translations/sr-Latn.json +1 -1
- homeassistant/components/apcupsd/translations/mk.json +3 -0
- homeassistant/components/apcupsd/translations/pl.json +13 -0
- homeassistant/components/aprilaire/translations/bg.json +30 -5
- homeassistant/components/aprilaire/translations/sr-Latn.json +14 -14
- homeassistant/components/assist_pipeline/translations/sv.json +1 -1
- homeassistant/components/assist_satellite/translations/mk.json +59 -0
- homeassistant/components/assist_satellite/translations/vi.json +38 -0
- homeassistant/components/august/translations/sr-Latn.json +7 -1
- homeassistant/components/august/translations/sv.json +4 -0
- homeassistant/components/automation/translations/bg.json +3 -0
- homeassistant/components/automation/translations/sv.json +1 -1
- homeassistant/components/awair/translations/sv.json +1 -1
- homeassistant/components/backup/manifest.json +1 -1
- homeassistant/components/backup/translations/de.json +1 -1
- homeassistant/components/backup/translations/sr-Latn.json +11 -0
- homeassistant/components/bang_olufsen/translations/mk.json +21 -0
- homeassistant/components/bayesian/translations/de.json +1 -1
- homeassistant/components/bayesian/translations/sr-Latn.json +1 -0
- homeassistant/components/bayesian/translations/sv.json +108 -11
- homeassistant/components/bayesian/translations/vi.json +8 -0
- homeassistant/components/binary_sensor/translations/bg.json +9 -2
- homeassistant/components/binary_sensor/translations/mk.json +4 -0
- homeassistant/components/binary_sensor/translations/sr-Latn.json +3 -3
- homeassistant/components/blackbird/translations/mk.json +11 -0
- homeassistant/components/blink/translations/ca.json +8 -1
- homeassistant/components/blink/translations/mk.json +3 -0
- homeassistant/components/blink/translations/pt.json +17 -1
- homeassistant/components/blink/translations/sv.json +15 -1
- homeassistant/components/bluesound/translations/mk.json +8 -0
- homeassistant/components/bond/translations/sr-Latn.json +3 -0
- homeassistant/components/bosch_alarm/translations/sr-Latn.json +3 -0
- homeassistant/components/bring/translations/mk.json +5 -0
- homeassistant/components/bring/translations/sr-Latn.json +3 -0
- homeassistant/components/brother/translations/mk.json +9 -0
- homeassistant/components/brother/translations/pt.json +10 -2
- homeassistant/components/brother/translations/ru.json +5 -1
- homeassistant/components/brother/translations/sv.json +10 -2
- homeassistant/components/bryant_evolution/translations/pt.json +3 -0
- homeassistant/components/bryant_evolution/translations/ru.json +3 -0
- homeassistant/components/bryant_evolution/translations/vi.json +19 -0
- homeassistant/components/bsblan/climate.py +5 -2
- homeassistant/components/bsblan/manifest.json +1 -1
- homeassistant/components/bsblan/translations/vi.json +5 -0
- homeassistant/components/bthome/translations/mk.json +20 -0
- homeassistant/components/button/translations/mk.json +8 -1
- homeassistant/components/button/translations/vi.json +1 -0
- homeassistant/components/calendar/translations/bg.json +3 -0
- homeassistant/components/calendar/translations/mk.json +72 -0
- homeassistant/components/calendar/translations/sr-Latn.json +2 -2
- homeassistant/components/calendar/translations/sv.json +1 -1
- homeassistant/components/calendar/translations/vi.json +1 -0
- homeassistant/components/cambridge_audio/translations/bg.json +1 -0
- homeassistant/components/cambridge_audio/translations/sr-Latn.json +2 -2
- homeassistant/components/camera/translations/mk.json +60 -0
- homeassistant/components/camera/translations/sv.json +1 -1
- homeassistant/components/cert_expiry/translations/it.json +1 -0
- homeassistant/components/channels/translations/mk.json +11 -0
- homeassistant/components/climate/reproduce_state.py +3 -3
- homeassistant/components/climate/translations/bg.json +10 -4
- homeassistant/components/climate/translations/mk.json +101 -1
- homeassistant/components/climate/translations/pl.json +13 -13
- homeassistant/components/climate/translations/sr-Latn.json +4 -4
- homeassistant/components/climate/translations/vi.json +66 -10
- homeassistant/components/comelit/config_flow.py +42 -30
- homeassistant/components/conversation/manifest.json +1 -1
- homeassistant/components/conversation/translations/mk.json +37 -0
- homeassistant/components/conversation/translations/vi.json +38 -0
- homeassistant/components/counter/translations/mk.json +27 -0
- homeassistant/components/cover/translations/mk.json +6 -1
- homeassistant/components/daikin/translations/mk.json +3 -0
- homeassistant/components/daikin/translations/pl.json +7 -0
- homeassistant/components/deluge/translations/sv.json +3 -0
- homeassistant/components/demo/translations/bg.json +3 -1
- homeassistant/components/demo/translations/mk.json +11 -0
- homeassistant/components/demo/translations/sr-Latn.json +3 -3
- homeassistant/components/demo/translations/vi.json +11 -0
- homeassistant/components/denonavr/translations/sr-Latn.json +3 -0
- homeassistant/components/derivative/translations/mk.json +9 -0
- homeassistant/components/device_tracker/translations/mk.json +22 -1
- homeassistant/components/devolo_home_control/translations/cs.json +1 -1
- homeassistant/components/devolo_home_control/translations/de.json +1 -1
- homeassistant/components/devolo_home_control/translations/el.json +0 -3
- homeassistant/components/devolo_home_control/translations/en-GB.json +1 -1
- homeassistant/components/devolo_home_control/translations/en.json +1 -1
- homeassistant/components/devolo_home_control/translations/es.json +1 -1
- homeassistant/components/devolo_home_control/translations/et.json +1 -1
- homeassistant/components/devolo_home_control/translations/ga.json +0 -3
- homeassistant/components/devolo_home_control/translations/hu.json +0 -3
- homeassistant/components/devolo_home_control/translations/ja.json +0 -3
- homeassistant/components/devolo_home_control/translations/lt.json +1 -1
- homeassistant/components/devolo_home_control/translations/pt.json +1 -1
- homeassistant/components/devolo_home_control/translations/sk.json +1 -1
- homeassistant/components/devolo_home_control/translations/tr.json +0 -3
- homeassistant/components/devolo_home_control/translations/zh-Hans.json +1 -1
- homeassistant/components/devolo_home_control/translations/zh-Hant.json +1 -1
- homeassistant/components/dlna_dmr/translations/sv.json +1 -1
- homeassistant/components/downloader/translations/mk.json +11 -0
- homeassistant/components/drop_connect/translations/mk.json +1 -0
- homeassistant/components/ecobee/translations/mk.json +21 -0
- homeassistant/components/ecobee/translations/sv.json +3 -0
- homeassistant/components/ecoforest/translations/bg.json +1 -0
- homeassistant/components/ecoforest/translations/mk.json +9 -0
- homeassistant/components/ecoforest/translations/sr-Latn.json +2 -2
- homeassistant/components/econet/translations/sv.json +1 -1
- homeassistant/components/ecovacs/translations/mk.json +9 -0
- homeassistant/components/eheimdigital/translations/sr-Latn.json +5 -0
- homeassistant/components/ekeybionyx/translations/sr-Latn.json +10 -0
- homeassistant/components/electric_kiwi/translations/sv.json +3 -0
- homeassistant/components/elkm1/translations/mk.json +7 -0
- homeassistant/components/esphome/translations/sv.json +1 -1
- homeassistant/components/event/translations/mk.json +7 -0
- homeassistant/components/evohome/translations/mk.json +18 -0
- homeassistant/components/ezviz/translations/mk.json +9 -0
- homeassistant/components/faa_delays/translations/mk.json +13 -0
- homeassistant/components/fan/translations/bg.json +3 -0
- homeassistant/components/fan/translations/mk.json +35 -0
- homeassistant/components/filter/translations/mk.json +9 -0
- homeassistant/components/fing/translations/ca.json +23 -0
- homeassistant/components/fing/translations/sv.json +17 -0
- homeassistant/components/fitbit/translations/sv.json +3 -0
- homeassistant/components/fivem/translations/mk.json +9 -0
- homeassistant/components/flexit_bacnet/translations/vi.json +7 -0
- homeassistant/components/foscam/camera.py +4 -1
- homeassistant/components/foscam/coordinator.py +37 -19
- homeassistant/components/foscam/switch.py +1 -0
- homeassistant/components/foscam/translations/mk.json +9 -0
- homeassistant/components/freebox/translations/sv.json +1 -1
- homeassistant/components/fritzbox/translations/vi.json +13 -0
- homeassistant/components/fritzbox_callmonitor/translations/mk.json +3 -0
- homeassistant/components/fronius/translations/pl.json +3 -3
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/frontend/translations/mk.json +9 -0
- homeassistant/components/frontend/translations/pl.json +18 -1
- homeassistant/components/fully_kiosk/translations/mk.json +11 -0
- homeassistant/components/fyta/translations/sr-Latn.json +3 -0
- homeassistant/components/generic_thermostat/translations/mk.json +2 -0
- homeassistant/components/generic_thermostat/translations/pl.json +2 -0
- homeassistant/components/geniushub/translations/mk.json +18 -0
- homeassistant/components/geo_location/translations/mk.json +11 -0
- homeassistant/components/geocaching/translations/sv.json +3 -0
- homeassistant/components/glances/translations/sl.json +7 -0
- homeassistant/components/goalzero/translations/sv.json +3 -0
- homeassistant/components/google/translations/mk.json +53 -0
- homeassistant/components/google/translations/sv.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/sv.json +3 -0
- homeassistant/components/google_cloud/translations/sv.json +1 -0
- homeassistant/components/google_drive/translations/sr-Latn.json +7 -0
- homeassistant/components/google_drive/translations/sv.json +3 -0
- homeassistant/components/google_generative_ai_conversation/translations/lt.json +1 -1
- homeassistant/components/google_generative_ai_conversation/translations/mk.json +3 -0
- homeassistant/components/google_generative_ai_conversation/translations/sv.json +3 -1
- homeassistant/components/google_mail/translations/mk.json +12 -0
- homeassistant/components/google_mail/translations/sv.json +3 -0
- homeassistant/components/google_mail/translations/vi.json +7 -0
- homeassistant/components/google_photos/translations/mk.json +9 -0
- homeassistant/components/google_photos/translations/sv.json +3 -0
- homeassistant/components/google_sheets/translations/ca.json +11 -0
- homeassistant/components/google_sheets/translations/mk.json +9 -0
- homeassistant/components/google_sheets/translations/sv.json +14 -0
- homeassistant/components/google_tasks/translations/sv.json +3 -0
- homeassistant/components/google_travel_time/translations/ru.json +4 -2
- homeassistant/components/google_travel_time/translations/sv.json +4 -2
- homeassistant/components/govee_ble/translations/mk.json +15 -0
- homeassistant/components/group/translations/bg.json +1 -0
- homeassistant/components/group/translations/ca.json +15 -0
- homeassistant/components/group/translations/mk.json +6 -0
- homeassistant/components/growatt_server/__init__.py +15 -0
- homeassistant/components/growatt_server/translations/it.json +14 -0
- homeassistant/components/growatt_server/translations/ru.json +6 -0
- homeassistant/components/growatt_server/translations/sv.json +4 -2
- homeassistant/components/guardian/translations/mk.json +11 -0
- homeassistant/components/habitica/translations/ca.json +7 -0
- homeassistant/components/habitica/translations/mk.json +16 -1
- homeassistant/components/habitica/translations/sv.json +19 -1
- homeassistant/components/hassio/translations/it.json +13 -0
- homeassistant/components/hassio/translations/sv.json +7 -2
- homeassistant/components/hdmi_cec/translations/mk.json +7 -0
- homeassistant/components/heos/translations/mk.json +1 -1
- homeassistant/components/heos/translations/sr-Latn.json +3 -0
- homeassistant/components/here_travel_time/translations/mk.json +7 -0
- homeassistant/components/history_stats/translations/mk.json +11 -0
- homeassistant/components/hive/translations/bg.json +2 -0
- homeassistant/components/hive/translations/mk.json +16 -0
- homeassistant/components/hive/translations/sr-Latn.json +3 -3
- homeassistant/components/home_connect/translations/bg.json +160 -32
- homeassistant/components/home_connect/translations/mk.json +10 -0
- homeassistant/components/home_connect/translations/pt.json +3 -0
- homeassistant/components/home_connect/translations/sr-Latn.json +44 -44
- homeassistant/components/home_connect/translations/sv.json +7 -1
- homeassistant/components/homeassistant/translations/sv.json +5 -1
- homeassistant/components/homeassistant_connect_zbt2/config_flow.py +17 -0
- homeassistant/components/homeassistant_connect_zbt2/const.py +58 -0
- homeassistant/components/homeassistant_connect_zbt2/manifest.json +6 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/pt.json +7 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/sv.json +35 -3
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +101 -65
- homeassistant/components/homeassistant_hardware/translations/sv.json +5 -2
- homeassistant/components/homeassistant_hardware/translations/vi.json +1 -0
- homeassistant/components/homeassistant_sky_connect/manifest.json +6 -0
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +7 -0
- homeassistant/components/homeassistant_sky_connect/translations/sv.json +20 -5
- homeassistant/components/homeassistant_sky_connect/translations/vi.json +1 -0
- homeassistant/components/homeassistant_yellow/manifest.json +6 -0
- homeassistant/components/homeassistant_yellow/translations/pt.json +5 -0
- homeassistant/components/homeassistant_yellow/translations/sv.json +13 -3
- homeassistant/components/homeassistant_yellow/translations/vi.json +1 -0
- homeassistant/components/homee/translations/bg.json +2 -1
- homeassistant/components/homee/translations/mk.json +16 -0
- homeassistant/components/homee/translations/sr-Latn.json +4 -2
- homeassistant/components/homekit/translations/sv.json +6 -0
- homeassistant/components/homekit_controller/translations/mk.json +1 -0
- homeassistant/components/homematic/translations/mk.json +18 -0
- homeassistant/components/homematicip_cloud/translations/mk.json +7 -0
- homeassistant/components/homematicip_cloud/translations/sv.json +1 -1
- homeassistant/components/homewizard/translations/pl.json +1 -1
- homeassistant/components/homewizard/translations/ru.json +4 -2
- homeassistant/components/homewizard/translations/sv.json +1 -1
- homeassistant/components/homeworks/translations/mk.json +11 -0
- homeassistant/components/honeywell/translations/mk.json +15 -0
- homeassistant/components/honeywell/translations/vi.json +11 -0
- homeassistant/components/html5/translations/mk.json +9 -1
- homeassistant/components/http/__init__.py +13 -2
- homeassistant/components/http/strings.json +4 -0
- homeassistant/components/http/translations/cs.json +4 -0
- homeassistant/components/http/translations/de.json +4 -0
- homeassistant/components/http/translations/en-GB.json +4 -0
- homeassistant/components/http/translations/en.json +4 -0
- homeassistant/components/http/translations/es.json +4 -0
- homeassistant/components/http/translations/et.json +4 -0
- homeassistant/components/http/translations/ga.json +4 -0
- homeassistant/components/http/translations/he.json +4 -0
- homeassistant/components/http/translations/it.json +4 -0
- homeassistant/components/http/translations/lt.json +4 -0
- homeassistant/components/http/translations/pt.json +4 -0
- homeassistant/components/http/translations/ru.json +3 -0
- homeassistant/components/http/translations/sk.json +4 -0
- homeassistant/components/http/translations/sr-Latn.json +7 -0
- homeassistant/components/http/translations/sv.json +4 -0
- homeassistant/components/http/translations/zh-Hans.json +4 -0
- homeassistant/components/http/translations/zh-Hant.json +4 -0
- homeassistant/components/huawei_lte/translations/bg.json +0 -6
- homeassistant/components/huawei_lte/translations/ca.json +0 -6
- homeassistant/components/huawei_lte/translations/cs.json +2 -2
- homeassistant/components/huawei_lte/translations/de.json +2 -2
- homeassistant/components/huawei_lte/translations/el.json +2 -2
- homeassistant/components/huawei_lte/translations/en-GB.json +2 -2
- homeassistant/components/huawei_lte/translations/en.json +2 -2
- homeassistant/components/huawei_lte/translations/es.json +2 -2
- homeassistant/components/huawei_lte/translations/et.json +2 -2
- homeassistant/components/huawei_lte/translations/fi.json +0 -6
- homeassistant/components/huawei_lte/translations/ga.json +0 -6
- homeassistant/components/huawei_lte/translations/hu.json +0 -6
- homeassistant/components/huawei_lte/translations/it.json +0 -6
- homeassistant/components/huawei_lte/translations/ja.json +0 -6
- homeassistant/components/huawei_lte/translations/ko.json +0 -6
- homeassistant/components/huawei_lte/translations/lt.json +2 -2
- homeassistant/components/huawei_lte/translations/nl.json +0 -6
- homeassistant/components/huawei_lte/translations/pt.json +2 -2
- homeassistant/components/huawei_lte/translations/ru.json +2 -2
- homeassistant/components/huawei_lte/translations/sk.json +2 -2
- homeassistant/components/huawei_lte/translations/tr.json +0 -6
- homeassistant/components/huawei_lte/translations/zh-Hans.json +2 -2
- homeassistant/components/huawei_lte/translations/zh-Hant.json +2 -2
- homeassistant/components/hue/translations/sv.json +1 -0
- homeassistant/components/humidifier/translations/bg.json +5 -1
- homeassistant/components/humidifier/translations/mk.json +18 -0
- homeassistant/components/humidifier/translations/pl.json +11 -4
- homeassistant/components/humidifier/translations/sr-Latn.json +3 -3
- homeassistant/components/husqvarna_automower/entity.py +7 -4
- homeassistant/components/husqvarna_automower/translations/bg.json +2 -0
- homeassistant/components/husqvarna_automower/translations/mk.json +14 -0
- homeassistant/components/husqvarna_automower/translations/sr-Latn.json +2 -2
- homeassistant/components/husqvarna_automower/translations/sv.json +3 -0
- homeassistant/components/husqvarna_automower_ble/translations/sv.json +22 -1
- homeassistant/components/huum/translations/vi.json +9 -0
- homeassistant/components/hydrawise/translations/mk.json +11 -0
- homeassistant/components/hyperion/camera.py +3 -1
- homeassistant/components/hyperion/translations/sv.json +1 -1
- homeassistant/components/icloud/translations/mk.json +17 -0
- homeassistant/components/icloud/translations/sv.json +2 -0
- homeassistant/components/ifttt/translations/mk.json +9 -0
- homeassistant/components/ihc/translations/mk.json +25 -0
- homeassistant/components/image/translations/mk.json +12 -0
- homeassistant/components/imeon_inverter/translations/sv.json +8 -0
- homeassistant/components/incomfort/translations/bg.json +1 -0
- homeassistant/components/incomfort/translations/sr-Latn.json +1 -1
- homeassistant/components/inels/translations/ca.json +7 -0
- homeassistant/components/inels/translations/sr-Latn.json +1 -0
- homeassistant/components/inels/translations/sv.json +12 -0
- homeassistant/components/input_boolean/translations/bg.json +1 -0
- homeassistant/components/input_boolean/translations/cs.json +2 -2
- homeassistant/components/input_boolean/translations/mk.json +17 -0
- homeassistant/components/input_boolean/translations/pl.json +4 -0
- homeassistant/components/input_boolean/translations/sr-Latn.json +2 -2
- homeassistant/components/input_button/translations/mk.json +12 -0
- homeassistant/components/input_datetime/translations/mk.json +10 -0
- homeassistant/components/input_number/translations/mk.json +21 -0
- homeassistant/components/input_select/translations/mk.json +38 -0
- homeassistant/components/input_select/translations/vi.json +2 -0
- homeassistant/components/input_text/translations/mk.json +15 -0
- homeassistant/components/integration/translations/mk.json +9 -0
- homeassistant/components/iometer/translations/sr-Latn.json +7 -0
- homeassistant/components/iotawatt/translations/sv.json +1 -1
- homeassistant/components/iotty/translations/sv.json +3 -0
- homeassistant/components/iron_os/translations/bg.json +9 -1
- homeassistant/components/iron_os/translations/sr-Latn.json +5 -5
- homeassistant/components/iskra/translations/sv.json +2 -1
- homeassistant/components/isy994/translations/mk.json +14 -0
- homeassistant/components/isy994/translations/sv.json +2 -0
- homeassistant/components/ituran/binary_sensor.py +1 -2
- homeassistant/components/ituran/device_tracker.py +2 -4
- homeassistant/components/ituran/sensor.py +1 -2
- homeassistant/components/jvc_projector/translations/sr-Latn.json +1 -1
- homeassistant/components/keba/translations/sv.json +1 -0
- homeassistant/components/keymitt_ble/translations/mk.json +11 -0
- homeassistant/components/kitchen_sink/translations/sv.json +3 -3
- homeassistant/components/knx/manifest.json +1 -1
- homeassistant/components/knx/storage/entity_store_schema.py +1 -1
- homeassistant/components/knx/translations/bg.json +2 -1
- homeassistant/components/knx/translations/ca.json +15 -0
- homeassistant/components/knx/translations/it.json +119 -2
- homeassistant/components/knx/translations/mk.json +13 -0
- homeassistant/components/knx/translations/pl.json +16 -0
- homeassistant/components/knx/translations/sv.json +56 -5
- homeassistant/components/knx/translations/vi.json +29 -0
- homeassistant/components/kodi/translations/mk.json +11 -0
- homeassistant/components/lamarzocco/update.py +1 -1
- homeassistant/components/lametric/translations/mk.json +16 -0
- homeassistant/components/lametric/translations/sv.json +4 -0
- homeassistant/components/laundrify/translations/mk.json +9 -0
- homeassistant/components/lawn_mower/translations/mk.json +7 -0
- homeassistant/components/lawn_mower/translations/sr-Latn.json +1 -1
- homeassistant/components/lcn/translations/mk.json +23 -1
- homeassistant/components/lg_thinq/translations/bg.json +25 -3
- homeassistant/components/lg_thinq/translations/mk.json +13 -0
- homeassistant/components/lg_thinq/translations/pl.json +5 -0
- homeassistant/components/lg_thinq/translations/sr-Latn.json +16 -16
- homeassistant/components/lg_thinq/translations/sv.json +1 -0
- homeassistant/components/libre_hardware_monitor/translations/sv.json +4 -0
- homeassistant/components/lifx/translations/mk.json +7 -0
- homeassistant/components/light/translations/bg.json +7 -1
- homeassistant/components/light/translations/mk.json +3 -1
- homeassistant/components/light/translations/sr-Latn.json +3 -3
- homeassistant/components/light/translations/vi.json +25 -2
- homeassistant/components/litterrobot/translations/bg.json +3 -1
- homeassistant/components/litterrobot/translations/mk.json +12 -0
- homeassistant/components/litterrobot/translations/sr-Latn.json +2 -2
- homeassistant/components/lock/translations/he.json +1 -1
- homeassistant/components/lock/translations/vi.json +5 -1
- homeassistant/components/logbook/translations/mk.json +14 -0
- homeassistant/components/logger/translations/de.json +1 -1
- homeassistant/components/logger/translations/mk.json +11 -0
- homeassistant/components/lutron/translations/mk.json +13 -0
- homeassistant/components/lutron_caseta/translations/bg.json +2 -1
- homeassistant/components/lutron_caseta/translations/sr-Latn.json +2 -2
- homeassistant/components/lyric/translations/sv.json +4 -1
- homeassistant/components/mastodon/translations/mk.json +17 -0
- homeassistant/components/matrix/translations/mk.json +17 -0
- homeassistant/components/matrix/translations/sv.json +31 -0
- homeassistant/components/matter/translations/bg.json +5 -2
- homeassistant/components/matter/translations/cs.json +1 -1
- homeassistant/components/matter/translations/de.json +0 -3
- homeassistant/components/matter/translations/el.json +0 -3
- homeassistant/components/matter/translations/en-GB.json +0 -3
- homeassistant/components/matter/translations/en.json +1 -1
- homeassistant/components/matter/translations/es.json +0 -3
- homeassistant/components/matter/translations/et.json +0 -3
- homeassistant/components/matter/translations/he.json +0 -3
- homeassistant/components/matter/translations/it.json +40 -0
- homeassistant/components/matter/translations/lt.json +0 -3
- homeassistant/components/matter/translations/mk.json +19 -3
- homeassistant/components/matter/translations/pl.json +5 -0
- homeassistant/components/matter/translations/pt.json +0 -3
- homeassistant/components/matter/translations/ru.json +0 -3
- homeassistant/components/matter/translations/sk.json +0 -3
- homeassistant/components/matter/translations/sr-Latn.json +5 -5
- homeassistant/components/matter/translations/sv.json +10 -0
- homeassistant/components/matter/translations/zh-Hans.json +0 -3
- homeassistant/components/matter/translations/zh-Hant.json +0 -3
- homeassistant/components/mcp/translations/sv.json +3 -0
- homeassistant/components/mcp_server/translations/lt.json +1 -1
- homeassistant/components/mealie/translations/mk.json +14 -0
- homeassistant/components/mealie/translations/sr-Latn.json +2 -1
- homeassistant/components/media_extractor/translations/mk.json +7 -0
- homeassistant/components/media_player/translations/bg.json +3 -0
- homeassistant/components/media_player/translations/mk.json +200 -2
- homeassistant/components/media_player/translations/sr-Latn.json +6 -6
- homeassistant/components/media_player/translations/vi.json +54 -1
- homeassistant/components/media_source/translations/mk.json +5 -0
- homeassistant/components/meteo_lt/weather.py +2 -2
- homeassistant/components/metoffice/translations/sr-Latn.json +3 -1
- homeassistant/components/microbees/translations/sv.json +3 -0
- homeassistant/components/miele/button.py +4 -3
- homeassistant/components/miele/climate.py +3 -2
- homeassistant/components/miele/coordinator.py +1 -1
- homeassistant/components/miele/fan.py +5 -2
- homeassistant/components/miele/light.py +3 -2
- homeassistant/components/miele/sensor.py +8 -2
- homeassistant/components/miele/services.py +4 -4
- homeassistant/components/miele/switch.py +5 -3
- homeassistant/components/miele/translations/bg.json +1 -0
- homeassistant/components/miele/translations/cs.json +1 -1
- homeassistant/components/miele/translations/de.json +1 -1
- homeassistant/components/miele/translations/en-GB.json +1 -1
- homeassistant/components/miele/translations/en.json +1 -1
- homeassistant/components/miele/translations/es.json +1 -1
- homeassistant/components/miele/translations/et.json +1 -1
- homeassistant/components/miele/translations/ga.json +1 -2
- homeassistant/components/miele/translations/hu.json +1 -2
- homeassistant/components/miele/translations/it.json +1 -2
- homeassistant/components/miele/translations/lt.json +1 -1
- homeassistant/components/miele/translations/mk.json +11 -0
- homeassistant/components/miele/translations/pt.json +1 -1
- homeassistant/components/miele/translations/sk.json +1 -1
- homeassistant/components/miele/translations/sr-Latn.json +3 -2
- homeassistant/components/miele/translations/sv.json +21 -2
- homeassistant/components/miele/translations/tr.json +1 -2
- homeassistant/components/miele/translations/vi.json +9 -0
- homeassistant/components/miele/translations/zh-Hans.json +1 -1
- homeassistant/components/miele/translations/zh-Hant.json +1 -1
- homeassistant/components/miele/vacuum.py +3 -2
- homeassistant/components/mill/manifest.json +1 -1
- homeassistant/components/minecraft_server/translations/mk.json +9 -0
- homeassistant/components/mjpeg/translations/sv.json +2 -0
- homeassistant/components/mobile_app/binary_sensor.py +6 -4
- homeassistant/components/mobile_app/sensor.py +6 -4
- homeassistant/components/mobile_app/translations/mk.json +11 -0
- homeassistant/components/modbus/translations/mk.json +11 -0
- homeassistant/components/modbus/translations/sv.json +2 -0
- homeassistant/components/monarch_money/translations/mk.json +9 -0
- homeassistant/components/monzo/translations/sv.json +3 -0
- homeassistant/components/motion_blinds/cover.py +1 -0
- homeassistant/components/motion_blinds/translations/sv.json +2 -1
- homeassistant/components/motionmount/translations/sr-Latn.json +4 -0
- homeassistant/components/motionmount/translations/sv.json +4 -1
- homeassistant/components/mqtt/translations/bg.json +4 -2
- homeassistant/components/mqtt/translations/mk.json +13 -1
- homeassistant/components/mqtt/translations/sr-Latn.json +2 -2
- homeassistant/components/mqtt/translations/sv.json +50 -10
- homeassistant/components/mqtt/translations/vi.json +83 -7
- homeassistant/components/music_assistant/translations/mk.json +10 -0
- homeassistant/components/mutesync/translations/mk.json +9 -0
- homeassistant/components/myuplink/translations/mk.json +7 -0
- homeassistant/components/myuplink/translations/sv.json +3 -0
- homeassistant/components/nanoleaf/translations/sv.json +1 -1
- homeassistant/components/neato/translations/sv.json +3 -0
- homeassistant/components/nederlandse_spoorwegen/translations/ca.json +7 -1
- homeassistant/components/nederlandse_spoorwegen/translations/pt.json +12 -1
- homeassistant/components/nederlandse_spoorwegen/translations/sv.json +3 -0
- homeassistant/components/nest/translations/sr-Latn.json +1 -0
- homeassistant/components/nest/translations/sv.json +3 -0
- homeassistant/components/netatmo/translations/mk.json +14 -0
- homeassistant/components/netatmo/translations/sv.json +3 -0
- homeassistant/components/nexia/translations/mk.json +14 -0
- homeassistant/components/nexia/translations/vi.json +12 -0
- homeassistant/components/nextdns/translations/ca.json +7 -1
- homeassistant/components/nextdns/translations/it.json +1 -0
- homeassistant/components/nextdns/translations/sv.json +10 -1
- homeassistant/components/nina/translations/sv.json +14 -0
- homeassistant/components/nintendo_parental_controls/translations/pt.json +27 -0
- homeassistant/components/nintendo_parental_controls/translations/sv.json +23 -0
- homeassistant/components/nobo_hub/translations/mk.json +11 -0
- homeassistant/components/nobo_hub/translations/vi.json +11 -0
- homeassistant/components/nordpool/translations/mk.json +14 -0
- homeassistant/components/notify/translations/mk.json +58 -0
- homeassistant/components/notify/translations/sv.json +1 -1
- homeassistant/components/ntfy/translations/mk.json +14 -0
- homeassistant/components/ntfy/translations/sv.json +1 -1
- homeassistant/components/nuki/translations/ru.json +4 -0
- homeassistant/components/number/translations/mk.json +14 -1
- homeassistant/components/nut/translations/bg.json +1 -0
- homeassistant/components/nut/translations/mk.json +8 -0
- homeassistant/components/nut/translations/pl.json +6 -0
- homeassistant/components/nut/translations/sr-Latn.json +1 -1
- homeassistant/components/nws/translations/mk.json +10 -0
- homeassistant/components/ohme/translations/mk.json +5 -0
- homeassistant/components/ollama/translations/lt.json +1 -1
- homeassistant/components/ollama/translations/sr-Latn.json +6 -0
- homeassistant/components/ondilo_ico/translations/sv.json +3 -0
- homeassistant/components/onedrive/manifest.json +1 -1
- homeassistant/components/onedrive/translations/mk.json +9 -0
- homeassistant/components/onedrive/translations/sr-Latn.json +5 -0
- homeassistant/components/onedrive/translations/sv.json +3 -0
- homeassistant/components/onewire/manifest.json +1 -1
- homeassistant/components/onewire/translations/el.json +1 -1
- homeassistant/components/onewire/translations/en-GB.json +1 -1
- homeassistant/components/onewire/translations/en.json +1 -1
- homeassistant/components/onewire/translations/es.json +1 -1
- homeassistant/components/onewire/translations/et.json +1 -1
- homeassistant/components/onewire/translations/ga.json +0 -1
- homeassistant/components/onewire/translations/sv.json +0 -1
- homeassistant/components/onvif/translations/sv.json +1 -1
- homeassistant/components/open_router/manifest.json +1 -1
- homeassistant/components/open_router/translations/lt.json +1 -1
- homeassistant/components/open_router/translations/mk.json +3 -0
- homeassistant/components/openai_conversation/translations/lt.json +1 -1
- homeassistant/components/openrgb/translations/cs.json +1 -1
- homeassistant/components/openrgb/translations/de.json +1 -1
- homeassistant/components/openrgb/translations/es.json +1 -1
- homeassistant/components/openrgb/translations/pt.json +1 -1
- homeassistant/components/opentherm_gw/translations/mk.json +10 -0
- homeassistant/components/opentherm_gw/translations/vi.json +5 -0
- homeassistant/components/openweathermap/translations/sv.json +1 -1
- homeassistant/components/oralb/translations/bg.json +2 -0
- homeassistant/components/oralb/translations/fr.json +41 -4
- homeassistant/components/osoenergy/translations/bg.json +6 -0
- homeassistant/components/osoenergy/translations/sr-Latn.json +2 -2
- homeassistant/components/overkiz/translations/mk.json +11 -0
- homeassistant/components/overkiz/translations/pt.json +2 -1
- homeassistant/components/overkiz/translations/ru.json +2 -1
- homeassistant/components/overkiz/translations/vi.json +6 -0
- homeassistant/components/palazzetti/manifest.json +1 -1
- homeassistant/components/palazzetti/translations/mk.json +1 -0
- homeassistant/components/palazzetti/translations/sr-Latn.json +1 -1
- homeassistant/components/persistent_notification/translations/mk.json +15 -0
- homeassistant/components/person/translations/mk.json +7 -1
- homeassistant/components/pi_hole/translations/mk.json +14 -0
- homeassistant/components/playstation_network/translations/sr-Latn.json +3 -0
- homeassistant/components/plugwise/translations/bg.json +9 -2
- homeassistant/components/plugwise/translations/cs.json +3 -0
- homeassistant/components/plugwise/translations/en-GB.json +3 -0
- homeassistant/components/plugwise/translations/es.json +3 -0
- homeassistant/components/plugwise/translations/et.json +3 -0
- homeassistant/components/plugwise/translations/ga.json +3 -0
- homeassistant/components/plugwise/translations/it.json +3 -0
- homeassistant/components/plugwise/translations/lt.json +3 -0
- homeassistant/components/plugwise/translations/mk.json +8 -0
- homeassistant/components/plugwise/translations/pt.json +3 -0
- homeassistant/components/plugwise/translations/sr-Latn.json +3 -3
- homeassistant/components/plugwise/translations/sv.json +3 -0
- homeassistant/components/plugwise/translations/vi.json +6 -1
- homeassistant/components/plugwise/translations/zh-Hans.json +3 -0
- homeassistant/components/plugwise/translations/zh-Hant.json +3 -0
- homeassistant/components/point/translations/sv.json +3 -0
- homeassistant/components/pooldose/translations/bg.json +4 -0
- homeassistant/components/pooldose/translations/it.json +1 -0
- homeassistant/components/pooldose/translations/sr-Latn.json +4 -4
- homeassistant/components/pooldose/translations/sv.json +14 -1
- homeassistant/components/portainer/manifest.json +1 -1
- homeassistant/components/portainer/translations/ca.json +9 -1
- homeassistant/components/portainer/translations/mk.json +9 -0
- homeassistant/components/portainer/translations/pt.json +16 -1
- homeassistant/components/portainer/translations/sv.json +16 -3
- homeassistant/components/powerwall/translations/mk.json +9 -0
- homeassistant/components/profiler/translations/mk.json +18 -0
- homeassistant/components/prusalink/translations/mk.json +9 -0
- homeassistant/components/ps4/translations/sv.json +2 -2
- homeassistant/components/pterodactyl/translations/mk.json +7 -0
- homeassistant/components/pushbullet/translations/mk.json +9 -0
- homeassistant/components/qbittorrent/translations/mk.json +3 -0
- homeassistant/components/qbittorrent/translations/ru.json +4 -0
- homeassistant/components/qbus/translations/sr-Latn.json +5 -0
- homeassistant/components/qbus/translations/sv.json +7 -0
- homeassistant/components/qnap/translations/mk.json +7 -0
- homeassistant/components/rachio/translations/mk.json +23 -0
- homeassistant/components/rainbird/translations/mk.json +18 -0
- homeassistant/components/rainmachine/translations/mk.json +21 -0
- homeassistant/components/rainmachine/translations/pt.json +1 -0
- homeassistant/components/random/translations/sr-Latn.json +2 -1
- homeassistant/components/recorder/auto_repairs/statistics/schema.py +3 -0
- homeassistant/components/recorder/const.py +1 -1
- homeassistant/components/recorder/db_schema.py +1 -1
- homeassistant/components/recorder/migration.py +73 -4
- homeassistant/components/recorder/translations/mk.json +6 -0
- homeassistant/components/renault/translations/sr-Latn.json +1 -0
- homeassistant/components/renault/translations/vi.json +11 -0
- homeassistant/components/renson/translations/bg.json +2 -1
- homeassistant/components/renson/translations/mk.json +11 -0
- homeassistant/components/renson/translations/sr-Latn.json +4 -4
- homeassistant/components/reolink/manifest.json +1 -1
- homeassistant/components/reolink/translations/bg.json +34 -1
- homeassistant/components/reolink/translations/ga.json +1 -0
- homeassistant/components/reolink/translations/it.json +5 -0
- homeassistant/components/reolink/translations/mk.json +4 -0
- homeassistant/components/reolink/translations/pt.json +1 -0
- homeassistant/components/reolink/translations/sr-Latn.json +12 -12
- homeassistant/components/reolink/translations/sv.json +1 -1
- homeassistant/components/rfxtrx/translations/bg.json +1 -0
- homeassistant/components/rfxtrx/translations/sr-Latn.json +2 -2
- homeassistant/components/risco/translations/vi.json +8 -0
- homeassistant/components/roborock/translations/bg.json +3 -1
- homeassistant/components/roborock/translations/mk.json +3 -0
- homeassistant/components/roborock/translations/sr-Latn.json +2 -2
- homeassistant/components/roomba/translations/sv.json +1 -1
- homeassistant/components/roon/translations/sv.json +1 -1
- homeassistant/components/sabnzbd/translations/mk.json +9 -0
- homeassistant/components/satel_integra/translations/it.json +1 -0
- homeassistant/components/satel_integra/translations/pl.json +3 -3
- homeassistant/components/satel_integra/translations/sr-Latn.json +2 -1
- homeassistant/components/satel_integra/translations/sv.json +9 -2
- homeassistant/components/satel_integra/translations/vi.json +10 -0
- homeassistant/components/schedule/translations/vi.json +8 -1
- homeassistant/components/scrape/translations/mk.json +2 -1
- homeassistant/components/select/translations/mk.json +48 -0
- homeassistant/components/sensibo/translations/bg.json +72 -7
- homeassistant/components/sensibo/translations/mk.json +21 -0
- homeassistant/components/sensibo/translations/pl.json +2 -2
- homeassistant/components/sensibo/translations/sr-Latn.json +27 -27
- homeassistant/components/sensibo/translations/vi.json +26 -0
- homeassistant/components/sensor/translations/mk.json +6 -0
- homeassistant/components/sensor/translations/pl.json +2 -2
- homeassistant/components/senz/translations/sv.json +3 -0
- homeassistant/components/sfr_box/__init__.py +4 -0
- homeassistant/components/sfr_box/translations/pt.json +4 -0
- homeassistant/components/sftp_storage/translations/sv.json +1 -0
- homeassistant/components/shelly/translations/ca.json +4 -0
- homeassistant/components/shelly/translations/mk.json +11 -0
- homeassistant/components/shelly/translations/pl.json +1 -1
- homeassistant/components/shelly/translations/pt.json +2 -1
- homeassistant/components/shelly/translations/sv.json +10 -3
- homeassistant/components/shopping_list/translations/mk.json +8 -0
- homeassistant/components/sia/translations/sv.json +6 -3
- homeassistant/components/simplisafe/translations/mk.json +11 -0
- homeassistant/components/siren/translations/mk.json +19 -0
- homeassistant/components/siren/translations/sr-Latn.json +1 -1
- homeassistant/components/skybell/translations/mk.json +9 -0
- homeassistant/components/slack/translations/sv.json +2 -0
- homeassistant/components/sleep_as_android/translations/sv.json +24 -0
- homeassistant/components/sleepiq/translations/bg.json +14 -0
- homeassistant/components/sleepiq/translations/sr-Latn.json +2 -2
- homeassistant/components/smappee/translations/sv.json +3 -0
- homeassistant/components/smarla/translations/sv.json +5 -0
- homeassistant/components/smartthings/manifest.json +1 -1
- homeassistant/components/smartthings/translations/bg.json +25 -2
- homeassistant/components/smartthings/translations/mk.json +15 -0
- homeassistant/components/smartthings/translations/sr-Latn.json +9 -9
- homeassistant/components/smartthings/translations/sv.json +6 -0
- homeassistant/components/smarttub/translations/mk.json +9 -0
- homeassistant/components/sms/translations/sr-Latn.json +3 -0
- homeassistant/components/snapcast/translations/mk.json +10 -0
- homeassistant/components/snapcast/translations/sv.json +10 -0
- homeassistant/components/snips/translations/mk.json +18 -0
- homeassistant/components/snooz/translations/sv.json +1 -1
- homeassistant/components/solaredge/__init__.py +3 -0
- homeassistant/components/solaredge/config_flow.py +5 -2
- homeassistant/components/solaredge/translations/ca.json +22 -1
- homeassistant/components/solaredge/translations/ru.json +4 -2
- homeassistant/components/somfy_mylink/translations/ru.json +2 -1
- homeassistant/components/songpal/translations/mk.json +11 -0
- homeassistant/components/sonos/translations/bg.json +7 -0
- homeassistant/components/sonos/translations/sr-Latn.json +1 -1
- homeassistant/components/spotify/translations/sv.json +3 -0
- homeassistant/components/sql/translations/bg.json +1 -2
- homeassistant/components/sql/translations/ca.json +2 -4
- homeassistant/components/sql/translations/cs.json +2 -2
- homeassistant/components/sql/translations/de.json +2 -2
- homeassistant/components/sql/translations/el.json +2 -4
- homeassistant/components/sql/translations/en-GB.json +2 -2
- homeassistant/components/sql/translations/en.json +2 -2
- homeassistant/components/sql/translations/es.json +2 -2
- homeassistant/components/sql/translations/et.json +2 -2
- homeassistant/components/sql/translations/fi.json +2 -4
- homeassistant/components/sql/translations/fr.json +2 -4
- homeassistant/components/sql/translations/ga.json +2 -4
- homeassistant/components/sql/translations/he.json +2 -4
- homeassistant/components/sql/translations/hu.json +2 -4
- homeassistant/components/sql/translations/id.json +2 -4
- homeassistant/components/sql/translations/ja.json +2 -4
- homeassistant/components/sql/translations/lt.json +2 -2
- homeassistant/components/sql/translations/mk.json +11 -0
- homeassistant/components/sql/translations/pl.json +2 -4
- homeassistant/components/sql/translations/pt-BR.json +2 -4
- homeassistant/components/sql/translations/pt.json +2 -2
- homeassistant/components/sql/translations/ru.json +2 -4
- homeassistant/components/sql/translations/sk.json +2 -2
- homeassistant/components/sql/translations/sl.json +2 -4
- homeassistant/components/sql/translations/sr-Latn.json +3 -0
- homeassistant/components/sql/translations/sv.json +16 -5
- homeassistant/components/sql/translations/tr.json +2 -4
- homeassistant/components/sql/translations/zh-Hans.json +2 -2
- homeassistant/components/sql/translations/zh-Hant.json +2 -2
- homeassistant/components/squeezebox/translations/sr-Latn.json +8 -0
- homeassistant/components/squeezebox/translations/uk.json +5 -0
- homeassistant/components/starline/translations/mk.json +9 -0
- homeassistant/components/statistics/translations/sl.json +7 -0
- homeassistant/components/subaru/translations/sv.json +2 -0
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/__init__.py +2 -2
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/config_flow.py +2 -2
- homeassistant/components/sunricher_dali/const.py +5 -0
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/light.py +2 -2
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/manifest.json +3 -3
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/strings.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/bg.json +1 -2
- homeassistant/components/sunricher_dali/translations/ca.json +11 -0
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/cs.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/de.json +5 -7
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/en-GB.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/en.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/es.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/et.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/ga.json +4 -6
- homeassistant/components/sunricher_dali/translations/it.json +27 -0
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/lt.json +5 -7
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/pt.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/sk.json +4 -6
- homeassistant/components/sunricher_dali/translations/sr-Latn.json +25 -0
- homeassistant/components/sunricher_dali/translations/sv.json +27 -0
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/zh-Hans.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/zh-Hant.json +4 -6
- homeassistant/components/{sunricher_dali_center → sunricher_dali}/types.py +2 -2
- homeassistant/components/swiss_public_transport/translations/mk.json +1 -0
- homeassistant/components/switch/translations/bg.json +10 -0
- homeassistant/components/switch/translations/mk.json +10 -0
- homeassistant/components/switch_as_x/translations/cs.json +1 -1
- homeassistant/components/switchbot_cloud/translations/mk.json +15 -0
- homeassistant/components/switchbot_cloud/translations/sv.json +2 -1
- homeassistant/components/synology_dsm/translations/mk.json +13 -0
- homeassistant/components/system_bridge/translations/mk.json +12 -0
- homeassistant/components/system_bridge/translations/ru.json +1 -0
- homeassistant/components/system_log/translations/mk.json +14 -0
- homeassistant/components/systemmonitor/translations/sv.json +1 -1
- homeassistant/components/tado/translations/sv.json +2 -2
- homeassistant/components/tankerkoenig/translations/mk.json +9 -0
- homeassistant/components/tautulli/translations/sv.json +2 -1
- homeassistant/components/technove/translations/mk.json +1 -0
- homeassistant/components/telegram/translations/pt.json +6 -0
- homeassistant/components/telegram/translations/ru.json +6 -0
- homeassistant/components/telegram_bot/translations/mk.json +95 -0
- homeassistant/components/telegram_bot/translations/ru.json +69 -0
- homeassistant/components/telegram_bot/translations/sv.json +19 -0
- homeassistant/components/telegram_bot/translations/vi.json +7 -0
- homeassistant/components/template/translations/it.json +5 -0
- homeassistant/components/template/translations/mk.json +9 -0
- homeassistant/components/template/translations/sr-Latn.json +8 -0
- homeassistant/components/template/translations/sv.json +140 -40
- homeassistant/components/template/translations/vi.json +301 -10
- homeassistant/components/tesla_fleet/translations/bg.json +40 -0
- homeassistant/components/tesla_fleet/translations/mk.json +10 -0
- homeassistant/components/tesla_fleet/translations/sr-Latn.json +13 -8
- homeassistant/components/tesla_fleet/translations/sv.json +3 -0
- homeassistant/components/tesla_fleet/translations/vi.json +5 -0
- homeassistant/components/tesla_wall_connector/translations/mk.json +3 -0
- homeassistant/components/teslemetry/translations/bg.json +68 -3
- homeassistant/components/teslemetry/translations/mk.json +32 -1
- homeassistant/components/teslemetry/translations/sr-Latn.json +16 -16
- homeassistant/components/teslemetry/translations/sv.json +133 -2
- homeassistant/components/teslemetry/translations/vi.json +22 -0
- homeassistant/components/teslemetry/update.py +1 -1
- homeassistant/components/tessie/translations/bg.json +45 -0
- homeassistant/components/tessie/translations/mk.json +10 -0
- homeassistant/components/tessie/translations/sr-Latn.json +9 -9
- homeassistant/components/tessie/translations/vi.json +5 -0
- homeassistant/components/text/translations/mk.json +23 -0
- homeassistant/components/thethingsnetwork/translations/sv.json +1 -0
- homeassistant/components/timer/translations/mk.json +27 -0
- homeassistant/components/timer/translations/sk.json +1 -1
- homeassistant/components/timer/translations/vi.json +29 -1
- homeassistant/components/todo/translations/mk.json +61 -0
- homeassistant/components/todo/translations/vi.json +102 -1
- homeassistant/components/todoist/translations/mk.json +11 -0
- homeassistant/components/todoist/translations/vi.json +76 -1
- homeassistant/components/togrill/translations/pl.json +5 -0
- homeassistant/components/togrill/translations/sr-Latn.json +3 -0
- homeassistant/components/tomorrowio/translations/sv.json +2 -1
- homeassistant/components/toon/translations/sv.json +3 -0
- homeassistant/components/tplink/climate.py +8 -9
- homeassistant/components/tplink/translations/mk.json +6 -0
- homeassistant/components/tplink/translations/sr-Latn.json +3 -0
- homeassistant/components/traccar_server/translations/ca.json +6 -0
- homeassistant/components/traccar_server/translations/mk.json +7 -0
- homeassistant/components/traccar_server/translations/pt.json +10 -0
- homeassistant/components/trafikverket_camera/translations/mk.json +21 -0
- homeassistant/components/transmission/translations/mk.json +9 -0
- homeassistant/components/transmission/translations/pt.json +25 -0
- homeassistant/components/transmission/translations/ru.json +1 -0
- homeassistant/components/transmission/translations/sv.json +24 -0
- homeassistant/components/tts/translations/mk.json +11 -0
- homeassistant/components/tuya/manifest.json +1 -1
- homeassistant/components/tuya/translations/bg.json +10 -2
- homeassistant/components/tuya/translations/mk.json +27 -1
- homeassistant/components/tuya/translations/pl.json +3 -0
- homeassistant/components/tuya/translations/pt.json +12 -0
- homeassistant/components/tuya/translations/sr-Latn.json +5 -5
- homeassistant/components/tuya/translations/sv.json +3 -0
- homeassistant/components/twinkly/translations/bg.json +9 -0
- homeassistant/components/twinkly/translations/sr-Latn.json +1 -1
- homeassistant/components/twitch/translations/mk.json +13 -0
- homeassistant/components/ukraine_alarm/__init__.py +63 -0
- homeassistant/components/ukraine_alarm/config_flow.py +2 -2
- homeassistant/components/ukraine_alarm/strings.json +9 -3
- homeassistant/components/ukraine_alarm/translations/bg.json +9 -6
- homeassistant/components/ukraine_alarm/translations/ca.json +3 -6
- homeassistant/components/ukraine_alarm/translations/cs.json +9 -3
- homeassistant/components/ukraine_alarm/translations/de.json +9 -3
- homeassistant/components/ukraine_alarm/translations/el.json +3 -6
- homeassistant/components/ukraine_alarm/translations/en-GB.json +9 -3
- homeassistant/components/ukraine_alarm/translations/en.json +9 -3
- homeassistant/components/ukraine_alarm/translations/es.json +9 -3
- homeassistant/components/ukraine_alarm/translations/et.json +6 -0
- homeassistant/components/ukraine_alarm/translations/fi.json +3 -6
- homeassistant/components/ukraine_alarm/translations/fr.json +3 -6
- homeassistant/components/ukraine_alarm/translations/ga.json +3 -6
- homeassistant/components/ukraine_alarm/translations/hu.json +3 -6
- homeassistant/components/ukraine_alarm/translations/id.json +3 -6
- homeassistant/components/ukraine_alarm/translations/it.json +1 -8
- homeassistant/components/ukraine_alarm/translations/ja.json +3 -6
- homeassistant/components/ukraine_alarm/translations/ko.json +3 -6
- homeassistant/components/ukraine_alarm/translations/lt.json +9 -3
- homeassistant/components/ukraine_alarm/translations/nb.json +3 -6
- homeassistant/components/ukraine_alarm/translations/nl.json +3 -6
- homeassistant/components/ukraine_alarm/translations/pl.json +3 -6
- homeassistant/components/ukraine_alarm/translations/pt-BR.json +3 -6
- homeassistant/components/ukraine_alarm/translations/pt.json +9 -3
- homeassistant/components/ukraine_alarm/translations/ro.json +3 -6
- homeassistant/components/ukraine_alarm/translations/ru.json +3 -6
- homeassistant/components/ukraine_alarm/translations/sk.json +9 -3
- homeassistant/components/ukraine_alarm/translations/sv.json +3 -6
- homeassistant/components/ukraine_alarm/translations/tr.json +3 -6
- homeassistant/components/ukraine_alarm/translations/uk.json +3 -6
- homeassistant/components/ukraine_alarm/translations/zh-Hans.json +9 -3
- homeassistant/components/ukraine_alarm/translations/zh-Hant.json +9 -3
- homeassistant/components/unifiprotect/translations/vi.json +7 -0
- homeassistant/components/update/translations/mk.json +3 -0
- homeassistant/components/update/translations/sr-Latn.json +1 -0
- homeassistant/components/utility_meter/manifest.json +1 -1
- homeassistant/components/utility_meter/translations/mk.json +20 -0
- homeassistant/components/vacuum/translations/sr-Latn.json +1 -1
- homeassistant/components/vallox/translations/mk.json +13 -0
- homeassistant/components/vegehub/translations/sr-Latn.json +7 -0
- homeassistant/components/velux/translations/cs.json +1 -1
- homeassistant/components/velux/translations/de.json +1 -1
- homeassistant/components/velux/translations/el.json +0 -1
- homeassistant/components/velux/translations/en-GB.json +1 -1
- homeassistant/components/velux/translations/en.json +1 -1
- homeassistant/components/velux/translations/es.json +1 -1
- homeassistant/components/velux/translations/et.json +1 -1
- homeassistant/components/velux/translations/fi.json +0 -1
- homeassistant/components/velux/translations/fr.json +0 -1
- homeassistant/components/velux/translations/ga.json +0 -1
- homeassistant/components/velux/translations/gl.json +0 -1
- homeassistant/components/velux/translations/hu.json +0 -1
- homeassistant/components/velux/translations/it.json +0 -1
- homeassistant/components/velux/translations/ja.json +0 -1
- homeassistant/components/velux/translations/ko.json +0 -1
- homeassistant/components/velux/translations/lt.json +1 -1
- homeassistant/components/velux/translations/nl.json +0 -1
- homeassistant/components/velux/translations/pt.json +1 -1
- homeassistant/components/velux/translations/ru.json +0 -1
- homeassistant/components/velux/translations/sk.json +1 -1
- homeassistant/components/velux/translations/sv.json +7 -1
- homeassistant/components/velux/translations/tr.json +0 -1
- homeassistant/components/velux/translations/uk.json +0 -1
- homeassistant/components/velux/translations/vi.json +0 -1
- homeassistant/components/velux/translations/zh-Hans.json +1 -1
- homeassistant/components/velux/translations/zh-Hant.json +1 -1
- homeassistant/components/vesync/manifest.json +1 -1
- homeassistant/components/vesync/translations/bg.json +7 -0
- homeassistant/components/vesync/translations/en-GB.json +11 -0
- homeassistant/components/vesync/translations/ga.json +11 -0
- homeassistant/components/vesync/translations/it.json +11 -0
- homeassistant/components/vesync/translations/mk.json +11 -0
- homeassistant/components/vesync/translations/pt.json +11 -0
- homeassistant/components/vesync/translations/sr-Latn.json +2 -2
- homeassistant/components/vesync/translations/sv.json +11 -0
- homeassistant/components/voip/translations/sv.json +1 -1
- homeassistant/components/volvo/translations/ga.json +5 -0
- homeassistant/components/volvo/translations/it.json +5 -0
- homeassistant/components/volvo/translations/mk.json +9 -0
- homeassistant/components/volvo/translations/pt.json +5 -0
- homeassistant/components/volvo/translations/sr-Latn.json +8 -0
- homeassistant/components/volvo/translations/sv.json +37 -1
- homeassistant/components/volvo/translations/vi.json +1 -0
- homeassistant/components/wallbox/translations/bg.json +2 -1
- homeassistant/components/wallbox/translations/sr-Latn.json +1 -1
- homeassistant/components/water_heater/translations/bg.json +5 -0
- homeassistant/components/water_heater/translations/sr-Latn.json +3 -3
- homeassistant/components/watergate/translations/mk.json +15 -0
- homeassistant/components/weather/translations/mk.json +11 -1
- homeassistant/components/weather/translations/sv.json +1 -1
- homeassistant/components/weatherflow/translations/sv.json +1 -1
- homeassistant/components/webostv/translations/mk.json +12 -0
- homeassistant/components/webostv/translations/sv.json +3 -3
- homeassistant/components/weheat/translations/pl.json +1 -0
- homeassistant/components/weheat/translations/sv.json +3 -0
- homeassistant/components/wemo/translations/mk.json +11 -0
- homeassistant/components/wemo/translations/pl.json +10 -0
- homeassistant/components/whirlpool/translations/ca.json +30 -0
- homeassistant/components/whirlpool/translations/mk.json +3 -0
- homeassistant/components/whirlpool/translations/pl.json +3 -0
- homeassistant/components/whirlpool/translations/sv.json +66 -0
- homeassistant/components/wilight/translations/mk.json +25 -0
- homeassistant/components/withings/translations/sv.json +4 -1
- homeassistant/components/wolflink/translations/bg.json +1 -0
- homeassistant/components/wolflink/translations/sr-Latn.json +2 -2
- homeassistant/components/workday/translations/vi.json +5 -0
- homeassistant/components/wyoming/translations/bg.json +2 -1
- homeassistant/components/wyoming/translations/sr-Latn.json +1 -1
- homeassistant/components/xbox/coordinator.py +18 -2
- homeassistant/components/xbox/translations/es.json +1 -1
- homeassistant/components/xbox/translations/mk.json +7 -0
- homeassistant/components/xbox/translations/pt.json +11 -0
- homeassistant/components/xbox/translations/sv.json +47 -2
- homeassistant/components/xiaomi_aqara/translations/sr-Latn.json +3 -0
- homeassistant/components/xiaomi_ble/translations/mk.json +19 -0
- homeassistant/components/xiaomi_miio/translations/bg.json +5 -0
- homeassistant/components/xiaomi_miio/translations/mk.json +114 -0
- homeassistant/components/xiaomi_miio/translations/pt.json +4 -2
- homeassistant/components/xiaomi_miio/translations/ru.json +4 -2
- homeassistant/components/xiaomi_miio/translations/sr-Latn.json +1 -1
- homeassistant/components/xiaomi_miio/translations/sv.json +2 -1
- homeassistant/components/yale/translations/sv.json +3 -0
- homeassistant/components/yale_smart_alarm/translations/bg.json +4 -1
- homeassistant/components/yale_smart_alarm/translations/sr-Latn.json +1 -1
- homeassistant/components/yamaha_musiccast/translations/bg.json +5 -0
- homeassistant/components/yamaha_musiccast/translations/sr-Latn.json +1 -1
- homeassistant/components/yardian/translations/mk.json +11 -0
- homeassistant/components/yeelight/translations/bg.json +5 -0
- homeassistant/components/yeelight/translations/mk.json +1 -0
- homeassistant/components/yeelight/translations/sr-Latn.json +1 -1
- homeassistant/components/yolink/translations/bg.json +4 -2
- homeassistant/components/yolink/translations/mk.json +5 -0
- homeassistant/components/yolink/translations/sr-Latn.json +2 -2
- homeassistant/components/yolink/translations/sv.json +16 -0
- homeassistant/components/zha/config_flow.py +91 -27
- homeassistant/components/zha/manifest.json +1 -1
- homeassistant/components/zha/radio_manager.py +3 -2
- homeassistant/components/zha/translations/bg.json +53 -0
- homeassistant/components/zha/translations/cs.json +39 -0
- homeassistant/components/zha/translations/en-GB.json +71 -0
- homeassistant/components/zha/translations/es.json +39 -0
- homeassistant/components/zha/translations/et.json +39 -0
- homeassistant/components/zha/translations/ga.json +68 -0
- homeassistant/components/zha/translations/it.json +68 -0
- homeassistant/components/zha/translations/lt.json +71 -0
- homeassistant/components/zha/translations/mk.json +39 -0
- homeassistant/components/zha/translations/pl.json +25 -2
- homeassistant/components/zha/translations/pt.json +118 -1
- homeassistant/components/zha/translations/ru.json +40 -0
- homeassistant/components/zha/translations/sr-Latn.json +62 -0
- homeassistant/components/zha/translations/sv.json +56 -0
- homeassistant/components/zha/translations/uk.json +3 -0
- homeassistant/components/zha/translations/vi.json +10 -0
- homeassistant/components/zha/translations/zh-Hans.json +39 -0
- homeassistant/components/zha/translations/zh-Hant.json +39 -0
- homeassistant/components/zwave_js/translations/mk.json +20 -0
- homeassistant/components/zwave_js/translations/pl.json +93 -0
- homeassistant/components/zwave_js/translations/sr-Latn.json +6 -0
- homeassistant/components/zwave_js/translations/sv.json +18 -2
- homeassistant/config_entries.py +9 -7
- homeassistant/const.py +1 -1
- homeassistant/data_entry_flow.py +49 -35
- homeassistant/generated/config_flows.py +1 -1
- homeassistant/generated/integrations.json +2 -2
- homeassistant/package_constraints.txt +3 -3
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/METADATA +2 -2
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/RECORD +1005 -888
- homeassistant/components/sunricher_dali_center/const.py +0 -5
- homeassistant/components/sunricher_dali_center/translations/it.json +0 -11
- homeassistant/components/sunricher_dali_center/translations/sr-Latn.json +0 -11
- /homeassistant/components/{sunricher_dali_center → sunricher_dali}/quality_scale.yaml +0 -0
- /homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/el.json +0 -0
- /homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/he.json +0 -0
- /homeassistant/components/{sunricher_dali_center → sunricher_dali}/translations/nl.json +0 -0
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/WHEEL +0 -0
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.11.0b5.dist-info → homeassistant-2025.11.2.dist-info}/top_level.txt +0 -0
|
@@ -6,7 +6,6 @@ Sending HOTP through notify service
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
8
|
import asyncio
|
|
9
|
-
from collections import OrderedDict
|
|
10
9
|
import logging
|
|
11
10
|
from typing import Any, cast
|
|
12
11
|
|
|
@@ -304,14 +303,15 @@ class NotifySetupFlow(SetupFlow[NotifyAuthModule]):
|
|
|
304
303
|
if not self._available_notify_services:
|
|
305
304
|
return self.async_abort(reason="no_available_service")
|
|
306
305
|
|
|
307
|
-
schema
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
step_id="init", data_schema=vol.Schema(schema), errors=errors
|
|
306
|
+
schema = vol.Schema(
|
|
307
|
+
{
|
|
308
|
+
vol.Required("notify_service"): vol.In(self._available_notify_services),
|
|
309
|
+
vol.Optional("target"): str,
|
|
310
|
+
}
|
|
313
311
|
)
|
|
314
312
|
|
|
313
|
+
return self.async_show_form(step_id="init", data_schema=schema, errors=errors)
|
|
314
|
+
|
|
315
315
|
async def async_step_setup(
|
|
316
316
|
self, user_input: dict[str, str] | None = None
|
|
317
317
|
) -> FlowResult:
|
|
@@ -179,12 +179,18 @@ class Data:
|
|
|
179
179
|
user_hash = base64.b64decode(found["password"])
|
|
180
180
|
|
|
181
181
|
# bcrypt.checkpw is timing-safe
|
|
182
|
-
|
|
182
|
+
# With bcrypt 5.0 passing a password longer than 72 bytes raises a ValueError.
|
|
183
|
+
# Previously the password was silently truncated.
|
|
184
|
+
# https://github.com/pyca/bcrypt/pull/1000
|
|
185
|
+
if not bcrypt.checkpw(password.encode()[:72], user_hash):
|
|
183
186
|
raise InvalidAuth
|
|
184
187
|
|
|
185
188
|
def hash_password(self, password: str, for_storage: bool = False) -> bytes:
|
|
186
189
|
"""Encode a password."""
|
|
187
|
-
|
|
190
|
+
# With bcrypt 5.0 passing a password longer than 72 bytes raises a ValueError.
|
|
191
|
+
# Previously the password was silently truncated.
|
|
192
|
+
# https://github.com/pyca/bcrypt/pull/1000
|
|
193
|
+
hashed: bytes = bcrypt.hashpw(password.encode()[:72], bcrypt.gensalt(rounds=12))
|
|
188
194
|
|
|
189
195
|
if for_storage:
|
|
190
196
|
hashed = base64.b64encode(hashed)
|
|
@@ -33,11 +33,14 @@
|
|
|
33
33
|
},
|
|
34
34
|
"services": {
|
|
35
35
|
"capture_image": {
|
|
36
|
+
"description": "\u041e\u0442\u0440\u0438\u043c\u0430\u0442\u0438 \u043d\u043e\u0432\u0435 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0437 \u043a\u0430\u043c\u0435\u0440\u0438",
|
|
36
37
|
"fields": {
|
|
37
38
|
"entity_id": {
|
|
39
|
+
"description": "\u0406\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0441\u0443\u0442\u043d\u043e\u0441\u0442\u0456 \u043a\u0430\u043c\u0435\u0440\u0438 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f",
|
|
38
40
|
"name": "\u0421\u0443\u0442\u043d\u0456\u0441\u0442\u044c"
|
|
39
41
|
}
|
|
40
|
-
}
|
|
42
|
+
},
|
|
43
|
+
"name": "\u0417\u0440\u043e\u0431\u0438\u0442\u0438 \u0437\u043d\u0456\u043c\u043e\u043a"
|
|
41
44
|
},
|
|
42
45
|
"change_setting": {
|
|
43
46
|
"fields": {
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
"abort": {
|
|
4
4
|
"already_configured": "Nalog je ve\u0107 konfigurisan"
|
|
5
5
|
},
|
|
6
|
+
"progress": {
|
|
7
|
+
"wait_for_authorization": "Za autentifikaciju otvorite slede\u0107i URL i prijavite se na Actron Air:\n{verification_uri}\nAko se kod ne kopira automatski, nalepite slede\u0107i kod da biste autorizovali integraciju:\n\n```{user_code}```\n\n\nPoku\u0161aj prijave \u0107e iste\u0107i nakon {expires_minutes} minuta."
|
|
8
|
+
},
|
|
6
9
|
"step": {
|
|
7
10
|
"timeout": {
|
|
8
11
|
"description": "Autorizacija je istekla. Poku\u0161ajte ponovo.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"wifi_pswd": "Wi-Fi-l\u00f6senord",
|
|
22
22
|
"wifi_ssid": "Wi-Fi-SSID"
|
|
23
23
|
},
|
|
24
|
-
"description": "\u00c5terst\u00e4ll v\u00e4rmaren genom att trycka p\u00e5 + och OK tills displayen visar 'Reset'. Tryck sedan och h\u00e5ll ner OK-knappen p\u00e5 v\u00e4rmaren tills den bl\u00e5 lysdioden b\u00f6rjar blinka innan du trycker p\u00e5
|
|
24
|
+
"description": "\u00c5terst\u00e4ll v\u00e4rmaren genom att trycka p\u00e5 + och OK tills displayen visar 'Reset'. Tryck sedan och h\u00e5ll ner OK-knappen p\u00e5 v\u00e4rmaren tills den bl\u00e5 lysdioden b\u00f6rjar blinka innan du trycker p\u00e5 Bekr\u00e4fta. Det kan ta n\u00e5gra minuter att konfigurera v\u00e4rmaren."
|
|
25
25
|
},
|
|
26
26
|
"user": {
|
|
27
27
|
"data": {
|
|
@@ -1,11 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"generate_data": {
|
|
4
|
+
"description": "\u041a\u043e\u0440\u0438\u0441\u0442\u0438 \u0432\u0435\u0448\u0442\u0430\u0447\u043a\u0430 \u0438\u043d\u0442\u0435\u043b\u0438\u0433\u0435\u043d\u0446\u0438\u0458\u0430 \u0437\u0430 \u0434\u0430 \u0438\u0437\u0432\u0440\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0430 \u0448\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u043f\u043e\u0434\u0430\u0442\u043e\u0446\u0438.",
|
|
4
5
|
"fields": {
|
|
6
|
+
"attachments": {
|
|
7
|
+
"description": "\u0421\u043f\u0438\u0441\u043e\u043a \u043d\u0430 \u0434\u0430\u0442\u043e\u0442\u0435\u043a\u0438 \u0437\u0430 \u043f\u0440\u0438\u043a\u0430\u0447\u0443\u0432\u0430\u045a\u0435 \u0437\u0430 \u043c\u0443\u043b\u0442\u0438\u043c\u043e\u0434\u0430\u043b\u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043d\u0430 \u0432\u0435\u0448\u0442\u0430\u0447\u043a\u0430 \u0438\u043d\u0442\u0435\u043b\u0438\u0433\u0435\u043d\u0446\u0438\u0458\u0430.",
|
|
8
|
+
"name": "\u041f\u0440\u0438\u043b\u043e\u0437\u0438"
|
|
9
|
+
},
|
|
10
|
+
"entity_id": {
|
|
11
|
+
"description": "ID \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442 \u043d\u0430 \u043a\u043e\u0458 \u045c\u0435 \u0441\u0435 \u0438\u0437\u0432\u0440\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u0442\u0430. \u0414\u043e\u043a\u043e\u043b\u043a\u0443 \u043d\u0435 \u0435 \u043d\u0430\u0432\u0435\u0434\u0435\u043d, \u045c\u0435 \u0441\u0435 \u043a\u043e\u0440\u0438\u0441\u0442\u0438 \u043f\u0440\u0435\u0442\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438\u043e\u0442 \u0435\u043d\u0442\u0438\u0442\u0435\u0442.",
|
|
12
|
+
"name": "ID \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u043e\u0442"
|
|
13
|
+
},
|
|
5
14
|
"instructions": {
|
|
15
|
+
"description": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0437\u0430 \u0442\u043e\u0430 \u0448\u0442\u043e \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u0438.",
|
|
6
16
|
"name": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438"
|
|
17
|
+
},
|
|
18
|
+
"structure": {
|
|
19
|
+
"description": "\u041a\u043e\u0433\u0430 \u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u0430, \u0437\u0430\u0434\u0430\u0447\u0430\u0442\u0430 \u0437\u0430 \u0432\u0435\u0448\u0442\u0430\u0447\u043a\u0430 \u0438\u043d\u0442\u0435\u043b\u0438\u0433\u0435\u043d\u0446\u0438\u0458\u0430 \u045c\u0435 \u043f\u0440\u0438\u043a\u0430\u0436\u0435 \u043f\u043e\u043b\u0438\u045a\u0430 \u0441\u043e \u043e\u0432\u0430\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u0435 \u0440\u0435\u0447\u043d\u0438\u043a \u043a\u0430\u0434\u0435 \u0448\u0442\u043e \u043a\u043b\u0443\u0447\u0435\u0432\u0438\u0442\u0435 \u0441\u0435 \u0438\u043c\u0438\u045a\u0430\u0442\u0430 \u043d\u0430 \u043f\u043e\u043b\u0438\u045a\u0430\u0442\u0430, \u0430 \u0432\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u0441\u043e\u0434\u0440\u0436\u0430\u0442 \u201e\u043e\u043f\u0438\u0441\u201c, \u201e\u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u201c \u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u201e\u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e\u201c \u043f\u043e\u043b\u0435.",
|
|
20
|
+
"name": "\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u0430\u043d \u0438\u0437\u043b\u0435\u0437"
|
|
21
|
+
},
|
|
22
|
+
"task_name": {
|
|
23
|
+
"description": "\u0418\u043c\u0435 \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430\u0442\u0430.",
|
|
24
|
+
"name": "\u0418\u043c\u0435 \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430"
|
|
7
25
|
}
|
|
8
|
-
}
|
|
26
|
+
},
|
|
27
|
+
"name": "\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0458 \u043f\u043e\u0434\u0430\u0442\u043e\u0446\u0438"
|
|
28
|
+
},
|
|
29
|
+
"generate_image": {
|
|
30
|
+
"description": "\u041a\u043e\u0440\u0438\u0441\u0442\u0438 \u0432\u0435\u0448\u0442\u0430\u0447\u043a\u0430 \u0438\u043d\u0442\u0435\u043b\u0438\u0433\u0435\u043d\u0446\u0438\u0458\u0430 \u0437\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u045a\u0435 \u0441\u043b\u0438\u043a\u0438.",
|
|
31
|
+
"fields": {
|
|
32
|
+
"attachments": {
|
|
33
|
+
"description": "\u0421\u043f\u0438\u0441\u043e\u043a \u043d\u0430 \u0434\u0430\u0442\u043e\u0442\u0435\u043a\u0438 \u0448\u0442\u043e \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0438\u043a\u0430\u0447\u0430\u0442 \u0437\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430 \u043a\u0430\u043a\u043e \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438.",
|
|
34
|
+
"name": "\u041f\u0440\u0438\u043b\u043e\u0437\u0438"
|
|
35
|
+
},
|
|
36
|
+
"entity_id": {
|
|
37
|
+
"description": "ID \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442 \u043d\u0430 \u043a\u043e\u0458 \u045c\u0435 \u0441\u0435 \u0438\u0437\u0432\u0440\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u0442\u0430.",
|
|
38
|
+
"name": "ID \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u043e\u0442"
|
|
39
|
+
},
|
|
40
|
+
"instructions": {
|
|
41
|
+
"description": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0448\u0442\u043e \u043e\u0431\u0458\u0430\u0441\u043d\u0443\u0432\u0430\u0430\u0442 \u043a\u0430\u043a\u043e \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u0441\u043b\u0438\u043a\u0430\u0442\u0430.",
|
|
42
|
+
"name": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438"
|
|
43
|
+
},
|
|
44
|
+
"task_name": {
|
|
45
|
+
"description": "\u0418\u043c\u0435 \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430\u0442\u0430.",
|
|
46
|
+
"name": "\u0418\u043c\u0435 \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"name": "\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0458 \u0441\u043b\u0438\u043a\u0430"
|
|
9
50
|
}
|
|
10
51
|
}
|
|
11
52
|
}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"select": {
|
|
13
13
|
"co2_automatic_baseline_calibration": {
|
|
14
14
|
"state": {
|
|
15
|
+
"0": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
|
|
15
16
|
"1": "1 \u0434\u0435\u043d",
|
|
16
17
|
"180": "180 \u0434\u043d\u0438",
|
|
17
18
|
"30": "30 \u0434\u043d\u0438",
|
|
@@ -26,6 +27,11 @@
|
|
|
26
27
|
"f": "\u0424\u0430\u0440\u0435\u043d\u0445\u0430\u0439\u0442"
|
|
27
28
|
}
|
|
28
29
|
},
|
|
30
|
+
"led_bar_mode": {
|
|
31
|
+
"state": {
|
|
32
|
+
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
29
35
|
"nox_index_learning_time_offset": {
|
|
30
36
|
"state": {
|
|
31
37
|
"12": "12 \u0447\u0430\u0441\u0430",
|
|
@@ -52,6 +58,11 @@
|
|
|
52
58
|
"c": "\u0426\u0435\u043b\u0437\u0438\u0439",
|
|
53
59
|
"f": "\u0424\u0430\u0440\u0435\u043d\u0445\u0430\u0439\u0442"
|
|
54
60
|
}
|
|
61
|
+
},
|
|
62
|
+
"led_bar_mode": {
|
|
63
|
+
"state": {
|
|
64
|
+
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
|
|
65
|
+
}
|
|
55
66
|
}
|
|
56
67
|
}
|
|
57
68
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"select": {
|
|
4
4
|
"co2_automatic_baseline_calibration": {
|
|
5
5
|
"state": {
|
|
6
|
-
"0": "Isklju\
|
|
6
|
+
"0": "Isklju\u010deno"
|
|
7
7
|
}
|
|
8
8
|
},
|
|
9
9
|
"display_pm_standard": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"name": "Re\u017eim LED trake",
|
|
16
16
|
"state": {
|
|
17
17
|
"co2": "Ugljen dioksid",
|
|
18
|
-
"off": "Isklju\
|
|
18
|
+
"off": "Isklju\u010deno",
|
|
19
19
|
"pm": "\u010cvrste materije"
|
|
20
20
|
}
|
|
21
21
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"led_bar_mode": {
|
|
43
43
|
"state": {
|
|
44
44
|
"co2": "Ugljen dioksid",
|
|
45
|
-
"off": "Isklju\
|
|
45
|
+
"off": "Isklju\u010deno"
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"display_pm_standard": {
|
|
66
66
|
"name": "Visa PM-standard",
|
|
67
67
|
"state": {
|
|
68
|
+
"ugm3": "\u00b5g/m\u00b3",
|
|
68
69
|
"us_aqi": "US AQI"
|
|
69
70
|
}
|
|
70
71
|
},
|
|
@@ -114,6 +115,7 @@
|
|
|
114
115
|
"display_pm_standard": {
|
|
115
116
|
"name": "Visa PM-standard",
|
|
116
117
|
"state": {
|
|
118
|
+
"ugm3": "\u00b5g/m\u00b3",
|
|
117
119
|
"us_aqi": "US AQI"
|
|
118
120
|
}
|
|
119
121
|
},
|
|
@@ -141,6 +141,7 @@
|
|
|
141
141
|
"return_average": "Visa medelv\u00e4rden som ber\u00e4knats av enheten"
|
|
142
142
|
},
|
|
143
143
|
"data_description": {
|
|
144
|
+
"clip_negatives": "Vid kalibrering av baslinjen kan vissa sensorv\u00e4rden kortvarigt bli negativa. Standardbeteendet \u00e4r att klippa s\u00e5dana v\u00e4rden till 0",
|
|
144
145
|
"return_average": "air-Q g\u00f6r det m\u00f6jligt att polla b\u00e5de de brusiga sensoravl\u00e4sningarna och de av enheten medelv\u00e4rdesbildade v\u00e4rdena (standard)"
|
|
145
146
|
},
|
|
146
147
|
"title": "Konfigurera air-Q-integration"
|
|
@@ -23,7 +23,7 @@ from homeassistant.components.bluetooth import (
|
|
|
23
23
|
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
|
|
24
24
|
from homeassistant.const import CONF_ADDRESS
|
|
25
25
|
|
|
26
|
-
from .const import DOMAIN, MFCT_ID
|
|
26
|
+
from .const import DEVICE_MODEL, DOMAIN, MFCT_ID
|
|
27
27
|
|
|
28
28
|
_LOGGER = logging.getLogger(__name__)
|
|
29
29
|
|
|
@@ -128,15 +128,15 @@ class AirthingsConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
128
128
|
self, user_input: dict[str, Any] | None = None
|
|
129
129
|
) -> ConfigFlowResult:
|
|
130
130
|
"""Confirm discovery."""
|
|
131
|
+
assert self._discovered_device is not None
|
|
132
|
+
|
|
131
133
|
if user_input is not None:
|
|
132
|
-
if
|
|
133
|
-
self._discovered_device is not None
|
|
134
|
-
and self._discovered_device.device.firmware.need_firmware_upgrade
|
|
135
|
-
):
|
|
134
|
+
if self._discovered_device.device.firmware.need_firmware_upgrade:
|
|
136
135
|
return self.async_abort(reason="firmware_upgrade_required")
|
|
137
136
|
|
|
138
137
|
return self.async_create_entry(
|
|
139
|
-
title=self.context["title_placeholders"]["name"],
|
|
138
|
+
title=self.context["title_placeholders"]["name"],
|
|
139
|
+
data={DEVICE_MODEL: self._discovered_device.device.model.value},
|
|
140
140
|
)
|
|
141
141
|
|
|
142
142
|
self._set_confirm_only()
|
|
@@ -164,7 +164,10 @@ class AirthingsConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
164
164
|
|
|
165
165
|
self._discovered_device = discovery
|
|
166
166
|
|
|
167
|
-
return self.async_create_entry(
|
|
167
|
+
return self.async_create_entry(
|
|
168
|
+
title=discovery.name,
|
|
169
|
+
data={DEVICE_MODEL: discovery.device.model.value},
|
|
170
|
+
)
|
|
168
171
|
|
|
169
172
|
current_addresses = self._async_current_ids(include_ignore=False)
|
|
170
173
|
devices: list[BluetoothServiceInfoBleak] = []
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"""Constants for Airthings BLE."""
|
|
2
2
|
|
|
3
|
+
from airthings_ble import AirthingsDeviceType
|
|
4
|
+
|
|
3
5
|
DOMAIN = "airthings_ble"
|
|
4
6
|
MFCT_ID = 820
|
|
5
7
|
|
|
6
8
|
VOLUME_BECQUEREL = "Bq/m³"
|
|
7
9
|
VOLUME_PICOCURIE = "pCi/L"
|
|
8
10
|
|
|
11
|
+
DEVICE_MODEL = "device_model"
|
|
12
|
+
|
|
9
13
|
DEFAULT_SCAN_INTERVAL = 300
|
|
14
|
+
DEVICE_SPECIFIC_SCAN_INTERVAL = {AirthingsDeviceType.CORENTIUM_HOME_2.value: 1800}
|
|
10
15
|
|
|
11
16
|
MAX_RETRIES_AFTER_STARTUP = 5
|
|
@@ -16,7 +16,12 @@ from homeassistant.exceptions import ConfigEntryNotReady
|
|
|
16
16
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
|
17
17
|
from homeassistant.util.unit_system import METRIC_SYSTEM
|
|
18
18
|
|
|
19
|
-
from .const import
|
|
19
|
+
from .const import (
|
|
20
|
+
DEFAULT_SCAN_INTERVAL,
|
|
21
|
+
DEVICE_MODEL,
|
|
22
|
+
DEVICE_SPECIFIC_SCAN_INTERVAL,
|
|
23
|
+
DOMAIN,
|
|
24
|
+
)
|
|
20
25
|
|
|
21
26
|
_LOGGER = logging.getLogger(__name__)
|
|
22
27
|
|
|
@@ -34,12 +39,18 @@ class AirthingsBLEDataUpdateCoordinator(DataUpdateCoordinator[AirthingsDevice]):
|
|
|
34
39
|
self.airthings = AirthingsBluetoothDeviceData(
|
|
35
40
|
_LOGGER, hass.config.units is METRIC_SYSTEM
|
|
36
41
|
)
|
|
42
|
+
|
|
43
|
+
device_model = entry.data.get(DEVICE_MODEL)
|
|
44
|
+
interval = DEVICE_SPECIFIC_SCAN_INTERVAL.get(
|
|
45
|
+
device_model, DEFAULT_SCAN_INTERVAL
|
|
46
|
+
)
|
|
47
|
+
|
|
37
48
|
super().__init__(
|
|
38
49
|
hass,
|
|
39
50
|
_LOGGER,
|
|
40
51
|
config_entry=entry,
|
|
41
52
|
name=DOMAIN,
|
|
42
|
-
update_interval=timedelta(seconds=
|
|
53
|
+
update_interval=timedelta(seconds=interval),
|
|
43
54
|
)
|
|
44
55
|
|
|
45
56
|
async def _async_setup(self) -> None:
|
|
@@ -58,11 +69,29 @@ class AirthingsBLEDataUpdateCoordinator(DataUpdateCoordinator[AirthingsDevice]):
|
|
|
58
69
|
)
|
|
59
70
|
self.ble_device = ble_device
|
|
60
71
|
|
|
72
|
+
if DEVICE_MODEL not in self.config_entry.data:
|
|
73
|
+
_LOGGER.debug("Fetching device info for migration")
|
|
74
|
+
try:
|
|
75
|
+
data = await self.airthings.update_device(self.ble_device)
|
|
76
|
+
except Exception as err:
|
|
77
|
+
raise UpdateFailed(
|
|
78
|
+
f"Unable to fetch data for migration: {err}"
|
|
79
|
+
) from err
|
|
80
|
+
|
|
81
|
+
self.hass.config_entries.async_update_entry(
|
|
82
|
+
self.config_entry,
|
|
83
|
+
data={**self.config_entry.data, DEVICE_MODEL: data.model.value},
|
|
84
|
+
)
|
|
85
|
+
self.update_interval = timedelta(
|
|
86
|
+
seconds=DEVICE_SPECIFIC_SCAN_INTERVAL.get(
|
|
87
|
+
data.model.value, DEFAULT_SCAN_INTERVAL
|
|
88
|
+
)
|
|
89
|
+
)
|
|
90
|
+
|
|
61
91
|
async def _async_update_data(self) -> AirthingsDevice:
|
|
62
92
|
"""Get data from Airthings BLE."""
|
|
63
93
|
try:
|
|
64
94
|
data = await self.airthings.update_device(self.ble_device)
|
|
65
95
|
except Exception as err:
|
|
66
96
|
raise UpdateFailed(f"Unable to fetch data: {err}") from err
|
|
67
|
-
|
|
68
97
|
return data
|
|
@@ -56,7 +56,8 @@
|
|
|
56
56
|
"state": {
|
|
57
57
|
"30m": "30 \u043c\u0438\u043d\u0443\u0442\u0438",
|
|
58
58
|
"60m": "60 \u043c\u0438\u043d\u0443\u0442\u0438",
|
|
59
|
-
"90m": "90 \u043c\u0438\u043d\u0443\u0442\u0438"
|
|
59
|
+
"90m": "90 \u043c\u0438\u043d\u0443\u0442\u0438",
|
|
60
|
+
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
},
|
|
@@ -15,6 +15,15 @@
|
|
|
15
15
|
"heat_angles": {
|
|
16
16
|
"name": "G\u00f3c n\u00f3ng"
|
|
17
17
|
},
|
|
18
|
+
"modes": {
|
|
19
|
+
"state": {
|
|
20
|
+
"cool": "M\u00e1t",
|
|
21
|
+
"dry": "Kh\u00f4",
|
|
22
|
+
"fan": "Ch\u1ec9 qu\u1ea1t",
|
|
23
|
+
"heat": "\u1ea4m",
|
|
24
|
+
"heat_cool": "\u1ea4m/M\u00e1t"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
18
27
|
"sleep_times": {
|
|
19
28
|
"name": "Ng\u1ee7",
|
|
20
29
|
"state": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"step": {
|
|
22
22
|
"oauth_discovery": {
|
|
23
|
-
"description": "Home Assistant har hittat en Aladdin Connect-enhet i ditt n\u00e4tverk. Tryck p\u00e5 **
|
|
23
|
+
"description": "Home Assistant har hittat en Aladdin Connect-enhet i ditt n\u00e4tverk. Tryck p\u00e5 **Bekr\u00e4fta** f\u00f6r att forts\u00e4tta konfigurera Aladdin Connect."
|
|
24
24
|
},
|
|
25
25
|
"pick_implementation": {
|
|
26
26
|
"title": "V\u00e4lj autentiseringsmetod"
|
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
"code": "\u041a\u043e\u0434"
|
|
5
5
|
}
|
|
6
6
|
},
|
|
7
|
+
"entity_component": {
|
|
8
|
+
"_": {
|
|
9
|
+
"state_attributes": {
|
|
10
|
+
"code_format": {
|
|
11
|
+
"state": {
|
|
12
|
+
"number": "\u0411\u0440\u043e\u0458",
|
|
13
|
+
"text": "\u0422\u0435\u043a\u0441\u0442"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
7
19
|
"services": {
|
|
8
20
|
"alarm_arm_away": {
|
|
9
21
|
"description": "\u0413\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430 \u0430\u043b\u0430\u0440\u043c\u043e\u0442 \u0432\u043e \u0440\u0435\u0436\u0438\u043c \"\u043d\u0430\u0434\u0432\u043e\u0440\"."
|