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,11 @@
|
|
|
1
1
|
{
|
|
2
|
+
"entity": {
|
|
3
|
+
"ai_task": {
|
|
4
|
+
"cloud_ai": {
|
|
5
|
+
"name": "Home Assistant Cloud AI"
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
},
|
|
2
9
|
"exceptions": {
|
|
3
10
|
"backup_size_too_large": {
|
|
4
11
|
"message": "El tama\u00f1o de la copia de seguridad de {size}GB es demasiado grande para subirla a Home Assistant Cloud."
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
+
"entity": {
|
|
3
|
+
"ai_task": {
|
|
4
|
+
"cloud_ai": {
|
|
5
|
+
"name": "C\u00fant\u00f3ir Baile Cloud AI"
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
},
|
|
2
9
|
"exceptions": {
|
|
3
10
|
"backup_size_too_large": {
|
|
4
11
|
"message": "T\u00e1 an m\u00e9id c\u00faltaca de {size}GB r\u00f3mh\u00f3r le huasl\u00f3d\u00e1il chuig Home Assistant Cloud."
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
+
"entity": {
|
|
3
|
+
"ai_task": {
|
|
4
|
+
"cloud_ai": {
|
|
5
|
+
"name": "Home Asistan\u0131 Bulut Yapay Zeka"
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
},
|
|
2
9
|
"exceptions": {
|
|
3
10
|
"backup_size_too_large": {
|
|
4
11
|
"message": "{size} GB'l\u0131k yedekleme boyutu Home Assistant Cloud'a y\u00fcklenemeyecek kadar b\u00fcy\u00fck."
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
|
-
"already_configured": "Cihaz zaten yap\u0131land\u0131r\u0131lm\u0131\u015f"
|
|
4
|
+
"already_configured": "Cihaz zaten yap\u0131land\u0131r\u0131lm\u0131\u015f",
|
|
5
|
+
"reauth_successful": "Kimlik bilgileri ba\u015far\u0131yla g\u00fcncellendi"
|
|
5
6
|
},
|
|
6
7
|
"error": {
|
|
7
8
|
"cannot_connect": "Ba\u011flanma hatas\u0131",
|
|
@@ -11,6 +12,14 @@
|
|
|
11
12
|
"unknown": "Beklenmeyen hata"
|
|
12
13
|
},
|
|
13
14
|
"step": {
|
|
15
|
+
"reauth_confirm": {
|
|
16
|
+
"data": {
|
|
17
|
+
"api_key": "API Anahtar\u0131",
|
|
18
|
+
"api_token": "API gizli dizisi"
|
|
19
|
+
},
|
|
20
|
+
"description": "Mevcut Coinbase API anahtar\u0131n\u0131z kullan\u0131mdan kald\u0131r\u0131lan v2 API i\u00e7in g\u00f6r\u00fcn\u00fcyor. L\u00fctfen v3 API i\u00e7in olu\u015fturulmu\u015f yeni bir API anahtar\u0131yla yeniden yap\u0131land\u0131r\u0131n. [Geli\u015ftirici Platformu]'nu ziyaret edin.{developer_url}) i\u00e7in yeni kimlik bilgileri olu\u015fturmak i\u00e7in {account_name}.",
|
|
21
|
+
"title": "Coinbase API kimlik bilgilerini g\u00fcncelleyin"
|
|
22
|
+
},
|
|
14
23
|
"user": {
|
|
15
24
|
"data": {
|
|
16
25
|
"api_key": "API Anahtar\u0131",
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"already_configured": "Hizmet zaten yap\u0131land\u0131r\u0131lm\u0131\u015f",
|
|
5
5
|
"cannot_connect": "Ba\u011flanma hatas\u0131",
|
|
6
6
|
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
|
|
7
|
+
"invalid_pin": "Verilen PIN ge\u00e7ersiz. 4-10 haneli bir say\u0131 olmal\u0131d\u0131r.",
|
|
7
8
|
"reauth_successful": "Yeniden kimlik do\u011frulama ba\u015far\u0131l\u0131 oldu",
|
|
8
9
|
"reconfigure_successful": "Yeniden yap\u0131land\u0131rma ba\u015far\u0131l\u0131 oldu",
|
|
9
10
|
"unknown": "Beklenmeyen hata"
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
"error": {
|
|
12
13
|
"cannot_connect": "Ba\u011flanma hatas\u0131",
|
|
13
14
|
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
|
|
15
|
+
"invalid_pin": "Verilen PIN ge\u00e7ersiz. 4-10 haneli bir say\u0131 olmal\u0131d\u0131r.",
|
|
14
16
|
"unknown": "Beklenmeyen hata"
|
|
15
17
|
},
|
|
16
18
|
"flow_title": "{host}",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"reauth_successful": "Yeniden kimlik do\u011frulama ba\u015far\u0131l\u0131 oldu"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Ba\u011flanma hatas\u0131",
|
|
8
|
+
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
|
|
9
|
+
"unknown": "Beklenmeyen hata"
|
|
10
|
+
},
|
|
11
|
+
"step": {
|
|
12
|
+
"reauth_confirm": {
|
|
13
|
+
"data": {
|
|
14
|
+
"password": "\u015eifre"
|
|
15
|
+
},
|
|
16
|
+
"data_description": {
|
|
17
|
+
"password": "inext.compit.pl hesab\u0131n\u0131z\u0131n \u015fifresi"
|
|
18
|
+
},
|
|
19
|
+
"description": "L\u00fctfen \u015fifrenizi g\u00fcncelleyin {email}"
|
|
20
|
+
},
|
|
21
|
+
"user": {
|
|
22
|
+
"data": {
|
|
23
|
+
"email": "E-posta",
|
|
24
|
+
"password": "\u015eifre"
|
|
25
|
+
},
|
|
26
|
+
"data_description": {
|
|
27
|
+
"email": "inext.compit.pl hesab\u0131n\u0131z\u0131n e-posta adresi",
|
|
28
|
+
"password": "inext.compit.pl hesab\u0131n\u0131z\u0131n \u015fifresi"
|
|
29
|
+
},
|
|
30
|
+
"description": "L\u00fctfen giriniz {compit_url} kimlik bilgileri.",
|
|
31
|
+
"title": "Compit iNext'e ba\u011flan\u0131n"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -236,7 +236,9 @@ async def async_prepare_agent(
|
|
|
236
236
|
|
|
237
237
|
|
|
238
238
|
async def async_handle_sentence_triggers(
|
|
239
|
-
hass: HomeAssistant,
|
|
239
|
+
hass: HomeAssistant,
|
|
240
|
+
user_input: ConversationInput,
|
|
241
|
+
chat_log: ChatLog,
|
|
240
242
|
) -> str | None:
|
|
241
243
|
"""Try to match input against sentence triggers and return response text.
|
|
242
244
|
|
|
@@ -245,12 +247,13 @@ async def async_handle_sentence_triggers(
|
|
|
245
247
|
agent = get_agent_manager(hass).default_agent
|
|
246
248
|
assert agent is not None
|
|
247
249
|
|
|
248
|
-
return await agent.async_handle_sentence_triggers(user_input)
|
|
250
|
+
return await agent.async_handle_sentence_triggers(user_input, chat_log)
|
|
249
251
|
|
|
250
252
|
|
|
251
253
|
async def async_handle_intents(
|
|
252
254
|
hass: HomeAssistant,
|
|
253
255
|
user_input: ConversationInput,
|
|
256
|
+
chat_log: ChatLog,
|
|
254
257
|
*,
|
|
255
258
|
intent_filter: Callable[[RecognizeResult], bool] | None = None,
|
|
256
259
|
) -> intent.IntentResponse | None:
|
|
@@ -261,7 +264,9 @@ async def async_handle_intents(
|
|
|
261
264
|
agent = get_agent_manager(hass).default_agent
|
|
262
265
|
assert agent is not None
|
|
263
266
|
|
|
264
|
-
return await agent.async_handle_intents(
|
|
267
|
+
return await agent.async_handle_intents(
|
|
268
|
+
user_input, chat_log, intent_filter=intent_filter
|
|
269
|
+
)
|
|
265
270
|
|
|
266
271
|
|
|
267
272
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|
@@ -431,26 +431,14 @@ class DefaultAgent(ConversationEntity):
|
|
|
431
431
|
) -> ConversationResult:
|
|
432
432
|
"""Handle a message."""
|
|
433
433
|
response: intent.IntentResponse | None = None
|
|
434
|
-
tool_input: llm.ToolInput | None = None
|
|
435
|
-
tool_result: dict[str, Any] = {}
|
|
436
434
|
|
|
437
435
|
# Check if a trigger matched
|
|
438
436
|
if trigger_result := await self.async_recognize_sentence_trigger(user_input):
|
|
439
437
|
# Process callbacks and get response
|
|
440
438
|
response_text = await self._handle_trigger_result(
|
|
441
|
-
trigger_result, user_input
|
|
439
|
+
trigger_result, user_input, chat_log
|
|
442
440
|
)
|
|
443
441
|
|
|
444
|
-
# Create tool result
|
|
445
|
-
tool_input = llm.ToolInput(
|
|
446
|
-
tool_name="trigger_sentence",
|
|
447
|
-
tool_args={},
|
|
448
|
-
external=True,
|
|
449
|
-
)
|
|
450
|
-
tool_result = {
|
|
451
|
-
"response": response_text,
|
|
452
|
-
}
|
|
453
|
-
|
|
454
442
|
# Convert to conversation result
|
|
455
443
|
response = intent.IntentResponse(
|
|
456
444
|
language=user_input.language or self.hass.config.language
|
|
@@ -462,40 +450,7 @@ class DefaultAgent(ConversationEntity):
|
|
|
462
450
|
intent_result = await self.async_recognize_intent(user_input)
|
|
463
451
|
|
|
464
452
|
response = await self._async_process_intent_result(
|
|
465
|
-
intent_result, user_input
|
|
466
|
-
)
|
|
467
|
-
|
|
468
|
-
if response.response_type != intent.IntentResponseType.ERROR:
|
|
469
|
-
assert intent_result is not None
|
|
470
|
-
assert intent_result.intent is not None
|
|
471
|
-
# Create external tool call for the intent
|
|
472
|
-
tool_input = llm.ToolInput(
|
|
473
|
-
tool_name=intent_result.intent.name,
|
|
474
|
-
tool_args={
|
|
475
|
-
entity.name: entity.value or entity.text
|
|
476
|
-
for entity in intent_result.entities_list
|
|
477
|
-
},
|
|
478
|
-
external=True,
|
|
479
|
-
)
|
|
480
|
-
# Create tool result from intent response
|
|
481
|
-
tool_result = llm.IntentResponseDict(response)
|
|
482
|
-
|
|
483
|
-
# Add tool call and result to chat log if we have one
|
|
484
|
-
if tool_input is not None:
|
|
485
|
-
chat_log.async_add_assistant_content_without_tools(
|
|
486
|
-
AssistantContent(
|
|
487
|
-
agent_id=user_input.agent_id,
|
|
488
|
-
content=None,
|
|
489
|
-
tool_calls=[tool_input],
|
|
490
|
-
)
|
|
491
|
-
)
|
|
492
|
-
chat_log.async_add_assistant_content_without_tools(
|
|
493
|
-
ToolResultContent(
|
|
494
|
-
agent_id=user_input.agent_id,
|
|
495
|
-
tool_call_id=tool_input.id,
|
|
496
|
-
tool_name=tool_input.tool_name,
|
|
497
|
-
tool_result=tool_result,
|
|
498
|
-
)
|
|
453
|
+
intent_result, user_input, chat_log
|
|
499
454
|
)
|
|
500
455
|
|
|
501
456
|
speech: str = response.speech.get("plain", {}).get("speech", "")
|
|
@@ -514,6 +469,7 @@ class DefaultAgent(ConversationEntity):
|
|
|
514
469
|
self,
|
|
515
470
|
result: RecognizeResult | None,
|
|
516
471
|
user_input: ConversationInput,
|
|
472
|
+
chat_log: ChatLog,
|
|
517
473
|
) -> intent.IntentResponse:
|
|
518
474
|
"""Process user input with intents."""
|
|
519
475
|
language = user_input.language or self.hass.config.language
|
|
@@ -576,12 +532,21 @@ class DefaultAgent(ConversationEntity):
|
|
|
576
532
|
ConversationTraceEventType.TOOL_CALL,
|
|
577
533
|
{
|
|
578
534
|
"intent_name": result.intent.name,
|
|
579
|
-
"slots": {
|
|
580
|
-
entity.name: entity.value or entity.text
|
|
581
|
-
for entity in result.entities_list
|
|
582
|
-
},
|
|
535
|
+
"slots": {entity.name: entity.value for entity in result.entities_list},
|
|
583
536
|
},
|
|
584
537
|
)
|
|
538
|
+
tool_input = llm.ToolInput(
|
|
539
|
+
tool_name=result.intent.name,
|
|
540
|
+
tool_args={entity.name: entity.value for entity in result.entities_list},
|
|
541
|
+
external=True,
|
|
542
|
+
)
|
|
543
|
+
chat_log.async_add_assistant_content_without_tools(
|
|
544
|
+
AssistantContent(
|
|
545
|
+
agent_id=user_input.agent_id,
|
|
546
|
+
content=None,
|
|
547
|
+
tool_calls=[tool_input],
|
|
548
|
+
)
|
|
549
|
+
)
|
|
585
550
|
|
|
586
551
|
try:
|
|
587
552
|
intent_response = await intent.async_handle(
|
|
@@ -644,6 +609,16 @@ class DefaultAgent(ConversationEntity):
|
|
|
644
609
|
)
|
|
645
610
|
intent_response.async_set_speech(speech)
|
|
646
611
|
|
|
612
|
+
tool_result = llm.IntentResponseDict(intent_response)
|
|
613
|
+
chat_log.async_add_assistant_content_without_tools(
|
|
614
|
+
ToolResultContent(
|
|
615
|
+
agent_id=user_input.agent_id,
|
|
616
|
+
tool_call_id=tool_input.id,
|
|
617
|
+
tool_name=tool_input.tool_name,
|
|
618
|
+
tool_result=tool_result,
|
|
619
|
+
)
|
|
620
|
+
)
|
|
621
|
+
|
|
647
622
|
return intent_response
|
|
648
623
|
|
|
649
624
|
def _recognize(
|
|
@@ -1570,16 +1545,31 @@ class DefaultAgent(ConversationEntity):
|
|
|
1570
1545
|
)
|
|
1571
1546
|
|
|
1572
1547
|
async def _handle_trigger_result(
|
|
1573
|
-
self,
|
|
1548
|
+
self,
|
|
1549
|
+
result: SentenceTriggerResult,
|
|
1550
|
+
user_input: ConversationInput,
|
|
1551
|
+
chat_log: ChatLog,
|
|
1574
1552
|
) -> str:
|
|
1575
1553
|
"""Run sentence trigger callbacks and return response text."""
|
|
1576
|
-
|
|
1577
1554
|
# Gather callback responses in parallel
|
|
1578
1555
|
trigger_callbacks = [
|
|
1579
1556
|
self._triggers_details[trigger_id].callback(user_input, trigger_result)
|
|
1580
1557
|
for trigger_id, trigger_result in result.matched_triggers.items()
|
|
1581
1558
|
]
|
|
1582
1559
|
|
|
1560
|
+
tool_input = llm.ToolInput(
|
|
1561
|
+
tool_name="trigger_sentence",
|
|
1562
|
+
tool_args={},
|
|
1563
|
+
external=True,
|
|
1564
|
+
)
|
|
1565
|
+
chat_log.async_add_assistant_content_without_tools(
|
|
1566
|
+
AssistantContent(
|
|
1567
|
+
agent_id=user_input.agent_id,
|
|
1568
|
+
content=None,
|
|
1569
|
+
tool_calls=[tool_input],
|
|
1570
|
+
)
|
|
1571
|
+
)
|
|
1572
|
+
|
|
1583
1573
|
# Use first non-empty result as response.
|
|
1584
1574
|
#
|
|
1585
1575
|
# There may be multiple copies of a trigger running when editing in
|
|
@@ -1608,23 +1598,38 @@ class DefaultAgent(ConversationEntity):
|
|
|
1608
1598
|
f"component.{DOMAIN}.conversation.agent.done", "Done"
|
|
1609
1599
|
)
|
|
1610
1600
|
|
|
1601
|
+
tool_result: dict[str, Any] = {"response": response_text}
|
|
1602
|
+
chat_log.async_add_assistant_content_without_tools(
|
|
1603
|
+
ToolResultContent(
|
|
1604
|
+
agent_id=user_input.agent_id,
|
|
1605
|
+
tool_call_id=tool_input.id,
|
|
1606
|
+
tool_name=tool_input.tool_name,
|
|
1607
|
+
tool_result=tool_result,
|
|
1608
|
+
)
|
|
1609
|
+
)
|
|
1610
|
+
|
|
1611
1611
|
return response_text
|
|
1612
1612
|
|
|
1613
1613
|
async def async_handle_sentence_triggers(
|
|
1614
|
-
self,
|
|
1614
|
+
self,
|
|
1615
|
+
user_input: ConversationInput,
|
|
1616
|
+
chat_log: ChatLog,
|
|
1615
1617
|
) -> str | None:
|
|
1616
1618
|
"""Try to input sentence against sentence triggers and return response text.
|
|
1617
1619
|
|
|
1618
1620
|
Returns None if no match occurred.
|
|
1619
1621
|
"""
|
|
1620
1622
|
if trigger_result := await self.async_recognize_sentence_trigger(user_input):
|
|
1621
|
-
return await self._handle_trigger_result(
|
|
1623
|
+
return await self._handle_trigger_result(
|
|
1624
|
+
trigger_result, user_input, chat_log
|
|
1625
|
+
)
|
|
1622
1626
|
|
|
1623
1627
|
return None
|
|
1624
1628
|
|
|
1625
1629
|
async def async_handle_intents(
|
|
1626
1630
|
self,
|
|
1627
1631
|
user_input: ConversationInput,
|
|
1632
|
+
chat_log: ChatLog,
|
|
1628
1633
|
*,
|
|
1629
1634
|
intent_filter: Callable[[RecognizeResult], bool] | None = None,
|
|
1630
1635
|
) -> intent.IntentResponse | None:
|
|
@@ -1640,7 +1645,7 @@ class DefaultAgent(ConversationEntity):
|
|
|
1640
1645
|
# No error message on failed match
|
|
1641
1646
|
return None
|
|
1642
1647
|
|
|
1643
|
-
response = await self._async_process_intent_result(result, user_input)
|
|
1648
|
+
response = await self._async_process_intent_result(result, user_input, chat_log)
|
|
1644
1649
|
if (
|
|
1645
1650
|
response.response_type == intent.IntentResponseType.ERROR
|
|
1646
1651
|
and response.error_code
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
"documentation": "https://www.home-assistant.io/integrations/conversation",
|
|
7
7
|
"integration_type": "entity",
|
|
8
8
|
"quality_scale": "internal",
|
|
9
|
-
"requirements": ["hassil==3.4.0", "home-assistant-intents==2025.
|
|
9
|
+
"requirements": ["hassil==3.4.0", "home-assistant-intents==2025.12.2"]
|
|
10
10
|
}
|
|
@@ -1,13 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entity_component": {
|
|
3
3
|
"_": {
|
|
4
|
+
"name": "Broja\u010d",
|
|
4
5
|
"state_attributes": {
|
|
5
6
|
"editable": {
|
|
7
|
+
"name": "Upravljano putem interfejsa",
|
|
6
8
|
"state": {
|
|
9
|
+
"false": "Ne",
|
|
7
10
|
"true": "Da"
|
|
8
11
|
}
|
|
12
|
+
},
|
|
13
|
+
"initial": {
|
|
14
|
+
"name": "Po\u010detna vrednost"
|
|
15
|
+
},
|
|
16
|
+
"maximum": {
|
|
17
|
+
"name": "Maksimum"
|
|
18
|
+
},
|
|
19
|
+
"minimum": {
|
|
20
|
+
"name": "Minimum"
|
|
21
|
+
},
|
|
22
|
+
"step": {
|
|
23
|
+
"name": "Korak"
|
|
9
24
|
}
|
|
10
25
|
}
|
|
11
26
|
}
|
|
12
|
-
}
|
|
27
|
+
},
|
|
28
|
+
"services": {
|
|
29
|
+
"decrement": {
|
|
30
|
+
"description": "Umanjenje vrednost broja\u010da za definisani korak.",
|
|
31
|
+
"name": "Smanjenje"
|
|
32
|
+
},
|
|
33
|
+
"increment": {
|
|
34
|
+
"description": "Pove\u0107ava vrednost broja\u010da za definisani korak.",
|
|
35
|
+
"name": "Pove\u0107anje"
|
|
36
|
+
},
|
|
37
|
+
"reset": {
|
|
38
|
+
"description": "Resetuje broja\u010d na po\u010detnu vrednost.",
|
|
39
|
+
"name": "Resetuj"
|
|
40
|
+
},
|
|
41
|
+
"set_value": {
|
|
42
|
+
"description": "Postavlja broja\u010d na odre\u0111enu vrednost.",
|
|
43
|
+
"fields": {
|
|
44
|
+
"value": {
|
|
45
|
+
"description": "Nova vrednost broja\u010da na koju treba postaviti entitet.",
|
|
46
|
+
"name": "Vrednost"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"name": "Postavi"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"title": "Broja\u010d"
|
|
13
53
|
}
|
|
@@ -108,34 +108,5 @@
|
|
|
108
108
|
"toggle_cover_tilt": {
|
|
109
109
|
"service": "mdi:arrow-top-right-bottom-left"
|
|
110
110
|
}
|
|
111
|
-
},
|
|
112
|
-
"triggers": {
|
|
113
|
-
"awning_opened": {
|
|
114
|
-
"trigger": "mdi:awning-outline"
|
|
115
|
-
},
|
|
116
|
-
"blind_opened": {
|
|
117
|
-
"trigger": "mdi:blinds-horizontal"
|
|
118
|
-
},
|
|
119
|
-
"curtain_opened": {
|
|
120
|
-
"trigger": "mdi:curtains"
|
|
121
|
-
},
|
|
122
|
-
"door_opened": {
|
|
123
|
-
"trigger": "mdi:door-open"
|
|
124
|
-
},
|
|
125
|
-
"garage_opened": {
|
|
126
|
-
"trigger": "mdi:garage-open"
|
|
127
|
-
},
|
|
128
|
-
"gate_opened": {
|
|
129
|
-
"trigger": "mdi:gate-open"
|
|
130
|
-
},
|
|
131
|
-
"shade_opened": {
|
|
132
|
-
"trigger": "mdi:roller-shade"
|
|
133
|
-
},
|
|
134
|
-
"shutter_opened": {
|
|
135
|
-
"trigger": "mdi:window-shutter-open"
|
|
136
|
-
},
|
|
137
|
-
"window_opened": {
|
|
138
|
-
"trigger": "mdi:window-open"
|
|
139
|
-
}
|
|
140
111
|
}
|
|
141
112
|
}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"common": {
|
|
3
|
-
"trigger_behavior_description_awning": "The behavior of the targeted awnings to trigger on.",
|
|
4
|
-
"trigger_behavior_description_blind": "The behavior of the targeted blinds to trigger on.",
|
|
5
|
-
"trigger_behavior_description_curtain": "The behavior of the targeted curtains to trigger on.",
|
|
6
|
-
"trigger_behavior_description_door": "The behavior of the targeted doors to trigger on.",
|
|
7
|
-
"trigger_behavior_description_garage": "The behavior of the targeted garage doors to trigger on.",
|
|
8
|
-
"trigger_behavior_description_gate": "The behavior of the targeted gates to trigger on.",
|
|
9
|
-
"trigger_behavior_description_shade": "The behavior of the targeted shades to trigger on.",
|
|
10
|
-
"trigger_behavior_description_shutter": "The behavior of the targeted shutters to trigger on.",
|
|
11
|
-
"trigger_behavior_description_window": "The behavior of the targeted windows to trigger on.",
|
|
12
|
-
"trigger_behavior_name": "Behavior"
|
|
13
|
-
},
|
|
14
2
|
"device_automation": {
|
|
15
3
|
"action_type": {
|
|
16
4
|
"close": "Close {entity_name}",
|
|
@@ -94,15 +82,6 @@
|
|
|
94
82
|
"name": "Window"
|
|
95
83
|
}
|
|
96
84
|
},
|
|
97
|
-
"selector": {
|
|
98
|
-
"trigger_behavior": {
|
|
99
|
-
"options": {
|
|
100
|
-
"any": "Any",
|
|
101
|
-
"first": "First",
|
|
102
|
-
"last": "Last"
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
85
|
"services": {
|
|
107
86
|
"close_cover": {
|
|
108
87
|
"description": "Closes a cover.",
|
|
@@ -157,142 +136,5 @@
|
|
|
157
136
|
"name": "Toggle tilt"
|
|
158
137
|
}
|
|
159
138
|
},
|
|
160
|
-
"title": "Cover"
|
|
161
|
-
"triggers": {
|
|
162
|
-
"awning_opened": {
|
|
163
|
-
"description": "Triggers when an awning opens.",
|
|
164
|
-
"description_configured": "[%key:component::cover::triggers::awning_opened::description%]",
|
|
165
|
-
"fields": {
|
|
166
|
-
"behavior": {
|
|
167
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_awning%]",
|
|
168
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
169
|
-
},
|
|
170
|
-
"fully_opened": {
|
|
171
|
-
"description": "Require the awnings to be fully opened before triggering.",
|
|
172
|
-
"name": "Fully opened"
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
"name": "When an awning opens"
|
|
176
|
-
},
|
|
177
|
-
"blind_opened": {
|
|
178
|
-
"description": "Triggers when a blind opens.",
|
|
179
|
-
"description_configured": "[%key:component::cover::triggers::blind_opened::description%]",
|
|
180
|
-
"fields": {
|
|
181
|
-
"behavior": {
|
|
182
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_blind%]",
|
|
183
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
184
|
-
},
|
|
185
|
-
"fully_opened": {
|
|
186
|
-
"description": "Require the blinds to be fully opened before triggering.",
|
|
187
|
-
"name": "Fully opened"
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
"name": "When a blind opens"
|
|
191
|
-
},
|
|
192
|
-
"curtain_opened": {
|
|
193
|
-
"description": "Triggers when a curtain opens.",
|
|
194
|
-
"description_configured": "[%key:component::cover::triggers::curtain_opened::description%]",
|
|
195
|
-
"fields": {
|
|
196
|
-
"behavior": {
|
|
197
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_curtain%]",
|
|
198
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
199
|
-
},
|
|
200
|
-
"fully_opened": {
|
|
201
|
-
"description": "Require the curtains to be fully opened before triggering.",
|
|
202
|
-
"name": "Fully opened"
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
"name": "When a curtain opens"
|
|
206
|
-
},
|
|
207
|
-
"door_opened": {
|
|
208
|
-
"description": "Triggers when a door opens.",
|
|
209
|
-
"description_configured": "[%key:component::cover::triggers::door_opened::description%]",
|
|
210
|
-
"fields": {
|
|
211
|
-
"behavior": {
|
|
212
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_door%]",
|
|
213
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
214
|
-
},
|
|
215
|
-
"fully_opened": {
|
|
216
|
-
"description": "Require the doors to be fully opened before triggering.",
|
|
217
|
-
"name": "Fully opened"
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
"name": "When a door opens"
|
|
221
|
-
},
|
|
222
|
-
"garage_opened": {
|
|
223
|
-
"description": "Triggers when a garage door opens.",
|
|
224
|
-
"description_configured": "[%key:component::cover::triggers::garage_opened::description%]",
|
|
225
|
-
"fields": {
|
|
226
|
-
"behavior": {
|
|
227
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_garage%]",
|
|
228
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
229
|
-
},
|
|
230
|
-
"fully_opened": {
|
|
231
|
-
"description": "Require the garage doors to be fully opened before triggering.",
|
|
232
|
-
"name": "Fully opened"
|
|
233
|
-
}
|
|
234
|
-
},
|
|
235
|
-
"name": "When a garage door opens"
|
|
236
|
-
},
|
|
237
|
-
"gate_opened": {
|
|
238
|
-
"description": "Triggers when a gate opens.",
|
|
239
|
-
"description_configured": "[%key:component::cover::triggers::gate_opened::description%]",
|
|
240
|
-
"fields": {
|
|
241
|
-
"behavior": {
|
|
242
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_gate%]",
|
|
243
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
244
|
-
},
|
|
245
|
-
"fully_opened": {
|
|
246
|
-
"description": "Require the gates to be fully opened before triggering.",
|
|
247
|
-
"name": "Fully opened"
|
|
248
|
-
}
|
|
249
|
-
},
|
|
250
|
-
"name": "When a gate opens"
|
|
251
|
-
},
|
|
252
|
-
"shade_opened": {
|
|
253
|
-
"description": "Triggers when a shade opens.",
|
|
254
|
-
"description_configured": "[%key:component::cover::triggers::shade_opened::description%]",
|
|
255
|
-
"fields": {
|
|
256
|
-
"behavior": {
|
|
257
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_shade%]",
|
|
258
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
259
|
-
},
|
|
260
|
-
"fully_opened": {
|
|
261
|
-
"description": "Require the shades to be fully opened before triggering.",
|
|
262
|
-
"name": "Fully opened"
|
|
263
|
-
}
|
|
264
|
-
},
|
|
265
|
-
"name": "When a shade opens"
|
|
266
|
-
},
|
|
267
|
-
"shutter_opened": {
|
|
268
|
-
"description": "Triggers when a shutter opens.",
|
|
269
|
-
"description_configured": "[%key:component::cover::triggers::shutter_opened::description%]",
|
|
270
|
-
"fields": {
|
|
271
|
-
"behavior": {
|
|
272
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_shutter%]",
|
|
273
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
274
|
-
},
|
|
275
|
-
"fully_opened": {
|
|
276
|
-
"description": "Require the shutters to be fully opened before triggering.",
|
|
277
|
-
"name": "Fully opened"
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
|
-
"name": "When a shutter opens"
|
|
281
|
-
},
|
|
282
|
-
"window_opened": {
|
|
283
|
-
"description": "Triggers when a window opens.",
|
|
284
|
-
"description_configured": "[%key:component::cover::triggers::window_opened::description%]",
|
|
285
|
-
"fields": {
|
|
286
|
-
"behavior": {
|
|
287
|
-
"description": "[%key:component::cover::common::trigger_behavior_description_window%]",
|
|
288
|
-
"name": "[%key:component::cover::common::trigger_behavior_name%]"
|
|
289
|
-
},
|
|
290
|
-
"fully_opened": {
|
|
291
|
-
"description": "Require the windows to be fully opened before triggering.",
|
|
292
|
-
"name": "Fully opened"
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
"name": "When a window opens"
|
|
296
|
-
}
|
|
297
|
-
}
|
|
139
|
+
"title": "Cover"
|
|
298
140
|
}
|