homeassistant 2025.12.0b2__py3-none-any.whl → 2025.12.0b5__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/permissions/events.py +2 -0
- homeassistant/components/acaia/translations/pl.json +23 -1
- homeassistant/components/accuweather/translations/tr.json +19 -0
- homeassistant/components/actron_air/translations/tr.json +27 -0
- homeassistant/components/ai_task/translations/tr.json +17 -0
- homeassistant/components/airly/translations/sr-Latn.json +7 -0
- homeassistant/components/airnow/translations/sr-Latn.json +3 -0
- homeassistant/components/airobot/translations/bg.json +1 -2
- homeassistant/components/airobot/translations/cs.json +1 -1
- homeassistant/components/airobot/translations/de.json +1 -1
- homeassistant/components/airobot/translations/el.json +1 -2
- homeassistant/components/airobot/translations/en-GB.json +1 -5
- homeassistant/components/airobot/translations/en.json +1 -1
- homeassistant/components/airobot/translations/es.json +44 -0
- homeassistant/components/airobot/translations/et.json +1 -1
- homeassistant/components/airobot/translations/ga.json +40 -0
- homeassistant/components/airobot/translations/it.json +1 -0
- homeassistant/components/airobot/translations/lt.json +1 -5
- homeassistant/components/airobot/translations/nl.json +1 -2
- homeassistant/components/airobot/translations/pt.json +1 -5
- homeassistant/components/airobot/translations/sk.json +1 -5
- homeassistant/components/airobot/translations/sv.json +1 -2
- homeassistant/components/airobot/translations/tr.json +1 -5
- homeassistant/components/airobot/translations/zh-Hans.json +1 -1
- homeassistant/components/airobot/translations/zh-Hant.json +1 -1
- homeassistant/components/airos/translations/tr.json +71 -0
- homeassistant/components/airq/translations/sr-Latn.json +7 -0
- homeassistant/components/airthings/translations/tr.json +2 -1
- homeassistant/components/airthings_ble/translations/sr-Latn.json +7 -0
- homeassistant/components/airthings_ble/translations/tr.json +7 -0
- homeassistant/components/airvisual/translations/sr-Latn.json +14 -0
- homeassistant/components/airzone/translations/tr.json +9 -0
- homeassistant/components/aladdin_connect/translations/tr.json +7 -1
- homeassistant/components/alarm_control_panel/strings.json +14 -21
- homeassistant/components/alarm_control_panel/translations/cs.json +7 -28
- homeassistant/components/alarm_control_panel/translations/de.json +7 -14
- homeassistant/components/alarm_control_panel/translations/en-GB.json +72 -1
- homeassistant/components/alarm_control_panel/translations/en.json +14 -21
- homeassistant/components/alarm_control_panel/translations/es.json +80 -1
- homeassistant/components/alarm_control_panel/translations/et.json +86 -1
- homeassistant/components/alarm_control_panel/translations/ga.json +72 -1
- homeassistant/components/alarm_control_panel/translations/lt.json +7 -28
- homeassistant/components/alarm_control_panel/translations/pt.json +14 -31
- homeassistant/components/alarm_control_panel/translations/sk.json +7 -28
- homeassistant/components/alarm_control_panel/translations/sr-Latn.json +5 -1
- homeassistant/components/alarm_control_panel/translations/tr.json +72 -1
- homeassistant/components/alarm_control_panel/translations/zh-Hans.json +1 -6
- homeassistant/components/alarm_control_panel/translations/zh-Hant.json +14 -21
- homeassistant/components/alert/translations/mk.json +10 -0
- homeassistant/components/alexa_devices/translations/it.json +24 -1
- homeassistant/components/alexa_devices/translations/tr.json +52 -0
- homeassistant/components/androidtv_remote/translations/mk.json +7 -0
- homeassistant/components/anglian_water/__init__.py +6 -2
- homeassistant/components/anglian_water/entity.py +5 -1
- homeassistant/components/anglian_water/sensor.py +1 -2
- homeassistant/components/anglian_water/strings.json +1 -1
- homeassistant/components/anglian_water/translations/de.json +1 -1
- homeassistant/components/anglian_water/translations/el.json +20 -0
- homeassistant/components/anglian_water/translations/en-GB.json +54 -0
- homeassistant/components/anglian_water/translations/en.json +1 -1
- homeassistant/components/anglian_water/translations/es.json +55 -0
- homeassistant/components/anglian_water/translations/et.json +19 -1
- homeassistant/components/anglian_water/translations/ga.json +54 -0
- homeassistant/components/anglian_water/translations/lt.json +1 -2
- homeassistant/components/anglian_water/translations/pt.json +1 -2
- homeassistant/components/anglian_water/translations/sk.json +1 -2
- homeassistant/components/anglian_water/translations/sv.json +14 -0
- homeassistant/components/anglian_water/translations/tr.json +54 -0
- homeassistant/components/anglian_water/translations/zh-Hans.json +32 -2
- homeassistant/components/aosmith/translations/tr.json +11 -0
- homeassistant/components/apcupsd/translations/es.json +14 -0
- homeassistant/components/apcupsd/translations/sr-Latn.json +3 -0
- homeassistant/components/apple_tv/manifest.json +1 -0
- homeassistant/components/assist_pipeline/pipeline.py +58 -57
- homeassistant/components/assist_satellite/strings.json +8 -12
- homeassistant/components/assist_satellite/translations/cs.json +4 -16
- homeassistant/components/assist_satellite/translations/de.json +8 -12
- homeassistant/components/assist_satellite/translations/en-GB.json +46 -1
- homeassistant/components/assist_satellite/translations/en.json +8 -12
- homeassistant/components/assist_satellite/translations/es.json +46 -1
- homeassistant/components/assist_satellite/translations/et.json +54 -1
- homeassistant/components/assist_satellite/translations/ga.json +46 -1
- homeassistant/components/assist_satellite/translations/lt.json +4 -16
- homeassistant/components/assist_satellite/translations/pt.json +4 -16
- homeassistant/components/assist_satellite/translations/sk.json +4 -16
- homeassistant/components/assist_satellite/translations/tr.json +46 -1
- homeassistant/components/assist_satellite/translations/zh-Hans.json +5 -0
- homeassistant/components/assist_satellite/translations/zh-Hant.json +8 -12
- homeassistant/components/august/translations/tr.json +23 -1
- homeassistant/components/automation/__init__.py +1 -0
- homeassistant/components/automation/strings.json +4 -4
- homeassistant/components/automation/translations/cs.json +0 -8
- homeassistant/components/automation/translations/de.json +4 -4
- homeassistant/components/automation/translations/en.json +4 -4
- homeassistant/components/automation/translations/et.json +4 -4
- homeassistant/components/automation/translations/lt.json +0 -8
- homeassistant/components/automation/translations/mk.json +10 -0
- homeassistant/components/automation/translations/pt.json +0 -8
- homeassistant/components/automation/translations/sk.json +0 -8
- homeassistant/components/automation/translations/sr-Latn.json +28 -0
- homeassistant/components/automation/translations/zh-Hant.json +4 -4
- homeassistant/components/backblaze_b2/translations/de.json +2 -2
- homeassistant/components/backblaze_b2/translations/es.json +1 -1
- homeassistant/components/backblaze_b2/translations/tr.json +92 -0
- homeassistant/components/bang_olufsen/translations/es.json +992 -0
- homeassistant/components/bang_olufsen/translations/ga.json +992 -0
- homeassistant/components/bang_olufsen/translations/nl.json +76 -3
- homeassistant/components/bang_olufsen/translations/pt.json +1 -0
- homeassistant/components/bayesian/translations/sr-Latn.json +2 -1
- homeassistant/components/bayesian/translations/tr.json +81 -10
- homeassistant/components/binary_sensor/icons.json +8 -0
- homeassistant/components/binary_sensor/strings.json +36 -1
- homeassistant/components/binary_sensor/translations/de.json +36 -1
- homeassistant/components/binary_sensor/translations/en.json +36 -1
- homeassistant/components/binary_sensor/translations/et.json +36 -1
- homeassistant/components/binary_sensor/translations/mk.json +8 -0
- homeassistant/components/binary_sensor/translations/sk.json +36 -1
- homeassistant/components/binary_sensor/translations/sr-Latn.json +1 -0
- homeassistant/components/binary_sensor/translations/zh-Hant.json +36 -1
- homeassistant/components/binary_sensor/trigger.py +67 -0
- homeassistant/components/binary_sensor/triggers.yaml +25 -0
- homeassistant/components/blink/translations/tr.json +16 -1
- homeassistant/components/blue_current/translations/tr.json +44 -0
- homeassistant/components/bosch_alarm/__init__.py +2 -2
- homeassistant/components/bosch_alarm/config_flow.py +1 -1
- homeassistant/components/bosch_alarm/diagnostics.py +2 -1
- homeassistant/components/bosch_alarm/entity.py +1 -1
- homeassistant/components/bosch_alarm/manifest.json +1 -1
- homeassistant/components/broadlink/manifest.json +1 -0
- homeassistant/components/broadlink/translations/sr-Latn.json +5 -0
- homeassistant/components/brother/translations/tr.json +53 -2
- homeassistant/components/bsblan/translations/tr.json +22 -2
- homeassistant/components/bthome/translations/tr.json +35 -0
- homeassistant/components/button/translations/sr-Latn.json +20 -0
- homeassistant/components/camera/translations/mk.json +4 -2
- homeassistant/components/climate/strings.json +10 -15
- homeassistant/components/climate/translations/cs.json +5 -20
- homeassistant/components/climate/translations/de.json +5 -10
- homeassistant/components/climate/translations/el.json +54 -1
- homeassistant/components/climate/translations/en-GB.json +54 -1
- homeassistant/components/climate/translations/en.json +10 -15
- homeassistant/components/climate/translations/es.json +58 -1
- homeassistant/components/climate/translations/et.json +57 -6
- homeassistant/components/climate/translations/ga.json +54 -1
- homeassistant/components/climate/translations/lt.json +19 -12
- homeassistant/components/climate/translations/mk.json +10 -3
- homeassistant/components/climate/translations/pt.json +19 -12
- homeassistant/components/climate/translations/ru.json +54 -1
- homeassistant/components/climate/translations/sk.json +5 -20
- homeassistant/components/climate/translations/sr-Latn.json +101 -3
- homeassistant/components/climate/translations/sv.json +17 -1
- homeassistant/components/climate/translations/tr.json +54 -1
- homeassistant/components/climate/translations/zh-Hans.json +14 -0
- homeassistant/components/climate/translations/zh-Hant.json +10 -15
- homeassistant/components/cloud/__init__.py +18 -5
- homeassistant/components/cloud/ai_task.py +5 -12
- homeassistant/components/cloud/conversation.py +2 -11
- homeassistant/components/cloud/entity.py +4 -5
- homeassistant/components/cloud/translations/en-GB.json +7 -0
- homeassistant/components/cloud/translations/es.json +7 -0
- homeassistant/components/cloud/translations/et.json +7 -0
- homeassistant/components/cloud/translations/ga.json +7 -0
- homeassistant/components/cloud/translations/tr.json +7 -0
- homeassistant/components/coinbase/translations/tr.json +10 -1
- homeassistant/components/color_extractor/translations/mk.json +7 -0
- homeassistant/components/comelit/translations/tr.json +2 -0
- homeassistant/components/compit/translations/tr.json +35 -0
- homeassistant/components/conversation/__init__.py +8 -3
- homeassistant/components/conversation/default_agent.py +61 -56
- homeassistant/components/conversation/manifest.json +1 -1
- homeassistant/components/counter/translations/sr-Latn.json +41 -1
- homeassistant/components/cover/icons.json +0 -29
- homeassistant/components/cover/strings.json +1 -159
- homeassistant/components/cover/translations/cs.json +1 -159
- homeassistant/components/cover/translations/de.json +1 -159
- homeassistant/components/cover/translations/en.json +1 -159
- homeassistant/components/cover/translations/et.json +1 -30
- homeassistant/components/cover/translations/lt.json +1 -159
- homeassistant/components/cover/translations/pt.json +1 -158
- homeassistant/components/cover/translations/sk.json +1 -159
- homeassistant/components/cover/translations/sr-Latn.json +5 -1
- homeassistant/components/cover/translations/zh-Hans.json +1 -105
- homeassistant/components/cover/translations/zh-Hant.json +1 -159
- homeassistant/components/cync/translations/tr.json +46 -0
- homeassistant/components/datetime/translations/sr-Latn.json +17 -0
- homeassistant/components/deconz/translations/mk.json +3 -1
- homeassistant/components/deluge/translations/tr.json +8 -0
- homeassistant/components/derivative/translations/es.json +6 -0
- homeassistant/components/derivative/translations/ga.json +6 -0
- homeassistant/components/derivative/translations/sr-Latn.json +41 -4
- homeassistant/components/dlna_dmr/manifest.json +1 -0
- homeassistant/components/dlna_dms/manifest.json +1 -0
- homeassistant/components/downloader/translations/tr.json +8 -0
- homeassistant/components/droplet/translations/tr.json +40 -0
- homeassistant/components/duckdns/translations/en-GB.json +1 -0
- homeassistant/components/duckdns/translations/es.json +41 -0
- homeassistant/components/duckdns/translations/ga.json +40 -0
- homeassistant/components/ecovacs/translations/tr.json +50 -2
- homeassistant/components/ecowitt/manifest.json +1 -0
- homeassistant/components/ekeybionyx/translations/tr.json +66 -0
- homeassistant/components/elevenlabs/translations/tr.json +17 -1
- homeassistant/components/elkm1/translations/tr.json +4 -0
- homeassistant/components/energy/translations/sr-Latn.json +64 -0
- homeassistant/components/energyid/translations/el.json +53 -0
- homeassistant/components/energyid/translations/en-GB.json +71 -0
- homeassistant/components/energyid/translations/es.json +71 -0
- homeassistant/components/energyid/translations/ga.json +71 -0
- homeassistant/components/energyid/translations/it.json +71 -0
- homeassistant/components/energyid/translations/nl.json +1 -0
- homeassistant/components/energyid/translations/sv.json +37 -0
- homeassistant/components/energyid/translations/tr.json +71 -0
- homeassistant/components/energyid/translations/zh-Hans.json +17 -1
- homeassistant/components/enphase_envoy/manifest.json +1 -1
- homeassistant/components/enphase_envoy/translations/tr.json +15 -0
- homeassistant/components/esphome/const.py +1 -1
- homeassistant/components/esphome/manifest.json +1 -1
- homeassistant/components/esphome/strings.json +1 -1
- homeassistant/components/esphome/translations/bg.json +0 -1
- homeassistant/components/esphome/translations/ca.json +0 -1
- homeassistant/components/esphome/translations/cs.json +1 -1
- homeassistant/components/esphome/translations/da.json +0 -1
- homeassistant/components/esphome/translations/de.json +1 -1
- homeassistant/components/esphome/translations/el.json +0 -1
- homeassistant/components/esphome/translations/en-GB.json +1 -1
- homeassistant/components/esphome/translations/en.json +1 -1
- homeassistant/components/esphome/translations/es.json +1 -1
- homeassistant/components/esphome/translations/et.json +1 -1
- homeassistant/components/esphome/translations/fi.json +0 -1
- homeassistant/components/esphome/translations/fr.json +0 -1
- homeassistant/components/esphome/translations/ga.json +0 -1
- homeassistant/components/esphome/translations/he.json +0 -1
- homeassistant/components/esphome/translations/hu.json +0 -1
- homeassistant/components/esphome/translations/id.json +0 -1
- homeassistant/components/esphome/translations/it.json +0 -1
- homeassistant/components/esphome/translations/ja.json +0 -1
- homeassistant/components/esphome/translations/ko.json +0 -1
- homeassistant/components/esphome/translations/lt.json +0 -1
- homeassistant/components/esphome/translations/nb.json +0 -1
- homeassistant/components/esphome/translations/nl.json +0 -1
- homeassistant/components/esphome/translations/pl.json +0 -1
- homeassistant/components/esphome/translations/pt-BR.json +0 -1
- homeassistant/components/esphome/translations/pt.json +1 -1
- homeassistant/components/esphome/translations/ro.json +0 -1
- homeassistant/components/esphome/translations/ru.json +0 -1
- homeassistant/components/esphome/translations/sk.json +1 -1
- homeassistant/components/esphome/translations/sl.json +0 -1
- homeassistant/components/esphome/translations/sv.json +0 -1
- homeassistant/components/esphome/translations/tr.json +1 -1
- homeassistant/components/esphome/translations/uk.json +0 -1
- homeassistant/components/esphome/translations/vi.json +0 -1
- homeassistant/components/esphome/translations/zh-Hans.json +1 -1
- homeassistant/components/esphome/translations/zh-Hant.json +1 -1
- homeassistant/components/essent/translations/el.json +9 -0
- homeassistant/components/essent/translations/en-GB.json +70 -0
- homeassistant/components/essent/translations/es.json +70 -0
- homeassistant/components/essent/translations/ga.json +70 -0
- homeassistant/components/essent/translations/tr.json +70 -0
- homeassistant/components/essent/translations/zh-Hans.json +38 -0
- homeassistant/components/event/translations/pl.json +2 -1
- homeassistant/components/event/translations/sr-Latn.json +16 -1
- homeassistant/components/fan/strings.json +4 -6
- homeassistant/components/fan/translations/cs.json +2 -8
- homeassistant/components/fan/translations/de.json +2 -4
- homeassistant/components/fan/translations/en-GB.json +30 -1
- homeassistant/components/fan/translations/en.json +4 -6
- homeassistant/components/fan/translations/es.json +33 -1
- homeassistant/components/fan/translations/et.json +4 -6
- homeassistant/components/fan/translations/ga.json +30 -1
- homeassistant/components/fan/translations/lt.json +2 -8
- homeassistant/components/fan/translations/mk.json +11 -0
- homeassistant/components/fan/translations/pt.json +2 -8
- homeassistant/components/fan/translations/sk.json +2 -8
- homeassistant/components/fan/translations/tr.json +30 -1
- homeassistant/components/fan/translations/zh-Hant.json +4 -6
- homeassistant/components/file/translations/tr.json +26 -0
- homeassistant/components/filter/translations/sr-Latn.json +149 -11
- homeassistant/components/fing/translations/tr.json +24 -0
- homeassistant/components/firefly_iii/translations/de.json +2 -2
- homeassistant/components/firefly_iii/translations/tr.json +87 -0
- homeassistant/components/foscam/translations/tr.json +45 -1
- homeassistant/components/fritz/translations/tr.json +24 -0
- homeassistant/components/fronius/manifest.json +1 -0
- homeassistant/components/fronius/translations/sr-Latn.json +3 -0
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/frontend/storage.py +16 -6
- homeassistant/components/frontend/translations/el.json +8 -0
- homeassistant/components/frontend/translations/es.json +8 -0
- homeassistant/components/frontend/translations/ga.json +8 -0
- homeassistant/components/frontend/translations/ru.json +8 -0
- homeassistant/components/frontend/translations/sr-Latn.json +8 -0
- homeassistant/components/frontend/translations/tr.json +8 -0
- homeassistant/components/frontend/translations/zh-Hans.json +3 -0
- homeassistant/components/fully_kiosk/translations/tr.json +15 -0
- homeassistant/components/fyta/translations/sr-Latn.json +6 -0
- homeassistant/components/generic/translations/sr-Latn.json +42 -0
- homeassistant/components/generic_hygrostat/translations/sr-Latn.json +36 -4
- homeassistant/components/generic_thermostat/translations/sr-Latn.json +46 -6
- homeassistant/components/geocaching/translations/tr.json +2 -1
- homeassistant/components/gios/translations/sr-Latn.json +10 -0
- homeassistant/components/go2rtc/__init__.py +6 -2
- homeassistant/components/go2rtc/const.py +0 -1
- homeassistant/components/go2rtc/server.py +16 -6
- homeassistant/components/go2rtc/util.py +12 -0
- homeassistant/components/google/manifest.json +1 -0
- homeassistant/components/google_air_quality/manifest.json +1 -1
- homeassistant/components/google_air_quality/strings.json +1 -4
- homeassistant/components/google_air_quality/translations/cs.json +1 -4
- homeassistant/components/google_air_quality/translations/de.json +1 -4
- homeassistant/components/google_air_quality/translations/el.json +79 -0
- homeassistant/components/google_air_quality/translations/en-GB.json +81 -0
- homeassistant/components/google_air_quality/translations/en.json +1 -4
- homeassistant/components/google_air_quality/translations/es.json +234 -0
- homeassistant/components/google_air_quality/translations/et.json +50 -3
- homeassistant/components/google_air_quality/translations/ga.json +234 -0
- homeassistant/components/google_air_quality/translations/it.json +106 -0
- homeassistant/components/google_air_quality/translations/lt.json +1 -4
- homeassistant/components/google_air_quality/translations/pl.json +11 -0
- homeassistant/components/google_air_quality/translations/pt.json +1 -4
- homeassistant/components/google_air_quality/translations/ru.json +42 -0
- homeassistant/components/google_air_quality/translations/sk.json +1 -4
- homeassistant/components/google_air_quality/translations/sr-Latn.json +35 -0
- homeassistant/components/google_air_quality/translations/sv.json +131 -0
- homeassistant/components/google_air_quality/translations/tr.json +234 -0
- homeassistant/components/google_air_quality/translations/zh-Hans.json +84 -5
- homeassistant/components/google_air_quality/translations/zh-Hant.json +1 -4
- homeassistant/components/google_assistant_sdk/translations/es.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/tr.json +7 -0
- homeassistant/components/google_generative_ai_conversation/translations/tr.json +6 -0
- homeassistant/components/google_sheets/translations/es.json +4 -0
- homeassistant/components/google_sheets/translations/tr.json +22 -0
- homeassistant/components/google_translate/manifest.json +1 -0
- homeassistant/components/google_weather/translations/es.json +66 -0
- homeassistant/components/google_weather/translations/ga.json +37 -0
- homeassistant/components/gpsd/translations/sr-Latn.json +3 -0
- homeassistant/components/group/translations/sr-Latn.json +154 -12
- homeassistant/components/group/translations/tr.json +19 -1
- homeassistant/components/growatt_server/translations/tr.json +87 -0
- homeassistant/components/habitica/translations/tr.json +76 -0
- homeassistant/components/hanna/translations/es.json +44 -0
- homeassistant/components/hassio/translations/sr-Latn.json +5 -0
- homeassistant/components/hassio/translations/tr.json +39 -0
- homeassistant/components/history_stats/translations/sr-Latn.json +85 -3
- homeassistant/components/holiday/translations/pl.json +7 -0
- homeassistant/components/home_connect/manifest.json +1 -0
- homeassistant/components/home_connect/translations/es.json +46 -0
- homeassistant/components/home_connect/translations/ga.json +46 -0
- homeassistant/components/home_connect/translations/tr.json +32 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/es.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/ga.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/tr.json +145 -0
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +81 -68
- homeassistant/components/homeassistant_hardware/translations/es.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/ga.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/tr.json +44 -1
- homeassistant/components/homeassistant_hardware/update.py +13 -10
- homeassistant/components/homeassistant_hardware/util.py +59 -53
- homeassistant/components/homeassistant_sky_connect/translations/es.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/tr.json +71 -0
- homeassistant/components/homeassistant_yellow/translations/es.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/ga.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/tr.json +35 -0
- homeassistant/components/homekit/translations/tr.json +12 -0
- homeassistant/components/homekit_controller/manifest.json +1 -0
- homeassistant/components/homewizard/manifest.json +1 -0
- homeassistant/components/hue/translations/mk.json +3 -1
- homeassistant/components/hue/translations/tr.json +1 -0
- homeassistant/components/hue_ble/strings.json +1 -1
- homeassistant/components/hue_ble/translations/el.json +11 -0
- homeassistant/components/hue_ble/translations/en-GB.json +20 -0
- homeassistant/components/hue_ble/translations/en.json +1 -1
- homeassistant/components/hue_ble/translations/es.json +21 -0
- homeassistant/components/hue_ble/translations/et.json +21 -0
- homeassistant/components/hue_ble/translations/ga.json +20 -0
- homeassistant/components/hue_ble/translations/lt.json +1 -2
- homeassistant/components/hue_ble/translations/pt.json +1 -2
- homeassistant/components/hue_ble/translations/sk.json +1 -2
- homeassistant/components/hue_ble/translations/tr.json +20 -0
- homeassistant/components/hue_ble/translations/zh-Hans.json +11 -1
- homeassistant/components/humidifier/translations/mk.json +6 -0
- homeassistant/components/hunterdouglas_powerview/translations/sr-Latn.json +9 -0
- homeassistant/components/husqvarna_automower/translations/tr.json +88 -0
- homeassistant/components/huum/translations/sr-Latn.json +5 -0
- homeassistant/components/ibeacon/manifest.json +1 -0
- homeassistant/components/icloud/translations/tr.json +3 -0
- homeassistant/components/image/translations/sr-Latn.json +2 -1
- homeassistant/components/imap/translations/tr.json +21 -0
- homeassistant/components/imeon_inverter/translations/en-GB.json +21 -0
- homeassistant/components/imeon_inverter/translations/tr.json +57 -0
- homeassistant/components/incomfort/translations/tr.json +3 -0
- homeassistant/components/inels/translations/tr.json +30 -0
- homeassistant/components/input_boolean/translations/mk.json +4 -2
- homeassistant/components/input_number/translations/sr-Latn.json +17 -0
- homeassistant/components/integration/translations/sr-Latn.json +54 -2
- homeassistant/components/iometer/translations/tr.json +3 -1
- homeassistant/components/irm_kmi/translations/tr.json +21 -0
- homeassistant/components/iron_os/translations/en-GB.json +5 -1
- homeassistant/components/iron_os/translations/es.json +5 -1
- homeassistant/components/jewish_calendar/translations/tr.json +9 -1
- homeassistant/components/kitchen_sink/translations/en-GB.json +2 -0
- homeassistant/components/kitchen_sink/translations/es.json +20 -0
- homeassistant/components/kitchen_sink/translations/et.json +5 -1
- homeassistant/components/kitchen_sink/translations/ga.json +4 -0
- homeassistant/components/kitchen_sink/translations/it.json +12 -0
- homeassistant/components/kitchen_sink/translations/ru.json +8 -0
- homeassistant/components/kitchen_sink/translations/sv.json +3 -0
- homeassistant/components/kitchen_sink/translations/tr.json +4 -0
- homeassistant/components/knx/translations/el.json +43 -0
- homeassistant/components/knx/translations/es.json +3 -0
- homeassistant/components/knx/translations/et.json +3 -0
- homeassistant/components/knx/translations/tr.json +318 -0
- homeassistant/components/knx/translations/zh-Hans.json +3 -0
- homeassistant/components/konnected/manifest.json +1 -0
- homeassistant/components/konnected/translations/tr.json +6 -0
- homeassistant/components/labs/__init__.py +2 -1
- homeassistant/components/labs/const.py +0 -2
- homeassistant/components/labs/translations/es.json +3 -0
- homeassistant/components/labs/translations/lt.json +1 -1
- homeassistant/components/labs/translations/sr-Latn.json +3 -0
- homeassistant/components/labs/websocket_api.py +2 -1
- homeassistant/components/lannouncer/translations/tr.json +8 -0
- homeassistant/components/lawn_mower/strings.json +8 -12
- homeassistant/components/lawn_mower/translations/cs.json +4 -16
- homeassistant/components/lawn_mower/translations/de.json +7 -11
- homeassistant/components/lawn_mower/translations/en-GB.json +48 -1
- homeassistant/components/lawn_mower/translations/en.json +8 -12
- homeassistant/components/lawn_mower/translations/es.json +56 -1
- homeassistant/components/lawn_mower/translations/et.json +46 -2
- homeassistant/components/lawn_mower/translations/ga.json +48 -1
- homeassistant/components/lawn_mower/translations/lt.json +4 -16
- homeassistant/components/lawn_mower/translations/pt.json +4 -16
- homeassistant/components/lawn_mower/translations/sk.json +4 -16
- homeassistant/components/lawn_mower/translations/tr.json +48 -1
- homeassistant/components/lawn_mower/translations/zh-Hant.json +8 -12
- homeassistant/components/letpot/translations/tr.json +8 -0
- homeassistant/components/lg_thinq/manifest.json +1 -1
- homeassistant/components/lg_thinq/translations/sr-Latn.json +8 -0
- homeassistant/components/lg_thinq/translations/tr.json +20 -0
- homeassistant/components/libre_hardware_monitor/translations/tr.json +23 -0
- homeassistant/components/lifx/translations/tr.json +3 -0
- homeassistant/components/light/strings.json +4 -8
- homeassistant/components/light/translations/bg.json +0 -12
- homeassistant/components/light/translations/cs.json +2 -10
- homeassistant/components/light/translations/de.json +2 -6
- homeassistant/components/light/translations/el.json +6 -0
- homeassistant/components/light/translations/en-GB.json +65 -2
- homeassistant/components/light/translations/en.json +4 -8
- homeassistant/components/light/translations/es.json +68 -2
- homeassistant/components/light/translations/et.json +34 -8
- homeassistant/components/light/translations/ga.json +65 -2
- homeassistant/components/light/translations/lt.json +2 -10
- homeassistant/components/light/translations/mk.json +10 -3
- homeassistant/components/light/translations/pt.json +2 -10
- homeassistant/components/light/translations/ru.json +67 -3
- homeassistant/components/light/translations/sk.json +2 -10
- homeassistant/components/light/translations/sr-Latn.json +217 -4
- homeassistant/components/light/translations/tr.json +65 -2
- homeassistant/components/light/translations/zh-Hans.json +2 -10
- homeassistant/components/light/translations/zh-Hant.json +4 -8
- homeassistant/components/litterrobot/translations/tr.json +6 -0
- homeassistant/components/logger/helpers.py +10 -0
- homeassistant/components/logger/websocket_api.py +12 -1
- homeassistant/components/london_underground/translations/tr.json +38 -0
- homeassistant/components/lovelace/translations/es.json +5 -0
- homeassistant/components/lovelace/translations/ga.json +5 -0
- homeassistant/components/lunatone/translations/tr.json +36 -0
- homeassistant/components/mastodon/translations/es.json +7 -0
- homeassistant/components/mastodon/translations/ga.json +7 -0
- homeassistant/components/mastodon/translations/tr.json +4 -0
- homeassistant/components/matrix/translations/tr.json +42 -0
- homeassistant/components/matter/manifest.json +1 -0
- homeassistant/components/matter/translations/es.json +13 -0
- homeassistant/components/matter/translations/ga.json +10 -0
- homeassistant/components/matter/translations/sr-Latn.json +3 -0
- homeassistant/components/matter/translations/tr.json +105 -0
- homeassistant/components/mcp/translations/tr.json +20 -1
- homeassistant/components/mealie/translations/tr.json +11 -0
- homeassistant/components/media_extractor/manifest.json +1 -1
- homeassistant/components/media_player/strings.json +2 -3
- homeassistant/components/media_player/translations/cs.json +1 -4
- homeassistant/components/media_player/translations/de.json +1 -2
- homeassistant/components/media_player/translations/en-GB.json +22 -1
- homeassistant/components/media_player/translations/en.json +2 -3
- homeassistant/components/media_player/translations/es.json +24 -1
- homeassistant/components/media_player/translations/et.json +8 -1
- homeassistant/components/media_player/translations/ga.json +22 -1
- homeassistant/components/media_player/translations/lt.json +1 -4
- homeassistant/components/media_player/translations/mk.json +4 -2
- homeassistant/components/media_player/translations/pt.json +1 -4
- homeassistant/components/media_player/translations/sk.json +1 -4
- homeassistant/components/media_player/translations/tr.json +22 -1
- homeassistant/components/media_player/translations/zh-Hant.json +2 -3
- homeassistant/components/media_source/translations/tr.json +5 -0
- homeassistant/components/met/manifest.json +1 -0
- homeassistant/components/meteo_france/const.py +1 -0
- homeassistant/components/meteo_lt/translations/tr.json +14 -0
- homeassistant/components/miele/const.py +9 -7
- homeassistant/components/miele/strings.json +1 -0
- homeassistant/components/miele/translations/cs.json +1 -0
- homeassistant/components/miele/translations/de.json +1 -0
- homeassistant/components/miele/translations/en.json +1 -0
- homeassistant/components/miele/translations/es.json +16 -0
- homeassistant/components/miele/translations/et.json +1 -0
- homeassistant/components/miele/translations/ga.json +14 -0
- homeassistant/components/miele/translations/it.json +1 -0
- homeassistant/components/miele/translations/sk.json +1 -0
- homeassistant/components/miele/translations/sr-Latn.json +10 -0
- homeassistant/components/miele/translations/tr.json +20 -1
- homeassistant/components/miele/translations/zh-Hant.json +1 -0
- homeassistant/components/min_max/translations/sr-Latn.json +44 -2
- homeassistant/components/mold_indicator/translations/sr-Latn.json +41 -3
- homeassistant/components/motion_blinds/manifest.json +1 -0
- homeassistant/components/mqtt/entity.py +1 -0
- homeassistant/components/mqtt/strings.json +4 -5
- homeassistant/components/mqtt/translations/bg.json +0 -5
- homeassistant/components/mqtt/translations/cs.json +3 -6
- homeassistant/components/mqtt/translations/de.json +7 -8
- homeassistant/components/mqtt/translations/en-GB.json +3 -6
- homeassistant/components/mqtt/translations/en.json +4 -5
- homeassistant/components/mqtt/translations/es.json +91 -8
- homeassistant/components/mqtt/translations/et.json +4 -5
- homeassistant/components/mqtt/translations/fr.json +1 -4
- homeassistant/components/mqtt/translations/ga.json +65 -9
- homeassistant/components/mqtt/translations/he.json +1 -6
- homeassistant/components/mqtt/translations/hu.json +0 -2
- homeassistant/components/mqtt/translations/it.json +2 -7
- homeassistant/components/mqtt/translations/lt.json +1 -6
- homeassistant/components/mqtt/translations/mk.json +6 -0
- homeassistant/components/mqtt/translations/nl.json +1 -6
- homeassistant/components/mqtt/translations/pt.json +3 -6
- homeassistant/components/mqtt/translations/ru.json +6 -6
- homeassistant/components/mqtt/translations/sk.json +3 -6
- homeassistant/components/mqtt/translations/sr-Latn.json +148 -22
- homeassistant/components/mqtt/translations/sv.json +1 -2
- homeassistant/components/mqtt/translations/tr.json +255 -5
- homeassistant/components/mqtt/translations/zh-Hans.json +3 -6
- homeassistant/components/mqtt/translations/zh-Hant.json +4 -5
- homeassistant/components/music_assistant/manifest.json +1 -0
- homeassistant/components/music_assistant/translations/el.json +3 -1
- homeassistant/components/music_assistant/translations/en-GB.json +23 -1
- homeassistant/components/music_assistant/translations/es.json +25 -1
- homeassistant/components/music_assistant/translations/et.json +1 -0
- homeassistant/components/music_assistant/translations/ga.json +24 -1
- homeassistant/components/music_assistant/translations/it.json +26 -1
- homeassistant/components/music_assistant/translations/nl.json +3 -1
- homeassistant/components/music_assistant/translations/ru.json +23 -1
- homeassistant/components/music_assistant/translations/sv.json +3 -1
- homeassistant/components/music_assistant/translations/tr.json +24 -1
- homeassistant/components/music_assistant/translations/zh-Hans.json +16 -0
- homeassistant/components/nasweb/translations/tr.json +7 -0
- homeassistant/components/neato/translations/es.json +5 -0
- homeassistant/components/neato/translations/ga.json +5 -0
- homeassistant/components/neato/translations/tr.json +5 -0
- homeassistant/components/nederlandse_spoorwegen/translations/es.json +10 -0
- homeassistant/components/nederlandse_spoorwegen/translations/tr.json +25 -0
- homeassistant/components/nest/manifest.json +1 -1
- homeassistant/components/nest/translations/es.json +12 -0
- homeassistant/components/nest/translations/tr.json +12 -0
- homeassistant/components/netgear/translations/sr-Latn.json +3 -0
- homeassistant/components/nextdns/translations/tr.json +14 -1
- homeassistant/components/nightscout/translations/tr.json +4 -0
- homeassistant/components/niko_home_control/translations/el.json +18 -0
- homeassistant/components/niko_home_control/translations/es.json +3 -1
- homeassistant/components/niko_home_control/translations/tr.json +10 -1
- homeassistant/components/nina/translations/el.json +6 -0
- homeassistant/components/nina/translations/en-GB.json +8 -0
- homeassistant/components/nina/translations/es.json +8 -0
- homeassistant/components/nina/translations/ga.json +8 -0
- homeassistant/components/nina/translations/tr.json +54 -0
- homeassistant/components/nina/translations/zh-Hans.json +2 -0
- homeassistant/components/nintendo_parental_controls/translations/tr.json +68 -0
- homeassistant/components/notify/translations/sr-Latn.json +3 -0
- homeassistant/components/ntfy/translations/tr.json +78 -0
- homeassistant/components/nuki/manifest.json +1 -0
- homeassistant/components/number/translations/sr-Latn.json +181 -0
- homeassistant/components/number/translations/tr.json +6 -0
- homeassistant/components/octoprint/translations/tr.json +10 -0
- homeassistant/components/onboarding/const.py +16 -1
- homeassistant/components/onboarding/views.py +2 -2
- homeassistant/components/onedrive/translations/es.json +3 -0
- homeassistant/components/onewire/translations/tr.json +10 -0
- homeassistant/components/openai_conversation/translations/tr.json +6 -1
- homeassistant/components/openrgb/translations/tr.json +84 -0
- homeassistant/components/opentherm_gw/services.py +17 -2
- homeassistant/components/opentherm_gw/strings.json +3 -3
- homeassistant/components/opentherm_gw/translations/cs.json +3 -3
- homeassistant/components/opentherm_gw/translations/de.json +3 -3
- homeassistant/components/opentherm_gw/translations/el.json +3 -3
- homeassistant/components/opentherm_gw/translations/en-GB.json +3 -3
- homeassistant/components/opentherm_gw/translations/en.json +3 -3
- homeassistant/components/opentherm_gw/translations/es.json +3 -3
- homeassistant/components/opentherm_gw/translations/et.json +3 -3
- homeassistant/components/opentherm_gw/translations/ga.json +0 -3
- homeassistant/components/opentherm_gw/translations/hu.json +0 -3
- homeassistant/components/opentherm_gw/translations/it.json +0 -2
- homeassistant/components/opentherm_gw/translations/ja.json +0 -3
- homeassistant/components/opentherm_gw/translations/lt.json +3 -3
- homeassistant/components/opentherm_gw/translations/nl.json +0 -2
- homeassistant/components/opentherm_gw/translations/pt.json +3 -3
- homeassistant/components/opentherm_gw/translations/ru.json +3 -3
- homeassistant/components/opentherm_gw/translations/sk.json +3 -3
- homeassistant/components/opentherm_gw/translations/sv.json +0 -3
- homeassistant/components/opentherm_gw/translations/tr.json +0 -3
- homeassistant/components/opentherm_gw/translations/zh-Hans.json +3 -3
- homeassistant/components/opentherm_gw/translations/zh-Hant.json +3 -3
- homeassistant/components/openweathermap/translations/tr.json +49 -0
- homeassistant/components/opower/translations/tr.json +33 -1
- homeassistant/components/oralb/translations/tr.json +29 -2
- homeassistant/components/ping/manifest.json +1 -0
- homeassistant/components/playstation_network/translations/tr.json +56 -0
- homeassistant/components/plugwise/translations/es.json +2 -0
- homeassistant/components/plugwise/translations/sr-Latn.json +12 -0
- homeassistant/components/plugwise/translations/tr.json +11 -1
- homeassistant/components/plum_lightpad/translations/tr.json +8 -1
- homeassistant/components/point/translations/es.json +5 -0
- homeassistant/components/pooldose/translations/en-GB.json +11 -0
- homeassistant/components/pooldose/translations/es.json +68 -0
- homeassistant/components/pooldose/translations/ga.json +11 -0
- homeassistant/components/pooldose/translations/it.json +11 -0
- homeassistant/components/pooldose/translations/tr.json +84 -1
- homeassistant/components/pooldose/translations/zh-Hans.json +6 -0
- homeassistant/components/portainer/translations/tr.json +82 -0
- homeassistant/components/probe_plus/translations/tr.json +5 -0
- homeassistant/components/prowl/translations/tr.json +21 -0
- homeassistant/components/ps4/translations/tr.json +6 -0
- homeassistant/components/qbittorrent/translations/tr.json +4 -0
- homeassistant/components/qbus/translations/tr.json +10 -0
- homeassistant/components/random/translations/es.json +1 -0
- homeassistant/components/random/translations/sr-Latn.json +119 -6
- homeassistant/components/random/translations/tr.json +2 -0
- homeassistant/components/remote/translations/mk.json +10 -0
- homeassistant/components/renault/translations/tr.json +12 -0
- homeassistant/components/reolink/manifest.json +1 -0
- homeassistant/components/reolink/translations/pl.json +10 -1
- homeassistant/components/reolink/translations/tr.json +67 -1
- homeassistant/components/rest/manifest.json +1 -0
- homeassistant/components/ridwell/translations/tr.json +22 -0
- homeassistant/components/ring/manifest.json +1 -0
- homeassistant/components/roborock/manifest.json +2 -1
- homeassistant/components/roborock/translations/tr.json +9 -1
- homeassistant/components/roomba/translations/tr.json +6 -0
- homeassistant/components/satel_integra/translations/sr-Latn.json +2 -1
- homeassistant/components/satel_integra/translations/tr.json +131 -0
- homeassistant/components/saunum/translations/el.json +7 -1
- homeassistant/components/saunum/translations/en-GB.json +11 -1
- homeassistant/components/saunum/translations/es.json +38 -1
- homeassistant/components/saunum/translations/et.json +11 -1
- homeassistant/components/saunum/translations/ga.json +38 -1
- homeassistant/components/saunum/translations/mk.json +5 -0
- homeassistant/components/saunum/translations/ru.json +9 -0
- homeassistant/components/saunum/translations/sr-Latn.json +9 -0
- homeassistant/components/saunum/translations/tr.json +11 -1
- homeassistant/components/schedule/translations/sr-Latn.json +18 -1
- homeassistant/components/scrape/translations/es.json +1 -0
- homeassistant/components/scrape/translations/sr-Latn.json +63 -2
- homeassistant/components/scrape/translations/tr.json +4 -0
- homeassistant/components/script/translations/mk.json +10 -0
- homeassistant/components/sensibo/translations/sr-Latn.json +19 -0
- homeassistant/components/sensor/translations/sr-Latn.json +141 -5
- homeassistant/components/sensor/translations/tr.json +10 -0
- homeassistant/components/senz/manifest.json +1 -0
- homeassistant/components/senz/translations/es.json +17 -1
- homeassistant/components/sfr_box/translations/tr.json +4 -0
- homeassistant/components/sftp_storage/translations/tr.json +22 -0
- homeassistant/components/shelly/manifest.json +1 -1
- homeassistant/components/shelly/sensor.py +0 -2
- homeassistant/components/shelly/strings.json +8 -0
- homeassistant/components/shelly/switch.py +0 -1
- homeassistant/components/shelly/translations/bg.json +5 -0
- homeassistant/components/shelly/translations/cs.json +8 -0
- homeassistant/components/shelly/translations/de.json +8 -0
- homeassistant/components/shelly/translations/en-GB.json +8 -0
- homeassistant/components/shelly/translations/en.json +8 -0
- homeassistant/components/shelly/translations/es.json +192 -2
- homeassistant/components/shelly/translations/et.json +10 -1
- homeassistant/components/shelly/translations/fr.json +10 -0
- homeassistant/components/shelly/translations/ga.json +46 -0
- homeassistant/components/shelly/translations/it.json +13 -2
- homeassistant/components/shelly/translations/lt.json +8 -0
- homeassistant/components/shelly/translations/mk.json +3 -0
- homeassistant/components/shelly/translations/nl.json +7 -0
- homeassistant/components/shelly/translations/pl.json +8 -0
- homeassistant/components/shelly/translations/pt.json +8 -0
- homeassistant/components/shelly/translations/ru.json +5 -0
- homeassistant/components/shelly/translations/sk.json +8 -0
- homeassistant/components/shelly/translations/tr.json +171 -5
- homeassistant/components/shelly/translations/zh-Hans.json +8 -0
- homeassistant/components/shelly/translations/zh-Hant.json +8 -0
- homeassistant/components/shelly/valve.py +1 -1
- homeassistant/components/siren/translations/mk.json +4 -2
- homeassistant/components/sleep_as_android/translations/tr.json +68 -0
- homeassistant/components/smarla/translations/tr.json +15 -0
- homeassistant/components/smartthings/manifest.json +1 -0
- homeassistant/components/smartthings/translations/es.json +74 -0
- homeassistant/components/smartthings/translations/nl.json +13 -0
- homeassistant/components/smartthings/translations/tr.json +20 -0
- homeassistant/components/smhi/translations/tr.json +19 -0
- homeassistant/components/snoo/translations/tr.json +8 -0
- homeassistant/components/solaredge/translations/tr.json +64 -3
- homeassistant/components/sonos/manifest.json +1 -0
- homeassistant/components/speedtestdotnet/manifest.json +1 -0
- homeassistant/components/spotify/translations/es.json +5 -0
- homeassistant/components/sql/translations/es.json +1 -0
- homeassistant/components/sql/translations/sr-Latn.json +61 -2
- homeassistant/components/sql/translations/tr.json +83 -0
- homeassistant/components/squeezebox/translations/mk.json +5 -0
- homeassistant/components/squeezebox/translations/tr.json +63 -0
- homeassistant/components/starline/translations/sr-Latn.json +7 -0
- homeassistant/components/statistics/translations/sr-Latn.json +118 -2
- homeassistant/components/switch/translations/mk.json +5 -1
- homeassistant/components/switch/translations/sr-Latn.json +2 -1
- homeassistant/components/switch_as_x/translations/sr-Latn.json +27 -3
- homeassistant/components/switchbot/manifest.json +1 -0
- homeassistant/components/switchbot/translations/el.json +2 -1
- homeassistant/components/switchbot/translations/tr.json +34 -0
- homeassistant/components/switchbot_cloud/translations/tr.json +20 -0
- homeassistant/components/synology_dsm/translations/sr-Latn.json +3 -0
- homeassistant/components/system_bridge/translations/tr.json +3 -0
- homeassistant/components/systemmonitor/translations/tr.json +6 -0
- homeassistant/components/tautulli/translations/de.json +1 -1
- homeassistant/components/telegram/translations/de.json +1 -1
- homeassistant/components/telegram/translations/tr.json +6 -0
- homeassistant/components/telegram_bot/translations/tr.json +203 -4
- homeassistant/components/template/__init__.py +11 -0
- homeassistant/components/template/helpers.py +2 -0
- homeassistant/components/template/translations/de.json +4 -4
- homeassistant/components/template/translations/el.json +4 -0
- homeassistant/components/template/translations/es.json +5 -0
- homeassistant/components/template/translations/ga.json +4 -0
- homeassistant/components/template/translations/it.json +4 -0
- homeassistant/components/template/translations/pl.json +37 -0
- homeassistant/components/template/translations/ru.json +4 -0
- homeassistant/components/template/translations/sr-Latn.json +933 -72
- homeassistant/components/template/translations/tr.json +172 -2
- homeassistant/components/template/translations/zh-Hans.json +4 -0
- homeassistant/components/tesla_fleet/manifest.json +1 -0
- homeassistant/components/tesla_fleet/translations/es.json +5 -0
- homeassistant/components/tesla_fleet/translations/sr-Latn.json +5 -0
- homeassistant/components/tesla_wall_connector/translations/es.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/ga.json +3 -0
- homeassistant/components/teslemetry/manifest.json +1 -0
- homeassistant/components/teslemetry/translations/sr-Latn.json +5 -0
- homeassistant/components/teslemetry/translations/tr.json +77 -1
- homeassistant/components/tessie/manifest.json +1 -0
- homeassistant/components/tessie/translations/sr-Latn.json +5 -0
- homeassistant/components/tessie/translations/tr.json +3 -0
- homeassistant/components/text/strings.json +2 -3
- homeassistant/components/text/translations/bg.json +1 -8
- homeassistant/components/text/translations/cs.json +1 -8
- homeassistant/components/text/translations/de.json +2 -3
- homeassistant/components/text/translations/en.json +2 -3
- homeassistant/components/text/translations/es.json +7 -1
- homeassistant/components/text/translations/et.json +7 -1
- homeassistant/components/text/translations/lt.json +1 -8
- homeassistant/components/text/translations/pt.json +1 -8
- homeassistant/components/text/translations/sk.json +1 -8
- homeassistant/components/text/translations/sr-Latn.json +4 -2
- homeassistant/components/text/translations/zh-Hant.json +2 -3
- homeassistant/components/tod/translations/sr-Latn.json +16 -1
- homeassistant/components/togrill/translations/tr.json +58 -0
- homeassistant/components/tolo/translations/tr.json +2 -1
- homeassistant/components/tomorrowio/translations/sr-Latn.json +24 -0
- homeassistant/components/tplink/manifest.json +1 -0
- homeassistant/components/traccar_server/translations/tr.json +12 -0
- homeassistant/components/transmission/translations/tr.json +24 -0
- homeassistant/components/trend/translations/sr-Latn.json +21 -0
- homeassistant/components/tuya/__init__.py +12 -4
- homeassistant/components/tuya/binary_sensor.py +2 -2
- homeassistant/components/tuya/humidifier.py +3 -3
- homeassistant/components/tuya/models.py +18 -20
- homeassistant/components/tuya/translations/es.json +32 -0
- homeassistant/components/tuya/translations/ga.json +6 -0
- homeassistant/components/tuya/translations/sr-Latn.json +45 -0
- homeassistant/components/tuya/translations/tr.json +72 -0
- homeassistant/components/tuya/util.py +11 -9
- homeassistant/components/twitch/translations/es.json +5 -0
- homeassistant/components/ukraine_alarm/translations/tr.json +2 -1
- homeassistant/components/unifi/light.py +62 -29
- homeassistant/components/unifi/translations/es.json +3 -0
- homeassistant/components/unifi/translations/tr.json +5 -0
- homeassistant/components/unifiprotect/camera.py +5 -1
- homeassistant/components/unifiprotect/manifest.json +1 -1
- homeassistant/components/unifiprotect/translations/bg.json +0 -7
- homeassistant/components/unifiprotect/translations/cs.json +1 -1
- homeassistant/components/unifiprotect/translations/de.json +1 -1
- homeassistant/components/unifiprotect/translations/el.json +0 -10
- homeassistant/components/unifiprotect/translations/en-GB.json +11 -1
- homeassistant/components/unifiprotect/translations/en.json +1 -1
- homeassistant/components/unifiprotect/translations/es.json +11 -1
- homeassistant/components/unifiprotect/translations/fi.json +0 -7
- homeassistant/components/unifiprotect/translations/ga.json +10 -10
- homeassistant/components/unifiprotect/translations/lt.json +0 -10
- homeassistant/components/unifiprotect/translations/nl.json +0 -3
- homeassistant/components/unifiprotect/translations/pt.json +0 -10
- homeassistant/components/unifiprotect/translations/sk.json +1 -1
- homeassistant/components/unifiprotect/translations/sr-Latn.json +11 -0
- homeassistant/components/unifiprotect/translations/sv.json +3 -0
- homeassistant/components/unifiprotect/translations/tr.json +10 -0
- homeassistant/components/unifiprotect/translations/zh-Hans.json +2 -3
- homeassistant/components/unifiprotect/translations/zh-Hant.json +1 -1
- homeassistant/components/update/translations/sr-Latn.json +51 -1
- homeassistant/components/uptime_kuma/translations/tr.json +13 -0
- homeassistant/components/utility_meter/translations/sr-Latn.json +63 -2
- homeassistant/components/vacuum/strings.json +8 -12
- homeassistant/components/vacuum/translations/cs.json +4 -16
- homeassistant/components/vacuum/translations/de.json +7 -11
- homeassistant/components/vacuum/translations/en-GB.json +48 -1
- homeassistant/components/vacuum/translations/en.json +8 -12
- homeassistant/components/vacuum/translations/es.json +56 -1
- homeassistant/components/vacuum/translations/et.json +51 -1
- homeassistant/components/vacuum/translations/ga.json +48 -1
- homeassistant/components/vacuum/translations/lt.json +4 -16
- homeassistant/components/vacuum/translations/mk.json +10 -0
- homeassistant/components/vacuum/translations/pt.json +4 -16
- homeassistant/components/vacuum/translations/ru.json +48 -1
- homeassistant/components/vacuum/translations/sk.json +4 -16
- homeassistant/components/vacuum/translations/sv.json +13 -1
- homeassistant/components/vacuum/translations/tr.json +48 -1
- homeassistant/components/vacuum/translations/zh-Hans.json +6 -2
- homeassistant/components/vacuum/translations/zh-Hant.json +8 -12
- homeassistant/components/vegehub/translations/tr.json +5 -0
- homeassistant/components/velux/translations/tr.json +12 -0
- homeassistant/components/vesync/manifest.json +1 -1
- homeassistant/components/vesync/translations/tr.json +11 -0
- homeassistant/components/vicare/translations/es.json +54 -0
- homeassistant/components/vicare/translations/sr-Latn.json +10 -0
- homeassistant/components/vicare/translations/tr.json +21 -0
- homeassistant/components/victron_ble/translations/es.json +234 -0
- homeassistant/components/victron_remote_monitoring/translations/tr.json +102 -0
- homeassistant/components/volvo/translations/es.json +6 -0
- homeassistant/components/volvo/translations/tr.json +142 -0
- homeassistant/components/volvooncall/translations/tr.json +18 -1
- homeassistant/components/waqi/translations/sr-Latn.json +32 -0
- homeassistant/components/waqi/translations/tr.json +40 -0
- homeassistant/components/water_heater/translations/mk.json +10 -0
- homeassistant/components/water_heater/translations/sr-Latn.json +2 -1
- homeassistant/components/weatherflow/translations/tr.json +8 -0
- homeassistant/components/webostv/manifest.json +1 -0
- homeassistant/components/whirlpool/translations/tr.json +81 -0
- homeassistant/components/withings/translations/es.json +5 -0
- homeassistant/components/withings/translations/sr-Latn.json +5 -0
- homeassistant/components/wled/translations/cs.json +6 -1
- homeassistant/components/wled/translations/el.json +20 -1
- homeassistant/components/wled/translations/en-GB.json +6 -1
- homeassistant/components/wled/translations/es.json +6 -1
- homeassistant/components/wled/translations/ga.json +6 -1
- homeassistant/components/wled/translations/it.json +6 -1
- homeassistant/components/wled/translations/lt.json +6 -1
- homeassistant/components/wled/translations/nl.json +2 -1
- homeassistant/components/wled/translations/pl.json +8 -1
- homeassistant/components/wled/translations/pt.json +6 -1
- homeassistant/components/wled/translations/ru.json +20 -1
- homeassistant/components/wled/translations/tr.json +26 -1
- homeassistant/components/wled/translations/zh-Hans.json +6 -1
- homeassistant/components/wled/translations/zh-Hant.json +6 -1
- homeassistant/components/workday/translations/tr.json +5 -0
- homeassistant/components/xbox/translations/es.json +16 -1
- homeassistant/components/xbox/translations/ga.json +10 -1
- homeassistant/components/xbox/translations/tr.json +111 -0
- homeassistant/components/xiaomi_ble/manifest.json +1 -0
- homeassistant/components/yardian/translations/tr.json +16 -0
- homeassistant/components/yolink/translations/tr.json +14 -0
- homeassistant/components/youtube/manifest.json +1 -1
- homeassistant/components/youtube/translations/es.json +5 -0
- homeassistant/components/zeroconf/translations/tr.json +14 -0
- homeassistant/components/zha/manifest.json +1 -0
- homeassistant/components/zha/translations/de.json +1 -1
- homeassistant/components/zha/translations/en-GB.json +44 -0
- homeassistant/components/zha/translations/es.json +44 -0
- homeassistant/components/zha/translations/ga.json +44 -0
- homeassistant/components/zha/translations/it.json +44 -0
- homeassistant/components/zha/translations/mk.json +18 -1
- homeassistant/components/zha/translations/sr-Latn.json +3 -0
- homeassistant/components/zha/translations/tr.json +213 -2
- homeassistant/components/zha/translations/zh-Hans.json +12 -0
- homeassistant/components/zwave_js/translations/tr.json +17 -0
- homeassistant/const.py +2 -1
- homeassistant/generated/integrations.json +19 -19
- homeassistant/helpers/area_registry.py +8 -1
- homeassistant/helpers/condition.py +16 -1
- homeassistant/helpers/entity.py +3 -1
- homeassistant/helpers/floor_registry.py +12 -1
- homeassistant/helpers/trigger.py +16 -1
- homeassistant/package_constraints.txt +2 -2
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/METADATA +1 -1
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/RECORD +891 -808
- homeassistant/components/cover/trigger.py +0 -116
- homeassistant/components/cover/triggers.yaml +0 -79
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/WHEEL +0 -0
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.12.0b2.dist-info → homeassistant-2025.12.0b5.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
+
"common": {
|
|
3
|
+
"trigger_behavior_description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
4
|
+
"trigger_behavior_name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
5
|
+
},
|
|
2
6
|
"device_automation": {
|
|
3
7
|
"action_type": {
|
|
4
8
|
"set_hvac_mode": "\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b \"{entity_name}\"",
|
|
@@ -187,6 +191,13 @@
|
|
|
187
191
|
"heat_cool": "\u041e\u0431\u043e\u0433\u0440\u0435\u0432 / \u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435",
|
|
188
192
|
"off": "\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
|
|
189
193
|
}
|
|
194
|
+
},
|
|
195
|
+
"trigger_behavior": {
|
|
196
|
+
"options": {
|
|
197
|
+
"any": "\u041b\u044e\u0431\u043e\u0435",
|
|
198
|
+
"first": "\u041f\u0435\u0440\u0432\u043e\u0435",
|
|
199
|
+
"last": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435"
|
|
200
|
+
}
|
|
190
201
|
}
|
|
191
202
|
},
|
|
192
203
|
"services": {
|
|
@@ -285,5 +296,47 @@
|
|
|
285
296
|
"name": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c"
|
|
286
297
|
}
|
|
287
298
|
},
|
|
288
|
-
"title": "\u041a\u043b\u0438\u043c\u0430\u0442"
|
|
299
|
+
"title": "\u041a\u043b\u0438\u043c\u0430\u0442",
|
|
300
|
+
"triggers": {
|
|
301
|
+
"started_cooling": {
|
|
302
|
+
"fields": {
|
|
303
|
+
"behavior": {
|
|
304
|
+
"description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
305
|
+
"name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"started_drying": {
|
|
310
|
+
"fields": {
|
|
311
|
+
"behavior": {
|
|
312
|
+
"description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
313
|
+
"name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"started_heating": {
|
|
318
|
+
"fields": {
|
|
319
|
+
"behavior": {
|
|
320
|
+
"description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
321
|
+
"name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
"turned_off": {
|
|
326
|
+
"fields": {
|
|
327
|
+
"behavior": {
|
|
328
|
+
"description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
329
|
+
"name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"turned_on": {
|
|
334
|
+
"fields": {
|
|
335
|
+
"behavior": {
|
|
336
|
+
"description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
|
|
337
|
+
"name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
289
342
|
}
|
|
@@ -299,59 +299,44 @@
|
|
|
299
299
|
"title": "Klimatiz\u00e1cia",
|
|
300
300
|
"triggers": {
|
|
301
301
|
"started_cooling": {
|
|
302
|
-
"description": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa za\u010dne ochladzova\u0165 podnebie.",
|
|
303
|
-
"description_configured": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa za\u010dne ochladzova\u0165 podnebie.",
|
|
304
302
|
"fields": {
|
|
305
303
|
"behavior": {
|
|
306
304
|
"description": "Spr\u00e1vanie cie\u013eov\u00fdch klimatick\u00fdch oblast\u00ed, ktor\u00e9 sa maj\u00fa spusti\u0165.",
|
|
307
305
|
"name": "Spr\u00e1vanie"
|
|
308
306
|
}
|
|
309
|
-
}
|
|
310
|
-
"name": "Ke\u010f sa za\u010dala kl\u00edma ochladzova\u0165"
|
|
307
|
+
}
|
|
311
308
|
},
|
|
312
309
|
"started_drying": {
|
|
313
|
-
"description": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa podnebie za\u010dne su\u0161i\u0165.",
|
|
314
|
-
"description_configured": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa podnebie za\u010dne su\u0161i\u0165.",
|
|
315
310
|
"fields": {
|
|
316
311
|
"behavior": {
|
|
317
312
|
"description": "Spr\u00e1vanie cie\u013eov\u00fdch klimatick\u00fdch oblast\u00ed, ktor\u00e9 sa maj\u00fa spusti\u0165.",
|
|
318
313
|
"name": "Spr\u00e1vanie"
|
|
319
314
|
}
|
|
320
|
-
}
|
|
321
|
-
"name": "Ke\u010f sa za\u010dalo vysu\u0161ova\u0165 podnebie"
|
|
315
|
+
}
|
|
322
316
|
},
|
|
323
317
|
"started_heating": {
|
|
324
|
-
"description": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa kl\u00edma za\u010dne otep\u013eova\u0165.",
|
|
325
|
-
"description_configured": "Sp\u00fa\u0161\u0165a sa, ke\u010f sa kl\u00edma za\u010dne otep\u013eova\u0165.",
|
|
326
318
|
"fields": {
|
|
327
319
|
"behavior": {
|
|
328
320
|
"description": "Spr\u00e1vanie cie\u013eov\u00fdch klimatick\u00fdch oblast\u00ed, ktor\u00e9 sa maj\u00fa spusti\u0165.",
|
|
329
321
|
"name": "Spr\u00e1vanie"
|
|
330
322
|
}
|
|
331
|
-
}
|
|
332
|
-
"name": "Ke\u010f sa kl\u00edma za\u010dne otep\u013eova\u0165"
|
|
323
|
+
}
|
|
333
324
|
},
|
|
334
325
|
"turned_off": {
|
|
335
|
-
"description": "Sp\u00fa\u0161\u0165a sa, ke\u010f je kl\u00edma vypnut\u00e1.",
|
|
336
|
-
"description_configured": "Sp\u00fa\u0161\u0165a sa, ke\u010f je kl\u00edma vypnut\u00e1.",
|
|
337
326
|
"fields": {
|
|
338
327
|
"behavior": {
|
|
339
328
|
"description": "Spr\u00e1vanie cie\u013eov\u00fdch klimatick\u00fdch oblast\u00ed, ktor\u00e9 sa maj\u00fa spusti\u0165.",
|
|
340
329
|
"name": "Spr\u00e1vanie"
|
|
341
330
|
}
|
|
342
|
-
}
|
|
343
|
-
"name": "Ke\u010f je kl\u00edma vypnut\u00e1"
|
|
331
|
+
}
|
|
344
332
|
},
|
|
345
333
|
"turned_on": {
|
|
346
|
-
"description": "Sp\u00fa\u0161\u0165a sa pri zapnut\u00ed kl\u00edmy.",
|
|
347
|
-
"description_configured": "Sp\u00fa\u0161\u0165a sa pri zapnut\u00ed kl\u00edmy.",
|
|
348
334
|
"fields": {
|
|
349
335
|
"behavior": {
|
|
350
336
|
"description": "Spr\u00e1vanie cie\u013eov\u00fdch klimatick\u00fdch oblast\u00ed, ktor\u00e9 sa maj\u00fa spusti\u0165.",
|
|
351
337
|
"name": "Spr\u00e1vanie"
|
|
352
338
|
}
|
|
353
|
-
}
|
|
354
|
-
"name": "Ke\u010f je zapnut\u00e1 kl\u00edma"
|
|
339
|
+
}
|
|
355
340
|
}
|
|
356
341
|
}
|
|
357
342
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"common": {
|
|
3
|
+
"trigger_behavior_description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
4
|
+
"trigger_behavior_name": "Pona\u0161anje"
|
|
5
|
+
},
|
|
2
6
|
"device_automation": {
|
|
3
7
|
"extra_fields": {
|
|
4
8
|
"above": "Iznad",
|
|
5
9
|
"below": "Ispod",
|
|
6
10
|
"for": "Trajanje",
|
|
7
|
-
"hvac_mode": "HVAC
|
|
11
|
+
"hvac_mode": "HVAC re\u017eim",
|
|
8
12
|
"preset_mode": "Unapred pode\u0161eni re\u017eim",
|
|
9
13
|
"to": "Do"
|
|
10
14
|
}
|
|
@@ -56,11 +60,18 @@
|
|
|
56
60
|
"hvac_modes": {
|
|
57
61
|
"name": "HVAC re\u017eim"
|
|
58
62
|
},
|
|
63
|
+
"max_temp": {
|
|
64
|
+
"name": "Maksimalna ciljna temperatura"
|
|
65
|
+
},
|
|
66
|
+
"min_temp": {
|
|
67
|
+
"name": "Minimalna ciljna temperatura"
|
|
68
|
+
},
|
|
59
69
|
"preset_mode": {
|
|
60
70
|
"name": "Unapred postavljeno",
|
|
61
71
|
"state": {
|
|
62
72
|
"activity": "Aktivno",
|
|
63
73
|
"away": "Odsutan",
|
|
74
|
+
"boost": "Poja\u010daj",
|
|
64
75
|
"comfort": "Udobno",
|
|
65
76
|
"eco": "Eko",
|
|
66
77
|
"home": "Kod ku\u0107e",
|
|
@@ -94,6 +105,12 @@
|
|
|
94
105
|
"swing_modes": {
|
|
95
106
|
"name": "Na\u010dini njihanja"
|
|
96
107
|
},
|
|
108
|
+
"target_temp_high": {
|
|
109
|
+
"name": "Gornja ciljna temperatura"
|
|
110
|
+
},
|
|
111
|
+
"target_temp_low": {
|
|
112
|
+
"name": "Donja ciljna temperatura"
|
|
113
|
+
},
|
|
97
114
|
"temperature": {
|
|
98
115
|
"name": "Ciljna temperatura"
|
|
99
116
|
}
|
|
@@ -142,6 +159,13 @@
|
|
|
142
159
|
"heat_cool": "Hla\u0111anje/Grejanje",
|
|
143
160
|
"off": "Isklju\u010deno"
|
|
144
161
|
}
|
|
162
|
+
},
|
|
163
|
+
"trigger_behavior": {
|
|
164
|
+
"options": {
|
|
165
|
+
"any": "Bilo koje",
|
|
166
|
+
"first": "Prvo",
|
|
167
|
+
"last": "Poslednje"
|
|
168
|
+
}
|
|
145
169
|
}
|
|
146
170
|
},
|
|
147
171
|
"services": {
|
|
@@ -152,6 +176,16 @@
|
|
|
152
176
|
}
|
|
153
177
|
}
|
|
154
178
|
},
|
|
179
|
+
"set_humidity": {
|
|
180
|
+
"description": "Pode\u0161ava ciljanu vla\u017enost.",
|
|
181
|
+
"fields": {
|
|
182
|
+
"humidity": {
|
|
183
|
+
"description": "Ciljna vla\u017enost.",
|
|
184
|
+
"name": "Vla\u017enost"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"name": "Podesi ciljanu vla\u017enost"
|
|
188
|
+
},
|
|
155
189
|
"set_hvac_mode": {
|
|
156
190
|
"fields": {
|
|
157
191
|
"hvac_mode": {
|
|
@@ -179,21 +213,85 @@
|
|
|
179
213
|
},
|
|
180
214
|
"set_temperature": {
|
|
181
215
|
"fields": {
|
|
216
|
+
"hvac_mode": {
|
|
217
|
+
"description": "Re\u017eim rada HVAC\u2011a.",
|
|
218
|
+
"name": "HVAC re\u017eim"
|
|
219
|
+
},
|
|
220
|
+
"target_temp_high": {
|
|
221
|
+
"name": "Gornja ciljna temperatura"
|
|
222
|
+
},
|
|
223
|
+
"target_temp_low": {
|
|
224
|
+
"name": "Donja ciljna temperatura"
|
|
225
|
+
},
|
|
182
226
|
"temperature": {
|
|
183
227
|
"name": "Ciljna temperatura"
|
|
184
228
|
}
|
|
185
|
-
}
|
|
229
|
+
},
|
|
230
|
+
"name": "Podesi ciljnu temperaturu"
|
|
186
231
|
},
|
|
187
232
|
"toggle": {
|
|
188
233
|
"description": "Prebacuje stanje klima ure\u0111aja, iz uklju\u010denog u isklju\u010den ili iz isklju\u010denog u uklju\u010den.",
|
|
189
234
|
"name": "Prebaci"
|
|
190
235
|
},
|
|
191
236
|
"turn_off": {
|
|
237
|
+
"description": "Isklju\u010duje klima ure\u0111aj.",
|
|
192
238
|
"name": "Isklju\u010di"
|
|
193
239
|
},
|
|
194
240
|
"turn_on": {
|
|
195
241
|
"name": "Uklju\u010di"
|
|
196
242
|
}
|
|
197
243
|
},
|
|
198
|
-
"title": "Klima"
|
|
244
|
+
"title": "Klima",
|
|
245
|
+
"triggers": {
|
|
246
|
+
"started_cooling": {
|
|
247
|
+
"description": "Pokre\u0107e se kada jedan ili vi\u0161e ure\u0111aja za kontrolu klime zapo\u010dnu hla\u0111enje.",
|
|
248
|
+
"fields": {
|
|
249
|
+
"behavior": {
|
|
250
|
+
"description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
251
|
+
"name": "Pona\u0161anje"
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"name": "Ure\u0111aj za kontrolu klime je po\u010deo da hladi"
|
|
255
|
+
},
|
|
256
|
+
"started_drying": {
|
|
257
|
+
"description": "Pokre\u0107e se kada jedan ili vi\u0161e ure\u0111aja za kontrolu klime zapo\u010dnu re\u017eim su\u0161enja.",
|
|
258
|
+
"fields": {
|
|
259
|
+
"behavior": {
|
|
260
|
+
"description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
261
|
+
"name": "Pona\u0161anje"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"name": "Ure\u0111aj za kontrolu klime je zapo\u010deo re\u017eim su\u0161enja"
|
|
265
|
+
},
|
|
266
|
+
"started_heating": {
|
|
267
|
+
"description": "Pokre\u0107e se kada jedan ili vi\u0161e ure\u0111aja za kontrolu klime zapo\u010dnu grejanje.",
|
|
268
|
+
"fields": {
|
|
269
|
+
"behavior": {
|
|
270
|
+
"description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
271
|
+
"name": "Pona\u0161anje"
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"name": "Ure\u0111aj za kontrolu klime je zapo\u010deo grejanje"
|
|
275
|
+
},
|
|
276
|
+
"turned_off": {
|
|
277
|
+
"description": "Pokre\u0107e se kada se jedan ili vi\u0161e ure\u0111aja za kontrolu klime isklju\u010de.",
|
|
278
|
+
"fields": {
|
|
279
|
+
"behavior": {
|
|
280
|
+
"description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
281
|
+
"name": "Pona\u0161anje"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"name": "Ure\u0111aj za kontrolu klime je isklju\u010den"
|
|
285
|
+
},
|
|
286
|
+
"turned_on": {
|
|
287
|
+
"description": "Pokre\u0107e se kada se jedan ili vi\u0161e ure\u0111aja za kontrolu klime uklju\u010de, bez obzira na re\u017eim rada.",
|
|
288
|
+
"fields": {
|
|
289
|
+
"behavior": {
|
|
290
|
+
"description": "Pona\u0161anje ciljanih klima\u2011ure\u0111aja na koje se okida\u010d odnosi.",
|
|
291
|
+
"name": "Pona\u0161anje"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"name": "Ure\u0111aj za kontrolu klime je uklju\u010den"
|
|
295
|
+
}
|
|
296
|
+
}
|
|
199
297
|
}
|
|
@@ -276,5 +276,21 @@
|
|
|
276
276
|
"name": "Sl\u00e5 p\u00e5"
|
|
277
277
|
}
|
|
278
278
|
},
|
|
279
|
-
"title": "Klimat"
|
|
279
|
+
"title": "Klimat",
|
|
280
|
+
"triggers": {
|
|
281
|
+
"started_cooling": {
|
|
282
|
+
"fields": {
|
|
283
|
+
"behavior": {
|
|
284
|
+
"name": "Beteende"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
"started_drying": {
|
|
289
|
+
"fields": {
|
|
290
|
+
"behavior": {
|
|
291
|
+
"name": "Beteende"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
280
296
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
+
"common": {
|
|
3
|
+
"trigger_behavior_description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
4
|
+
"trigger_behavior_name": "Davran\u0131\u015f"
|
|
5
|
+
},
|
|
2
6
|
"device_automation": {
|
|
3
7
|
"action_type": {
|
|
4
8
|
"set_hvac_mode": "{entity_name} \u00fczerinde HVAC modunu de\u011fi\u015ftir",
|
|
@@ -170,6 +174,13 @@
|
|
|
170
174
|
"heat": "Is\u0131tma",
|
|
171
175
|
"heat_cool": "Is\u0131tma/so\u011futma"
|
|
172
176
|
}
|
|
177
|
+
},
|
|
178
|
+
"trigger_behavior": {
|
|
179
|
+
"options": {
|
|
180
|
+
"any": "Herhangi bir",
|
|
181
|
+
"first": "Birinci",
|
|
182
|
+
"last": "En son"
|
|
183
|
+
}
|
|
173
184
|
}
|
|
174
185
|
},
|
|
175
186
|
"services": {
|
|
@@ -268,5 +279,47 @@
|
|
|
268
279
|
"name": "A\u00e7"
|
|
269
280
|
}
|
|
270
281
|
},
|
|
271
|
-
"title": "\u0130klimlendirme"
|
|
282
|
+
"title": "\u0130klimlendirme",
|
|
283
|
+
"triggers": {
|
|
284
|
+
"started_cooling": {
|
|
285
|
+
"fields": {
|
|
286
|
+
"behavior": {
|
|
287
|
+
"description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
288
|
+
"name": "Davran\u0131\u015f"
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"started_drying": {
|
|
293
|
+
"fields": {
|
|
294
|
+
"behavior": {
|
|
295
|
+
"description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
296
|
+
"name": "Davran\u0131\u015f"
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"started_heating": {
|
|
301
|
+
"fields": {
|
|
302
|
+
"behavior": {
|
|
303
|
+
"description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
304
|
+
"name": "Davran\u0131\u015f"
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"turned_off": {
|
|
309
|
+
"fields": {
|
|
310
|
+
"behavior": {
|
|
311
|
+
"description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
312
|
+
"name": "Davran\u0131\u015f"
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"turned_on": {
|
|
317
|
+
"fields": {
|
|
318
|
+
"behavior": {
|
|
319
|
+
"description": "Hedeflenen iklimlerin tetikleyici davran\u0131\u015flar\u0131.",
|
|
320
|
+
"name": "Davran\u0131\u015f"
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
272
325
|
}
|
|
@@ -297,6 +297,20 @@
|
|
|
297
297
|
},
|
|
298
298
|
"title": "\u7a7a\u8c03",
|
|
299
299
|
"triggers": {
|
|
300
|
+
"started_cooling": {
|
|
301
|
+
"fields": {
|
|
302
|
+
"behavior": {
|
|
303
|
+
"name": "\u884c\u4e3a"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"started_drying": {
|
|
308
|
+
"fields": {
|
|
309
|
+
"behavior": {
|
|
310
|
+
"name": "\u884c\u4e3a"
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
},
|
|
300
314
|
"started_heating": {
|
|
301
315
|
"fields": {
|
|
302
316
|
"behavior": {
|
|
@@ -299,59 +299,54 @@
|
|
|
299
299
|
"title": "\u6eab\u63a7",
|
|
300
300
|
"triggers": {
|
|
301
301
|
"started_cooling": {
|
|
302
|
-
"description": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u5236\u51b7\u6642\u89f8\u767c\u3002",
|
|
303
|
-
"description_configured": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u5236\u51b7\u6642\u89f8\u767c\u3002",
|
|
302
|
+
"description": "\u7576\u4e00\u500b\u6216\u591a\u500b\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u5236\u51b7\u6642\u89f8\u767c\u3002",
|
|
304
303
|
"fields": {
|
|
305
304
|
"behavior": {
|
|
306
305
|
"description": "\u8981\u89f8\u767c\u7684\u76ee\u6a19\u6eab\u63a7\u5668\u884c\u70ba\u3002",
|
|
307
306
|
"name": "\u884c\u70ba"
|
|
308
307
|
}
|
|
309
308
|
},
|
|
310
|
-
"name": "\
|
|
309
|
+
"name": "\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u5236\u51b7\u6642"
|
|
311
310
|
},
|
|
312
311
|
"started_drying": {
|
|
313
|
-
"description": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u9664\u6fd5\u6642\u89f8\u767c\u3002",
|
|
314
|
-
"description_configured": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u9664\u6fd5\u6642\u89f8\u767c\u3002",
|
|
312
|
+
"description": "\u7576\u4e00\u500b\u6216\u591a\u500b\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u9664\u6fd5\u6642\u89f8\u767c\u3002",
|
|
315
313
|
"fields": {
|
|
316
314
|
"behavior": {
|
|
317
315
|
"description": "\u8981\u89f8\u767c\u7684\u76ee\u6a19\u6eab\u63a7\u5668\u884c\u70ba\u3002",
|
|
318
316
|
"name": "\u884c\u70ba"
|
|
319
317
|
}
|
|
320
318
|
},
|
|
321
|
-
"name": "\
|
|
319
|
+
"name": "\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u9664\u6fd5\u6642"
|
|
322
320
|
},
|
|
323
321
|
"started_heating": {
|
|
324
|
-
"description": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u5236\u71b1\u6642\u89f8\u767c\u3002",
|
|
325
|
-
"description_configured": "\u7576\u6eab\u63a7\u5668\u958b\u59cb\u5236\u71b1\u6642\u89f8\u767c\u3002",
|
|
322
|
+
"description": "\u7576\u4e00\u500b\u6216\u591a\u500b\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u5236\u71b1\u6642\u89f8\u767c\u3002",
|
|
326
323
|
"fields": {
|
|
327
324
|
"behavior": {
|
|
328
325
|
"description": "\u8981\u89f8\u767c\u7684\u76ee\u6a19\u6eab\u63a7\u5668\u884c\u70ba\u3002",
|
|
329
326
|
"name": "\u884c\u70ba"
|
|
330
327
|
}
|
|
331
328
|
},
|
|
332
|
-
"name": "\
|
|
329
|
+
"name": "\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u59cb\u5236\u71b1\u6642"
|
|
333
330
|
},
|
|
334
331
|
"turned_off": {
|
|
335
|
-
"description": "\u7576\u6eab\u63a7\u5668\u95dc\u9589\u6642\u89f8\u767c\u3002",
|
|
336
|
-
"description_configured": "\u7576\u6eab\u63a7\u5668\u95dc\u9589\u6642\u89f8\u767c\u3002",
|
|
332
|
+
"description": "\u7576\u4e00\u500b\u6216\u591a\u500b\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u95dc\u9589\u6642\u89f8\u767c\u3002",
|
|
337
333
|
"fields": {
|
|
338
334
|
"behavior": {
|
|
339
335
|
"description": "\u8981\u89f8\u767c\u7684\u76ee\u6a19\u6eab\u63a7\u5668\u884c\u70ba\u3002",
|
|
340
336
|
"name": "\u884c\u70ba"
|
|
341
337
|
}
|
|
342
338
|
},
|
|
343
|
-
"name": "\
|
|
339
|
+
"name": "\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u95dc\u9589\u6642"
|
|
344
340
|
},
|
|
345
341
|
"turned_on": {
|
|
346
|
-
"description": "\u7576\u6eab\u63a7\u5668\u958b\u555f\u6642\u89f8\u767c\u3002",
|
|
347
|
-
"description_configured": "\u7576\u6eab\u63a7\u5668\u958b\u555f\u6642\u89f8\u767c\u3002",
|
|
342
|
+
"description": "\u7576\u4e00\u500b\u6216\u591a\u500b\u6eab\u63a7\u5668\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u555f\u6642\u89f8\u767c\u3002",
|
|
348
343
|
"fields": {
|
|
349
344
|
"behavior": {
|
|
350
345
|
"description": "\u8981\u89f8\u767c\u7684\u76ee\u6a19\u6eab\u63a7\u5668\u884c\u70ba\u3002",
|
|
351
346
|
"name": "\u884c\u70ba"
|
|
352
347
|
}
|
|
353
348
|
},
|
|
354
|
-
"name": "\
|
|
349
|
+
"name": "\u6eab\u63a7\u5668\u63a7\u5236\u88dd\u7f6e\u958b\u555f\u6642"
|
|
355
350
|
}
|
|
356
351
|
}
|
|
357
352
|
}
|
|
@@ -4,12 +4,13 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
6
|
from collections.abc import Awaitable, Callable
|
|
7
|
+
from contextlib import suppress
|
|
7
8
|
from datetime import datetime, timedelta
|
|
8
9
|
from enum import Enum
|
|
9
10
|
import logging
|
|
10
11
|
from typing import Any, cast
|
|
11
12
|
|
|
12
|
-
from hass_nabucasa import Cloud
|
|
13
|
+
from hass_nabucasa import Cloud, NabuCasaBaseError
|
|
13
14
|
import voluptuous as vol
|
|
14
15
|
|
|
15
16
|
from homeassistant.components import alexa, google_assistant
|
|
@@ -78,13 +79,16 @@ from .subscription import async_subscription_info
|
|
|
78
79
|
DEFAULT_MODE = MODE_PROD
|
|
79
80
|
|
|
80
81
|
PLATFORMS = [
|
|
81
|
-
Platform.AI_TASK,
|
|
82
82
|
Platform.BINARY_SENSOR,
|
|
83
|
-
Platform.CONVERSATION,
|
|
84
83
|
Platform.STT,
|
|
85
84
|
Platform.TTS,
|
|
86
85
|
]
|
|
87
86
|
|
|
87
|
+
LLM_PLATFORMS = [
|
|
88
|
+
Platform.AI_TASK,
|
|
89
|
+
Platform.CONVERSATION,
|
|
90
|
+
]
|
|
91
|
+
|
|
88
92
|
SERVICE_REMOTE_CONNECT = "remote_connect"
|
|
89
93
|
SERVICE_REMOTE_DISCONNECT = "remote_disconnect"
|
|
90
94
|
|
|
@@ -431,7 +435,14 @@ def _handle_prefs_updated(hass: HomeAssistant, cloud: Cloud[CloudClient]) -> Non
|
|
|
431
435
|
|
|
432
436
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
433
437
|
"""Set up a config entry."""
|
|
434
|
-
|
|
438
|
+
platforms = PLATFORMS.copy()
|
|
439
|
+
if (cloud := hass.data[DATA_CLOUD]).is_logged_in:
|
|
440
|
+
with suppress(NabuCasaBaseError):
|
|
441
|
+
await cloud.llm.async_ensure_token()
|
|
442
|
+
platforms += LLM_PLATFORMS
|
|
443
|
+
|
|
444
|
+
await hass.config_entries.async_forward_entry_setups(entry, platforms)
|
|
445
|
+
entry.runtime_data = {"platforms": platforms}
|
|
435
446
|
stt_tts_entities_added = hass.data[DATA_PLATFORMS_SETUP]["stt_tts_entities_added"]
|
|
436
447
|
stt_tts_entities_added.set()
|
|
437
448
|
|
|
@@ -440,7 +451,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
|
440
451
|
|
|
441
452
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
442
453
|
"""Unload a config entry."""
|
|
443
|
-
return await hass.config_entries.async_unload_platforms(
|
|
454
|
+
return await hass.config_entries.async_unload_platforms(
|
|
455
|
+
entry, entry.runtime_data["platforms"]
|
|
456
|
+
)
|
|
444
457
|
|
|
445
458
|
|
|
446
459
|
@callback
|
|
@@ -6,7 +6,6 @@ import io
|
|
|
6
6
|
from json import JSONDecodeError
|
|
7
7
|
import logging
|
|
8
8
|
|
|
9
|
-
from hass_nabucasa import NabuCasaBaseError
|
|
10
9
|
from hass_nabucasa.llm import (
|
|
11
10
|
LLMAuthenticationError,
|
|
12
11
|
LLMError,
|
|
@@ -20,7 +19,7 @@ from PIL import Image
|
|
|
20
19
|
from homeassistant.components import ai_task, conversation
|
|
21
20
|
from homeassistant.config_entries import ConfigEntry
|
|
22
21
|
from homeassistant.core import HomeAssistant
|
|
23
|
-
from homeassistant.exceptions import
|
|
22
|
+
from homeassistant.exceptions import HomeAssistantError
|
|
24
23
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
25
24
|
from homeassistant.util.json import json_loads
|
|
26
25
|
|
|
@@ -94,17 +93,11 @@ async def async_setup_entry(
|
|
|
94
93
|
async_add_entities: AddConfigEntryEntitiesCallback,
|
|
95
94
|
) -> None:
|
|
96
95
|
"""Set up Home Assistant Cloud AI Task entity."""
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
try:
|
|
100
|
-
await cloud.llm.async_ensure_token()
|
|
101
|
-
except (LLMError, NabuCasaBaseError):
|
|
102
|
-
return
|
|
96
|
+
cloud = hass.data[DATA_CLOUD]
|
|
97
|
+
async_add_entities([CloudAITaskEntity(cloud, config_entry)])
|
|
103
98
|
|
|
104
|
-
async_add_entities([CloudLLMTaskEntity(cloud, config_entry)])
|
|
105
99
|
|
|
106
|
-
|
|
107
|
-
class CloudLLMTaskEntity(ai_task.AITaskEntity, BaseCloudLLMEntity):
|
|
100
|
+
class CloudAITaskEntity(BaseCloudLLMEntity, ai_task.AITaskEntity):
|
|
108
101
|
"""Home Assistant Cloud AI Task entity."""
|
|
109
102
|
|
|
110
103
|
_attr_has_entity_name = True
|
|
@@ -181,7 +174,7 @@ class CloudLLMTaskEntity(ai_task.AITaskEntity, BaseCloudLLMEntity):
|
|
|
181
174
|
attachments=attachments,
|
|
182
175
|
)
|
|
183
176
|
except LLMAuthenticationError as err:
|
|
184
|
-
raise
|
|
177
|
+
raise HomeAssistantError("Cloud LLM authentication failed") from err
|
|
185
178
|
except LLMRateLimitError as err:
|
|
186
179
|
raise HomeAssistantError("Cloud LLM is rate limited") from err
|
|
187
180
|
except LLMResponseError as err:
|
|
@@ -4,9 +4,6 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from typing import Literal
|
|
6
6
|
|
|
7
|
-
from hass_nabucasa import NabuCasaBaseError
|
|
8
|
-
from hass_nabucasa.llm import LLMError
|
|
9
|
-
|
|
10
7
|
from homeassistant.components import conversation
|
|
11
8
|
from homeassistant.config_entries import ConfigEntry
|
|
12
9
|
from homeassistant.const import MATCH_ALL
|
|
@@ -24,19 +21,13 @@ async def async_setup_entry(
|
|
|
24
21
|
async_add_entities: AddConfigEntryEntitiesCallback,
|
|
25
22
|
) -> None:
|
|
26
23
|
"""Set up the Home Assistant Cloud conversation entity."""
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
try:
|
|
30
|
-
await cloud.llm.async_ensure_token()
|
|
31
|
-
except (LLMError, NabuCasaBaseError):
|
|
32
|
-
return
|
|
33
|
-
|
|
24
|
+
cloud = hass.data[DATA_CLOUD]
|
|
34
25
|
async_add_entities([CloudConversationEntity(cloud, config_entry)])
|
|
35
26
|
|
|
36
27
|
|
|
37
28
|
class CloudConversationEntity(
|
|
38
|
-
conversation.ConversationEntity,
|
|
39
29
|
BaseCloudLLMEntity,
|
|
30
|
+
conversation.ConversationEntity,
|
|
40
31
|
):
|
|
41
32
|
"""Home Assistant Cloud conversation agent."""
|
|
42
33
|
|
|
@@ -8,10 +8,9 @@ import logging
|
|
|
8
8
|
import re
|
|
9
9
|
from typing import Any, Literal, cast
|
|
10
10
|
|
|
11
|
-
from hass_nabucasa import Cloud
|
|
11
|
+
from hass_nabucasa import Cloud, NabuCasaBaseError
|
|
12
12
|
from hass_nabucasa.llm import (
|
|
13
13
|
LLMAuthenticationError,
|
|
14
|
-
LLMError,
|
|
15
14
|
LLMRateLimitError,
|
|
16
15
|
LLMResponseError,
|
|
17
16
|
LLMServiceError,
|
|
@@ -37,7 +36,7 @@ from voluptuous_openapi import convert
|
|
|
37
36
|
|
|
38
37
|
from homeassistant.components import conversation
|
|
39
38
|
from homeassistant.config_entries import ConfigEntry
|
|
40
|
-
from homeassistant.exceptions import
|
|
39
|
+
from homeassistant.exceptions import HomeAssistantError
|
|
41
40
|
from homeassistant.helpers import llm
|
|
42
41
|
from homeassistant.helpers.entity import Entity
|
|
43
42
|
from homeassistant.util import slugify
|
|
@@ -601,14 +600,14 @@ class BaseCloudLLMEntity(Entity):
|
|
|
601
600
|
)
|
|
602
601
|
|
|
603
602
|
except LLMAuthenticationError as err:
|
|
604
|
-
raise
|
|
603
|
+
raise HomeAssistantError("Cloud LLM authentication failed") from err
|
|
605
604
|
except LLMRateLimitError as err:
|
|
606
605
|
raise HomeAssistantError("Cloud LLM is rate limited") from err
|
|
607
606
|
except LLMResponseError as err:
|
|
608
607
|
raise HomeAssistantError(str(err)) from err
|
|
609
608
|
except LLMServiceError as err:
|
|
610
609
|
raise HomeAssistantError("Error talking to Cloud LLM") from err
|
|
611
|
-
except
|
|
610
|
+
except NabuCasaBaseError as err:
|
|
612
611
|
raise HomeAssistantError(str(err)) from err
|
|
613
612
|
|
|
614
613
|
if not chat_log.unresponded_tool_results:
|