homeassistant 2025.11.2__py3-none-any.whl → 2025.12.0__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/bootstrap.py +3 -0
- homeassistant/brands/google.json +2 -0
- homeassistant/brands/philips.json +1 -1
- homeassistant/brands/raspberry_pi.json +1 -1
- homeassistant/brands/victron.json +5 -0
- homeassistant/brands/yale.json +2 -8
- homeassistant/brands/yale_august.json +5 -0
- homeassistant/components/abode/translations/it.json +1 -1
- homeassistant/components/acaia/translations/pl.json +23 -1
- homeassistant/components/accuweather/translations/tr.json +19 -0
- homeassistant/components/actron_air/__init__.py +8 -8
- homeassistant/components/actron_air/climate.py +4 -4
- homeassistant/components/actron_air/config_flow.py +6 -6
- homeassistant/components/actron_air/coordinator.py +6 -6
- homeassistant/components/actron_air/manifest.json +1 -1
- homeassistant/components/actron_air/translations/tr.json +27 -0
- homeassistant/components/adax/config_flow.py +14 -1
- homeassistant/components/adax/sensor.py +53 -17
- homeassistant/components/adguard/__init__.py +1 -1
- homeassistant/components/adguard/manifest.json +1 -1
- homeassistant/components/adguard/update.py +71 -0
- homeassistant/components/ai_task/services.yaml +2 -0
- homeassistant/components/ai_task/translations/tr.json +38 -1
- homeassistant/components/airly/translations/sr-Latn.json +7 -0
- homeassistant/components/airnow/translations/sr-Latn.json +3 -0
- homeassistant/components/airobot/__init__.py +29 -0
- homeassistant/components/airobot/climate.py +168 -0
- homeassistant/components/airobot/config_flow.py +183 -0
- homeassistant/components/airobot/const.py +5 -0
- homeassistant/components/airobot/coordinator.py +59 -0
- homeassistant/components/airobot/entity.py +42 -0
- homeassistant/components/airobot/manifest.json +17 -0
- homeassistant/components/airobot/models.py +15 -0
- homeassistant/components/airobot/quality_scale.yaml +72 -0
- homeassistant/components/airobot/strings.json +44 -0
- homeassistant/components/airobot/translations/bg.json +25 -0
- homeassistant/components/airobot/translations/cs.json +44 -0
- homeassistant/components/airobot/translations/de.json +44 -0
- homeassistant/components/airobot/translations/el.json +43 -0
- homeassistant/components/airobot/translations/en-GB.json +44 -0
- homeassistant/components/airobot/translations/en.json +44 -0
- homeassistant/components/airobot/translations/es.json +44 -0
- homeassistant/components/airobot/translations/et.json +44 -0
- homeassistant/components/airobot/translations/ga.json +40 -0
- homeassistant/components/airobot/translations/lt.json +44 -0
- homeassistant/components/airobot/translations/nl.json +25 -0
- homeassistant/components/airobot/translations/pt.json +40 -0
- homeassistant/components/airobot/translations/sk.json +44 -0
- homeassistant/components/airobot/translations/sv.json +25 -0
- homeassistant/components/airobot/translations/tr.json +40 -0
- homeassistant/components/airobot/translations/zh-Hans.json +44 -0
- homeassistant/components/airobot/translations/zh-Hant.json +44 -0
- 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/it.json +1 -1
- homeassistant/components/airvisual/translations/sr-Latn.json +23 -0
- homeassistant/components/airvisual_pro/translations/it.json +1 -1
- homeassistant/components/airvisual_pro/translations/sr-Latn.json +6 -0
- homeassistant/components/airzone/translations/tr.json +9 -0
- homeassistant/components/aladdin_connect/translations/tr.json +7 -1
- homeassistant/components/alarm_control_panel/icons.json +23 -0
- homeassistant/components/alarm_control_panel/strings.json +86 -1
- homeassistant/components/alarm_control_panel/translations/cs.json +86 -1
- homeassistant/components/alarm_control_panel/translations/de.json +86 -1
- homeassistant/components/alarm_control_panel/translations/en-GB.json +86 -1
- homeassistant/components/alarm_control_panel/translations/en.json +86 -1
- homeassistant/components/alarm_control_panel/translations/es.json +86 -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 +86 -1
- homeassistant/components/alarm_control_panel/translations/pt.json +72 -1
- homeassistant/components/alarm_control_panel/translations/sk.json +86 -1
- 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 +72 -1
- homeassistant/components/alarm_control_panel/translations/zh-Hant.json +86 -1
- homeassistant/components/alarm_control_panel/trigger.py +99 -0
- homeassistant/components/alarm_control_panel/triggers.yaml +53 -0
- homeassistant/components/alert/translations/mk.json +10 -0
- homeassistant/components/alexa/handlers.py +5 -2
- homeassistant/components/alexa_devices/config_flow.py +1 -1
- homeassistant/components/alexa_devices/coordinator.py +3 -3
- homeassistant/components/alexa_devices/diagnostics.py +2 -1
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/translations/en-GB.json +41 -1
- homeassistant/components/alexa_devices/translations/it.json +24 -1
- homeassistant/components/alexa_devices/translations/sv.json +2 -1
- homeassistant/components/alexa_devices/translations/tr.json +53 -0
- homeassistant/components/amberelectric/__init__.py +2 -2
- homeassistant/components/amberelectric/services.py +3 -1
- homeassistant/components/amberelectric/translations/sv.json +9 -0
- homeassistant/components/amcrest/translations/pt.json +1 -1
- homeassistant/components/analytics/__init__.py +30 -29
- homeassistant/components/analytics/analytics.py +255 -34
- homeassistant/components/analytics/const.py +8 -2
- homeassistant/components/androidtv/config_flow.py +9 -3
- homeassistant/components/androidtv/const.py +6 -2
- homeassistant/components/androidtv/strings.json +7 -0
- homeassistant/components/androidtv/translations/bg.json +7 -0
- homeassistant/components/androidtv/translations/cs.json +7 -0
- homeassistant/components/androidtv/translations/de.json +7 -0
- homeassistant/components/androidtv/translations/en-GB.json +7 -0
- homeassistant/components/androidtv/translations/en.json +7 -0
- homeassistant/components/androidtv/translations/es.json +7 -0
- homeassistant/components/androidtv/translations/et.json +7 -0
- homeassistant/components/androidtv/translations/ga.json +7 -0
- homeassistant/components/androidtv/translations/it.json +7 -0
- homeassistant/components/androidtv/translations/lt.json +7 -0
- homeassistant/components/androidtv/translations/pt.json +7 -0
- homeassistant/components/androidtv/translations/ru.json +7 -0
- homeassistant/components/androidtv/translations/sk.json +7 -0
- homeassistant/components/androidtv/translations/sv.json +7 -0
- homeassistant/components/androidtv/translations/tr.json +7 -0
- homeassistant/components/androidtv/translations/zh-Hans.json +7 -0
- homeassistant/components/androidtv/translations/zh-Hant.json +7 -0
- homeassistant/components/androidtv_remote/translations/it.json +1 -1
- homeassistant/components/androidtv_remote/translations/mk.json +7 -0
- homeassistant/components/anglian_water/__init__.py +74 -0
- homeassistant/components/anglian_water/config_flow.py +103 -0
- homeassistant/components/anglian_water/const.py +4 -0
- homeassistant/components/anglian_water/coordinator.py +49 -0
- homeassistant/components/anglian_water/entity.py +48 -0
- homeassistant/components/anglian_water/manifest.json +10 -0
- homeassistant/components/anglian_water/quality_scale.yaml +83 -0
- homeassistant/components/anglian_water/sensor.py +117 -0
- homeassistant/components/anglian_water/strings.json +55 -0
- homeassistant/components/anglian_water/translations/bg.json +30 -0
- homeassistant/components/anglian_water/translations/cs.json +55 -0
- homeassistant/components/anglian_water/translations/de.json +55 -0
- homeassistant/components/anglian_water/translations/el.json +20 -0
- homeassistant/components/anglian_water/translations/en-GB.json +55 -0
- homeassistant/components/anglian_water/translations/en.json +55 -0
- homeassistant/components/anglian_water/translations/es.json +55 -0
- homeassistant/components/anglian_water/translations/et.json +55 -0
- homeassistant/components/anglian_water/translations/ga.json +54 -0
- homeassistant/components/anglian_water/translations/lt.json +55 -0
- homeassistant/components/anglian_water/translations/nl.json +20 -0
- homeassistant/components/anglian_water/translations/pt.json +54 -0
- homeassistant/components/anglian_water/translations/sk.json +55 -0
- homeassistant/components/{sms/translations/sr-Latn.json → anglian_water/translations/sv.json} +3 -3
- homeassistant/components/anglian_water/translations/tr.json +54 -0
- homeassistant/components/anglian_water/translations/zh-Hans.json +55 -0
- homeassistant/components/anglian_water/translations/zh-Hant.json +55 -0
- homeassistant/components/anthropic/__init__.py +3 -16
- homeassistant/components/anthropic/ai_task.py +80 -0
- homeassistant/components/anthropic/config_flow.py +255 -143
- homeassistant/components/anthropic/const.py +13 -8
- homeassistant/components/anthropic/entity.py +177 -12
- homeassistant/components/anthropic/manifest.json +1 -1
- homeassistant/components/anthropic/strings.json +62 -11
- homeassistant/components/anthropic/translations/bg.json +49 -8
- homeassistant/components/anthropic/translations/ca.json +23 -2
- homeassistant/components/anthropic/translations/cs.json +62 -10
- homeassistant/components/anthropic/translations/de.json +62 -10
- homeassistant/components/anthropic/translations/el.json +60 -9
- homeassistant/components/anthropic/translations/en-GB.json +62 -10
- homeassistant/components/anthropic/translations/en.json +62 -10
- homeassistant/components/anthropic/translations/es.json +62 -10
- homeassistant/components/anthropic/translations/et.json +62 -10
- homeassistant/components/anthropic/translations/fr.json +0 -28
- homeassistant/components/anthropic/translations/fy.json +1 -15
- homeassistant/components/anthropic/translations/ga.json +63 -10
- homeassistant/components/anthropic/translations/he.json +0 -11
- homeassistant/components/anthropic/translations/hu.json +0 -19
- homeassistant/components/anthropic/translations/id.json +0 -10
- homeassistant/components/anthropic/translations/it.json +55 -8
- homeassistant/components/anthropic/translations/ja.json +0 -18
- homeassistant/components/anthropic/translations/ko.json +0 -11
- homeassistant/components/anthropic/translations/lt.json +62 -10
- homeassistant/components/anthropic/translations/mk.json +5 -11
- homeassistant/components/anthropic/translations/nl.json +24 -4
- homeassistant/components/anthropic/translations/pt.json +62 -10
- homeassistant/components/anthropic/translations/ru.json +0 -17
- homeassistant/components/anthropic/translations/sk.json +63 -11
- homeassistant/components/anthropic/translations/sr-Latn.json +0 -12
- homeassistant/components/anthropic/translations/sv.json +50 -18
- homeassistant/components/anthropic/translations/tr.json +82 -0
- homeassistant/components/anthropic/translations/zh-Hans.json +65 -13
- homeassistant/components/anthropic/translations/zh-Hant.json +62 -10
- homeassistant/components/aosmith/translations/it.json +1 -1
- homeassistant/components/aosmith/translations/tr.json +11 -0
- homeassistant/components/apcupsd/const.py +23 -0
- homeassistant/components/apcupsd/sensor.py +64 -1
- homeassistant/components/apcupsd/strings.json +14 -0
- homeassistant/components/apcupsd/translations/cs.json +14 -0
- homeassistant/components/apcupsd/translations/de.json +14 -0
- homeassistant/components/apcupsd/translations/en-GB.json +14 -0
- homeassistant/components/apcupsd/translations/en.json +14 -0
- homeassistant/components/apcupsd/translations/es.json +14 -0
- homeassistant/components/apcupsd/translations/et.json +14 -0
- homeassistant/components/apcupsd/translations/ga.json +14 -0
- homeassistant/components/apcupsd/translations/lt.json +14 -0
- homeassistant/components/apcupsd/translations/pt.json +14 -0
- homeassistant/components/apcupsd/translations/sk.json +14 -0
- homeassistant/components/apcupsd/translations/sr-Latn.json +3 -0
- homeassistant/components/apcupsd/translations/tr.json +14 -0
- homeassistant/components/apcupsd/translations/zh-Hans.json +14 -0
- homeassistant/components/apcupsd/translations/zh-Hant.json +14 -0
- homeassistant/components/apple_tv/manifest.json +1 -0
- homeassistant/components/apple_tv/translations/it.json +1 -1
- homeassistant/components/aseko_pool_live/translations/it.json +1 -1
- homeassistant/components/assist_pipeline/pipeline.py +58 -57
- homeassistant/components/assist_satellite/icons.json +14 -0
- homeassistant/components/assist_satellite/manifest.json +1 -1
- homeassistant/components/assist_satellite/strings.json +54 -1
- homeassistant/components/assist_satellite/translations/bg.json +33 -0
- homeassistant/components/assist_satellite/translations/cs.json +54 -1
- homeassistant/components/assist_satellite/translations/de.json +54 -1
- homeassistant/components/assist_satellite/translations/en-GB.json +54 -1
- homeassistant/components/assist_satellite/translations/en.json +54 -1
- homeassistant/components/assist_satellite/translations/es.json +54 -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 +54 -1
- homeassistant/components/assist_satellite/translations/pt.json +46 -1
- homeassistant/components/assist_satellite/translations/sk.json +54 -1
- homeassistant/components/assist_satellite/translations/tr.json +54 -1
- homeassistant/components/assist_satellite/translations/zh-Hans.json +46 -1
- homeassistant/components/assist_satellite/translations/zh-Hant.json +54 -1
- homeassistant/components/assist_satellite/trigger.py +19 -0
- homeassistant/components/assist_satellite/triggers.yaml +20 -0
- homeassistant/components/asuswrt/bridge.py +0 -2
- homeassistant/components/august/__init__.py +8 -11
- homeassistant/components/august/manifest.json +1 -1
- homeassistant/components/august/translations/it.json +1 -1
- homeassistant/components/august/translations/tr.json +23 -1
- homeassistant/components/aussie_broadband/translations/it.json +1 -1
- homeassistant/components/autarco/translations/it.json +1 -1
- homeassistant/components/automation/__init__.py +62 -1
- homeassistant/components/automation/manifest.json +7 -0
- homeassistant/components/automation/strings.json +8 -0
- homeassistant/components/automation/translations/cs.json +8 -0
- homeassistant/components/automation/translations/de.json +8 -0
- homeassistant/components/automation/translations/en-GB.json +8 -0
- homeassistant/components/automation/translations/en.json +8 -0
- homeassistant/components/automation/translations/es.json +9 -1
- homeassistant/components/automation/translations/et.json +8 -0
- homeassistant/components/automation/translations/fr.json +8 -0
- homeassistant/components/automation/translations/lt.json +8 -0
- homeassistant/components/automation/translations/mk.json +10 -0
- homeassistant/components/automation/translations/sk.json +8 -0
- homeassistant/components/automation/translations/sr-Latn.json +28 -0
- homeassistant/components/automation/translations/zh-Hant.json +8 -0
- homeassistant/components/avea/manifest.json +1 -1
- homeassistant/components/awair/manifest.json +2 -2
- homeassistant/components/awair/quality_scale.yaml +98 -0
- homeassistant/components/awair/translations/it.json +1 -1
- homeassistant/components/axis/translations/it.json +2 -2
- homeassistant/components/azure_devops/translations/it.json +1 -1
- homeassistant/components/azure_storage/translations/it.json +2 -2
- homeassistant/components/backblaze_b2/__init__.py +116 -0
- homeassistant/components/backblaze_b2/backup.py +615 -0
- homeassistant/components/backblaze_b2/config_flow.py +288 -0
- homeassistant/components/backblaze_b2/const.py +22 -0
- homeassistant/components/backblaze_b2/diagnostics.py +56 -0
- homeassistant/components/backblaze_b2/manifest.json +12 -0
- homeassistant/components/backblaze_b2/quality_scale.yaml +124 -0
- homeassistant/components/backblaze_b2/repairs.py +93 -0
- homeassistant/components/backblaze_b2/strings.json +92 -0
- homeassistant/components/backblaze_b2/translations/bg.json +32 -0
- homeassistant/components/backblaze_b2/translations/ca.json +13 -0
- homeassistant/components/backblaze_b2/translations/cs.json +92 -0
- homeassistant/components/backblaze_b2/translations/de.json +92 -0
- homeassistant/components/backblaze_b2/translations/el.json +23 -0
- homeassistant/components/backblaze_b2/translations/en-GB.json +92 -0
- homeassistant/components/backblaze_b2/translations/en.json +92 -0
- homeassistant/components/backblaze_b2/translations/es.json +92 -0
- homeassistant/components/backblaze_b2/translations/et.json +92 -0
- homeassistant/components/backblaze_b2/translations/ga.json +92 -0
- homeassistant/components/backblaze_b2/translations/he.json +13 -0
- homeassistant/components/backblaze_b2/translations/it.json +92 -0
- homeassistant/components/backblaze_b2/translations/lt.json +92 -0
- homeassistant/components/backblaze_b2/translations/nl.json +13 -0
- homeassistant/components/backblaze_b2/translations/pt.json +92 -0
- homeassistant/components/backblaze_b2/translations/sk.json +92 -0
- homeassistant/components/backblaze_b2/translations/sr-Latn.json +91 -0
- homeassistant/components/backblaze_b2/translations/sv.json +59 -0
- homeassistant/components/backblaze_b2/translations/tr.json +92 -0
- homeassistant/components/backblaze_b2/translations/zh-Hans.json +92 -0
- homeassistant/components/backblaze_b2/translations/zh-Hant.json +92 -0
- homeassistant/components/bang_olufsen/config_flow.py +2 -2
- homeassistant/components/bang_olufsen/const.py +96 -30
- homeassistant/components/bang_olufsen/diagnostics.py +4 -2
- homeassistant/components/bang_olufsen/event.py +137 -18
- homeassistant/components/bang_olufsen/icons.json +274 -0
- homeassistant/components/bang_olufsen/manifest.json +1 -1
- homeassistant/components/bang_olufsen/media_player.py +3 -2
- homeassistant/components/bang_olufsen/strings.json +992 -0
- homeassistant/components/bang_olufsen/translations/bg.json +3 -0
- homeassistant/components/bang_olufsen/translations/cs.json +992 -0
- homeassistant/components/bang_olufsen/translations/de.json +992 -0
- homeassistant/components/bang_olufsen/translations/en-GB.json +992 -0
- homeassistant/components/bang_olufsen/translations/en.json +992 -0
- homeassistant/components/bang_olufsen/translations/es.json +992 -0
- homeassistant/components/bang_olufsen/translations/et.json +992 -0
- homeassistant/components/bang_olufsen/translations/ga.json +992 -0
- homeassistant/components/bang_olufsen/translations/lt.json +992 -0
- homeassistant/components/bang_olufsen/translations/nl.json +902 -0
- homeassistant/components/bang_olufsen/translations/pt.json +992 -0
- homeassistant/components/bang_olufsen/translations/sk.json +992 -0
- homeassistant/components/bang_olufsen/translations/tr.json +992 -0
- homeassistant/components/bang_olufsen/translations/zh-Hans.json +992 -0
- homeassistant/components/bang_olufsen/translations/zh-Hant.json +992 -0
- homeassistant/components/bang_olufsen/util.py +33 -1
- homeassistant/components/bang_olufsen/websocket.py +60 -15
- homeassistant/components/bayesian/translations/lb.json +9 -0
- homeassistant/components/bayesian/translations/mk.json +22 -0
- homeassistant/components/bayesian/translations/pl.json +1 -0
- homeassistant/components/bayesian/translations/sr-Latn.json +2 -1
- homeassistant/components/bayesian/translations/sv.json +8 -2
- homeassistant/components/bayesian/translations/tr.json +199 -0
- homeassistant/components/binary_sensor/icons.json +8 -0
- homeassistant/components/binary_sensor/strings.json +36 -1
- homeassistant/components/binary_sensor/translations/cs.json +36 -1
- homeassistant/components/binary_sensor/translations/de.json +36 -1
- homeassistant/components/binary_sensor/translations/en-GB.json +36 -1
- homeassistant/components/binary_sensor/translations/en.json +36 -1
- homeassistant/components/binary_sensor/translations/es.json +36 -1
- homeassistant/components/binary_sensor/translations/et.json +36 -1
- homeassistant/components/binary_sensor/translations/lt.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/blebox/translations/sr-Latn.json +1 -0
- homeassistant/components/blink/translations/it.json +1 -1
- homeassistant/components/blink/translations/tr.json +16 -1
- homeassistant/components/blue_current/manifest.json +1 -1
- homeassistant/components/blue_current/translations/it.json +1 -1
- homeassistant/components/blue_current/translations/tr.json +44 -0
- homeassistant/components/bluemaestro/config_flow.py +1 -1
- homeassistant/components/bluetooth/manifest.json +1 -1
- homeassistant/components/bluetooth/passive_update_processor.py +6 -0
- homeassistant/components/bmw_connected_drive/translations/it.json +2 -2
- homeassistant/components/bmw_connected_drive/translations/lb.json +9 -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/bosch_alarm/translations/it.json +1 -1
- homeassistant/components/bosch_alarm/translations/mk.json +10 -0
- homeassistant/components/bosch_shc/translations/it.json +1 -1
- homeassistant/components/braviatv/translations/it.json +1 -1
- homeassistant/components/braviatv/translations/sr-Latn.json +5 -0
- homeassistant/components/bring/translations/it.json +1 -1
- homeassistant/components/bring/translations/mk.json +3 -1
- homeassistant/components/bring/translations/pl.json +5 -0
- homeassistant/components/broadlink/manifest.json +1 -0
- homeassistant/components/broadlink/translations/sr-Latn.json +5 -0
- homeassistant/components/brother/__init__.py +10 -1
- homeassistant/components/brother/config_flow.py +14 -2
- homeassistant/components/brother/const.py +4 -1
- homeassistant/components/brother/entity.py +30 -0
- homeassistant/components/brother/manifest.json +2 -1
- homeassistant/components/brother/quality_scale.yaml +78 -0
- homeassistant/components/brother/sensor.py +12 -24
- homeassistant/components/brother/strings.json +13 -2
- homeassistant/components/brother/translations/bg.json +8 -0
- homeassistant/components/brother/translations/cs.json +11 -0
- homeassistant/components/brother/translations/de.json +11 -0
- homeassistant/components/brother/translations/en-GB.json +11 -0
- homeassistant/components/brother/translations/en.json +11 -0
- homeassistant/components/brother/translations/es.json +11 -0
- homeassistant/components/brother/translations/et.json +11 -0
- homeassistant/components/brother/translations/ga.json +11 -0
- homeassistant/components/brother/translations/it.json +14 -1
- homeassistant/components/brother/translations/lt.json +11 -0
- homeassistant/components/brother/translations/pl.json +11 -0
- homeassistant/components/brother/translations/pt.json +11 -0
- homeassistant/components/brother/translations/sk.json +11 -0
- homeassistant/components/brother/translations/sr-Latn.json +5 -0
- homeassistant/components/brother/translations/sv.json +11 -0
- homeassistant/components/brother/translations/tr.json +58 -2
- homeassistant/components/brother/translations/zh-Hans.json +11 -0
- homeassistant/components/brother/translations/zh-Hant.json +11 -0
- homeassistant/components/brunt/translations/it.json +1 -1
- homeassistant/components/bryant_evolution/translations/it.json +1 -1
- homeassistant/components/bsblan/translations/it.json +1 -1
- homeassistant/components/bsblan/translations/sr-Latn.json +4 -0
- homeassistant/components/bsblan/translations/tr.json +22 -2
- homeassistant/components/bthome/binary_sensor.py +2 -4
- homeassistant/components/bthome/sensor.py +13 -4
- homeassistant/components/bthome/strings.json +43 -0
- homeassistant/components/bthome/translations/bg.json +26 -0
- homeassistant/components/bthome/translations/cs.json +43 -0
- homeassistant/components/bthome/translations/de.json +43 -0
- homeassistant/components/bthome/translations/en-GB.json +43 -0
- homeassistant/components/bthome/translations/en.json +43 -0
- homeassistant/components/bthome/translations/es.json +43 -0
- homeassistant/components/bthome/translations/et.json +43 -0
- homeassistant/components/bthome/translations/ga.json +43 -0
- homeassistant/components/bthome/translations/it.json +46 -1
- homeassistant/components/bthome/translations/lt.json +43 -0
- homeassistant/components/bthome/translations/pt-BR.json +29 -0
- homeassistant/components/bthome/translations/pt.json +43 -0
- homeassistant/components/bthome/translations/sk.json +43 -0
- homeassistant/components/bthome/translations/sv.json +43 -0
- homeassistant/components/bthome/translations/tr.json +43 -0
- homeassistant/components/bthome/translations/uk.json +25 -0
- homeassistant/components/bthome/translations/zh-Hans.json +43 -0
- homeassistant/components/bthome/translations/zh-Hant.json +43 -0
- homeassistant/components/button/translations/sr-Latn.json +20 -0
- homeassistant/components/caldav/manifest.json +1 -1
- homeassistant/components/caldav/translations/it.json +1 -1
- homeassistant/components/cambridge_audio/translations/it.json +1 -1
- homeassistant/components/camera/__init__.py +1 -1
- homeassistant/components/camera/translations/mk.json +4 -2
- homeassistant/components/climate/icons.json +17 -0
- homeassistant/components/climate/strings.json +64 -1
- homeassistant/components/climate/translations/bg.json +41 -1
- homeassistant/components/climate/translations/cs.json +64 -1
- homeassistant/components/climate/translations/de.json +64 -1
- homeassistant/components/climate/translations/el.json +54 -1
- homeassistant/components/climate/translations/en-GB.json +64 -1
- homeassistant/components/climate/translations/en.json +64 -1
- homeassistant/components/climate/translations/es.json +64 -1
- homeassistant/components/climate/translations/et.json +64 -1
- homeassistant/components/climate/translations/ga.json +54 -1
- homeassistant/components/climate/translations/lt.json +64 -1
- homeassistant/components/climate/translations/mk.json +10 -3
- homeassistant/components/climate/translations/pt.json +54 -1
- homeassistant/components/climate/translations/ru.json +54 -1
- homeassistant/components/climate/translations/sk.json +64 -1
- 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 +48 -1
- homeassistant/components/climate/translations/zh-Hant.json +64 -1
- homeassistant/components/climate/trigger.py +43 -0
- homeassistant/components/climate/triggers.yaml +21 -0
- homeassistant/components/cloud/__init__.py +65 -16
- homeassistant/components/cloud/account_link.py +5 -2
- homeassistant/components/cloud/ai_task.py +195 -0
- homeassistant/components/cloud/client.py +9 -5
- homeassistant/components/cloud/const.py +3 -0
- homeassistant/components/cloud/conversation.py +68 -0
- homeassistant/components/cloud/entity.py +614 -0
- homeassistant/components/cloud/helpers.py +2 -0
- homeassistant/components/cloud/http_api.py +21 -0
- homeassistant/components/cloud/manifest.json +1 -1
- homeassistant/components/cloud/strings.json +7 -0
- homeassistant/components/cloud/translations/cs.json +7 -0
- homeassistant/components/cloud/translations/de.json +7 -0
- homeassistant/components/cloud/translations/en-GB.json +7 -0
- homeassistant/components/cloud/translations/en.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/lt.json +7 -0
- homeassistant/components/cloud/translations/pt.json +7 -0
- homeassistant/components/cloud/translations/sk.json +7 -0
- homeassistant/components/cloud/translations/tr.json +7 -0
- homeassistant/components/cloud/translations/zh-Hans.json +7 -0
- homeassistant/components/cloud/translations/zh-Hant.json +7 -0
- homeassistant/components/cloudflare/translations/it.json +1 -1
- homeassistant/components/co2signal/translations/it.json +1 -1
- homeassistant/components/coinbase/translations/sv.json +2 -1
- homeassistant/components/coinbase/translations/tr.json +10 -1
- homeassistant/components/color_extractor/translations/mk.json +7 -0
- homeassistant/components/comelit/binary_sensor.py +3 -2
- homeassistant/components/comelit/const.py +10 -0
- homeassistant/components/comelit/coordinator.py +2 -6
- homeassistant/components/comelit/cover.py +3 -2
- homeassistant/components/comelit/light.py +3 -2
- homeassistant/components/comelit/sensor.py +4 -3
- homeassistant/components/comelit/switch.py +3 -2
- homeassistant/components/comelit/translations/it.json +1 -1
- homeassistant/components/comelit/translations/tr.json +2 -0
- homeassistant/components/comelit/utils.py +7 -17
- homeassistant/components/compit/translations/tr.json +35 -0
- homeassistant/components/config/area_registry.py +25 -0
- homeassistant/components/config/floor_registry.py +23 -0
- homeassistant/components/conversation/__init__.py +49 -10
- homeassistant/components/conversation/agent_manager.py +8 -0
- homeassistant/components/conversation/chat_log.py +171 -2
- homeassistant/components/conversation/const.py +15 -1
- homeassistant/components/conversation/default_agent.py +86 -47
- homeassistant/components/conversation/http.py +116 -1
- homeassistant/components/conversation/manifest.json +1 -1
- homeassistant/components/cookidoo/translations/it.json +2 -2
- homeassistant/components/cookidoo/translations/mk.json +19 -0
- homeassistant/components/coolmaster/const.py +2 -0
- homeassistant/components/coolmaster/coordinator.py +33 -5
- homeassistant/components/cosori/__init__.py +1 -0
- homeassistant/components/cosori/manifest.json +6 -0
- homeassistant/components/counter/translations/sr-Latn.json +41 -1
- homeassistant/components/cover/translations/sr-Latn.json +5 -1
- homeassistant/components/cover/translations/zh-Hant.json +1 -1
- homeassistant/components/cync/__init__.py +6 -1
- homeassistant/components/cync/translations/tr.json +46 -0
- homeassistant/components/date/translations/mk.json +12 -0
- homeassistant/components/datetime/translations/mk.json +11 -0
- homeassistant/components/datetime/translations/sr-Latn.json +17 -0
- homeassistant/components/debugpy/manifest.json +1 -1
- homeassistant/components/deconz/translations/mk.json +3 -1
- homeassistant/components/deconz/translations/pt.json +1 -1
- homeassistant/components/decora_wifi/light.py +3 -0
- homeassistant/components/deluge/translations/it.json +1 -1
- homeassistant/components/deluge/translations/tr.json +8 -0
- homeassistant/components/demo/translations/sr-Latn.json +3 -0
- homeassistant/components/derivative/icons.json +5 -0
- homeassistant/components/derivative/sensor.py +19 -7
- homeassistant/components/derivative/services.yaml +1 -0
- homeassistant/components/derivative/strings.json +6 -0
- homeassistant/components/derivative/translations/bg.json +5 -0
- homeassistant/components/derivative/translations/cs.json +6 -0
- homeassistant/components/derivative/translations/de.json +6 -0
- homeassistant/components/derivative/translations/el.json +5 -0
- homeassistant/components/derivative/translations/en-GB.json +6 -0
- homeassistant/components/derivative/translations/en.json +6 -0
- homeassistant/components/derivative/translations/es.json +6 -0
- homeassistant/components/derivative/translations/et.json +6 -0
- homeassistant/components/derivative/translations/ga.json +6 -0
- homeassistant/components/derivative/translations/lt.json +6 -0
- homeassistant/components/derivative/translations/nl.json +5 -0
- homeassistant/components/derivative/translations/pt.json +6 -0
- homeassistant/components/derivative/translations/sk.json +6 -0
- homeassistant/components/derivative/translations/sr-Latn.json +41 -4
- homeassistant/components/derivative/translations/sv.json +5 -0
- homeassistant/components/derivative/translations/tr.json +6 -0
- homeassistant/components/derivative/translations/zh-Hans.json +6 -0
- homeassistant/components/derivative/translations/zh-Hant.json +6 -0
- homeassistant/components/devolo_home_control/__init__.py +14 -8
- homeassistant/components/devolo_home_control/manifest.json +1 -1
- homeassistant/components/devolo_home_control/strings.json +1 -1
- homeassistant/components/devolo_home_control/translations/it.json +1 -1
- homeassistant/components/devolo_home_network/translations/it.json +1 -1
- homeassistant/components/discord/translations/it.json +1 -1
- homeassistant/components/discovergy/translations/it.json +1 -1
- homeassistant/components/dlna_dmr/manifest.json +2 -1
- homeassistant/components/dlna_dms/manifest.json +2 -1
- homeassistant/components/doorbird/translations/it.json +1 -1
- homeassistant/components/dormakaba_dkey/translations/it.json +1 -1
- homeassistant/components/downloader/translations/tr.json +8 -0
- homeassistant/components/drop_connect/translations/mk.json +2 -1
- homeassistant/components/droplet/config_flow.py +13 -8
- homeassistant/components/droplet/translations/sv.json +10 -0
- homeassistant/components/droplet/translations/tr.json +40 -0
- homeassistant/components/duckdns/__init__.py +102 -18
- homeassistant/components/duckdns/config_flow.py +81 -0
- homeassistant/components/duckdns/const.py +7 -0
- homeassistant/components/duckdns/issue.py +40 -0
- homeassistant/components/duckdns/manifest.json +3 -3
- homeassistant/components/duckdns/services.yaml +4 -1
- homeassistant/components/duckdns/strings.json +41 -1
- homeassistant/components/duckdns/translations/bg.json +26 -0
- homeassistant/components/duckdns/translations/ca.json +0 -1
- homeassistant/components/duckdns/translations/cs.json +41 -1
- homeassistant/components/duckdns/translations/de.json +41 -1
- homeassistant/components/duckdns/translations/el.json +8 -1
- homeassistant/components/duckdns/translations/en-GB.json +41 -1
- homeassistant/components/duckdns/translations/en.json +41 -1
- homeassistant/components/duckdns/translations/es.json +41 -1
- homeassistant/components/duckdns/translations/et.json +41 -1
- homeassistant/components/duckdns/translations/fi.json +0 -1
- homeassistant/components/duckdns/translations/fr.json +0 -1
- homeassistant/components/duckdns/translations/ga.json +40 -1
- homeassistant/components/duckdns/translations/hu.json +0 -1
- homeassistant/components/duckdns/translations/it.json +0 -1
- homeassistant/components/duckdns/translations/ja.json +0 -1
- homeassistant/components/duckdns/translations/ko.json +0 -1
- homeassistant/components/duckdns/translations/lt.json +41 -1
- homeassistant/components/duckdns/translations/nl.json +8 -1
- homeassistant/components/duckdns/translations/pt.json +41 -1
- homeassistant/components/duckdns/translations/ru.json +0 -1
- homeassistant/components/duckdns/translations/sk.json +41 -1
- homeassistant/components/duckdns/translations/sv.json +13 -1
- homeassistant/components/duckdns/translations/tr.json +40 -1
- homeassistant/components/duckdns/translations/zh-Hans.json +41 -1
- homeassistant/components/duckdns/translations/zh-Hant.json +40 -0
- homeassistant/components/ecobee/manifest.json +1 -1
- homeassistant/components/ecovacs/icons.json +6 -0
- homeassistant/components/ecovacs/manifest.json +1 -1
- homeassistant/components/ecovacs/select.py +19 -4
- homeassistant/components/ecovacs/strings.json +13 -0
- homeassistant/components/ecovacs/switch.py +7 -0
- homeassistant/components/ecovacs/translations/bg.json +8 -0
- homeassistant/components/ecovacs/translations/cs.json +13 -0
- homeassistant/components/ecovacs/translations/de.json +13 -0
- homeassistant/components/ecovacs/translations/en-GB.json +15 -2
- homeassistant/components/ecovacs/translations/en.json +13 -0
- homeassistant/components/ecovacs/translations/es.json +13 -0
- homeassistant/components/ecovacs/translations/et.json +13 -0
- homeassistant/components/ecovacs/translations/ga.json +13 -0
- homeassistant/components/ecovacs/translations/it.json +13 -0
- homeassistant/components/ecovacs/translations/lt.json +13 -0
- homeassistant/components/ecovacs/translations/pt.json +13 -0
- homeassistant/components/ecovacs/translations/sk.json +13 -0
- homeassistant/components/ecovacs/translations/sr-Latn.json +10 -0
- homeassistant/components/ecovacs/translations/sv.json +10 -0
- homeassistant/components/ecovacs/translations/tr.json +52 -1
- homeassistant/components/ecovacs/translations/zh-Hans.json +13 -0
- homeassistant/components/ecovacs/translations/zh-Hant.json +13 -0
- homeassistant/components/ecowitt/manifest.json +1 -0
- homeassistant/components/ecowitt/sensor.py +4 -8
- homeassistant/components/edl21/translations/de.json +1 -1
- homeassistant/components/efergy/translations/it.json +1 -1
- homeassistant/components/ekeybionyx/translations/tr.json +66 -0
- homeassistant/components/electric_kiwi/translations/it.json +1 -1
- homeassistant/components/elevenlabs/translations/tr.json +17 -1
- homeassistant/components/elkm1/__init__.py +72 -38
- homeassistant/components/elkm1/config_flow.py +5 -4
- homeassistant/components/elkm1/manifest.json +1 -1
- homeassistant/components/elkm1/sensor.py +1 -3
- homeassistant/components/elkm1/translations/tr.json +4 -0
- homeassistant/components/elmax/translations/it.json +1 -1
- homeassistant/components/emoncms/quality_scale.yaml +84 -0
- homeassistant/components/emoncms/sensor.py +4 -2
- homeassistant/components/energy/data.py +54 -5
- homeassistant/components/energy/translations/sr-Latn.json +64 -0
- homeassistant/components/energy/validate.py +382 -212
- homeassistant/components/energy/websocket_api.py +1 -0
- homeassistant/components/energyid/__init__.py +401 -0
- homeassistant/components/energyid/config_flow.py +293 -0
- homeassistant/components/energyid/const.py +21 -0
- homeassistant/components/energyid/energyid_sensor_mapping_flow.py +156 -0
- homeassistant/components/energyid/manifest.json +12 -0
- homeassistant/components/energyid/quality_scale.yaml +137 -0
- homeassistant/components/energyid/strings.json +71 -0
- homeassistant/components/energyid/translations/bg.json +7 -0
- homeassistant/components/energyid/translations/cs.json +71 -0
- homeassistant/components/energyid/translations/de.json +71 -0
- homeassistant/components/energyid/translations/el.json +53 -0
- homeassistant/components/energyid/translations/en-GB.json +71 -0
- homeassistant/components/energyid/translations/en.json +71 -0
- homeassistant/components/energyid/translations/es.json +71 -0
- homeassistant/components/energyid/translations/et.json +71 -0
- homeassistant/components/energyid/translations/ga.json +71 -0
- homeassistant/components/energyid/translations/it.json +71 -0
- homeassistant/components/energyid/translations/ja.json +28 -0
- homeassistant/components/energyid/translations/lt.json +71 -0
- homeassistant/components/energyid/translations/pt.json +71 -0
- homeassistant/components/energyid/translations/sk.json +71 -0
- homeassistant/components/energyid/translations/sv.json +37 -0
- homeassistant/components/energyid/translations/tr.json +71 -0
- homeassistant/components/energyid/translations/zh-Hans.json +71 -0
- homeassistant/components/energyid/translations/zh-Hant.json +71 -0
- homeassistant/components/enphase_envoy/diagnostics.py +3 -0
- homeassistant/components/enphase_envoy/manifest.json +1 -1
- homeassistant/components/enphase_envoy/sensor.py +177 -328
- homeassistant/components/enphase_envoy/translations/fr.json +6 -0
- homeassistant/components/enphase_envoy/translations/it.json +2 -2
- homeassistant/components/enphase_envoy/translations/tr.json +15 -0
- homeassistant/components/esphome/__init__.py +62 -1
- homeassistant/components/esphome/config_flow.py +2 -2
- homeassistant/components/esphome/const.py +1 -1
- homeassistant/components/esphome/entity.py +3 -20
- homeassistant/components/esphome/entry_data.py +0 -8
- homeassistant/components/esphome/manager.py +0 -4
- 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 +2 -3
- homeassistant/components/esphome/translations/ja.json +0 -1
- homeassistant/components/esphome/translations/ko.json +0 -1
- homeassistant/components/esphome/translations/lt.json +1 -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/esphome/websocket_api.py +52 -0
- homeassistant/components/essent/__init__.py +29 -0
- homeassistant/components/essent/config_flow.py +47 -0
- homeassistant/components/essent/const.py +29 -0
- homeassistant/components/essent/coordinator.py +108 -0
- homeassistant/components/essent/entity.py +36 -0
- homeassistant/components/essent/manifest.json +12 -0
- homeassistant/components/essent/quality_scale.yaml +89 -0
- homeassistant/components/essent/sensor.py +216 -0
- homeassistant/components/essent/strings.json +70 -0
- homeassistant/components/essent/translations/bg.json +64 -0
- homeassistant/components/essent/translations/cs.json +70 -0
- homeassistant/components/essent/translations/de.json +70 -0
- homeassistant/components/essent/translations/el.json +9 -0
- homeassistant/components/essent/translations/en-GB.json +70 -0
- homeassistant/components/essent/translations/en.json +70 -0
- homeassistant/components/essent/translations/es.json +70 -0
- homeassistant/components/essent/translations/et.json +70 -0
- homeassistant/components/essent/translations/ga.json +70 -0
- homeassistant/components/essent/translations/lt.json +70 -0
- homeassistant/components/essent/translations/nl.json +41 -0
- homeassistant/components/essent/translations/pt.json +70 -0
- homeassistant/components/essent/translations/sk.json +70 -0
- homeassistant/components/essent/translations/tr.json +70 -0
- homeassistant/components/essent/translations/zh-Hans.json +70 -0
- homeassistant/components/essent/translations/zh-Hant.json +70 -0
- homeassistant/components/eufylife_ble/config_flow.py +1 -1
- homeassistant/components/event/translations/pl.json +2 -1
- homeassistant/components/event/translations/sr-Latn.json +16 -1
- homeassistant/components/ezviz/translations/es.json +1 -1
- homeassistant/components/ezviz/translations/it.json +1 -1
- homeassistant/components/fan/icons.json +8 -0
- homeassistant/components/fan/strings.json +34 -1
- homeassistant/components/fan/translations/bg.json +20 -1
- homeassistant/components/fan/translations/cs.json +34 -1
- homeassistant/components/fan/translations/de.json +34 -1
- homeassistant/components/fan/translations/en-GB.json +34 -1
- homeassistant/components/fan/translations/en.json +34 -1
- homeassistant/components/fan/translations/es.json +34 -1
- homeassistant/components/fan/translations/et.json +34 -1
- homeassistant/components/fan/translations/ga.json +30 -1
- homeassistant/components/fan/translations/lt.json +34 -1
- homeassistant/components/fan/translations/mk.json +11 -0
- homeassistant/components/fan/translations/nl.json +6 -1
- homeassistant/components/fan/translations/pt.json +30 -1
- homeassistant/components/fan/translations/sk.json +34 -1
- homeassistant/components/fan/translations/tr.json +30 -1
- homeassistant/components/fan/translations/zh-Hans.json +27 -1
- homeassistant/components/fan/translations/zh-Hant.json +34 -1
- homeassistant/components/fan/trigger.py +17 -0
- homeassistant/components/fan/triggers.yaml +18 -0
- homeassistant/components/feedreader/translations/it.json +1 -1
- homeassistant/components/fibaro/translations/it.json +1 -1
- homeassistant/components/file/__init__.py +2 -2
- homeassistant/components/file/services.py +15 -15
- homeassistant/components/file/translations/de.json +3 -3
- homeassistant/components/file/translations/mk.json +11 -0
- homeassistant/components/file/translations/tr.json +26 -0
- homeassistant/components/filesize/translations/it.json +1 -1
- homeassistant/components/filter/translations/sr-Latn.json +149 -11
- homeassistant/components/filter/translations/zh-Hans.json +1 -1
- homeassistant/components/fing/translations/tr.json +24 -0
- homeassistant/components/firefly_iii/config_flow.py +45 -0
- homeassistant/components/firefly_iii/strings.json +16 -1
- homeassistant/components/firefly_iii/translations/bg.json +11 -1
- homeassistant/components/firefly_iii/translations/ca.json +12 -1
- homeassistant/components/firefly_iii/translations/cs.json +16 -1
- homeassistant/components/firefly_iii/translations/de.json +18 -3
- homeassistant/components/firefly_iii/translations/el.json +14 -1
- homeassistant/components/firefly_iii/translations/en-GB.json +16 -1
- homeassistant/components/firefly_iii/translations/en.json +16 -1
- homeassistant/components/firefly_iii/translations/es.json +16 -1
- homeassistant/components/firefly_iii/translations/et.json +16 -1
- homeassistant/components/firefly_iii/translations/ga.json +16 -1
- homeassistant/components/firefly_iii/translations/he.json +12 -1
- homeassistant/components/firefly_iii/translations/it.json +19 -0
- homeassistant/components/firefly_iii/translations/lt.json +16 -1
- homeassistant/components/firefly_iii/translations/nl.json +12 -1
- homeassistant/components/firefly_iii/translations/pt.json +16 -1
- homeassistant/components/firefly_iii/translations/sk.json +16 -1
- homeassistant/components/firefly_iii/translations/sr-Latn.json +17 -0
- homeassistant/components/firefly_iii/translations/sv.json +19 -1
- homeassistant/components/firefly_iii/translations/tr.json +96 -0
- homeassistant/components/firefly_iii/translations/zh-Hans.json +16 -1
- homeassistant/components/firefly_iii/translations/zh-Hant.json +16 -1
- homeassistant/components/fireservicerota/translations/it.json +1 -1
- homeassistant/components/fitbit/translations/it.json +1 -1
- homeassistant/components/flume/translations/it.json +1 -1
- homeassistant/components/forked_daapd/translations/sr-Latn.json +8 -0
- homeassistant/components/foscam/translations/tr.json +45 -1
- homeassistant/components/freebox/translations/fr.json +9 -0
- homeassistant/components/fritz/coordinator.py +15 -0
- homeassistant/components/fritz/diagnostics.py +1 -0
- homeassistant/components/fritz/manifest.json +1 -1
- homeassistant/components/fritz/translations/it.json +2 -2
- homeassistant/components/fritz/translations/sv.json +3 -0
- homeassistant/components/fritz/translations/tr.json +24 -0
- homeassistant/components/fritzbox/binary_sensor.py +3 -0
- homeassistant/components/fritzbox/button.py +3 -0
- homeassistant/components/fritzbox/climate.py +3 -0
- homeassistant/components/fritzbox/cover.py +3 -0
- homeassistant/components/fritzbox/light.py +3 -0
- homeassistant/components/fritzbox/sensor.py +3 -0
- homeassistant/components/fritzbox/switch.py +3 -0
- homeassistant/components/fritzbox/translations/it.json +2 -2
- homeassistant/components/fritzbox_callmonitor/translations/it.json +1 -1
- homeassistant/components/fronius/manifest.json +1 -0
- homeassistant/components/fronius/translations/it.json +1 -1
- homeassistant/components/fronius/translations/sr-Latn.json +3 -0
- homeassistant/components/frontend/__init__.py +40 -4
- homeassistant/components/frontend/manifest.json +4 -1
- homeassistant/components/frontend/storage.py +151 -5
- homeassistant/components/frontend/strings.json +8 -0
- homeassistant/components/frontend/translations/bg.json +8 -0
- homeassistant/components/frontend/translations/cs.json +8 -0
- homeassistant/components/frontend/translations/de.json +10 -2
- homeassistant/components/frontend/translations/el.json +8 -0
- homeassistant/components/frontend/translations/en-GB.json +8 -0
- homeassistant/components/frontend/translations/en.json +8 -0
- homeassistant/components/frontend/translations/es.json +8 -0
- homeassistant/components/frontend/translations/et.json +8 -0
- homeassistant/components/frontend/translations/fr.json +8 -0
- homeassistant/components/frontend/translations/ga.json +8 -0
- homeassistant/components/frontend/translations/lt.json +8 -0
- homeassistant/components/frontend/translations/pt.json +8 -0
- homeassistant/components/frontend/translations/ru.json +8 -0
- homeassistant/components/frontend/translations/sk.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 +8 -0
- homeassistant/components/frontend/translations/zh-Hant.json +8 -0
- homeassistant/components/frontier_silicon/translations/it.json +1 -1
- homeassistant/components/fujitsu_fglair/translations/it.json +1 -1
- homeassistant/components/fully_kiosk/translations/tr.json +15 -0
- homeassistant/components/fyta/translations/it.json +1 -1
- homeassistant/components/fyta/translations/sr-Latn.json +6 -0
- homeassistant/components/generic/manifest.json +1 -1
- homeassistant/components/generic/translations/sr-Latn.json +42 -0
- homeassistant/components/generic_hygrostat/translations/sr-Latn.json +36 -4
- homeassistant/components/generic_thermostat/translations/cs.json +2 -2
- homeassistant/components/generic_thermostat/translations/sr-Latn.json +46 -6
- homeassistant/components/geocaching/translations/it.json +1 -1
- homeassistant/components/geocaching/translations/tr.json +2 -1
- homeassistant/components/gios/sensor.py +3 -0
- homeassistant/components/gios/strings.json +4 -0
- homeassistant/components/gios/translations/cs.json +4 -0
- homeassistant/components/gios/translations/de.json +4 -0
- homeassistant/components/gios/translations/en-GB.json +4 -0
- homeassistant/components/gios/translations/en.json +4 -0
- homeassistant/components/gios/translations/es.json +4 -0
- homeassistant/components/gios/translations/et.json +4 -0
- homeassistant/components/gios/translations/ga.json +4 -0
- homeassistant/components/gios/translations/it.json +4 -0
- homeassistant/components/gios/translations/lt.json +4 -0
- homeassistant/components/gios/translations/pt.json +4 -0
- homeassistant/components/gios/translations/sk.json +4 -0
- homeassistant/components/gios/translations/sr-Latn.json +14 -0
- homeassistant/components/gios/translations/sv.json +4 -0
- homeassistant/components/gios/translations/tr.json +4 -0
- homeassistant/components/gios/translations/zh-Hans.json +4 -0
- homeassistant/components/gios/translations/zh-Hant.json +4 -0
- homeassistant/components/glances/translations/it.json +1 -1
- homeassistant/components/go2rtc/__init__.py +106 -45
- homeassistant/components/go2rtc/const.py +3 -1
- homeassistant/components/go2rtc/manifest.json +1 -1
- homeassistant/components/go2rtc/server.py +111 -15
- homeassistant/components/go2rtc/util.py +12 -0
- homeassistant/components/goodwe/__init__.py +54 -14
- homeassistant/components/goodwe/config_flow.py +29 -15
- homeassistant/components/google/manifest.json +2 -1
- homeassistant/components/google/translations/it.json +1 -1
- homeassistant/components/google_air_quality/__init__.py +64 -0
- homeassistant/components/google_air_quality/config_flow.py +198 -0
- homeassistant/components/google_air_quality/const.py +7 -0
- homeassistant/components/google_air_quality/coordinator.py +68 -0
- homeassistant/components/google_air_quality/icons.json +15 -0
- homeassistant/components/google_air_quality/manifest.json +12 -0
- homeassistant/components/google_air_quality/quality_scale.yaml +80 -0
- homeassistant/components/google_air_quality/sensor.py +213 -0
- homeassistant/components/google_air_quality/strings.json +239 -0
- homeassistant/components/google_air_quality/translations/bg.json +88 -0
- homeassistant/components/google_air_quality/translations/cs.json +239 -0
- homeassistant/components/google_air_quality/translations/de.json +239 -0
- homeassistant/components/google_air_quality/translations/el.json +72 -0
- homeassistant/components/google_air_quality/translations/en-GB.json +225 -0
- homeassistant/components/google_air_quality/translations/en.json +239 -0
- homeassistant/components/google_air_quality/translations/es.json +239 -0
- homeassistant/components/google_air_quality/translations/et.json +225 -0
- homeassistant/components/google_air_quality/translations/fr.json +14 -0
- homeassistant/components/google_air_quality/translations/ga.json +225 -0
- homeassistant/components/google_air_quality/translations/it.json +106 -0
- homeassistant/components/google_air_quality/translations/lt.json +225 -0
- homeassistant/components/google_air_quality/translations/nl.json +106 -0
- homeassistant/components/google_air_quality/translations/pl.json +11 -0
- homeassistant/components/google_air_quality/translations/pt.json +225 -0
- homeassistant/components/google_air_quality/translations/ru.json +33 -0
- homeassistant/components/google_air_quality/translations/sk.json +225 -0
- homeassistant/components/google_air_quality/translations/sr-Latn.json +35 -0
- homeassistant/components/google_air_quality/translations/sv.json +122 -0
- homeassistant/components/google_air_quality/translations/tr.json +225 -0
- homeassistant/components/google_air_quality/translations/zh-Hans.json +225 -0
- homeassistant/components/google_air_quality/translations/zh-Hant.json +225 -0
- homeassistant/components/google_assistant/translations/sr-Latn.json +1 -1
- homeassistant/components/google_assistant_sdk/manifest.json +1 -0
- homeassistant/components/google_assistant_sdk/quality_scale.yaml +98 -0
- homeassistant/components/google_assistant_sdk/strings.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/cs.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/de.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/en-GB.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/en.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/es.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/et.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/ga.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/it.json +4 -1
- homeassistant/components/google_assistant_sdk/translations/lt.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/pt.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/sk.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/tr.json +7 -0
- homeassistant/components/google_assistant_sdk/translations/zh-Hans.json +3 -0
- homeassistant/components/google_assistant_sdk/translations/zh-Hant.json +3 -0
- homeassistant/components/google_drive/translations/it.json +1 -1
- homeassistant/components/google_generative_ai_conversation/translations/cs.json +1 -1
- homeassistant/components/google_generative_ai_conversation/translations/it.json +3 -3
- homeassistant/components/google_generative_ai_conversation/translations/sk.json +2 -2
- homeassistant/components/google_generative_ai_conversation/translations/tr.json +6 -0
- homeassistant/components/google_mail/translations/it.json +1 -1
- homeassistant/components/google_mail/translations/mk.json +3 -0
- homeassistant/components/google_photos/translations/it.json +1 -1
- homeassistant/components/google_sheets/services.py +4 -1
- homeassistant/components/google_sheets/services.yaml +5 -0
- homeassistant/components/google_sheets/strings.json +4 -0
- homeassistant/components/google_sheets/translations/cs.json +4 -0
- homeassistant/components/google_sheets/translations/de.json +4 -0
- homeassistant/components/google_sheets/translations/en-GB.json +4 -0
- homeassistant/components/google_sheets/translations/en.json +4 -0
- homeassistant/components/google_sheets/translations/es.json +4 -0
- homeassistant/components/google_sheets/translations/et.json +4 -0
- homeassistant/components/google_sheets/translations/ga.json +4 -0
- homeassistant/components/google_sheets/translations/it.json +5 -1
- homeassistant/components/google_sheets/translations/lt.json +4 -0
- homeassistant/components/google_sheets/translations/pt.json +4 -0
- homeassistant/components/google_sheets/translations/sk.json +4 -0
- homeassistant/components/google_sheets/translations/sv.json +6 -0
- homeassistant/components/google_sheets/translations/tr.json +22 -0
- homeassistant/components/google_sheets/translations/zh-Hans.json +4 -0
- homeassistant/components/google_sheets/translations/zh-Hant.json +4 -0
- homeassistant/components/google_tasks/todo.py +4 -0
- homeassistant/components/google_tasks/translations/it.json +1 -1
- homeassistant/components/google_translate/manifest.json +1 -0
- homeassistant/components/google_travel_time/sensor.py +3 -2
- homeassistant/components/google_travel_time/translations/it.json +1 -1
- homeassistant/components/google_travel_time/translations/mk.json +11 -0
- homeassistant/components/google_weather/__init__.py +84 -0
- homeassistant/components/google_weather/config_flow.py +198 -0
- homeassistant/components/google_weather/const.py +8 -0
- homeassistant/components/google_weather/coordinator.py +169 -0
- homeassistant/components/google_weather/entity.py +33 -0
- homeassistant/components/google_weather/icons.json +27 -0
- homeassistant/components/google_weather/manifest.json +12 -0
- homeassistant/components/google_weather/quality_scale.yaml +82 -0
- homeassistant/components/google_weather/sensor.py +233 -0
- homeassistant/components/google_weather/strings.json +102 -0
- homeassistant/components/google_weather/translations/bg.json +15 -0
- homeassistant/components/google_weather/translations/cs.json +102 -0
- homeassistant/components/google_weather/translations/de.json +102 -0
- homeassistant/components/google_weather/translations/el.json +37 -0
- homeassistant/components/google_weather/translations/en-GB.json +102 -0
- homeassistant/components/google_weather/translations/en.json +102 -0
- homeassistant/components/google_weather/translations/es.json +102 -0
- homeassistant/components/google_weather/translations/et.json +102 -0
- homeassistant/components/google_weather/translations/ga.json +102 -0
- homeassistant/components/google_weather/translations/it.json +65 -0
- homeassistant/components/google_weather/translations/lt.json +102 -0
- homeassistant/components/google_weather/translations/mk.json +25 -0
- homeassistant/components/google_weather/translations/nl.json +65 -0
- homeassistant/components/google_weather/translations/pt.json +102 -0
- homeassistant/components/google_weather/translations/ru.json +65 -0
- homeassistant/components/google_weather/translations/sk.json +102 -0
- homeassistant/components/google_weather/translations/sv.json +53 -0
- homeassistant/components/google_weather/translations/tr.json +102 -0
- homeassistant/components/google_weather/translations/zh-Hans.json +102 -0
- homeassistant/components/google_weather/translations/zh-Hant.json +102 -0
- homeassistant/components/google_weather/weather.py +366 -0
- homeassistant/components/gpsd/translations/sr-Latn.json +3 -0
- homeassistant/components/group/notify.py +28 -5
- 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/it.json +2 -2
- homeassistant/components/habitica/translations/tr.json +76 -0
- homeassistant/components/hanna/__init__.py +54 -0
- homeassistant/components/hanna/config_flow.py +62 -0
- homeassistant/components/hanna/const.py +3 -0
- homeassistant/components/hanna/coordinator.py +72 -0
- homeassistant/components/hanna/entity.py +28 -0
- homeassistant/components/hanna/manifest.json +10 -0
- homeassistant/components/hanna/quality_scale.yaml +70 -0
- homeassistant/components/hanna/sensor.py +106 -0
- homeassistant/components/hanna/strings.json +44 -0
- homeassistant/components/hanna/translations/bg.json +30 -0
- homeassistant/components/hanna/translations/cs.json +44 -0
- homeassistant/components/hanna/translations/de.json +44 -0
- homeassistant/components/hanna/translations/el.json +20 -0
- homeassistant/components/hanna/translations/en-GB.json +44 -0
- homeassistant/components/hanna/translations/en.json +44 -0
- homeassistant/components/hanna/translations/es.json +44 -0
- homeassistant/components/hanna/translations/et.json +44 -0
- homeassistant/components/hanna/translations/ga.json +44 -0
- homeassistant/components/hanna/translations/it.json +44 -0
- homeassistant/components/hanna/translations/lt.json +44 -0
- homeassistant/components/hanna/translations/nl.json +20 -0
- homeassistant/components/hanna/translations/pt.json +44 -0
- homeassistant/components/hanna/translations/sk.json +44 -0
- homeassistant/components/hanna/translations/sv.json +30 -0
- homeassistant/components/hanna/translations/tr.json +44 -0
- homeassistant/components/hanna/translations/zh-Hans.json +44 -0
- homeassistant/components/hanna/translations/zh-Hant.json +44 -0
- homeassistant/components/hassio/binary_sensor.py +57 -8
- homeassistant/components/hassio/const.py +5 -0
- homeassistant/components/hassio/coordinator.py +49 -9
- homeassistant/components/hassio/entity.py +34 -0
- homeassistant/components/hassio/issues.py +18 -2
- homeassistant/components/hassio/strings.json +4 -1
- homeassistant/components/hassio/translations/bg.json +5 -0
- homeassistant/components/hassio/translations/cs.json +4 -1
- homeassistant/components/hassio/translations/de.json +4 -1
- homeassistant/components/hassio/translations/el.json +0 -1
- homeassistant/components/hassio/translations/en-GB.json +4 -1
- homeassistant/components/hassio/translations/en.json +4 -1
- homeassistant/components/hassio/translations/es.json +4 -1
- homeassistant/components/hassio/translations/et.json +4 -1
- homeassistant/components/hassio/translations/fr.json +0 -1
- homeassistant/components/hassio/translations/fy.json +0 -3
- homeassistant/components/hassio/translations/ga.json +3 -1
- homeassistant/components/hassio/translations/he.json +0 -1
- homeassistant/components/hassio/translations/id.json +0 -1
- homeassistant/components/hassio/translations/it.json +3 -0
- homeassistant/components/hassio/translations/lt.json +4 -1
- homeassistant/components/hassio/translations/mk.json +5 -1
- homeassistant/components/hassio/translations/nl.json +0 -1
- homeassistant/components/hassio/translations/pt.json +3 -1
- homeassistant/components/hassio/translations/ru.json +0 -1
- homeassistant/components/hassio/translations/sk.json +4 -1
- homeassistant/components/hassio/translations/sr-Latn.json +5 -0
- homeassistant/components/hassio/translations/sv.json +3 -1
- homeassistant/components/hassio/translations/tr.json +38 -0
- homeassistant/components/hassio/translations/zh-Hans.json +3 -1
- homeassistant/components/hassio/translations/zh-Hant.json +4 -1
- homeassistant/components/heos/translations/it.json +2 -2
- homeassistant/components/here_travel_time/translations/it.json +1 -1
- homeassistant/components/history_stats/translations/mk.json +9 -1
- homeassistant/components/history_stats/translations/sr-Latn.json +85 -3
- homeassistant/components/hive/__init__.py +12 -3
- homeassistant/components/hive/const.py +0 -2
- homeassistant/components/hive/manifest.json +1 -1
- homeassistant/components/hive/translations/it.json +1 -1
- homeassistant/components/hive/translations/mk.json +9 -0
- homeassistant/components/holiday/translations/it.json +1 -1
- homeassistant/components/holiday/translations/pl.json +7 -0
- homeassistant/components/home_connect/__init__.py +14 -11
- homeassistant/components/home_connect/const.py +14 -0
- homeassistant/components/home_connect/coordinator.py +4 -3
- homeassistant/components/home_connect/entity.py +2 -5
- homeassistant/components/home_connect/manifest.json +2 -1
- homeassistant/components/home_connect/select.py +2 -2
- homeassistant/components/home_connect/sensor.py +4 -1
- homeassistant/components/home_connect/services.yaml +29 -0
- homeassistant/components/home_connect/strings.json +49 -0
- homeassistant/components/home_connect/translations/bg.json +36 -3
- homeassistant/components/home_connect/translations/cs.json +49 -0
- homeassistant/components/home_connect/translations/de.json +51 -2
- homeassistant/components/home_connect/translations/en-GB.json +49 -0
- homeassistant/components/home_connect/translations/en.json +49 -0
- homeassistant/components/home_connect/translations/es.json +49 -0
- homeassistant/components/home_connect/translations/et.json +49 -0
- homeassistant/components/home_connect/translations/ga.json +46 -0
- homeassistant/components/home_connect/translations/lt.json +49 -0
- homeassistant/components/home_connect/translations/pt.json +49 -0
- homeassistant/components/home_connect/translations/ru.json +3 -0
- homeassistant/components/home_connect/translations/sk.json +49 -0
- homeassistant/components/home_connect/translations/tr.json +81 -0
- homeassistant/components/home_connect/translations/zh-Hans.json +49 -0
- homeassistant/components/home_connect/translations/zh-Hant.json +49 -0
- homeassistant/components/homeassistant/const.py +1 -1
- homeassistant/components/homeassistant/translations/mk.json +5 -0
- homeassistant/components/homeassistant/translations/tr.json +1 -0
- homeassistant/components/homeassistant_connect_zbt2/config_flow.py +13 -21
- homeassistant/components/homeassistant_connect_zbt2/const.py +0 -58
- homeassistant/components/homeassistant_connect_zbt2/strings.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/bg.json +6 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/cs.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/de.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/en-GB.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/en.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/es.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/et.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/ga.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/pt.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/tr.json +163 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hans.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hant.json +8 -0
- homeassistant/components/homeassistant_connect_zbt2/update.py +3 -2
- homeassistant/components/homeassistant_hardware/const.py +2 -0
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +98 -69
- homeassistant/components/homeassistant_hardware/manifest.json +1 -1
- homeassistant/components/homeassistant_hardware/strings.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/bg.json +3 -0
- homeassistant/components/homeassistant_hardware/translations/cs.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/de.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/en.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/es.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/et.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/ga.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/lt.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/pt.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/sk.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/tr.json +50 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +4 -0
- homeassistant/components/homeassistant_hardware/update.py +15 -10
- homeassistant/components/homeassistant_hardware/util.py +86 -50
- homeassistant/components/homeassistant_sky_connect/config_flow.py +19 -4
- homeassistant/components/homeassistant_sky_connect/strings.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/bg.json +6 -0
- homeassistant/components/homeassistant_sky_connect/translations/cs.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/de.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/en.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/es.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/et.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/lt.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/tr.json +81 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +8 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +8 -0
- homeassistant/components/homeassistant_sky_connect/update.py +3 -2
- homeassistant/components/homeassistant_yellow/config_flow.py +17 -2
- homeassistant/components/homeassistant_yellow/strings.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/bg.json +3 -0
- homeassistant/components/homeassistant_yellow/translations/cs.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/de.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/en.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/es.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/et.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/ga.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/lt.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/pt.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/sk.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/tr.json +40 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +4 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +4 -0
- homeassistant/components/homeassistant_yellow/update.py +3 -2
- homeassistant/components/homee/translations/it.json +1 -1
- homeassistant/components/homee/translations/zh-Hant.json +1 -1
- homeassistant/components/homekit/translations/de.json +1 -1
- homeassistant/components/homekit/translations/es.json +1 -1
- homeassistant/components/homekit/translations/tr.json +12 -0
- homeassistant/components/homekit/type_thermostats.py +3 -3
- homeassistant/components/homekit_controller/manifest.json +1 -0
- homeassistant/components/homematic/translations/mk.json +7 -0
- homeassistant/components/homematicip_cloud/binary_sensor.py +15 -8
- homeassistant/components/homematicip_cloud/cover.py +8 -4
- homeassistant/components/homematicip_cloud/entity.py +95 -22
- homeassistant/components/homematicip_cloud/event.py +3 -1
- homeassistant/components/homematicip_cloud/light.py +15 -15
- homeassistant/components/homematicip_cloud/manifest.json +1 -1
- homeassistant/components/homematicip_cloud/sensor.py +2 -1
- homeassistant/components/homematicip_cloud/switch.py +6 -3
- homeassistant/components/homematicip_cloud/valve.py +6 -3
- homeassistant/components/homewizard/manifest.json +1 -0
- homeassistant/components/homewizard/translations/it.json +1 -1
- homeassistant/components/homeworks/translations/it.json +1 -1
- homeassistant/components/honeywell/translations/it.json +1 -1
- homeassistant/components/http/__init__.py +12 -4
- homeassistant/components/http/ban.py +3 -0
- homeassistant/components/http/strings.json +6 -2
- homeassistant/components/http/translations/cs.json +6 -2
- homeassistant/components/http/translations/de.json +6 -2
- homeassistant/components/http/translations/en-GB.json +6 -2
- homeassistant/components/http/translations/en.json +6 -2
- homeassistant/components/http/translations/es.json +6 -2
- homeassistant/components/http/translations/et.json +6 -2
- homeassistant/components/http/translations/ga.json +6 -2
- homeassistant/components/http/translations/he.json +6 -2
- homeassistant/components/http/translations/it.json +7 -3
- homeassistant/components/http/translations/lt.json +6 -2
- homeassistant/components/http/translations/pt.json +6 -2
- homeassistant/components/http/translations/ru.json +0 -3
- homeassistant/components/http/translations/sk.json +6 -2
- homeassistant/components/http/translations/sr-Latn.json +2 -2
- homeassistant/components/http/translations/sv.json +4 -2
- homeassistant/components/http/translations/tr.json +8 -0
- homeassistant/components/http/translations/zh-Hans.json +6 -2
- homeassistant/components/http/translations/zh-Hant.json +6 -2
- homeassistant/components/huawei_lte/button.py +1 -2
- homeassistant/components/huawei_lte/device_tracker.py +2 -20
- homeassistant/components/huawei_lte/icons.json +3 -0
- homeassistant/components/huawei_lte/manifest.json +1 -5
- homeassistant/components/huawei_lte/quality_scale.yaml +4 -7
- homeassistant/components/huawei_lte/select.py +0 -7
- homeassistant/components/huawei_lte/sensor.py +43 -13
- homeassistant/components/huawei_lte/strings.json +16 -2
- homeassistant/components/huawei_lte/translations/bg.json +11 -0
- homeassistant/components/huawei_lte/translations/cs.json +14 -0
- homeassistant/components/huawei_lte/translations/de.json +14 -0
- homeassistant/components/huawei_lte/translations/el.json +14 -0
- homeassistant/components/huawei_lte/translations/en-GB.json +14 -0
- homeassistant/components/huawei_lte/translations/en.json +14 -0
- homeassistant/components/huawei_lte/translations/es.json +14 -0
- homeassistant/components/huawei_lte/translations/et.json +14 -0
- homeassistant/components/huawei_lte/translations/ga.json +14 -0
- homeassistant/components/huawei_lte/translations/it.json +1 -1
- homeassistant/components/huawei_lte/translations/lt.json +14 -0
- homeassistant/components/huawei_lte/translations/pt.json +14 -0
- homeassistant/components/huawei_lte/translations/sk.json +14 -0
- homeassistant/components/huawei_lte/translations/sv.json +5 -0
- homeassistant/components/huawei_lte/translations/tr.json +14 -0
- homeassistant/components/huawei_lte/translations/zh-Hans.json +14 -0
- homeassistant/components/huawei_lte/translations/zh-Hant.json +14 -0
- homeassistant/components/hue/translations/mk.json +3 -1
- homeassistant/components/hue/translations/tr.json +1 -0
- homeassistant/components/hue_ble/__init__.py +54 -0
- homeassistant/components/hue_ble/config_flow.py +155 -0
- homeassistant/components/hue_ble/const.py +4 -0
- homeassistant/components/hue_ble/light.py +160 -0
- homeassistant/components/hue_ble/manifest.json +19 -0
- homeassistant/components/hue_ble/quality_scale.yaml +60 -0
- homeassistant/components/hue_ble/strings.json +21 -0
- homeassistant/components/hue_ble/translations/bg.json +11 -0
- homeassistant/components/hue_ble/translations/cs.json +21 -0
- homeassistant/components/hue_ble/translations/de.json +21 -0
- homeassistant/components/hue_ble/translations/el.json +11 -0
- homeassistant/components/hue_ble/translations/en-GB.json +21 -0
- homeassistant/components/hue_ble/translations/en.json +21 -0
- 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 +21 -0
- homeassistant/components/hue_ble/translations/nl.json +14 -0
- homeassistant/components/hue_ble/translations/pt.json +20 -0
- homeassistant/components/hue_ble/translations/sk.json +21 -0
- homeassistant/components/hue_ble/translations/tr.json +20 -0
- homeassistant/components/hue_ble/translations/zh-Hans.json +21 -0
- homeassistant/components/hue_ble/translations/zh-Hant.json +21 -0
- homeassistant/components/humidifier/translations/mk.json +6 -0
- homeassistant/components/hunterdouglas_powerview/__init__.py +1 -1
- homeassistant/components/hunterdouglas_powerview/coordinator.py +1 -1
- homeassistant/components/hunterdouglas_powerview/cover.py +3 -3
- homeassistant/components/hunterdouglas_powerview/entity.py +1 -1
- homeassistant/components/hunterdouglas_powerview/manifest.json +1 -1
- homeassistant/components/hunterdouglas_powerview/translations/mk.json +9 -0
- homeassistant/components/hunterdouglas_powerview/translations/sr-Latn.json +9 -0
- homeassistant/components/hunterdouglas_powerview/util.py +1 -11
- homeassistant/components/husqvarna_automower/manifest.json +1 -1
- homeassistant/components/husqvarna_automower/translations/de.json +1 -1
- homeassistant/components/husqvarna_automower/translations/it.json +1 -1
- homeassistant/components/husqvarna_automower/translations/tr.json +88 -0
- homeassistant/components/huum/translations/fr.json +5 -0
- homeassistant/components/huum/translations/sr-Latn.json +5 -0
- homeassistant/components/hvv_departures/binary_sensor.py +1 -0
- homeassistant/components/hvv_departures/translations/mk.json +9 -0
- homeassistant/components/hydrawise/translations/it.json +1 -1
- homeassistant/components/hyperion/translations/it.json +1 -1
- homeassistant/components/ibeacon/manifest.json +1 -0
- homeassistant/components/icloud/account.py +9 -2
- homeassistant/components/icloud/manifest.json +1 -1
- homeassistant/components/icloud/translations/it.json +1 -1
- homeassistant/components/icloud/translations/tr.json +3 -0
- homeassistant/components/ifttt/translations/es.json +1 -1
- homeassistant/components/image/__init__.py +22 -1
- homeassistant/components/image/translations/sr-Latn.json +2 -1
- homeassistant/components/imap/translations/it.json +1 -1
- homeassistant/components/imap/translations/tr.json +21 -0
- homeassistant/components/imeon_inverter/translations/en-GB.json +21 -0
- homeassistant/components/imeon_inverter/translations/lb.json +11 -0
- homeassistant/components/imeon_inverter/translations/sv.json +2 -1
- homeassistant/components/imeon_inverter/translations/tr.json +57 -0
- homeassistant/components/imgw_pib/manifest.json +1 -1
- homeassistant/components/immich/translations/mk.json +9 -0
- homeassistant/components/incomfort/icons.json +5 -0
- homeassistant/components/incomfort/manifest.json +1 -1
- homeassistant/components/incomfort/sensor.py +10 -0
- homeassistant/components/incomfort/strings.json +3 -0
- homeassistant/components/incomfort/translations/bg.json +5 -0
- homeassistant/components/incomfort/translations/cs.json +3 -0
- homeassistant/components/incomfort/translations/de.json +3 -0
- homeassistant/components/incomfort/translations/en-GB.json +3 -0
- homeassistant/components/incomfort/translations/en.json +3 -0
- homeassistant/components/incomfort/translations/es.json +3 -0
- homeassistant/components/incomfort/translations/et.json +3 -0
- homeassistant/components/incomfort/translations/ga.json +3 -0
- homeassistant/components/incomfort/translations/he.json +5 -0
- homeassistant/components/incomfort/translations/it.json +7 -2
- homeassistant/components/incomfort/translations/lt.json +3 -0
- homeassistant/components/incomfort/translations/pt.json +3 -0
- homeassistant/components/incomfort/translations/sk.json +3 -0
- homeassistant/components/incomfort/translations/sr-Latn.json +5 -0
- homeassistant/components/incomfort/translations/sv.json +3 -0
- homeassistant/components/incomfort/translations/tr.json +3 -0
- homeassistant/components/incomfort/translations/zh-Hans.json +3 -0
- homeassistant/components/incomfort/translations/zh-Hant.json +3 -0
- homeassistant/components/inels/translations/it.json +24 -1
- homeassistant/components/inels/translations/tr.json +30 -0
- homeassistant/components/inkbird/manifest.json +1 -1
- homeassistant/components/input_boolean/translations/mk.json +4 -2
- homeassistant/components/input_datetime/translations/mk.json +30 -1
- homeassistant/components/input_number/translations/mk.json +6 -1
- homeassistant/components/input_number/translations/sr-Latn.json +17 -0
- homeassistant/components/input_select/translations/mk.json +12 -1
- homeassistant/components/input_text/translations/mk.json +4 -1
- homeassistant/components/integration/translations/sr-Latn.json +54 -2
- homeassistant/components/intellifire/translations/it.json +1 -1
- homeassistant/components/iometer/manifest.json +1 -1
- homeassistant/components/iometer/translations/tr.json +3 -1
- homeassistant/components/irm_kmi/translations/mk.json +9 -0
- homeassistant/components/irm_kmi/translations/tr.json +21 -0
- homeassistant/components/iron_os/manifest.json +1 -1
- homeassistant/components/iron_os/strings.json +4 -4
- homeassistant/components/iron_os/translations/bg.json +1 -5
- homeassistant/components/iron_os/translations/ca.json +1 -5
- homeassistant/components/iron_os/translations/en-GB.json +4 -4
- homeassistant/components/iron_os/translations/en.json +4 -4
- homeassistant/components/iron_os/translations/fy.json +1 -5
- homeassistant/components/iron_os/translations/ga.json +1 -5
- homeassistant/components/iron_os/translations/hu.json +1 -5
- homeassistant/components/iron_os/translations/ja.json +1 -5
- homeassistant/components/iron_os/translations/nl.json +1 -5
- homeassistant/components/iron_os/translations/pt-BR.json +1 -5
- homeassistant/components/iron_os/translations/ru.json +1 -5
- homeassistant/components/iron_os/translations/sv.json +1 -5
- homeassistant/components/iron_os/translations/tr.json +1 -5
- homeassistant/components/ista_ecotrend/translations/it.json +1 -1
- homeassistant/components/isy994/translations/it.json +2 -2
- homeassistant/components/ituran/translations/it.json +1 -1
- homeassistant/components/jellyfin/translations/it.json +1 -1
- homeassistant/components/jewish_calendar/translations/it.json +1 -1
- homeassistant/components/jewish_calendar/translations/mk.json +18 -0
- homeassistant/components/jewish_calendar/translations/tr.json +9 -1
- homeassistant/components/justnimbus/translations/it.json +1 -1
- homeassistant/components/jvc_projector/translations/it.json +1 -1
- homeassistant/components/kegtron/config_flow.py +1 -1
- homeassistant/components/keymitt_ble/config_flow.py +1 -1
- homeassistant/components/keymitt_ble/translations/mk.json +2 -1
- homeassistant/components/kitchen_sink/__init__.py +54 -4
- homeassistant/components/kitchen_sink/manifest.json +7 -0
- homeassistant/components/kitchen_sink/strings.json +18 -4
- homeassistant/components/kitchen_sink/translations/bg.json +0 -4
- homeassistant/components/kitchen_sink/translations/ca.json +0 -4
- homeassistant/components/kitchen_sink/translations/cs.json +18 -4
- homeassistant/components/kitchen_sink/translations/de.json +18 -4
- homeassistant/components/kitchen_sink/translations/el.json +0 -6
- homeassistant/components/kitchen_sink/translations/en-GB.json +18 -4
- homeassistant/components/kitchen_sink/translations/en.json +18 -4
- homeassistant/components/kitchen_sink/translations/es.json +18 -4
- homeassistant/components/kitchen_sink/translations/et.json +18 -4
- homeassistant/components/kitchen_sink/translations/ga.json +14 -4
- homeassistant/components/kitchen_sink/translations/hu.json +0 -6
- homeassistant/components/kitchen_sink/translations/id.json +0 -6
- homeassistant/components/kitchen_sink/translations/it.json +25 -1
- homeassistant/components/kitchen_sink/translations/ja.json +0 -6
- homeassistant/components/kitchen_sink/translations/lt.json +18 -4
- homeassistant/components/kitchen_sink/translations/nl.json +2 -2
- homeassistant/components/kitchen_sink/translations/pt.json +18 -4
- homeassistant/components/kitchen_sink/translations/ru.json +6 -4
- homeassistant/components/kitchen_sink/translations/sk.json +18 -4
- homeassistant/components/kitchen_sink/translations/sv.json +1 -4
- homeassistant/components/kitchen_sink/translations/tr.json +14 -4
- homeassistant/components/kitchen_sink/translations/zh-Hans.json +18 -4
- homeassistant/components/kitchen_sink/translations/zh-Hant.json +18 -4
- homeassistant/components/knx/manifest.json +1 -1
- homeassistant/components/knx/storage/entity_store_schema.py +1 -1
- homeassistant/components/knx/translations/cs.json +4 -4
- homeassistant/components/knx/translations/de.json +3 -3
- homeassistant/components/knx/translations/el.json +43 -2
- homeassistant/components/knx/translations/en-GB.json +3 -3
- homeassistant/components/knx/translations/en.json +3 -3
- homeassistant/components/knx/translations/es.json +3 -3
- homeassistant/components/knx/translations/et.json +3 -3
- homeassistant/components/knx/translations/fi.json +0 -3
- homeassistant/components/knx/translations/ga.json +0 -3
- homeassistant/components/knx/translations/hu.json +0 -3
- homeassistant/components/knx/translations/it.json +0 -3
- homeassistant/components/knx/translations/ja.json +0 -3
- homeassistant/components/knx/translations/ko.json +0 -3
- homeassistant/components/knx/translations/lt.json +3 -3
- homeassistant/components/knx/translations/nl.json +0 -3
- homeassistant/components/knx/translations/pt-BR.json +0 -3
- homeassistant/components/knx/translations/pt.json +3 -3
- homeassistant/components/knx/translations/ru.json +0 -3
- homeassistant/components/knx/translations/sk.json +3 -3
- homeassistant/components/knx/translations/sr-Latn.json +13 -2
- homeassistant/components/knx/translations/sv.json +30 -4
- homeassistant/components/knx/translations/tr.json +328 -3
- homeassistant/components/knx/translations/zh-Hans.json +3 -3
- homeassistant/components/knx/translations/zh-Hant.json +3 -3
- homeassistant/components/kodi/browse_media.py +1 -1
- homeassistant/components/kodi/translations/pt.json +1 -1
- homeassistant/components/konnected/manifest.json +1 -0
- homeassistant/components/konnected/translations/tr.json +6 -0
- homeassistant/components/kostal_plenticore/coordinator.py +13 -4
- homeassistant/components/kostal_plenticore/diagnostics.py +23 -0
- homeassistant/components/kostal_plenticore/switch.py +149 -3
- homeassistant/components/kulersky/config_flow.py +1 -1
- homeassistant/components/labs/__init__.py +189 -0
- homeassistant/components/labs/const.py +14 -0
- homeassistant/components/labs/manifest.json +9 -0
- homeassistant/components/labs/models.py +96 -0
- homeassistant/components/labs/strings.json +3 -0
- homeassistant/components/labs/translations/cs.json +3 -0
- homeassistant/components/labs/translations/de.json +3 -0
- homeassistant/components/labs/translations/en-GB.json +3 -0
- homeassistant/components/labs/translations/en.json +3 -0
- homeassistant/components/labs/translations/es.json +3 -0
- homeassistant/components/labs/translations/et.json +3 -0
- homeassistant/components/labs/translations/fr.json +3 -0
- homeassistant/components/labs/translations/ga.json +3 -0
- homeassistant/components/labs/translations/it.json +3 -0
- homeassistant/components/labs/translations/lt.json +3 -0
- homeassistant/components/labs/translations/pt.json +3 -0
- homeassistant/components/labs/translations/sk.json +3 -0
- homeassistant/components/labs/translations/sr-Latn.json +3 -0
- homeassistant/components/labs/translations/tr.json +3 -0
- homeassistant/components/labs/translations/zh-Hans.json +3 -0
- homeassistant/components/labs/translations/zh-Hant.json +3 -0
- homeassistant/components/labs/websocket_api.py +110 -0
- homeassistant/components/lacrosse_view/translations/it.json +1 -1
- homeassistant/components/lamarzocco/__init__.py +30 -19
- homeassistant/components/lamarzocco/coordinator.py +42 -13
- homeassistant/components/lamarzocco/icons.json +3 -0
- homeassistant/components/lamarzocco/manifest.json +1 -1
- homeassistant/components/lamarzocco/number.py +21 -1
- homeassistant/components/lamarzocco/strings.json +3 -0
- homeassistant/components/lamarzocco/translations/bg.json +3 -0
- homeassistant/components/lamarzocco/translations/cs.json +3 -0
- homeassistant/components/lamarzocco/translations/de.json +3 -0
- homeassistant/components/lamarzocco/translations/el.json +3 -0
- homeassistant/components/lamarzocco/translations/en-GB.json +3 -0
- homeassistant/components/lamarzocco/translations/en.json +3 -0
- homeassistant/components/lamarzocco/translations/es.json +3 -0
- homeassistant/components/lamarzocco/translations/et.json +3 -0
- homeassistant/components/lamarzocco/translations/fi.json +3 -0
- homeassistant/components/lamarzocco/translations/fr.json +3 -0
- homeassistant/components/lamarzocco/translations/ga.json +3 -0
- homeassistant/components/lamarzocco/translations/hu.json +3 -0
- homeassistant/components/lamarzocco/translations/it.json +2 -2
- homeassistant/components/lamarzocco/translations/ja.json +3 -0
- homeassistant/components/lamarzocco/translations/lt.json +3 -0
- homeassistant/components/lamarzocco/translations/nl.json +3 -0
- homeassistant/components/lamarzocco/translations/pt.json +3 -0
- homeassistant/components/lamarzocco/translations/ru.json +3 -0
- homeassistant/components/lamarzocco/translations/sk.json +3 -0
- homeassistant/components/lamarzocco/translations/sv.json +3 -0
- homeassistant/components/lamarzocco/translations/tr.json +3 -0
- homeassistant/components/lamarzocco/translations/zh-Hans.json +3 -0
- homeassistant/components/lamarzocco/translations/zh-Hant.json +3 -0
- homeassistant/components/lametric/translations/it.json +1 -1
- homeassistant/components/lannouncer/translations/tr.json +8 -0
- homeassistant/components/lawn_mower/icons.json +14 -0
- homeassistant/components/lawn_mower/strings.json +56 -1
- homeassistant/components/lawn_mower/translations/bg.json +33 -0
- homeassistant/components/lawn_mower/translations/cs.json +56 -1
- homeassistant/components/lawn_mower/translations/de.json +56 -1
- homeassistant/components/lawn_mower/translations/en-GB.json +56 -1
- homeassistant/components/lawn_mower/translations/en.json +56 -1
- homeassistant/components/lawn_mower/translations/es.json +56 -1
- homeassistant/components/lawn_mower/translations/et.json +56 -1
- homeassistant/components/lawn_mower/translations/ga.json +48 -1
- homeassistant/components/lawn_mower/translations/lt.json +56 -1
- homeassistant/components/lawn_mower/translations/pt.json +48 -1
- homeassistant/components/lawn_mower/translations/sk.json +56 -1
- homeassistant/components/lawn_mower/translations/tr.json +48 -1
- homeassistant/components/lawn_mower/translations/zh-Hans.json +43 -1
- homeassistant/components/lawn_mower/translations/zh-Hant.json +56 -1
- homeassistant/components/lawn_mower/trigger.py +18 -0
- homeassistant/components/lawn_mower/triggers.yaml +20 -0
- homeassistant/components/lcn/__init__.py +8 -4
- homeassistant/components/lcn/binary_sensor.py +10 -15
- homeassistant/components/lcn/climate.py +25 -31
- homeassistant/components/lcn/config_flow.py +1 -1
- homeassistant/components/lcn/cover.py +45 -41
- homeassistant/components/lcn/entity.py +17 -8
- homeassistant/components/lcn/helpers.py +18 -12
- homeassistant/components/lcn/light.py +20 -26
- homeassistant/components/lcn/manifest.json +3 -3
- homeassistant/components/lcn/quality_scale.yaml +2 -2
- homeassistant/components/lcn/sensor.py +23 -24
- homeassistant/components/lcn/services.py +3 -5
- homeassistant/components/lcn/strings.json +0 -32
- homeassistant/components/lcn/switch.py +40 -56
- homeassistant/components/lcn/translations/bg.json +0 -10
- homeassistant/components/lcn/translations/ca.json +0 -7
- homeassistant/components/lcn/translations/cs.json +0 -32
- homeassistant/components/lcn/translations/de.json +1 -33
- homeassistant/components/lcn/translations/el.json +0 -29
- homeassistant/components/lcn/translations/en-GB.json +0 -32
- homeassistant/components/lcn/translations/en.json +0 -32
- homeassistant/components/lcn/translations/es.json +0 -32
- homeassistant/components/lcn/translations/et.json +0 -32
- homeassistant/components/lcn/translations/ga.json +0 -32
- homeassistant/components/lcn/translations/he.json +0 -7
- homeassistant/components/lcn/translations/hu.json +0 -32
- homeassistant/components/lcn/translations/id.json +0 -8
- homeassistant/components/lcn/translations/it.json +1 -8
- homeassistant/components/lcn/translations/ja.json +0 -28
- homeassistant/components/lcn/translations/lt.json +0 -32
- homeassistant/components/lcn/translations/mk.json +14 -0
- homeassistant/components/lcn/translations/pt-BR.json +0 -19
- homeassistant/components/lcn/translations/pt.json +0 -32
- homeassistant/components/lcn/translations/ru.json +0 -32
- homeassistant/components/lcn/translations/sk.json +0 -32
- homeassistant/components/lcn/translations/sv.json +0 -32
- homeassistant/components/lcn/translations/tr.json +0 -28
- homeassistant/components/lcn/translations/zh-Hans.json +0 -32
- homeassistant/components/lcn/translations/zh-Hant.json +0 -32
- homeassistant/components/lcn/websocket.py +14 -12
- homeassistant/components/ld2410_ble/config_flow.py +1 -1
- homeassistant/components/leaone/config_flow.py +1 -1
- homeassistant/components/led_ble/config_flow.py +1 -1
- homeassistant/components/lektrico/translations/mk.json +5 -0
- homeassistant/components/letpot/manifest.json +1 -1
- homeassistant/components/letpot/translations/it.json +1 -1
- homeassistant/components/letpot/translations/tr.json +8 -0
- homeassistant/components/lg_thinq/manifest.json +1 -1
- homeassistant/components/lg_thinq/translations/mk.json +1 -0
- homeassistant/components/lg_thinq/translations/sr-Latn.json +8 -0
- homeassistant/components/lg_thinq/translations/tr.json +23 -0
- homeassistant/components/libre_hardware_monitor/coordinator.py +26 -18
- homeassistant/components/libre_hardware_monitor/translations/tr.json +23 -0
- homeassistant/components/lidarr/translations/it.json +1 -1
- homeassistant/components/lifx/light.py +1 -1
- homeassistant/components/lifx/manager.py +11 -10
- homeassistant/components/lifx/translations/mk.json +3 -0
- homeassistant/components/lifx/translations/tr.json +3 -0
- homeassistant/components/light/condition.py +131 -0
- homeassistant/components/light/conditions.yaml +28 -0
- homeassistant/components/light/icons.json +16 -0
- homeassistant/components/light/strings.json +69 -2
- homeassistant/components/light/translations/bg.json +22 -0
- homeassistant/components/light/translations/cs.json +69 -2
- homeassistant/components/light/translations/de.json +69 -2
- homeassistant/components/light/translations/el.json +6 -0
- homeassistant/components/light/translations/en-GB.json +69 -2
- homeassistant/components/light/translations/en.json +69 -2
- homeassistant/components/light/translations/es.json +68 -2
- homeassistant/components/light/translations/et.json +69 -2
- homeassistant/components/light/translations/fr.json +1 -0
- homeassistant/components/light/translations/ga.json +65 -2
- homeassistant/components/light/translations/lt.json +69 -2
- homeassistant/components/light/translations/mk.json +10 -3
- homeassistant/components/light/translations/nl.json +12 -1
- homeassistant/components/light/translations/pt.json +65 -2
- homeassistant/components/light/translations/ru.json +67 -3
- homeassistant/components/light/translations/sk.json +69 -2
- homeassistant/components/light/translations/sr-Latn.json +217 -4
- homeassistant/components/light/translations/tr.json +65 -2
- homeassistant/components/light/translations/zh-Hans.json +59 -2
- homeassistant/components/light/translations/zh-Hant.json +69 -2
- homeassistant/components/light/trigger.py +17 -0
- homeassistant/components/light/triggers.yaml +18 -0
- homeassistant/components/litterrobot/translations/it.json +1 -1
- homeassistant/components/litterrobot/translations/tr.json +6 -0
- homeassistant/components/local_calendar/manifest.json +1 -1
- homeassistant/components/local_calendar/translations/da.json +4 -1
- homeassistant/components/local_todo/manifest.json +1 -1
- homeassistant/components/local_todo/todo.py +1 -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/__init__.py +8 -1
- homeassistant/components/lovelace/dashboard.py +5 -1
- homeassistant/components/lovelace/strings.json +5 -0
- homeassistant/components/lovelace/translations/cs.json +5 -0
- homeassistant/components/lovelace/translations/de.json +5 -0
- homeassistant/components/lovelace/translations/en-GB.json +5 -0
- homeassistant/components/lovelace/translations/en.json +5 -0
- homeassistant/components/lovelace/translations/es.json +5 -0
- homeassistant/components/lovelace/translations/et.json +5 -0
- homeassistant/components/lovelace/translations/ga.json +5 -0
- homeassistant/components/lovelace/translations/lt.json +5 -0
- homeassistant/components/lovelace/translations/pt.json +5 -0
- homeassistant/components/lovelace/translations/sk.json +5 -0
- homeassistant/components/lovelace/translations/tr.json +5 -0
- homeassistant/components/lovelace/translations/zh-Hans.json +5 -0
- homeassistant/components/lovelace/translations/zh-Hant.json +5 -0
- homeassistant/components/lunatone/manifest.json +1 -1
- homeassistant/components/lunatone/translations/tr.json +36 -0
- homeassistant/components/lutron_caseta/diagnostics.py +1 -0
- homeassistant/components/lutron_caseta/manifest.json +1 -1
- homeassistant/components/lutron_caseta/switch.py +54 -3
- homeassistant/components/lyric/translations/it.json +1 -1
- homeassistant/components/madvr/translations/it.json +1 -1
- homeassistant/components/manual/alarm_control_panel.py +14 -0
- homeassistant/components/mastodon/__init__.py +2 -2
- homeassistant/components/mastodon/const.py +1 -0
- homeassistant/components/mastodon/services.py +14 -3
- homeassistant/components/mastodon/services.yaml +3 -0
- homeassistant/components/mastodon/strings.json +7 -0
- homeassistant/components/mastodon/translations/cs.json +7 -0
- homeassistant/components/mastodon/translations/de.json +7 -0
- homeassistant/components/mastodon/translations/en-GB.json +7 -0
- homeassistant/components/mastodon/translations/en.json +7 -0
- homeassistant/components/mastodon/translations/es.json +7 -0
- homeassistant/components/mastodon/translations/et.json +7 -0
- homeassistant/components/mastodon/translations/ga.json +7 -0
- homeassistant/components/mastodon/translations/lt.json +7 -0
- homeassistant/components/mastodon/translations/pt.json +7 -0
- homeassistant/components/mastodon/translations/sk.json +7 -0
- homeassistant/components/mastodon/translations/tr.json +11 -0
- homeassistant/components/mastodon/translations/zh-Hans.json +7 -0
- homeassistant/components/mastodon/translations/zh-Hant.json +7 -0
- homeassistant/components/matrix/manifest.json +1 -1
- homeassistant/components/matrix/translations/sv.json +4 -2
- homeassistant/components/matrix/translations/tr.json +42 -0
- homeassistant/components/matter/binary_sensor.py +38 -25
- homeassistant/components/matter/button.py +1 -1
- homeassistant/components/matter/manifest.json +1 -0
- homeassistant/components/matter/select.py +78 -0
- homeassistant/components/matter/strings.json +11 -1
- homeassistant/components/matter/translations/cs.json +10 -0
- homeassistant/components/matter/translations/de.json +13 -0
- homeassistant/components/matter/translations/en-GB.json +13 -0
- homeassistant/components/matter/translations/en.json +10 -0
- homeassistant/components/matter/translations/es.json +13 -0
- homeassistant/components/matter/translations/et.json +13 -0
- homeassistant/components/matter/translations/ga.json +10 -0
- homeassistant/components/matter/translations/lt.json +13 -0
- homeassistant/components/matter/translations/pt.json +13 -0
- homeassistant/components/matter/translations/ru.json +3 -0
- homeassistant/components/matter/translations/sk.json +13 -0
- homeassistant/components/matter/translations/sr-Latn.json +3 -0
- homeassistant/components/matter/translations/sv.json +10 -0
- homeassistant/components/matter/translations/tr.json +115 -0
- homeassistant/components/matter/translations/zh-Hans.json +13 -0
- homeassistant/components/matter/translations/zh-Hant.json +13 -0
- homeassistant/components/mcp/translations/it.json +1 -1
- homeassistant/components/mcp/translations/tr.json +20 -1
- homeassistant/components/mealie/manifest.json +1 -1
- homeassistant/components/mealie/translations/it.json +2 -2
- homeassistant/components/mealie/translations/mk.json +12 -0
- homeassistant/components/mealie/translations/tr.json +11 -0
- homeassistant/components/meater/translations/it.json +1 -1
- homeassistant/components/medcom_ble/config_flow.py +1 -1
- homeassistant/components/media_extractor/manifest.json +1 -1
- homeassistant/components/media_player/icons.json +5 -0
- homeassistant/components/media_player/strings.json +24 -1
- homeassistant/components/media_player/translations/bg.json +13 -1
- homeassistant/components/media_player/translations/cs.json +24 -1
- homeassistant/components/media_player/translations/de.json +24 -1
- homeassistant/components/media_player/translations/en-GB.json +24 -1
- homeassistant/components/media_player/translations/en.json +24 -1
- homeassistant/components/media_player/translations/es.json +24 -1
- homeassistant/components/media_player/translations/et.json +24 -1
- homeassistant/components/media_player/translations/ga.json +22 -1
- homeassistant/components/media_player/translations/lt.json +24 -1
- homeassistant/components/media_player/translations/mk.json +4 -2
- homeassistant/components/media_player/translations/pt.json +22 -1
- homeassistant/components/media_player/translations/sk.json +24 -1
- homeassistant/components/media_player/translations/tr.json +22 -1
- homeassistant/components/media_player/translations/zh-Hans.json +20 -1
- homeassistant/components/media_player/translations/zh-Hant.json +24 -1
- homeassistant/components/media_player/trigger.py +28 -0
- homeassistant/components/media_player/triggers.yaml +15 -0
- homeassistant/components/media_source/translations/tr.json +5 -0
- homeassistant/components/melcloud/sensor.py +9 -0
- homeassistant/components/melcloud/translations/it.json +2 -2
- homeassistant/components/melnor/config_flow.py +1 -1
- homeassistant/components/melnor/translations/mk.json +9 -0
- homeassistant/components/met/manifest.json +1 -0
- homeassistant/components/meteo_france/const.py +6 -1
- homeassistant/components/meteo_lt/translations/tr.json +14 -0
- homeassistant/components/microbees/translations/it.json +1 -1
- homeassistant/components/miele/__init__.py +9 -1
- homeassistant/components/miele/const.py +799 -941
- homeassistant/components/miele/icons.json +6 -0
- homeassistant/components/miele/manifest.json +1 -1
- homeassistant/components/miele/select.py +156 -0
- homeassistant/components/miele/sensor.py +138 -16
- homeassistant/components/miele/strings.json +26 -2
- homeassistant/components/miele/translations/bg.json +5 -0
- homeassistant/components/miele/translations/cs.json +25 -1
- homeassistant/components/miele/translations/de.json +25 -1
- homeassistant/components/miele/translations/en-GB.json +24 -0
- homeassistant/components/miele/translations/en.json +25 -1
- homeassistant/components/miele/translations/es.json +24 -0
- homeassistant/components/miele/translations/et.json +24 -0
- homeassistant/components/miele/translations/ga.json +20 -1
- homeassistant/components/miele/translations/he.json +0 -1
- homeassistant/components/miele/translations/hu.json +0 -1
- homeassistant/components/miele/translations/it.json +9 -3
- homeassistant/components/miele/translations/lt.json +25 -1
- homeassistant/components/miele/translations/mk.json +6 -0
- homeassistant/components/miele/translations/pt.json +23 -0
- homeassistant/components/miele/translations/ru.json +3 -1
- homeassistant/components/miele/translations/sk.json +24 -0
- homeassistant/components/miele/translations/sr-Latn.json +16 -0
- homeassistant/components/miele/translations/sv.json +9 -1
- homeassistant/components/miele/translations/tr.json +39 -1
- homeassistant/components/miele/translations/zh-Hans.json +24 -1
- homeassistant/components/miele/translations/zh-Hant.json +24 -0
- homeassistant/components/mikrotik/translations/it.json +1 -1
- homeassistant/components/min_max/translations/sr-Latn.json +44 -2
- homeassistant/components/minecraft_server/translations/mk.json +5 -0
- homeassistant/components/moat/config_flow.py +1 -1
- homeassistant/components/mobile_app/__init__.py +33 -3
- homeassistant/components/mobile_app/binary_sensor.py +4 -3
- homeassistant/components/mobile_app/const.py +3 -0
- homeassistant/components/mobile_app/entity.py +42 -12
- homeassistant/components/mobile_app/sensor.py +19 -17
- homeassistant/components/mobile_app/webhook.py +28 -11
- homeassistant/components/modbus/__init__.py +23 -2
- homeassistant/components/modbus/climate.py +45 -8
- homeassistant/components/modbus/const.py +7 -0
- homeassistant/components/modbus/entity.py +17 -11
- homeassistant/components/modbus/sensor.py +18 -2
- homeassistant/components/modbus/validators.py +48 -0
- homeassistant/components/mold_indicator/translations/sr-Latn.json +41 -3
- homeassistant/components/monzo/translations/it.json +1 -1
- homeassistant/components/motion_blinds/manifest.json +1 -0
- homeassistant/components/motioneye/translations/it.json +1 -1
- homeassistant/components/motionmount/translations/it.json +1 -1
- homeassistant/components/mqtt/__init__.py +2 -0
- homeassistant/components/mqtt/client.py +45 -3
- homeassistant/components/mqtt/config_flow.py +388 -1
- homeassistant/components/mqtt/const.py +3 -0
- homeassistant/components/mqtt/entity.py +1 -0
- homeassistant/components/mqtt/strings.json +101 -13
- homeassistant/components/mqtt/text.py +8 -6
- homeassistant/components/mqtt/translations/bg.json +41 -7
- homeassistant/components/mqtt/translations/cs.json +129 -41
- homeassistant/components/mqtt/translations/de.json +107 -19
- homeassistant/components/mqtt/translations/el.json +26 -1
- homeassistant/components/mqtt/translations/en-GB.json +101 -13
- homeassistant/components/mqtt/translations/en.json +101 -13
- homeassistant/components/mqtt/translations/es.json +100 -12
- homeassistant/components/mqtt/translations/et.json +100 -12
- homeassistant/components/mqtt/translations/fr.json +1 -5
- homeassistant/components/mqtt/translations/ga.json +84 -11
- homeassistant/components/mqtt/translations/he.json +1 -11
- homeassistant/components/mqtt/translations/hu.json +0 -4
- homeassistant/components/mqtt/translations/it.json +27 -11
- homeassistant/components/mqtt/translations/lt.json +101 -13
- homeassistant/components/mqtt/translations/mk.json +17 -0
- homeassistant/components/mqtt/translations/nl.json +115 -23
- homeassistant/components/mqtt/translations/pl.json +1 -0
- homeassistant/components/mqtt/translations/pt.json +100 -14
- homeassistant/components/mqtt/translations/ru.json +6 -9
- homeassistant/components/mqtt/translations/sk.json +101 -13
- homeassistant/components/mqtt/translations/sr-Latn.json +553 -35
- homeassistant/components/mqtt/translations/sv.json +28 -4
- homeassistant/components/mqtt/translations/tr.json +352 -5
- homeassistant/components/mqtt/translations/zh-Hans.json +101 -15
- homeassistant/components/mqtt/translations/zh-Hant.json +100 -12
- homeassistant/components/mqtt/valve.py +7 -4
- homeassistant/components/mqtt/water_heater.py +4 -3
- homeassistant/components/music_assistant/__init__.py +35 -9
- homeassistant/components/music_assistant/config_flow.py +331 -74
- homeassistant/components/music_assistant/const.py +7 -0
- homeassistant/components/music_assistant/helpers.py +22 -2
- homeassistant/components/music_assistant/manifest.json +6 -3
- homeassistant/components/music_assistant/media_player.py +10 -60
- homeassistant/components/music_assistant/quality_scale.yaml +64 -0
- homeassistant/components/music_assistant/{actions.py → services.py} +70 -19
- homeassistant/components/music_assistant/strings.json +28 -11
- homeassistant/components/music_assistant/translations/bg.json +9 -9
- homeassistant/components/music_assistant/translations/ca.json +3 -9
- homeassistant/components/music_assistant/translations/cs.json +28 -11
- homeassistant/components/music_assistant/translations/de.json +27 -10
- homeassistant/components/music_assistant/translations/el.json +4 -12
- homeassistant/components/music_assistant/translations/en-GB.json +27 -10
- homeassistant/components/music_assistant/translations/en.json +27 -10
- homeassistant/components/music_assistant/translations/es.json +28 -11
- homeassistant/components/music_assistant/translations/et.json +27 -10
- homeassistant/components/music_assistant/translations/fr.json +1 -16
- homeassistant/components/music_assistant/translations/ga.json +27 -11
- homeassistant/components/music_assistant/translations/he.json +1 -16
- homeassistant/components/music_assistant/translations/hu.json +1 -16
- homeassistant/components/music_assistant/translations/id.json +1 -2
- homeassistant/components/music_assistant/translations/it.json +25 -1
- homeassistant/components/music_assistant/translations/ja.json +1 -16
- homeassistant/components/music_assistant/translations/ko.json +1 -15
- homeassistant/components/music_assistant/translations/lt.json +28 -11
- homeassistant/components/music_assistant/translations/nl.json +9 -1
- homeassistant/components/music_assistant/translations/pt-BR.json +0 -14
- homeassistant/components/music_assistant/translations/pt.json +27 -10
- homeassistant/components/music_assistant/translations/ru.json +26 -11
- homeassistant/components/music_assistant/translations/sk.json +27 -10
- homeassistant/components/music_assistant/translations/sl.json +1 -2
- homeassistant/components/music_assistant/translations/sr-Latn.json +1 -16
- homeassistant/components/music_assistant/translations/sv.json +4 -12
- homeassistant/components/music_assistant/translations/tr.json +27 -11
- homeassistant/components/music_assistant/translations/zh-Hans.json +28 -11
- homeassistant/components/music_assistant/translations/zh-Hant.json +27 -10
- homeassistant/components/mvglive/manifest.json +1 -0
- homeassistant/components/myuplink/__init__.py +16 -11
- homeassistant/components/myuplink/strings.json +3 -0
- homeassistant/components/myuplink/translations/cs.json +3 -0
- homeassistant/components/myuplink/translations/de.json +3 -0
- homeassistant/components/myuplink/translations/en-GB.json +3 -0
- homeassistant/components/myuplink/translations/en.json +3 -0
- homeassistant/components/myuplink/translations/es.json +3 -0
- homeassistant/components/myuplink/translations/et.json +3 -0
- homeassistant/components/myuplink/translations/it.json +2 -2
- homeassistant/components/myuplink/translations/lt.json +3 -0
- homeassistant/components/myuplink/translations/pt.json +3 -0
- homeassistant/components/myuplink/translations/ru.json +3 -0
- homeassistant/components/myuplink/translations/sk.json +3 -0
- homeassistant/components/myuplink/translations/tr.json +3 -0
- homeassistant/components/myuplink/translations/zh-Hans.json +3 -0
- homeassistant/components/myuplink/translations/zh-Hant.json +3 -0
- homeassistant/components/nam/translations/it.json +2 -2
- homeassistant/components/nanoleaf/translations/it.json +1 -1
- homeassistant/components/nasweb/__init__.py +5 -1
- homeassistant/components/nasweb/alarm_control_panel.py +154 -0
- homeassistant/components/nasweb/coordinator.py +3 -0
- homeassistant/components/nasweb/strings.json +5 -0
- homeassistant/components/nasweb/translations/bg.json +5 -0
- homeassistant/components/nasweb/translations/cs.json +5 -0
- homeassistant/components/nasweb/translations/de.json +5 -0
- homeassistant/components/nasweb/translations/en-GB.json +5 -0
- homeassistant/components/nasweb/translations/en.json +5 -0
- homeassistant/components/nasweb/translations/es.json +5 -0
- homeassistant/components/nasweb/translations/et.json +5 -0
- homeassistant/components/nasweb/translations/ga.json +5 -0
- homeassistant/components/nasweb/translations/it.json +7 -0
- homeassistant/components/nasweb/translations/lt.json +5 -0
- homeassistant/components/nasweb/translations/pt.json +5 -0
- homeassistant/components/nasweb/translations/sk.json +5 -0
- homeassistant/components/nasweb/translations/sv.json +5 -0
- homeassistant/components/nasweb/translations/tr.json +7 -0
- homeassistant/components/nasweb/translations/zh-Hans.json +5 -0
- homeassistant/components/nasweb/translations/zh-Hant.json +5 -0
- homeassistant/components/neato/__init__.py +14 -8
- homeassistant/components/neato/strings.json +5 -0
- homeassistant/components/neato/translations/cs.json +5 -0
- homeassistant/components/neato/translations/de.json +5 -0
- homeassistant/components/neato/translations/en-GB.json +5 -0
- homeassistant/components/neato/translations/en.json +5 -0
- homeassistant/components/neato/translations/es.json +5 -0
- homeassistant/components/neato/translations/et.json +5 -0
- homeassistant/components/neato/translations/ga.json +5 -0
- homeassistant/components/neato/translations/it.json +1 -1
- homeassistant/components/neato/translations/lt.json +5 -0
- homeassistant/components/neato/translations/mk.json +7 -0
- homeassistant/components/neato/translations/pt.json +5 -0
- homeassistant/components/neato/translations/sk.json +5 -0
- homeassistant/components/neato/translations/tr.json +5 -0
- homeassistant/components/neato/translations/zh-Hans.json +5 -0
- homeassistant/components/neato/translations/zh-Hant.json +5 -0
- homeassistant/components/nederlandse_spoorwegen/__init__.py +1 -1
- homeassistant/components/nederlandse_spoorwegen/binary_sensor.py +120 -0
- homeassistant/components/nederlandse_spoorwegen/icons.json +15 -0
- homeassistant/components/nederlandse_spoorwegen/sensor.py +49 -75
- homeassistant/components/nederlandse_spoorwegen/strings.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/cs.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/de.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/en-GB.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/en.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/es.json +10 -0
- homeassistant/components/nederlandse_spoorwegen/translations/et.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/ga.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/it.json +1 -1
- homeassistant/components/nederlandse_spoorwegen/translations/lt.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/pt.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/sk.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/tr.json +40 -0
- homeassistant/components/nederlandse_spoorwegen/translations/zh-Hans.json +13 -0
- homeassistant/components/nederlandse_spoorwegen/translations/zh-Hant.json +13 -0
- homeassistant/components/nest/manifest.json +1 -1
- homeassistant/components/nest/quality_scale.yaml +2 -10
- homeassistant/components/nest/strings.json +12 -0
- homeassistant/components/nest/translations/cs.json +12 -0
- homeassistant/components/nest/translations/de.json +13 -1
- homeassistant/components/nest/translations/en-GB.json +12 -0
- homeassistant/components/nest/translations/en.json +12 -0
- homeassistant/components/nest/translations/es.json +12 -0
- homeassistant/components/nest/translations/et.json +12 -0
- homeassistant/components/nest/translations/ga.json +12 -0
- homeassistant/components/nest/translations/it.json +17 -1
- homeassistant/components/nest/translations/lt.json +12 -0
- homeassistant/components/nest/translations/pt.json +12 -0
- homeassistant/components/nest/translations/sk.json +12 -0
- homeassistant/components/nest/translations/tr.json +12 -0
- homeassistant/components/nest/translations/zh-Hans.json +12 -0
- homeassistant/components/nest/translations/zh-Hant.json +12 -0
- homeassistant/components/netatmo/__init__.py +13 -10
- homeassistant/components/netatmo/strings.json +5 -0
- homeassistant/components/netatmo/translations/cs.json +5 -0
- homeassistant/components/netatmo/translations/de.json +5 -0
- homeassistant/components/netatmo/translations/en-GB.json +5 -0
- homeassistant/components/netatmo/translations/en.json +5 -0
- homeassistant/components/netatmo/translations/es.json +5 -0
- homeassistant/components/netatmo/translations/et.json +5 -0
- homeassistant/components/netatmo/translations/ga.json +5 -0
- homeassistant/components/netatmo/translations/it.json +1 -1
- homeassistant/components/netatmo/translations/lt.json +5 -0
- homeassistant/components/netatmo/translations/mk.json +27 -2
- homeassistant/components/netatmo/translations/pt.json +5 -0
- homeassistant/components/netatmo/translations/sk.json +5 -0
- homeassistant/components/netatmo/translations/tr.json +5 -0
- homeassistant/components/netatmo/translations/zh-Hans.json +5 -0
- homeassistant/components/netatmo/translations/zh-Hant.json +5 -0
- homeassistant/components/netgear/translations/sr-Latn.json +3 -0
- homeassistant/components/network/websocket.py +0 -1
- homeassistant/components/nextcloud/translations/it.json +1 -1
- homeassistant/components/nextdns/translations/it.json +2 -2
- homeassistant/components/nextdns/translations/tr.json +14 -1
- homeassistant/components/nice_go/translations/it.json +1 -1
- homeassistant/components/nightscout/translations/tr.json +4 -0
- homeassistant/components/niko_home_control/__init__.py +6 -1
- homeassistant/components/niko_home_control/climate.py +100 -0
- homeassistant/components/niko_home_control/config_flow.py +6 -2
- homeassistant/components/niko_home_control/const.py +17 -0
- homeassistant/components/niko_home_control/icons.json +20 -0
- homeassistant/components/niko_home_control/strings.json +21 -1
- homeassistant/components/niko_home_control/translations/bg.json +20 -1
- homeassistant/components/niko_home_control/translations/cs.json +21 -1
- homeassistant/components/niko_home_control/translations/de.json +21 -1
- homeassistant/components/niko_home_control/translations/el.json +21 -1
- homeassistant/components/niko_home_control/translations/en-GB.json +21 -1
- homeassistant/components/niko_home_control/translations/en.json +21 -1
- homeassistant/components/niko_home_control/translations/es.json +21 -1
- homeassistant/components/niko_home_control/translations/et.json +21 -1
- homeassistant/components/niko_home_control/translations/ga.json +21 -1
- homeassistant/components/niko_home_control/translations/it.json +3 -1
- homeassistant/components/niko_home_control/translations/lt.json +21 -1
- homeassistant/components/niko_home_control/translations/nl.json +3 -1
- homeassistant/components/niko_home_control/translations/pt.json +21 -1
- homeassistant/components/niko_home_control/translations/sk.json +21 -1
- homeassistant/components/niko_home_control/translations/sv.json +17 -0
- homeassistant/components/niko_home_control/translations/tr.json +31 -2
- homeassistant/components/niko_home_control/translations/zh-Hans.json +21 -1
- homeassistant/components/niko_home_control/translations/zh-Hant.json +21 -1
- homeassistant/components/nina/config_flow.py +41 -61
- homeassistant/components/nina/strings.json +10 -6
- homeassistant/components/nina/translations/ar.json +0 -4
- homeassistant/components/nina/translations/bg.json +2 -4
- homeassistant/components/nina/translations/ca.json +2 -6
- homeassistant/components/nina/translations/cs.json +10 -6
- homeassistant/components/nina/translations/da.json +1 -14
- homeassistant/components/nina/translations/de.json +10 -6
- homeassistant/components/nina/translations/el.json +8 -6
- homeassistant/components/nina/translations/en-GB.json +10 -6
- homeassistant/components/nina/translations/en.json +10 -6
- homeassistant/components/nina/translations/es.json +10 -6
- homeassistant/components/nina/translations/et.json +10 -6
- homeassistant/components/nina/translations/fi.json +2 -6
- homeassistant/components/nina/translations/fr.json +2 -6
- homeassistant/components/nina/translations/ga.json +10 -6
- homeassistant/components/nina/translations/he.json +1 -14
- homeassistant/components/nina/translations/hu.json +2 -6
- homeassistant/components/nina/translations/id.json +2 -6
- homeassistant/components/nina/translations/it.json +2 -6
- homeassistant/components/nina/translations/ja.json +2 -6
- homeassistant/components/nina/translations/ko.json +2 -6
- homeassistant/components/nina/translations/lt.json +10 -6
- homeassistant/components/nina/translations/lv.json +2 -6
- homeassistant/components/nina/translations/mk.json +9 -0
- homeassistant/components/nina/translations/nb.json +2 -6
- homeassistant/components/nina/translations/nl.json +8 -6
- homeassistant/components/nina/translations/pl.json +2 -6
- homeassistant/components/nina/translations/pt-BR.json +2 -6
- homeassistant/components/nina/translations/pt.json +10 -6
- homeassistant/components/nina/translations/ro.json +1 -7
- homeassistant/components/nina/translations/ru.json +2 -6
- homeassistant/components/nina/translations/sk.json +10 -6
- homeassistant/components/nina/translations/sl.json +1 -14
- homeassistant/components/nina/translations/sr-Latn.json +0 -3
- homeassistant/components/nina/translations/sv.json +2 -6
- homeassistant/components/nina/translations/tr.json +56 -6
- homeassistant/components/nina/translations/uk.json +1 -7
- homeassistant/components/nina/translations/vi.json +1 -12
- homeassistant/components/nina/translations/zh-Hans.json +10 -6
- homeassistant/components/nina/translations/zh-Hant.json +10 -6
- homeassistant/components/nintendo_parental_controls/entity.py +1 -0
- homeassistant/components/nintendo_parental_controls/translations/it.json +1 -1
- homeassistant/components/nintendo_parental_controls/translations/tr.json +68 -0
- homeassistant/components/noaa_tides/const.py +11 -0
- homeassistant/components/noaa_tides/sensor.py +14 -15
- homeassistant/components/nordpool/manifest.json +2 -2
- homeassistant/components/nordpool/translations/it.json +1 -1
- homeassistant/components/nordpool/translations/mk.json +7 -0
- homeassistant/components/notify/translations/pl.json +80 -0
- homeassistant/components/notify/translations/pt.json +1 -1
- homeassistant/components/notify/translations/sr-Latn.json +3 -0
- homeassistant/components/notion/translations/it.json +1 -1
- homeassistant/components/ntfy/translations/it.json +1 -1
- homeassistant/components/ntfy/translations/mk.json +3 -0
- homeassistant/components/ntfy/translations/pl.json +16 -0
- homeassistant/components/ntfy/translations/sv.json +9 -0
- homeassistant/components/ntfy/translations/tr.json +94 -0
- homeassistant/components/nuki/manifest.json +1 -0
- homeassistant/components/nuki/translations/it.json +1 -1
- homeassistant/components/number/translations/nl.json +3 -0
- homeassistant/components/number/translations/sr-Latn.json +181 -0
- homeassistant/components/number/translations/tr.json +6 -0
- homeassistant/components/nut/translations/it.json +2 -2
- homeassistant/components/octoprint/sensor.py +13 -8
- homeassistant/components/octoprint/translations/it.json +6 -1
- homeassistant/components/octoprint/translations/tr.json +10 -0
- homeassistant/components/ohme/__init__.py +0 -2
- homeassistant/components/ohme/coordinator.py +1 -27
- homeassistant/components/ohme/manifest.json +1 -1
- homeassistant/components/ohme/sensor.py +3 -20
- homeassistant/components/ohme/translations/it.json +1 -1
- homeassistant/components/ohme/translations/lb.json +11 -0
- homeassistant/components/ollama/config_flow.py +13 -1
- homeassistant/components/ollama/translations/it.json +1 -1
- homeassistant/components/ollama/translations/sk.json +2 -2
- homeassistant/components/ollama/translations/tr.json +29 -0
- homeassistant/components/onboarding/const.py +16 -1
- homeassistant/components/onboarding/views.py +2 -2
- homeassistant/components/onedrive/__init__.py +8 -1
- homeassistant/components/onedrive/manifest.json +1 -1
- homeassistant/components/onedrive/strings.json +3 -0
- homeassistant/components/onedrive/translations/cs.json +3 -0
- homeassistant/components/onedrive/translations/de.json +3 -0
- homeassistant/components/onedrive/translations/en-GB.json +3 -0
- homeassistant/components/onedrive/translations/en.json +3 -0
- homeassistant/components/onedrive/translations/es.json +3 -0
- homeassistant/components/onedrive/translations/et.json +3 -0
- homeassistant/components/onedrive/translations/ga.json +3 -0
- homeassistant/components/onedrive/translations/it.json +2 -2
- homeassistant/components/onedrive/translations/lt.json +3 -0
- homeassistant/components/onedrive/translations/pt.json +3 -0
- homeassistant/components/onedrive/translations/sk.json +3 -0
- homeassistant/components/onedrive/translations/tr.json +3 -0
- homeassistant/components/onedrive/translations/zh-Hans.json +3 -0
- homeassistant/components/onedrive/translations/zh-Hant.json +3 -0
- homeassistant/components/onewire/strings.json +1 -1
- homeassistant/components/onewire/translations/it.json +1 -1
- homeassistant/components/onewire/translations/tr.json +10 -0
- homeassistant/components/onkyo/translations/it.json +1 -1
- homeassistant/components/onvif/translations/it.json +1 -1
- homeassistant/components/open_router/manifest.json +1 -1
- homeassistant/components/open_router/translations/sk.json +2 -2
- homeassistant/components/openai_conversation/config_flow.py +15 -3
- homeassistant/components/openai_conversation/const.py +2 -0
- homeassistant/components/openai_conversation/entity.py +56 -2
- homeassistant/components/openai_conversation/manifest.json +1 -1
- homeassistant/components/openai_conversation/strings.json +6 -2
- homeassistant/components/openai_conversation/translations/bg.json +10 -0
- homeassistant/components/openai_conversation/translations/cs.json +6 -1
- homeassistant/components/openai_conversation/translations/de.json +6 -1
- homeassistant/components/openai_conversation/translations/el.json +4 -0
- homeassistant/components/openai_conversation/translations/en-GB.json +6 -1
- homeassistant/components/openai_conversation/translations/en.json +6 -1
- homeassistant/components/openai_conversation/translations/es.json +6 -1
- homeassistant/components/openai_conversation/translations/et.json +6 -1
- homeassistant/components/openai_conversation/translations/ga.json +6 -1
- homeassistant/components/openai_conversation/translations/it.json +4 -3
- homeassistant/components/openai_conversation/translations/lt.json +6 -1
- homeassistant/components/openai_conversation/translations/nl.json +2 -1
- homeassistant/components/openai_conversation/translations/pt.json +6 -1
- homeassistant/components/openai_conversation/translations/sk.json +8 -3
- homeassistant/components/openai_conversation/translations/sv.json +4 -1
- homeassistant/components/openai_conversation/translations/tr.json +73 -0
- homeassistant/components/openai_conversation/translations/zh-Hans.json +6 -1
- homeassistant/components/openai_conversation/translations/zh-Hant.json +6 -1
- homeassistant/components/openexchangerates/translations/it.json +1 -1
- homeassistant/components/openrgb/icons.json +1 -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/mk.json +10 -0
- 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/openuv/translations/it.json +1 -1
- homeassistant/components/openweathermap/translations/tr.json +49 -0
- homeassistant/components/opower/translations/it.json +1 -1
- homeassistant/components/opower/translations/sv.json +6 -0
- homeassistant/components/opower/translations/tr.json +33 -1
- homeassistant/components/oralb/manifest.json +1 -0
- homeassistant/components/oralb/translations/tr.json +29 -2
- homeassistant/components/osoenergy/translations/it.json +1 -1
- homeassistant/components/osoenergy/translations/sv.json +7 -0
- homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py +8 -4
- homeassistant/components/overkiz/sensor.py +14 -0
- homeassistant/components/overkiz/translations/it.json +1 -1
- homeassistant/components/overkiz/translations/mk.json +5 -0
- homeassistant/components/ovo_energy/translations/it.json +1 -1
- homeassistant/components/panasonic_viera/manifest.json +1 -1
- homeassistant/components/peblar/translations/it.json +2 -2
- homeassistant/components/peco/translations/de.json +1 -1
- homeassistant/components/permobil/translations/it.json +1 -1
- homeassistant/components/pglab/translations/cs.json +1 -1
- homeassistant/components/pglab/translations/zh-Hant.json +1 -1
- homeassistant/components/philips_js/translations/it.json +1 -1
- homeassistant/components/pi_hole/translations/it.json +1 -1
- homeassistant/components/picnic/translations/it.json +1 -1
- homeassistant/components/ping/helpers.py +1 -1
- homeassistant/components/ping/manifest.json +1 -0
- homeassistant/components/playstation_network/coordinator.py +15 -12
- homeassistant/components/playstation_network/manifest.json +1 -1
- homeassistant/components/playstation_network/sensor.py +3 -5
- homeassistant/components/playstation_network/translations/it.json +2 -2
- homeassistant/components/playstation_network/translations/tr.json +85 -0
- homeassistant/components/plex/translations/it.json +1 -1
- homeassistant/components/plugwise/__init__.py +3 -3
- homeassistant/components/plugwise/config_flow.py +11 -7
- homeassistant/components/plugwise/const.py +16 -1
- homeassistant/components/plugwise/entity.py +3 -3
- homeassistant/components/plugwise/manifest.json +1 -1
- homeassistant/components/plugwise/select.py +24 -9
- homeassistant/components/plugwise/sensor.py +3 -6
- homeassistant/components/plugwise/strings.json +11 -3
- homeassistant/components/plugwise/translations/af.json +1 -11
- homeassistant/components/plugwise/translations/bg.json +17 -4
- homeassistant/components/plugwise/translations/ca.json +9 -7
- homeassistant/components/plugwise/translations/cs.json +13 -5
- homeassistant/components/plugwise/translations/de.json +14 -6
- homeassistant/components/plugwise/translations/el.json +10 -11
- homeassistant/components/plugwise/translations/en-GB.json +11 -3
- homeassistant/components/plugwise/translations/en.json +11 -3
- homeassistant/components/plugwise/translations/es.json +11 -3
- homeassistant/components/plugwise/translations/et.json +11 -3
- homeassistant/components/plugwise/translations/fi.json +0 -25
- homeassistant/components/plugwise/translations/fr.json +0 -17
- homeassistant/components/plugwise/translations/ga.json +12 -4
- homeassistant/components/plugwise/translations/he.json +0 -22
- homeassistant/components/plugwise/translations/hu.json +0 -27
- homeassistant/components/plugwise/translations/id.json +0 -27
- homeassistant/components/plugwise/translations/is.json +1 -16
- homeassistant/components/plugwise/translations/it.json +5 -14
- homeassistant/components/plugwise/translations/ja.json +0 -25
- homeassistant/components/plugwise/translations/ko.json +0 -18
- homeassistant/components/plugwise/translations/lt.json +14 -6
- homeassistant/components/plugwise/translations/lv.json +0 -14
- homeassistant/components/plugwise/translations/mk.json +1 -1
- homeassistant/components/plugwise/translations/nb.json +0 -18
- homeassistant/components/plugwise/translations/nl.json +9 -9
- homeassistant/components/plugwise/translations/pl.json +0 -18
- homeassistant/components/plugwise/translations/pt-BR.json +0 -18
- homeassistant/components/plugwise/translations/pt.json +11 -3
- homeassistant/components/plugwise/translations/ro.json +0 -16
- homeassistant/components/plugwise/translations/ru.json +0 -27
- homeassistant/components/plugwise/translations/sk.json +13 -5
- homeassistant/components/plugwise/translations/sl.json +0 -17
- homeassistant/components/plugwise/translations/sr-Latn.json +6 -6
- homeassistant/components/plugwise/translations/sr.json +0 -8
- homeassistant/components/plugwise/translations/sv.json +18 -10
- homeassistant/components/plugwise/translations/tr.json +16 -5
- homeassistant/components/plugwise/translations/uk.json +0 -18
- homeassistant/components/plugwise/translations/vi.json +0 -14
- homeassistant/components/plugwise/translations/zh-Hans.json +14 -6
- homeassistant/components/plugwise/translations/zh-Hant.json +13 -5
- homeassistant/components/plum_lightpad/translations/tr.json +8 -1
- homeassistant/components/point/__init__.py +14 -7
- homeassistant/components/point/strings.json +5 -0
- homeassistant/components/point/translations/cs.json +5 -0
- homeassistant/components/point/translations/de.json +5 -0
- homeassistant/components/point/translations/en-GB.json +5 -0
- homeassistant/components/point/translations/en.json +5 -0
- homeassistant/components/point/translations/es.json +5 -0
- homeassistant/components/point/translations/et.json +5 -0
- homeassistant/components/point/translations/ga.json +5 -0
- homeassistant/components/point/translations/it.json +1 -1
- homeassistant/components/point/translations/lt.json +5 -0
- homeassistant/components/point/translations/pt.json +5 -0
- homeassistant/components/point/translations/sk.json +5 -0
- homeassistant/components/point/translations/tr.json +5 -0
- homeassistant/components/point/translations/zh-Hans.json +5 -0
- homeassistant/components/point/translations/zh-Hant.json +5 -0
- homeassistant/components/pooldose/__init__.py +34 -2
- homeassistant/components/pooldose/binary_sensor.py +129 -0
- homeassistant/components/pooldose/config_flow.py +1 -0
- homeassistant/components/pooldose/const.py +12 -0
- homeassistant/components/pooldose/entity.py +5 -0
- homeassistant/components/pooldose/icons.json +107 -4
- homeassistant/components/pooldose/manifest.json +1 -1
- homeassistant/components/pooldose/sensor.py +71 -24
- homeassistant/components/pooldose/strings.json +70 -2
- homeassistant/components/pooldose/switch.py +95 -0
- homeassistant/components/pooldose/translations/cs.json +70 -2
- homeassistant/components/pooldose/translations/de.json +70 -2
- homeassistant/components/pooldose/translations/el.json +11 -0
- homeassistant/components/pooldose/translations/en-GB.json +70 -2
- homeassistant/components/pooldose/translations/en.json +70 -2
- homeassistant/components/pooldose/translations/es.json +70 -2
- homeassistant/components/pooldose/translations/et.json +70 -2
- homeassistant/components/pooldose/translations/ga.json +70 -2
- homeassistant/components/pooldose/translations/it.json +42 -1
- homeassistant/components/pooldose/translations/lt.json +70 -2
- homeassistant/components/pooldose/translations/nl.json +20 -0
- homeassistant/components/pooldose/translations/pt.json +71 -3
- homeassistant/components/pooldose/translations/sk.json +70 -2
- homeassistant/components/pooldose/translations/sv.json +20 -0
- homeassistant/components/pooldose/translations/tr.json +145 -0
- homeassistant/components/pooldose/translations/zh-Hans.json +70 -2
- homeassistant/components/pooldose/translations/zh-Hant.json +70 -2
- homeassistant/components/portainer/binary_sensor.py +23 -21
- homeassistant/components/portainer/button.py +7 -4
- homeassistant/components/portainer/config_flow.py +2 -0
- homeassistant/components/portainer/coordinator.py +58 -10
- homeassistant/components/portainer/diagnostics.py +5 -5
- homeassistant/components/portainer/entity.py +15 -6
- homeassistant/components/portainer/icons.json +12 -0
- homeassistant/components/portainer/sensor.py +76 -17
- homeassistant/components/portainer/strings.json +12 -0
- homeassistant/components/portainer/switch.py +6 -9
- homeassistant/components/portainer/translations/bg.json +12 -0
- homeassistant/components/portainer/translations/cs.json +12 -0
- homeassistant/components/portainer/translations/de.json +12 -0
- homeassistant/components/portainer/translations/en-GB.json +12 -0
- homeassistant/components/portainer/translations/en.json +12 -0
- homeassistant/components/portainer/translations/es.json +12 -0
- homeassistant/components/portainer/translations/et.json +12 -0
- homeassistant/components/portainer/translations/ga.json +12 -0
- homeassistant/components/portainer/translations/it.json +13 -1
- homeassistant/components/portainer/translations/lt.json +12 -0
- homeassistant/components/portainer/translations/pt.json +12 -0
- homeassistant/components/portainer/translations/ru.json +12 -0
- homeassistant/components/portainer/translations/sk.json +12 -0
- homeassistant/components/portainer/translations/sr-Latn.json +12 -0
- homeassistant/components/portainer/translations/sv.json +12 -0
- homeassistant/components/portainer/translations/tr.json +100 -0
- homeassistant/components/portainer/translations/zh-Hans.json +12 -0
- homeassistant/components/portainer/translations/zh-Hant.json +12 -0
- homeassistant/components/powerfox/translations/it.json +2 -2
- homeassistant/components/powerwall/translations/it.json +1 -1
- homeassistant/components/probe_plus/config_flow.py +1 -1
- homeassistant/components/probe_plus/translations/tr.json +5 -0
- homeassistant/components/prometheus/__init__.py +291 -261
- homeassistant/components/prosegur/translations/it.json +1 -1
- homeassistant/components/prowl/translations/tr.json +21 -0
- homeassistant/components/ps4/translations/tr.json +6 -0
- homeassistant/components/pterodactyl/translations/it.json +1 -1
- homeassistant/components/purpleair/translations/it.json +1 -1
- homeassistant/components/purpleair/translations/sr-Latn.json +36 -0
- homeassistant/components/pushover/translations/it.json +1 -1
- homeassistant/components/pvoutput/translations/it.json +1 -1
- homeassistant/components/pvpc_hourly_pricing/translations/it.json +1 -1
- homeassistant/components/pyload/translations/it.json +2 -2
- homeassistant/components/qbittorrent/translations/tr.json +4 -0
- homeassistant/components/qbus/translations/tr.json +10 -0
- homeassistant/components/radarr/translations/it.json +1 -1
- homeassistant/components/rainbird/translations/it.json +1 -1
- homeassistant/components/rainmachine/translations/mk.json +3 -0
- homeassistant/components/random/strings.json +1 -0
- homeassistant/components/random/translations/cs.json +1 -0
- homeassistant/components/random/translations/de.json +1 -0
- homeassistant/components/random/translations/en-GB.json +1 -0
- homeassistant/components/random/translations/en.json +1 -0
- homeassistant/components/random/translations/es.json +1 -0
- homeassistant/components/random/translations/et.json +1 -0
- homeassistant/components/random/translations/ga.json +1 -0
- homeassistant/components/random/translations/lt.json +1 -0
- homeassistant/components/random/translations/nl.json +1 -0
- homeassistant/components/random/translations/pt.json +1 -0
- homeassistant/components/random/translations/sk.json +1 -0
- homeassistant/components/random/translations/sr-Latn.json +119 -6
- homeassistant/components/random/translations/tr.json +2 -0
- homeassistant/components/random/translations/zh-Hans.json +1 -0
- homeassistant/components/random/translations/zh-Hant.json +1 -0
- homeassistant/components/recorder/auto_repairs/schema.py +6 -5
- homeassistant/components/recorder/db_schema.py +2 -2
- homeassistant/components/recorder/migration.py +21 -2
- homeassistant/components/recorder/table_managers/statistics_meta.py +2 -2
- homeassistant/components/recorder/translations/sk.json +1 -1
- homeassistant/components/remote/translations/mk.json +10 -0
- homeassistant/components/remote_calendar/manifest.json +1 -1
- homeassistant/components/renault/manifest.json +1 -1
- homeassistant/components/renault/translations/it.json +1 -1
- homeassistant/components/renault/translations/lb.json +11 -0
- homeassistant/components/renault/translations/tr.json +12 -0
- homeassistant/components/renson/translations/mk.json +3 -0
- homeassistant/components/reolink/__init__.py +12 -5
- homeassistant/components/reolink/button.py +9 -0
- homeassistant/components/reolink/host.py +2 -6
- homeassistant/components/reolink/icons.json +12 -0
- homeassistant/components/reolink/manifest.json +2 -1
- homeassistant/components/reolink/number.py +28 -0
- homeassistant/components/reolink/select.py +12 -0
- homeassistant/components/reolink/strings.json +15 -0
- homeassistant/components/reolink/translations/bg.json +6 -0
- homeassistant/components/reolink/translations/cs.json +16 -1
- homeassistant/components/reolink/translations/de.json +15 -0
- homeassistant/components/reolink/translations/el.json +5 -0
- homeassistant/components/reolink/translations/en-GB.json +15 -0
- homeassistant/components/reolink/translations/en.json +15 -0
- homeassistant/components/reolink/translations/es.json +19 -4
- homeassistant/components/reolink/translations/et.json +15 -0
- homeassistant/components/reolink/translations/ga.json +15 -0
- homeassistant/components/reolink/translations/he.json +5 -0
- homeassistant/components/reolink/translations/it.json +17 -2
- homeassistant/components/reolink/translations/lt.json +15 -0
- homeassistant/components/reolink/translations/mk.json +5 -0
- homeassistant/components/reolink/translations/nl.json +5 -0
- homeassistant/components/reolink/translations/pl.json +10 -1
- homeassistant/components/reolink/translations/pt.json +15 -0
- homeassistant/components/reolink/translations/sk.json +15 -0
- homeassistant/components/reolink/translations/sr-Latn.json +16 -0
- homeassistant/components/reolink/translations/sv.json +10 -0
- homeassistant/components/reolink/translations/tr.json +71 -0
- homeassistant/components/reolink/translations/zh-Hans.json +15 -0
- homeassistant/components/reolink/translations/zh-Hant.json +15 -0
- homeassistant/components/reolink/update.py +5 -2
- homeassistant/components/rest/manifest.json +2 -1
- homeassistant/components/rest_command/__init__.py +5 -1
- homeassistant/components/rest_command/translations/de.json +1 -1
- homeassistant/components/ridwell/__init__.py +6 -0
- homeassistant/components/ridwell/calendar.py +45 -12
- homeassistant/components/ridwell/config_flow.py +43 -3
- homeassistant/components/ridwell/const.py +12 -0
- homeassistant/components/ridwell/strings.json +22 -0
- homeassistant/components/ridwell/translations/cs.json +22 -0
- homeassistant/components/ridwell/translations/de.json +22 -0
- homeassistant/components/ridwell/translations/en-GB.json +22 -0
- homeassistant/components/ridwell/translations/en.json +22 -0
- homeassistant/components/ridwell/translations/es.json +22 -0
- homeassistant/components/ridwell/translations/et.json +22 -0
- homeassistant/components/ridwell/translations/ga.json +22 -0
- homeassistant/components/ridwell/translations/it.json +23 -1
- homeassistant/components/ridwell/translations/lt.json +22 -0
- homeassistant/components/ridwell/translations/pt.json +22 -0
- homeassistant/components/ridwell/translations/sk.json +22 -0
- homeassistant/components/ridwell/translations/sr-Latn.json +22 -0
- homeassistant/components/ridwell/translations/sv.json +7 -0
- homeassistant/components/ridwell/translations/tr.json +22 -0
- homeassistant/components/ridwell/translations/zh-Hans.json +22 -0
- homeassistant/components/ridwell/translations/zh-Hant.json +22 -0
- homeassistant/components/ring/manifest.json +1 -0
- homeassistant/components/ring/translations/it.json +2 -2
- homeassistant/components/risco/translations/it.json +1 -1
- homeassistant/components/roborock/__init__.py +71 -164
- homeassistant/components/roborock/binary_sensor.py +7 -9
- homeassistant/components/roborock/button.py +27 -14
- homeassistant/components/roborock/coordinator.py +199 -342
- homeassistant/components/roborock/diagnostics.py +4 -8
- homeassistant/components/roborock/entity.py +12 -93
- homeassistant/components/roborock/image.py +37 -18
- homeassistant/components/roborock/manifest.json +2 -1
- homeassistant/components/roborock/models.py +22 -12
- homeassistant/components/roborock/number.py +31 -44
- homeassistant/components/roborock/roborock_storage.py +72 -61
- homeassistant/components/roborock/select.py +88 -53
- homeassistant/components/roborock/sensor.py +33 -42
- homeassistant/components/roborock/switch.py +32 -89
- homeassistant/components/roborock/time.py +62 -77
- homeassistant/components/roborock/translations/it.json +1 -1
- homeassistant/components/roborock/translations/tr.json +9 -1
- homeassistant/components/roborock/vacuum.py +30 -22
- homeassistant/components/roku/translations/it.json +1 -1
- homeassistant/components/roomba/translations/tr.json +6 -0
- homeassistant/components/ruckus_unleashed/translations/it.json +1 -1
- homeassistant/components/russound_rio/translations/it.json +1 -1
- homeassistant/components/ruuvi_gateway/translations/sr-Latn.json +10 -0
- homeassistant/components/ruuvitag_ble/__init__.py +1 -1
- homeassistant/components/ruuvitag_ble/config_flow.py +1 -1
- homeassistant/components/ruuvitag_ble/manifest.json +1 -1
- homeassistant/components/ruuvitag_ble/sensor.py +21 -3
- homeassistant/components/rympro/translations/it.json +1 -1
- homeassistant/components/sabnzbd/translations/it.json +1 -1
- homeassistant/components/samsungtv/config_flow.py +1 -1
- homeassistant/components/samsungtv/manifest.json +1 -1
- homeassistant/components/samsungtv/translations/fr.json +3 -0
- homeassistant/components/samsungtv/translations/it.json +1 -1
- homeassistant/components/samsungtv/translations/sr-Latn.json +3 -0
- homeassistant/components/satel_integra/__init__.py +18 -1
- homeassistant/components/satel_integra/alarm_control_panel.py +52 -58
- homeassistant/components/satel_integra/binary_sensor.py +37 -62
- homeassistant/components/satel_integra/config_flow.py +4 -2
- homeassistant/components/satel_integra/entity.py +58 -0
- homeassistant/components/satel_integra/manifest.json +1 -2
- homeassistant/components/satel_integra/quality_scale.yaml +10 -10
- homeassistant/components/satel_integra/strings.json +3 -0
- homeassistant/components/satel_integra/switch.py +39 -46
- homeassistant/components/satel_integra/translations/bg.json +3 -0
- homeassistant/components/satel_integra/translations/ca.json +3 -0
- homeassistant/components/satel_integra/translations/cs.json +3 -0
- homeassistant/components/satel_integra/translations/de.json +3 -0
- homeassistant/components/satel_integra/translations/el.json +3 -0
- homeassistant/components/satel_integra/translations/en-GB.json +3 -0
- homeassistant/components/satel_integra/translations/en.json +3 -0
- homeassistant/components/satel_integra/translations/es.json +3 -0
- homeassistant/components/satel_integra/translations/et.json +3 -0
- homeassistant/components/satel_integra/translations/fr.json +1 -0
- homeassistant/components/satel_integra/translations/ga.json +3 -0
- homeassistant/components/satel_integra/translations/he.json +3 -0
- homeassistant/components/satel_integra/translations/it.json +7 -1
- homeassistant/components/satel_integra/translations/lb.json +9 -0
- homeassistant/components/satel_integra/translations/lt.json +3 -0
- homeassistant/components/satel_integra/translations/nl.json +3 -0
- homeassistant/components/satel_integra/translations/pl.json +3 -0
- homeassistant/components/satel_integra/translations/pt.json +3 -0
- homeassistant/components/satel_integra/translations/sk.json +3 -0
- homeassistant/components/satel_integra/translations/sr-Latn.json +7 -1
- homeassistant/components/satel_integra/translations/sv.json +4 -0
- homeassistant/components/satel_integra/translations/tr.json +131 -0
- homeassistant/components/satel_integra/translations/zh-Hans.json +3 -0
- homeassistant/components/satel_integra/translations/zh-Hant.json +3 -0
- homeassistant/components/saunum/__init__.py +50 -0
- homeassistant/components/saunum/climate.py +146 -0
- homeassistant/components/saunum/config_flow.py +85 -0
- homeassistant/components/saunum/const.py +9 -0
- homeassistant/components/saunum/coordinator.py +51 -0
- homeassistant/components/saunum/diagnostics.py +49 -0
- homeassistant/components/saunum/entity.py +27 -0
- homeassistant/components/saunum/light.py +71 -0
- homeassistant/components/saunum/manifest.json +12 -0
- homeassistant/components/saunum/quality_scale.yaml +78 -0
- homeassistant/components/saunum/strings.json +59 -0
- homeassistant/components/saunum/translations/bg.json +7 -0
- homeassistant/components/saunum/translations/cs.json +59 -0
- homeassistant/components/saunum/translations/de.json +59 -0
- homeassistant/components/saunum/translations/el.json +31 -0
- homeassistant/components/saunum/translations/en-GB.json +59 -0
- homeassistant/components/saunum/translations/en.json +59 -0
- homeassistant/components/saunum/translations/es.json +59 -0
- homeassistant/components/saunum/translations/et.json +59 -0
- homeassistant/components/saunum/translations/ga.json +59 -0
- homeassistant/components/saunum/translations/it.json +22 -0
- homeassistant/components/{flick_electric/translations/sr-Latn.json → saunum/translations/lb.json} +1 -2
- homeassistant/components/saunum/translations/lt.json +59 -0
- homeassistant/components/saunum/translations/mk.json +17 -0
- homeassistant/components/saunum/translations/nl.json +39 -0
- homeassistant/components/saunum/translations/pt.json +59 -0
- homeassistant/components/saunum/translations/ru.json +9 -0
- homeassistant/components/saunum/translations/sk.json +59 -0
- homeassistant/components/saunum/translations/sr-Latn.json +9 -0
- homeassistant/components/saunum/translations/sv.json +18 -0
- homeassistant/components/saunum/translations/tr.json +59 -0
- homeassistant/components/saunum/translations/zh-Hans.json +59 -0
- homeassistant/components/saunum/translations/zh-Hant.json +59 -0
- homeassistant/components/schedule/translations/mk.json +12 -0
- homeassistant/components/schedule/translations/sr-Latn.json +18 -1
- homeassistant/components/schlage/translations/it.json +1 -1
- homeassistant/components/scrape/strings.json +1 -0
- homeassistant/components/scrape/translations/cs.json +1 -0
- homeassistant/components/scrape/translations/de.json +3 -2
- homeassistant/components/scrape/translations/en-GB.json +1 -0
- homeassistant/components/scrape/translations/en.json +1 -0
- homeassistant/components/scrape/translations/es.json +1 -0
- homeassistant/components/scrape/translations/et.json +1 -0
- homeassistant/components/scrape/translations/ga.json +1 -0
- homeassistant/components/scrape/translations/lt.json +1 -0
- homeassistant/components/scrape/translations/nl.json +1 -0
- homeassistant/components/scrape/translations/pt.json +1 -0
- homeassistant/components/scrape/translations/sk.json +1 -0
- homeassistant/components/scrape/translations/sr-Latn.json +63 -2
- homeassistant/components/scrape/translations/tr.json +4 -0
- homeassistant/components/scrape/translations/zh-Hans.json +1 -0
- homeassistant/components/scrape/translations/zh-Hant.json +1 -0
- homeassistant/components/script/__init__.py +17 -1
- homeassistant/components/script/translations/mk.json +10 -0
- homeassistant/components/select/translations/mk.json +9 -0
- homeassistant/components/sense/translations/it.json +1 -1
- homeassistant/components/sensibo/translations/es.json +1 -1
- homeassistant/components/sensibo/translations/it.json +2 -2
- homeassistant/components/sensibo/translations/mk.json +1 -0
- homeassistant/components/sensibo/translations/sr-Latn.json +19 -0
- homeassistant/components/sensirion_ble/config_flow.py +1 -1
- homeassistant/components/sensor/icons.json +3 -0
- homeassistant/components/sensor/translations/mk.json +6 -0
- homeassistant/components/sensor/translations/nl.json +3 -0
- homeassistant/components/sensor/translations/sr-Latn.json +141 -5
- homeassistant/components/sensor/translations/tr.json +10 -0
- homeassistant/components/sensorpro/config_flow.py +1 -1
- homeassistant/components/senz/__init__.py +60 -20
- homeassistant/components/senz/climate.py +30 -11
- homeassistant/components/senz/config_flow.py +57 -0
- homeassistant/components/senz/diagnostics.py +26 -0
- homeassistant/components/senz/manifest.json +1 -0
- homeassistant/components/senz/sensor.py +92 -0
- homeassistant/components/senz/strings.json +22 -1
- homeassistant/components/senz/translations/ca.json +6 -1
- homeassistant/components/senz/translations/cs.json +22 -1
- homeassistant/components/senz/translations/de.json +22 -1
- homeassistant/components/senz/translations/el.json +6 -1
- homeassistant/components/senz/translations/en-GB.json +22 -1
- homeassistant/components/senz/translations/en.json +22 -1
- homeassistant/components/senz/translations/es.json +22 -1
- homeassistant/components/senz/translations/et.json +22 -1
- homeassistant/components/senz/translations/ga.json +22 -1
- homeassistant/components/senz/translations/lt.json +22 -1
- homeassistant/components/senz/translations/nl.json +19 -1
- homeassistant/components/senz/translations/pt.json +22 -1
- homeassistant/components/senz/translations/ru.json +5 -0
- homeassistant/components/senz/translations/sk.json +22 -1
- homeassistant/components/senz/translations/sv.json +5 -0
- homeassistant/components/senz/translations/tr.json +22 -1
- homeassistant/components/senz/translations/zh-Hans.json +22 -1
- homeassistant/components/senz/translations/zh-Hant.json +22 -1
- homeassistant/components/sfr_box/translations/it.json +1 -1
- homeassistant/components/sfr_box/translations/sr-Latn.json +11 -0
- homeassistant/components/sfr_box/translations/tr.json +4 -0
- homeassistant/components/sftp_storage/translations/sv.json +2 -0
- homeassistant/components/sftp_storage/translations/tr.json +22 -0
- homeassistant/components/sharkiq/translations/it.json +1 -1
- homeassistant/components/shelly/__init__.py +2 -6
- homeassistant/components/shelly/binary_sensor.py +65 -31
- homeassistant/components/shelly/ble_provisioning.py +85 -0
- homeassistant/components/shelly/button.py +25 -13
- homeassistant/components/shelly/climate.py +11 -12
- homeassistant/components/shelly/config_flow.py +818 -46
- homeassistant/components/shelly/const.py +11 -0
- homeassistant/components/shelly/cover.py +3 -1
- homeassistant/components/shelly/entity.py +23 -36
- homeassistant/components/shelly/event.py +39 -8
- homeassistant/components/shelly/icons.json +36 -10
- homeassistant/components/shelly/light.py +5 -1
- homeassistant/components/shelly/logbook.py +2 -2
- homeassistant/components/shelly/manifest.json +10 -2
- homeassistant/components/shelly/number.py +17 -11
- homeassistant/components/shelly/quality_scale.yaml +1 -1
- homeassistant/components/shelly/repairs.py +86 -0
- homeassistant/components/shelly/select.py +76 -35
- homeassistant/components/shelly/sensor.py +128 -152
- homeassistant/components/shelly/strings.json +423 -3
- homeassistant/components/shelly/switch.py +48 -13
- homeassistant/components/shelly/text.py +13 -1
- homeassistant/components/shelly/translations/af.json +0 -9
- homeassistant/components/shelly/translations/bg.json +156 -5
- homeassistant/components/shelly/translations/ca.json +10 -8
- homeassistant/components/shelly/translations/cs.json +422 -2
- homeassistant/components/shelly/translations/da.json +0 -10
- homeassistant/components/shelly/translations/de.json +423 -3
- homeassistant/components/shelly/translations/el.json +94 -12
- homeassistant/components/shelly/translations/en-GB.json +421 -1
- homeassistant/components/shelly/translations/en.json +421 -1
- homeassistant/components/shelly/translations/es-419.json +0 -9
- homeassistant/components/shelly/translations/es.json +422 -2
- homeassistant/components/shelly/translations/et.json +422 -2
- homeassistant/components/shelly/translations/fi.json +0 -11
- homeassistant/components/shelly/translations/fr.json +13 -15
- homeassistant/components/shelly/translations/fy.json +0 -5
- homeassistant/components/shelly/translations/ga.json +410 -5
- homeassistant/components/shelly/translations/gl.json +0 -7
- homeassistant/components/shelly/translations/gsw.json +0 -9
- homeassistant/components/shelly/translations/he.json +2 -8
- homeassistant/components/shelly/translations/hu.json +0 -15
- homeassistant/components/shelly/translations/id.json +0 -15
- homeassistant/components/shelly/translations/it.json +346 -13
- homeassistant/components/shelly/translations/ja.json +0 -15
- homeassistant/components/shelly/translations/ko.json +0 -10
- homeassistant/components/shelly/translations/lb.json +10 -5
- homeassistant/components/shelly/translations/lt.json +426 -6
- homeassistant/components/shelly/translations/lv.json +0 -9
- homeassistant/components/shelly/translations/mk.json +36 -0
- homeassistant/components/shelly/translations/nb.json +0 -7
- homeassistant/components/shelly/translations/nl.json +53 -12
- homeassistant/components/shelly/translations/pl.json +416 -2
- homeassistant/components/shelly/translations/pt-BR.json +23 -6
- homeassistant/components/shelly/translations/pt.json +421 -1
- homeassistant/components/shelly/translations/ro.json +0 -6
- homeassistant/components/shelly/translations/ru.json +5 -15
- homeassistant/components/shelly/translations/sk.json +421 -1
- homeassistant/components/shelly/translations/sl.json +0 -15
- homeassistant/components/shelly/translations/sr-Latn.json +97 -3
- homeassistant/components/shelly/translations/sv.json +348 -11
- homeassistant/components/shelly/translations/tr.json +469 -7
- homeassistant/components/shelly/translations/uk.json +33 -6
- homeassistant/components/shelly/translations/vi.json +1 -9
- homeassistant/components/shelly/translations/zh-Hans.json +423 -3
- homeassistant/components/shelly/translations/zh-Hant.json +422 -2
- homeassistant/components/shelly/update.py +2 -4
- homeassistant/components/shelly/utils.py +92 -93
- homeassistant/components/shelly/valve.py +1 -1
- homeassistant/components/shopping_list/translations/mk.json +27 -0
- homeassistant/components/simplefin/translations/de.json +1 -1
- homeassistant/components/simplisafe/translations/it.json +1 -1
- homeassistant/components/simplisafe/translations/pt.json +4 -4
- homeassistant/components/siren/translations/mk.json +4 -2
- homeassistant/components/skybell/translations/it.json +1 -1
- homeassistant/components/slack/manifest.json +1 -1
- homeassistant/components/sleep_as_android/sensor.py +0 -2
- homeassistant/components/sleep_as_android/translations/en-GB.json +9 -1
- homeassistant/components/sleep_as_android/translations/sv.json +3 -0
- homeassistant/components/sleep_as_android/translations/tr.json +68 -0
- homeassistant/components/sleepiq/translations/it.json +1 -1
- homeassistant/components/slide_local/translations/it.json +1 -1
- homeassistant/components/slide_local/translations/mk.json +9 -0
- homeassistant/components/sma/translations/it.json +1 -1
- homeassistant/components/smarla/translations/tr.json +15 -0
- homeassistant/components/smartthings/__init__.py +51 -1
- homeassistant/components/smartthings/binary_sensor.py +47 -79
- homeassistant/components/smartthings/config_flow.py +1 -1
- homeassistant/components/smartthings/icons.json +13 -0
- homeassistant/components/smartthings/manifest.json +2 -1
- homeassistant/components/smartthings/select.py +58 -3
- homeassistant/components/smartthings/sensor.py +12 -0
- homeassistant/components/smartthings/strings.json +77 -16
- homeassistant/components/smartthings/switch.py +9 -0
- homeassistant/components/smartthings/translations/bg.json +25 -0
- homeassistant/components/smartthings/translations/cs.json +77 -16
- homeassistant/components/smartthings/translations/de.json +77 -16
- homeassistant/components/smartthings/translations/el.json +34 -12
- homeassistant/components/smartthings/translations/en-GB.json +77 -16
- homeassistant/components/smartthings/translations/en.json +77 -16
- homeassistant/components/smartthings/translations/es.json +77 -16
- homeassistant/components/smartthings/translations/et.json +77 -16
- homeassistant/components/smartthings/translations/ga.json +77 -16
- homeassistant/components/smartthings/translations/he.json +0 -16
- homeassistant/components/smartthings/translations/hu.json +0 -16
- homeassistant/components/smartthings/translations/it.json +73 -1
- homeassistant/components/smartthings/translations/lt.json +77 -16
- homeassistant/components/smartthings/translations/mk.json +5 -0
- homeassistant/components/smartthings/translations/nl.json +45 -0
- homeassistant/components/smartthings/translations/pt.json +77 -16
- homeassistant/components/smartthings/translations/ru.json +0 -16
- homeassistant/components/smartthings/translations/sk.json +77 -16
- homeassistant/components/smartthings/translations/sr-Latn.json +3 -0
- homeassistant/components/smartthings/translations/sv.json +38 -16
- homeassistant/components/smartthings/translations/tr.json +90 -0
- homeassistant/components/smartthings/translations/zh-Hans.json +77 -16
- homeassistant/components/smartthings/translations/zh-Hant.json +77 -16
- homeassistant/components/smarttub/translations/it.json +1 -1
- homeassistant/components/smhi/__init__.py +8 -2
- homeassistant/components/smhi/coordinator.py +65 -2
- homeassistant/components/smhi/entity.py +44 -7
- homeassistant/components/smhi/icons.json +33 -0
- homeassistant/components/smhi/sensor.py +201 -23
- homeassistant/components/smhi/strings.json +57 -0
- homeassistant/components/smhi/translations/bg.json +8 -0
- homeassistant/components/smhi/translations/cs.json +57 -0
- homeassistant/components/smhi/translations/de.json +57 -0
- homeassistant/components/smhi/translations/en-GB.json +57 -0
- homeassistant/components/smhi/translations/en.json +57 -0
- homeassistant/components/smhi/translations/es.json +57 -0
- homeassistant/components/smhi/translations/et.json +57 -0
- homeassistant/components/smhi/translations/ga.json +57 -0
- homeassistant/components/smhi/translations/it.json +62 -1
- homeassistant/components/smhi/translations/lt.json +57 -0
- homeassistant/components/smhi/translations/pt.json +57 -0
- homeassistant/components/smhi/translations/sk.json +57 -0
- homeassistant/components/smhi/translations/sr-Latn.json +9 -0
- homeassistant/components/smhi/translations/sv.json +44 -0
- homeassistant/components/smhi/translations/tr.json +61 -0
- homeassistant/components/smhi/translations/zh-Hans.json +57 -0
- homeassistant/components/smhi/translations/zh-Hant.json +57 -0
- homeassistant/components/smhi/weather.py +3 -3
- homeassistant/components/smlight/coordinator.py +3 -1
- homeassistant/components/smlight/manifest.json +1 -1
- homeassistant/components/smlight/translations/it.json +1 -1
- homeassistant/components/snmp/manifest.json +1 -1
- homeassistant/components/snoo/translations/mk.json +20 -0
- homeassistant/components/snoo/translations/tr.json +8 -0
- homeassistant/components/snooz/config_flow.py +1 -1
- homeassistant/components/solaredge/coordinator.py +1 -2
- homeassistant/components/solaredge/manifest.json +1 -5
- homeassistant/components/solaredge/translations/it.json +1 -1
- homeassistant/components/solaredge/translations/tr.json +64 -3
- homeassistant/components/solarlog/translations/it.json +2 -2
- homeassistant/components/sonarr/translations/it.json +1 -1
- homeassistant/components/sonos/manifest.json +6 -1
- homeassistant/components/sonos/translations/mk.json +9 -0
- homeassistant/components/spc/binary_sensor.py +1 -0
- homeassistant/components/speedtestdotnet/manifest.json +1 -0
- homeassistant/components/spotify/__init__.py +8 -1
- homeassistant/components/spotify/strings.json +5 -0
- homeassistant/components/spotify/translations/cs.json +5 -0
- homeassistant/components/spotify/translations/de.json +5 -0
- homeassistant/components/spotify/translations/en-GB.json +5 -0
- homeassistant/components/spotify/translations/en.json +5 -0
- homeassistant/components/spotify/translations/es.json +5 -0
- homeassistant/components/spotify/translations/et.json +5 -0
- homeassistant/components/spotify/translations/ga.json +5 -0
- homeassistant/components/spotify/translations/it.json +1 -1
- homeassistant/components/spotify/translations/lt.json +5 -0
- homeassistant/components/spotify/translations/pt.json +5 -0
- homeassistant/components/spotify/translations/sk.json +5 -0
- homeassistant/components/spotify/translations/tr.json +5 -0
- homeassistant/components/spotify/translations/zh-Hans.json +5 -0
- homeassistant/components/spotify/translations/zh-Hant.json +5 -0
- homeassistant/components/sql/__init__.py +3 -1
- homeassistant/components/sql/config_flow.py +25 -22
- homeassistant/components/sql/sensor.py +39 -26
- homeassistant/components/sql/services.py +9 -12
- homeassistant/components/sql/strings.json +2 -1
- homeassistant/components/sql/translations/cs.json +1 -0
- homeassistant/components/sql/translations/de.json +1 -0
- homeassistant/components/sql/translations/en-GB.json +1 -0
- homeassistant/components/sql/translations/en.json +1 -0
- homeassistant/components/sql/translations/es.json +1 -0
- homeassistant/components/sql/translations/et.json +1 -0
- homeassistant/components/sql/translations/ga.json +1 -0
- homeassistant/components/sql/translations/lt.json +1 -0
- homeassistant/components/sql/translations/nl.json +1 -0
- homeassistant/components/sql/translations/pt.json +1 -0
- homeassistant/components/sql/translations/sk.json +1 -0
- homeassistant/components/sql/translations/sr-Latn.json +61 -2
- homeassistant/components/sql/translations/tr.json +83 -0
- homeassistant/components/sql/translations/zh-Hans.json +1 -0
- homeassistant/components/sql/translations/zh-Hant.json +1 -0
- homeassistant/components/sql/util.py +77 -11
- homeassistant/components/squeezebox/translations/it.json +26 -0
- homeassistant/components/squeezebox/translations/mk.json +5 -0
- homeassistant/components/squeezebox/translations/tr.json +63 -0
- homeassistant/components/ssdp/manifest.json +1 -1
- homeassistant/components/starline/translations/sr-Latn.json +7 -0
- homeassistant/components/starlink/sensor.py +17 -12
- homeassistant/components/starlink/strings.json +2 -2
- homeassistant/components/starlink/translations/bg.json +2 -2
- homeassistant/components/starlink/translations/ca.json +0 -3
- homeassistant/components/starlink/translations/cs.json +2 -2
- homeassistant/components/starlink/translations/de.json +1 -1
- homeassistant/components/starlink/translations/el.json +2 -2
- homeassistant/components/starlink/translations/en-GB.json +2 -2
- homeassistant/components/starlink/translations/en.json +2 -2
- homeassistant/components/starlink/translations/es.json +2 -2
- homeassistant/components/starlink/translations/et.json +2 -2
- homeassistant/components/starlink/translations/fi.json +0 -3
- homeassistant/components/starlink/translations/ga.json +2 -2
- homeassistant/components/starlink/translations/he.json +0 -3
- homeassistant/components/starlink/translations/hu.json +0 -3
- homeassistant/components/starlink/translations/it.json +2 -2
- homeassistant/components/starlink/translations/ja.json +0 -3
- homeassistant/components/starlink/translations/ko.json +0 -3
- homeassistant/components/starlink/translations/lt.json +2 -2
- homeassistant/components/starlink/translations/nl.json +0 -3
- homeassistant/components/starlink/translations/pt.json +2 -2
- homeassistant/components/starlink/translations/ro.json +0 -3
- homeassistant/components/starlink/translations/ru.json +0 -3
- homeassistant/components/starlink/translations/sk.json +2 -2
- homeassistant/components/starlink/translations/sr-Latn.json +5 -0
- homeassistant/components/starlink/translations/sv.json +2 -2
- homeassistant/components/starlink/translations/tr.json +2 -2
- homeassistant/components/starlink/translations/uk.json +0 -3
- homeassistant/components/starlink/translations/zh-Hans.json +2 -2
- homeassistant/components/starlink/translations/zh-Hant.json +2 -2
- homeassistant/components/startca/manifest.json +1 -1
- homeassistant/components/statistics/translations/mk.json +9 -0
- homeassistant/components/statistics/translations/sr-Latn.json +118 -2
- homeassistant/components/steam_online/translations/it.json +1 -1
- homeassistant/components/steamist/config_flow.py +1 -1
- homeassistant/components/stookwijzer/__init__.py +2 -2
- homeassistant/components/stookwijzer/services.py +3 -1
- homeassistant/components/stream/manifest.json +1 -1
- homeassistant/components/stream/recorder.py +2 -4
- homeassistant/components/stream/worker.py +9 -6
- homeassistant/components/sunricher_dali/__init__.py +0 -7
- homeassistant/components/sunricher_dali/light.py +8 -17
- homeassistant/components/sunricher_dali/manifest.json +1 -1
- homeassistant/components/sunricher_dali/quality_scale.yaml +1 -1
- homeassistant/components/sunricher_dali/translations/tr.json +27 -0
- homeassistant/components/surepetcare/translations/it.json +1 -1
- 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/__init__.py +8 -0
- homeassistant/components/switchbot/binary_sensor.py +33 -12
- homeassistant/components/switchbot/climate.py +140 -0
- homeassistant/components/switchbot/const.py +8 -0
- homeassistant/components/switchbot/icons.json +13 -0
- homeassistant/components/switchbot/manifest.json +2 -1
- homeassistant/components/switchbot/strings.json +13 -0
- homeassistant/components/switchbot/translations/bg.json +13 -0
- homeassistant/components/switchbot/translations/ca.json +11 -0
- homeassistant/components/switchbot/translations/cs.json +13 -0
- homeassistant/components/switchbot/translations/de.json +13 -0
- homeassistant/components/switchbot/translations/el.json +13 -0
- homeassistant/components/switchbot/translations/en-GB.json +13 -0
- homeassistant/components/switchbot/translations/en.json +13 -0
- homeassistant/components/switchbot/translations/es.json +13 -0
- homeassistant/components/switchbot/translations/et.json +13 -0
- homeassistant/components/switchbot/translations/ga.json +13 -0
- homeassistant/components/switchbot/translations/it.json +13 -0
- homeassistant/components/switchbot/translations/lt.json +13 -0
- homeassistant/components/switchbot/translations/mk.json +11 -0
- homeassistant/components/switchbot/translations/nl.json +12 -0
- homeassistant/components/switchbot/translations/pt.json +13 -0
- homeassistant/components/switchbot/translations/ru.json +13 -0
- homeassistant/components/switchbot/translations/sk.json +13 -0
- homeassistant/components/switchbot/translations/sv.json +12 -0
- homeassistant/components/switchbot/translations/tr.json +55 -0
- homeassistant/components/switchbot/translations/zh-Hans.json +13 -0
- homeassistant/components/switchbot/translations/zh-Hant.json +13 -0
- homeassistant/components/switchbot_cloud/__init__.py +14 -1
- homeassistant/components/switchbot_cloud/climate.py +145 -6
- homeassistant/components/switchbot_cloud/const.py +1 -0
- homeassistant/components/switchbot_cloud/sensor.py +1 -0
- homeassistant/components/switchbot_cloud/translations/tr.json +20 -0
- homeassistant/components/switcher_kis/translations/it.json +1 -1
- homeassistant/components/switcher_kis/translations/mk.json +2 -1
- homeassistant/components/synology_dsm/translations/it.json +1 -1
- homeassistant/components/synology_dsm/translations/sr-Latn.json +3 -0
- homeassistant/components/system_bridge/translations/it.json +1 -1
- homeassistant/components/system_bridge/translations/mk.json +3 -0
- homeassistant/components/system_bridge/translations/tr.json +3 -0
- homeassistant/components/systemmonitor/binary_sensor.py +30 -4
- homeassistant/components/systemmonitor/coordinator.py +64 -32
- homeassistant/components/systemmonitor/icons.json +6 -0
- homeassistant/components/systemmonitor/sensor.py +140 -71
- homeassistant/components/systemmonitor/strings.json +6 -0
- homeassistant/components/systemmonitor/translations/bg.json +3 -0
- homeassistant/components/systemmonitor/translations/cs.json +6 -0
- homeassistant/components/systemmonitor/translations/de.json +6 -0
- homeassistant/components/systemmonitor/translations/en-GB.json +6 -0
- homeassistant/components/systemmonitor/translations/en.json +6 -0
- homeassistant/components/systemmonitor/translations/es.json +6 -0
- homeassistant/components/systemmonitor/translations/et.json +6 -0
- homeassistant/components/systemmonitor/translations/ga.json +6 -0
- homeassistant/components/systemmonitor/translations/it.json +8 -0
- homeassistant/components/systemmonitor/translations/lt.json +6 -0
- homeassistant/components/systemmonitor/translations/pt.json +6 -0
- homeassistant/components/systemmonitor/translations/sk.json +6 -0
- homeassistant/components/systemmonitor/translations/sr-Latn.json +6 -0
- homeassistant/components/systemmonitor/translations/sv.json +6 -0
- homeassistant/components/systemmonitor/translations/tr.json +6 -0
- homeassistant/components/systemmonitor/translations/zh-Hans.json +6 -0
- homeassistant/components/systemmonitor/translations/zh-Hant.json +6 -0
- homeassistant/components/systemmonitor/util.py +17 -1
- homeassistant/components/tado/__init__.py +17 -1
- homeassistant/components/tado/const.py +1 -0
- homeassistant/components/tado/entity.py +10 -2
- homeassistant/components/tado/translations/it.json +2 -2
- homeassistant/components/tailscale/translations/it.json +1 -1
- homeassistant/components/tailwind/translations/it.json +1 -1
- homeassistant/components/tankerkoenig/translations/it.json +1 -1
- homeassistant/components/tautulli/translations/de.json +3 -3
- homeassistant/components/tautulli/translations/it.json +1 -1
- homeassistant/components/ted5000/manifest.json +1 -1
- homeassistant/components/tedee/manifest.json +1 -0
- homeassistant/components/tedee/translations/it.json +2 -2
- homeassistant/components/telegram/translations/de.json +1 -1
- homeassistant/components/telegram/translations/tr.json +6 -0
- homeassistant/components/telegram_bot/bot.py +3 -0
- homeassistant/components/telegram_bot/manifest.json +1 -1
- homeassistant/components/telegram_bot/quality_scale.yaml +1 -1
- homeassistant/components/telegram_bot/strings.json +1 -0
- homeassistant/components/telegram_bot/translations/cs.json +1 -0
- homeassistant/components/telegram_bot/translations/de.json +1 -0
- homeassistant/components/telegram_bot/translations/en-GB.json +1 -0
- homeassistant/components/telegram_bot/translations/en.json +1 -0
- homeassistant/components/telegram_bot/translations/es.json +1 -0
- homeassistant/components/telegram_bot/translations/et.json +1 -0
- homeassistant/components/telegram_bot/translations/ga.json +1 -0
- homeassistant/components/telegram_bot/translations/it.json +2 -2
- homeassistant/components/telegram_bot/translations/ja.json +39 -0
- homeassistant/components/telegram_bot/translations/lt.json +1 -0
- homeassistant/components/telegram_bot/translations/mk.json +4 -0
- homeassistant/components/telegram_bot/translations/pt.json +1 -0
- homeassistant/components/telegram_bot/translations/ru.json +1 -0
- homeassistant/components/telegram_bot/translations/sk.json +1 -0
- homeassistant/components/telegram_bot/translations/sv.json +10 -0
- homeassistant/components/telegram_bot/translations/tr.json +204 -4
- homeassistant/components/telegram_bot/translations/zh-Hans.json +1 -0
- homeassistant/components/telegram_bot/translations/zh-Hant.json +1 -0
- homeassistant/components/template/__init__.py +45 -3
- homeassistant/components/template/alarm_control_panel.py +7 -13
- homeassistant/components/template/config.py +10 -6
- homeassistant/components/template/cover.py +31 -63
- homeassistant/components/template/fan.py +38 -70
- homeassistant/components/template/helpers.py +107 -1
- homeassistant/components/template/image.py +30 -19
- homeassistant/components/template/light.py +176 -236
- homeassistant/components/template/lock.py +25 -52
- homeassistant/components/template/sensor.py +65 -89
- homeassistant/components/template/strings.json +5 -0
- homeassistant/components/template/translations/cs.json +5 -0
- homeassistant/components/template/translations/de.json +9 -4
- homeassistant/components/template/translations/el.json +35 -31
- homeassistant/components/template/translations/en-GB.json +5 -0
- homeassistant/components/template/translations/en.json +5 -0
- homeassistant/components/template/translations/es.json +5 -0
- homeassistant/components/template/translations/et.json +5 -0
- homeassistant/components/template/translations/ga.json +5 -0
- homeassistant/components/template/translations/it.json +4 -0
- homeassistant/components/template/translations/lt.json +5 -0
- homeassistant/components/template/translations/mk.json +5 -0
- homeassistant/components/template/translations/nl.json +1 -0
- homeassistant/components/template/translations/pl.json +37 -0
- homeassistant/components/template/translations/pt.json +5 -0
- homeassistant/components/template/translations/ru.json +4 -0
- homeassistant/components/template/translations/sk.json +5 -0
- homeassistant/components/template/translations/sr-Latn.json +933 -72
- homeassistant/components/template/translations/tr.json +226 -0
- homeassistant/components/template/translations/zh-Hans.json +5 -0
- homeassistant/components/template/translations/zh-Hant.json +6 -1
- homeassistant/components/tesla_fleet/__init__.py +7 -0
- homeassistant/components/tesla_fleet/manifest.json +1 -0
- homeassistant/components/tesla_fleet/strings.json +8 -0
- homeassistant/components/tesla_fleet/translations/bg.json +5 -0
- homeassistant/components/tesla_fleet/translations/cs.json +8 -0
- homeassistant/components/tesla_fleet/translations/de.json +8 -0
- homeassistant/components/tesla_fleet/translations/el.json +5 -0
- homeassistant/components/tesla_fleet/translations/en-GB.json +8 -0
- homeassistant/components/tesla_fleet/translations/en.json +8 -0
- homeassistant/components/tesla_fleet/translations/es.json +8 -0
- homeassistant/components/tesla_fleet/translations/et.json +8 -0
- homeassistant/components/tesla_fleet/translations/fr.json +132 -1
- homeassistant/components/tesla_fleet/translations/ga.json +8 -0
- homeassistant/components/tesla_fleet/translations/it.json +6 -1
- homeassistant/components/tesla_fleet/translations/lt.json +8 -0
- homeassistant/components/tesla_fleet/translations/nl.json +5 -0
- homeassistant/components/tesla_fleet/translations/pt.json +8 -0
- homeassistant/components/tesla_fleet/translations/sk.json +8 -0
- homeassistant/components/tesla_fleet/translations/sr-Latn.json +5 -0
- homeassistant/components/tesla_fleet/translations/sv.json +5 -0
- homeassistant/components/tesla_fleet/translations/tr.json +8 -0
- homeassistant/components/tesla_fleet/translations/zh-Hans.json +8 -0
- homeassistant/components/tesla_fleet/translations/zh-Hant.json +8 -0
- homeassistant/components/tesla_fleet/update.py +114 -0
- homeassistant/components/tesla_wall_connector/manifest.json +1 -1
- homeassistant/components/tesla_wall_connector/sensor.py +10 -0
- homeassistant/components/tesla_wall_connector/strings.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/cs.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/de.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/en-GB.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/en.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/es.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/et.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/ga.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/lt.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/pt.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/sk.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/tr.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/zh-Hans.json +3 -0
- homeassistant/components/tesla_wall_connector/translations/zh-Hant.json +3 -0
- homeassistant/components/teslemetry/manifest.json +1 -0
- homeassistant/components/teslemetry/translations/fr.json +3 -0
- homeassistant/components/teslemetry/translations/it.json +1 -1
- homeassistant/components/teslemetry/translations/mk.json +10 -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/fr.json +3 -0
- homeassistant/components/tessie/translations/it.json +1 -1
- homeassistant/components/tessie/translations/sr-Latn.json +5 -0
- homeassistant/components/tessie/translations/tr.json +3 -0
- homeassistant/components/text/icons.json +5 -0
- homeassistant/components/text/strings.json +7 -1
- homeassistant/components/text/translations/cs.json +7 -1
- homeassistant/components/text/translations/de.json +7 -1
- homeassistant/components/text/translations/en-GB.json +7 -1
- homeassistant/components/text/translations/en.json +7 -1
- homeassistant/components/text/translations/es.json +7 -1
- homeassistant/components/text/translations/et.json +7 -1
- homeassistant/components/text/translations/lt.json +7 -1
- homeassistant/components/text/translations/mk.json +1 -0
- homeassistant/components/text/translations/sk.json +7 -1
- homeassistant/components/text/translations/sr-Latn.json +4 -2
- homeassistant/components/text/translations/zh-Hant.json +7 -1
- homeassistant/components/text/trigger.py +36 -0
- homeassistant/components/text/triggers.yaml +4 -0
- homeassistant/components/thermopro/manifest.json +1 -1
- homeassistant/components/thermopro/sensor.py +3 -1
- homeassistant/components/thermopro/translations/mk.json +9 -0
- homeassistant/components/thermoworks_smoke/sensor.py +2 -1
- homeassistant/components/thethingsnetwork/translations/it.json +1 -1
- homeassistant/components/tibber/translations/mk.json +5 -0
- homeassistant/components/tile/translations/it.json +1 -1
- homeassistant/components/time/translations/mk.json +12 -0
- homeassistant/components/time_date/translations/mk.json +13 -0
- homeassistant/components/timer/translations/mk.json +23 -2
- homeassistant/components/tod/translations/sr-Latn.json +16 -1
- homeassistant/components/todo/__init__.py +3 -0
- homeassistant/components/todo/translations/mk.json +3 -2
- 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/toon/__init__.py +9 -1
- homeassistant/components/toon/strings.json +5 -0
- homeassistant/components/toon/translations/cs.json +5 -0
- homeassistant/components/toon/translations/de.json +5 -0
- homeassistant/components/toon/translations/en-GB.json +5 -0
- homeassistant/components/toon/translations/en.json +5 -0
- homeassistant/components/toon/translations/es.json +5 -0
- homeassistant/components/toon/translations/et.json +5 -0
- homeassistant/components/toon/translations/ga.json +5 -0
- homeassistant/components/toon/translations/lt.json +5 -0
- homeassistant/components/toon/translations/pt.json +5 -0
- homeassistant/components/toon/translations/sk.json +5 -0
- homeassistant/components/toon/translations/tr.json +5 -0
- homeassistant/components/toon/translations/zh-Hans.json +5 -0
- homeassistant/components/toon/translations/zh-Hant.json +5 -0
- homeassistant/components/totalconnect/translations/it.json +1 -1
- homeassistant/components/tplink/manifest.json +1 -0
- homeassistant/components/tplink/number.py +2 -0
- homeassistant/components/tplink/translations/it.json +2 -2
- homeassistant/components/tplink_omada/manifest.json +1 -1
- homeassistant/components/tplink_omada/switch.py +12 -3
- homeassistant/components/tplink_omada/translations/it.json +1 -1
- homeassistant/components/traccar/manifest.json +1 -1
- homeassistant/components/traccar_server/translations/tr.json +12 -0
- homeassistant/components/tractive/translations/it.json +1 -1
- homeassistant/components/trafikverket_camera/translations/it.json +2 -2
- homeassistant/components/trafikverket_ferry/translations/it.json +1 -1
- homeassistant/components/trafikverket_ferry/translations/mk.json +11 -0
- homeassistant/components/trafikverket_train/translations/it.json +2 -2
- homeassistant/components/trafikverket_weatherstation/translations/it.json +2 -2
- homeassistant/components/transmission/__init__.py +6 -156
- homeassistant/components/transmission/config_flow.py +1 -1
- homeassistant/components/transmission/entity.py +30 -0
- homeassistant/components/transmission/manifest.json +1 -0
- homeassistant/components/transmission/quality_scale.yaml +75 -0
- homeassistant/components/transmission/sensor.py +2 -24
- homeassistant/components/transmission/services.py +171 -0
- homeassistant/components/transmission/services.yaml +6 -0
- homeassistant/components/transmission/strings.json +11 -0
- homeassistant/components/transmission/switch.py +2 -24
- homeassistant/components/transmission/translations/bg.json +11 -0
- homeassistant/components/transmission/translations/cs.json +11 -0
- homeassistant/components/transmission/translations/de.json +13 -2
- homeassistant/components/transmission/translations/en-GB.json +11 -0
- homeassistant/components/transmission/translations/en.json +11 -0
- homeassistant/components/transmission/translations/es.json +11 -0
- homeassistant/components/transmission/translations/et.json +11 -0
- homeassistant/components/transmission/translations/ga.json +11 -0
- homeassistant/components/transmission/translations/it.json +12 -1
- homeassistant/components/transmission/translations/lt.json +11 -0
- homeassistant/components/transmission/translations/pt.json +11 -0
- homeassistant/components/transmission/translations/ru.json +11 -0
- homeassistant/components/transmission/translations/sk.json +11 -0
- homeassistant/components/transmission/translations/tr.json +35 -0
- homeassistant/components/transmission/translations/zh-Hans.json +11 -0
- homeassistant/components/transmission/translations/zh-Hant.json +11 -0
- homeassistant/components/trend/translations/sr-Latn.json +21 -0
- homeassistant/components/tts/translations/mk.json +3 -0
- homeassistant/components/tuya/__init__.py +12 -8
- homeassistant/components/tuya/alarm_control_panel.py +114 -101
- homeassistant/components/tuya/binary_sensor.py +52 -49
- homeassistant/components/tuya/button.py +24 -4
- homeassistant/components/tuya/camera.py +28 -7
- homeassistant/components/tuya/climate.py +242 -246
- homeassistant/components/tuya/const.py +11 -3
- homeassistant/components/tuya/cover.py +236 -197
- homeassistant/components/tuya/diagnostics.py +13 -16
- homeassistant/components/tuya/entity.py +24 -74
- homeassistant/components/tuya/event.py +133 -24
- homeassistant/components/tuya/fan.py +125 -133
- homeassistant/components/tuya/humidifier.py +69 -70
- homeassistant/components/tuya/light.py +315 -255
- homeassistant/components/tuya/manifest.json +1 -1
- homeassistant/components/tuya/models.py +398 -54
- homeassistant/components/tuya/number.py +31 -36
- homeassistant/components/tuya/raw_data_models.py +60 -0
- homeassistant/components/tuya/select.py +21 -24
- homeassistant/components/tuya/sensor.py +235 -180
- homeassistant/components/tuya/siren.py +15 -8
- homeassistant/components/tuya/strings.json +39 -1
- homeassistant/components/tuya/switch.py +22 -8
- homeassistant/components/tuya/translations/bg.json +14 -0
- homeassistant/components/tuya/translations/cs.json +39 -1
- homeassistant/components/tuya/translations/de.json +39 -1
- homeassistant/components/tuya/translations/el.json +15 -0
- homeassistant/components/tuya/translations/en-GB.json +39 -1
- homeassistant/components/tuya/translations/en.json +39 -1
- homeassistant/components/tuya/translations/es.json +39 -1
- homeassistant/components/tuya/translations/et.json +39 -1
- homeassistant/components/tuya/translations/ga.json +38 -3
- homeassistant/components/tuya/translations/it.json +24 -4
- homeassistant/components/tuya/translations/lb.json +9 -0
- homeassistant/components/tuya/translations/lt.json +39 -1
- homeassistant/components/tuya/translations/mk.json +19 -0
- homeassistant/components/tuya/translations/nl.json +15 -0
- homeassistant/components/tuya/translations/pt.json +39 -1
- homeassistant/components/tuya/translations/sk.json +42 -1
- homeassistant/components/tuya/translations/sr-Latn.json +50 -2
- homeassistant/components/tuya/translations/sv.json +18 -0
- homeassistant/components/tuya/translations/tr.json +109 -0
- homeassistant/components/tuya/translations/zh-Hans.json +39 -1
- homeassistant/components/tuya/translations/zh-Hant.json +39 -1
- homeassistant/components/tuya/util.py +19 -33
- homeassistant/components/tuya/vacuum.py +80 -45
- homeassistant/components/tuya/valve.py +15 -10
- homeassistant/components/twitch/__init__.py +12 -5
- homeassistant/components/twitch/sensor.py +2 -0
- homeassistant/components/twitch/strings.json +5 -0
- homeassistant/components/twitch/translations/cs.json +5 -0
- homeassistant/components/twitch/translations/de.json +5 -0
- homeassistant/components/twitch/translations/en-GB.json +5 -0
- homeassistant/components/twitch/translations/en.json +5 -0
- homeassistant/components/twitch/translations/es.json +5 -0
- homeassistant/components/twitch/translations/et.json +5 -0
- homeassistant/components/twitch/translations/ga.json +5 -0
- homeassistant/components/twitch/translations/it.json +1 -1
- homeassistant/components/twitch/translations/lt.json +5 -0
- homeassistant/components/twitch/translations/pt.json +5 -0
- homeassistant/components/twitch/translations/sk.json +5 -0
- homeassistant/components/twitch/translations/tr.json +5 -0
- homeassistant/components/twitch/translations/zh-Hans.json +5 -0
- homeassistant/components/twitch/translations/zh-Hant.json +5 -0
- homeassistant/components/ukraine_alarm/translations/ga.json +6 -0
- homeassistant/components/ukraine_alarm/translations/it.json +6 -0
- homeassistant/components/ukraine_alarm/translations/tr.json +6 -0
- homeassistant/components/unifi/light.py +62 -29
- homeassistant/components/unifi/manifest.json +1 -1
- homeassistant/components/unifi/sensor.py +26 -0
- homeassistant/components/unifi/strings.json +3 -0
- homeassistant/components/unifi/translations/bg.json +5 -0
- homeassistant/components/unifi/translations/cs.json +3 -0
- homeassistant/components/unifi/translations/de.json +3 -0
- homeassistant/components/unifi/translations/en-GB.json +3 -0
- homeassistant/components/unifi/translations/en.json +3 -0
- homeassistant/components/unifi/translations/es.json +3 -0
- homeassistant/components/unifi/translations/et.json +3 -0
- homeassistant/components/unifi/translations/ga.json +3 -0
- homeassistant/components/unifi/translations/it.json +4 -1
- homeassistant/components/unifi/translations/lt.json +3 -0
- homeassistant/components/unifi/translations/pt.json +3 -0
- homeassistant/components/unifi/translations/sk.json +3 -0
- homeassistant/components/unifi/translations/sv.json +3 -0
- homeassistant/components/unifi/translations/tr.json +8 -0
- homeassistant/components/unifi/translations/zh-Hans.json +3 -0
- homeassistant/components/unifi/translations/zh-Hant.json +3 -0
- homeassistant/components/unifiprotect/__init__.py +19 -1
- homeassistant/components/unifiprotect/camera.py +5 -1
- homeassistant/components/unifiprotect/const.py +4 -0
- homeassistant/components/unifiprotect/event.py +201 -1
- homeassistant/components/unifiprotect/manifest.json +1 -1
- homeassistant/components/unifiprotect/sensor.py +0 -64
- homeassistant/components/unifiprotect/strings.json +10 -0
- homeassistant/components/unifiprotect/translations/bg.json +3 -7
- homeassistant/components/unifiprotect/translations/cs.json +11 -1
- homeassistant/components/unifiprotect/translations/de.json +11 -1
- homeassistant/components/unifiprotect/translations/el.json +1 -5
- homeassistant/components/unifiprotect/translations/en-GB.json +11 -1
- homeassistant/components/unifiprotect/translations/en.json +11 -1
- homeassistant/components/unifiprotect/translations/es.json +11 -1
- homeassistant/components/unifiprotect/translations/et.json +10 -0
- homeassistant/components/unifiprotect/translations/fi.json +0 -7
- homeassistant/components/unifiprotect/translations/ga.json +10 -10
- homeassistant/components/unifiprotect/translations/it.json +1 -1
- homeassistant/components/unifiprotect/translations/lt.json +11 -1
- homeassistant/components/unifiprotect/translations/nl.json +3 -3
- homeassistant/components/unifiprotect/translations/pt.json +10 -10
- homeassistant/components/unifiprotect/translations/sk.json +11 -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 +12 -3
- homeassistant/components/unifiprotect/translations/zh-Hant.json +11 -1
- homeassistant/components/update/translations/mk.json +20 -0
- homeassistant/components/update/translations/sr-Latn.json +51 -1
- homeassistant/components/upnp/manifest.json +1 -1
- homeassistant/components/uptime/translations/de.json +1 -1
- homeassistant/components/uptime_kuma/manifest.json +1 -1
- homeassistant/components/uptime_kuma/translations/tr.json +13 -0
- homeassistant/components/uptimerobot/translations/it.json +2 -2
- homeassistant/components/usage_prediction/common_control.py +1 -7
- homeassistant/components/usb/__init__.py +26 -68
- homeassistant/components/utility_meter/translations/mk.json +9 -3
- homeassistant/components/utility_meter/translations/sr-Latn.json +63 -2
- homeassistant/components/vacuum/icons.json +14 -0
- homeassistant/components/vacuum/strings.json +56 -1
- homeassistant/components/vacuum/translations/bg.json +33 -0
- homeassistant/components/vacuum/translations/cs.json +56 -1
- homeassistant/components/vacuum/translations/de.json +56 -1
- homeassistant/components/vacuum/translations/en-GB.json +56 -1
- homeassistant/components/vacuum/translations/en.json +56 -1
- homeassistant/components/vacuum/translations/es.json +56 -1
- homeassistant/components/vacuum/translations/et.json +56 -1
- homeassistant/components/vacuum/translations/ga.json +48 -1
- homeassistant/components/vacuum/translations/lt.json +56 -1
- homeassistant/components/vacuum/translations/mk.json +10 -0
- homeassistant/components/vacuum/translations/pt.json +48 -1
- homeassistant/components/vacuum/translations/ru.json +48 -1
- homeassistant/components/vacuum/translations/sk.json +56 -1
- homeassistant/components/vacuum/translations/sv.json +13 -1
- homeassistant/components/vacuum/translations/tr.json +48 -1
- homeassistant/components/vacuum/translations/zh-Hans.json +48 -1
- homeassistant/components/vacuum/translations/zh-Hant.json +56 -1
- homeassistant/components/vacuum/trigger.py +18 -0
- homeassistant/components/vacuum/triggers.yaml +20 -0
- homeassistant/components/vagner_pool/__init__.py +1 -0
- homeassistant/components/vagner_pool/manifest.json +6 -0
- homeassistant/components/vallox/translations/it.json +1 -1
- homeassistant/components/valve/translations/sr-Latn.json +9 -1
- homeassistant/components/vegehub/manifest.json +1 -1
- homeassistant/components/vegehub/translations/tr.json +47 -0
- homeassistant/components/velbus/manifest.json +1 -1
- homeassistant/components/velux/__init__.py +43 -3
- homeassistant/components/velux/binary_sensor.py +3 -3
- homeassistant/components/velux/button.py +54 -0
- homeassistant/components/velux/config_flow.py +1 -1
- homeassistant/components/velux/const.py +7 -1
- homeassistant/components/velux/cover.py +14 -19
- homeassistant/components/velux/entity.py +21 -15
- homeassistant/components/velux/light.py +4 -3
- homeassistant/components/velux/quality_scale.yaml +70 -0
- homeassistant/components/velux/scene.py +25 -11
- homeassistant/components/velux/strings.json +19 -1
- homeassistant/components/velux/translations/bg.json +12 -0
- homeassistant/components/velux/translations/cs.json +18 -0
- homeassistant/components/velux/translations/de.json +18 -0
- homeassistant/components/velux/translations/en-GB.json +18 -0
- homeassistant/components/velux/translations/en.json +18 -0
- homeassistant/components/velux/translations/es.json +18 -0
- homeassistant/components/velux/translations/et.json +18 -0
- homeassistant/components/velux/translations/ga.json +18 -0
- homeassistant/components/velux/translations/it.json +18 -0
- homeassistant/components/velux/translations/lt.json +18 -0
- homeassistant/components/velux/translations/pt.json +18 -0
- homeassistant/components/velux/translations/ru.json +1 -0
- homeassistant/components/velux/translations/sk.json +18 -0
- homeassistant/components/velux/translations/sr-Latn.json +3 -0
- homeassistant/components/velux/translations/sv.json +7 -0
- homeassistant/components/velux/translations/tr.json +18 -0
- homeassistant/components/velux/translations/zh-Hans.json +18 -0
- homeassistant/components/velux/translations/zh-Hant.json +18 -0
- homeassistant/components/verisure/translations/it.json +1 -1
- homeassistant/components/version/translations/mk.json +3 -0
- homeassistant/components/vesync/__init__.py +20 -0
- homeassistant/components/vesync/humidifier.py +1 -1
- homeassistant/components/vesync/manifest.json +1 -1
- homeassistant/components/vesync/sensor.py +10 -0
- homeassistant/components/vesync/strings.json +3 -0
- homeassistant/components/vesync/switch.py +8 -0
- homeassistant/components/vesync/translations/cs.json +3 -0
- homeassistant/components/vesync/translations/de.json +3 -0
- homeassistant/components/vesync/translations/en-GB.json +3 -0
- homeassistant/components/vesync/translations/en.json +3 -0
- homeassistant/components/vesync/translations/es.json +3 -0
- homeassistant/components/vesync/translations/et.json +3 -0
- homeassistant/components/vesync/translations/ga.json +3 -0
- homeassistant/components/vesync/translations/it.json +5 -0
- homeassistant/components/vesync/translations/lt.json +3 -0
- homeassistant/components/vesync/translations/pt.json +3 -0
- homeassistant/components/vesync/translations/sk.json +3 -0
- homeassistant/components/vesync/translations/sr-Latn.json +5 -0
- homeassistant/components/vesync/translations/sv.json +3 -0
- homeassistant/components/vesync/translations/tr.json +16 -0
- homeassistant/components/vesync/translations/zh-Hans.json +3 -0
- homeassistant/components/vesync/translations/zh-Hant.json +3 -0
- homeassistant/components/vesync/update.py +68 -0
- homeassistant/components/vicare/__init__.py +1 -0
- homeassistant/components/vicare/binary_sensor.py +5 -0
- homeassistant/components/vicare/button.py +7 -0
- homeassistant/components/vicare/const.py +1 -0
- homeassistant/components/vicare/icons.json +46 -0
- homeassistant/components/vicare/manifest.json +2 -1
- homeassistant/components/vicare/sensor.py +191 -1
- homeassistant/components/vicare/strings.json +69 -1
- homeassistant/components/vicare/translations/bg.json +19 -0
- homeassistant/components/vicare/translations/ca.json +10 -0
- homeassistant/components/vicare/translations/cs.json +69 -1
- homeassistant/components/vicare/translations/de.json +69 -1
- homeassistant/components/vicare/translations/el.json +9 -1
- homeassistant/components/vicare/translations/en-GB.json +69 -1
- homeassistant/components/vicare/translations/en.json +69 -1
- homeassistant/components/vicare/translations/es.json +69 -1
- homeassistant/components/vicare/translations/et.json +69 -1
- homeassistant/components/vicare/translations/ga.json +69 -1
- homeassistant/components/vicare/translations/it.json +14 -2
- homeassistant/components/vicare/translations/lt.json +69 -1
- homeassistant/components/vicare/translations/mk.json +16 -0
- homeassistant/components/vicare/translations/nl.json +8 -1
- homeassistant/components/vicare/translations/pt.json +69 -1
- homeassistant/components/vicare/translations/ru.json +12 -1
- homeassistant/components/vicare/translations/sk.json +69 -1
- homeassistant/components/vicare/translations/sr-Latn.json +15 -0
- homeassistant/components/vicare/translations/sv.json +15 -1
- homeassistant/components/vicare/translations/tr.json +90 -1
- homeassistant/components/vicare/translations/zh-Hans.json +69 -1
- homeassistant/components/vicare/translations/zh-Hant.json +69 -1
- homeassistant/components/vicare/utils.py +27 -0
- homeassistant/components/victron_ble/__init__.py +54 -0
- homeassistant/components/victron_ble/config_flow.py +123 -0
- homeassistant/components/victron_ble/const.py +4 -0
- homeassistant/components/victron_ble/manifest.json +19 -0
- homeassistant/components/victron_ble/quality_scale.yaml +85 -0
- homeassistant/components/victron_ble/sensor.py +474 -0
- homeassistant/components/victron_ble/strings.json +234 -0
- homeassistant/components/victron_ble/translations/bg.json +23 -0
- homeassistant/components/victron_ble/translations/cs.json +234 -0
- homeassistant/components/victron_ble/translations/de.json +234 -0
- homeassistant/components/victron_ble/translations/el.json +17 -0
- homeassistant/components/victron_ble/translations/en-GB.json +234 -0
- homeassistant/components/victron_ble/translations/en.json +234 -0
- homeassistant/components/victron_ble/translations/es.json +234 -0
- homeassistant/components/victron_ble/translations/et.json +234 -0
- homeassistant/components/victron_ble/translations/ga.json +234 -0
- homeassistant/components/victron_ble/translations/it.json +215 -0
- homeassistant/components/victron_ble/translations/lt.json +234 -0
- homeassistant/components/victron_ble/translations/nl.json +23 -0
- homeassistant/components/victron_ble/translations/pt.json +234 -0
- homeassistant/components/victron_ble/translations/sk.json +234 -0
- homeassistant/components/victron_ble/translations/sr-Latn.json +16 -0
- homeassistant/components/victron_ble/translations/sv.json +76 -0
- homeassistant/components/victron_ble/translations/tr.json +234 -0
- homeassistant/components/victron_ble/translations/zh-Hans.json +234 -0
- homeassistant/components/victron_ble/translations/zh-Hant.json +234 -0
- homeassistant/components/victron_remote_monitoring/translations/tr.json +102 -0
- homeassistant/components/vlc_telnet/translations/it.json +1 -1
- homeassistant/components/vodafone_station/translations/it.json +2 -2
- homeassistant/components/voip/assist_satellite.py +1 -0
- homeassistant/components/volvo/__init__.py +8 -1
- homeassistant/components/volvo/button.py +5 -0
- homeassistant/components/volvo/const.py +1 -0
- homeassistant/components/volvo/icons.json +3 -0
- homeassistant/components/volvo/lock.py +136 -0
- homeassistant/components/volvo/strings.json +11 -0
- homeassistant/components/volvo/translations/ca.json +5 -0
- homeassistant/components/volvo/translations/cs.json +11 -0
- homeassistant/components/volvo/translations/de.json +11 -0
- homeassistant/components/volvo/translations/el.json +5 -0
- homeassistant/components/volvo/translations/en-GB.json +11 -0
- homeassistant/components/volvo/translations/en.json +11 -0
- homeassistant/components/volvo/translations/es.json +11 -0
- homeassistant/components/volvo/translations/et.json +11 -0
- homeassistant/components/volvo/translations/fr.json +3 -0
- homeassistant/components/volvo/translations/ga.json +11 -0
- homeassistant/components/volvo/translations/it.json +5 -0
- homeassistant/components/volvo/translations/lt.json +11 -0
- homeassistant/components/volvo/translations/nl.json +5 -0
- homeassistant/components/volvo/translations/pt.json +11 -0
- homeassistant/components/volvo/translations/sk.json +11 -0
- homeassistant/components/volvo/translations/sr-Latn.json +5 -0
- homeassistant/components/volvo/translations/sv.json +5 -0
- homeassistant/components/volvo/translations/tr.json +166 -0
- homeassistant/components/volvo/translations/vi.json +9 -1
- homeassistant/components/volvo/translations/zh-Hans.json +11 -0
- homeassistant/components/volvo/translations/zh-Hant.json +11 -0
- homeassistant/components/volvooncall/translations/tr.json +18 -1
- homeassistant/components/wallbox/__init__.py +18 -12
- homeassistant/components/wallbox/config_flow.py +22 -6
- homeassistant/components/wallbox/const.py +6 -0
- homeassistant/components/wallbox/coordinator.py +53 -23
- homeassistant/components/wallbox/translations/it.json +1 -1
- homeassistant/components/waqi/diagnostics.py +20 -0
- 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/watttime/translations/it.json +1 -1
- homeassistant/components/waze_travel_time/__init__.py +4 -3
- homeassistant/components/waze_travel_time/httpx_client.py +26 -0
- homeassistant/components/waze_travel_time/manifest.json +1 -1
- homeassistant/components/waze_travel_time/translations/it.json +1 -1
- homeassistant/components/weatherflow/translations/sv.json +5 -0
- homeassistant/components/weatherflow/translations/tr.json +8 -0
- homeassistant/components/weatherflow_cloud/translations/it.json +1 -1
- homeassistant/components/webostv/manifest.json +1 -0
- homeassistant/components/webostv/translations/it.json +2 -2
- homeassistant/components/websocket_api/automation.py +228 -0
- homeassistant/components/websocket_api/commands.py +90 -19
- homeassistant/components/weheat/__init__.py +9 -2
- homeassistant/components/weheat/strings.json +5 -0
- homeassistant/components/weheat/translations/cs.json +5 -0
- homeassistant/components/weheat/translations/de.json +5 -0
- homeassistant/components/weheat/translations/en-GB.json +5 -0
- homeassistant/components/weheat/translations/en.json +5 -0
- homeassistant/components/weheat/translations/es.json +5 -0
- homeassistant/components/weheat/translations/et.json +5 -0
- homeassistant/components/weheat/translations/ga.json +5 -0
- homeassistant/components/weheat/translations/it.json +1 -1
- homeassistant/components/weheat/translations/lt.json +5 -0
- homeassistant/components/weheat/translations/nl.json +8 -2
- homeassistant/components/weheat/translations/pt.json +5 -0
- homeassistant/components/weheat/translations/sk.json +5 -0
- homeassistant/components/weheat/translations/tr.json +5 -0
- homeassistant/components/weheat/translations/zh-Hans.json +5 -0
- homeassistant/components/weheat/translations/zh-Hant.json +5 -0
- homeassistant/components/whirlpool/translations/it.json +2 -1
- homeassistant/components/whirlpool/translations/tr.json +81 -0
- homeassistant/components/withings/__init__.py +9 -1
- homeassistant/components/withings/const.py +0 -1
- homeassistant/components/withings/sensor.py +5 -3
- homeassistant/components/withings/strings.json +5 -0
- homeassistant/components/withings/translations/cs.json +5 -0
- homeassistant/components/withings/translations/de.json +5 -0
- homeassistant/components/withings/translations/en-GB.json +5 -0
- homeassistant/components/withings/translations/en.json +5 -0
- homeassistant/components/withings/translations/es.json +5 -0
- homeassistant/components/withings/translations/et.json +5 -0
- homeassistant/components/withings/translations/ga.json +5 -0
- homeassistant/components/withings/translations/it.json +1 -1
- homeassistant/components/withings/translations/lt.json +5 -0
- homeassistant/components/withings/translations/pt.json +5 -0
- homeassistant/components/withings/translations/sk.json +5 -0
- homeassistant/components/withings/translations/sr-Latn.json +5 -0
- homeassistant/components/withings/translations/tr.json +5 -0
- homeassistant/components/withings/translations/zh-Hans.json +5 -0
- homeassistant/components/withings/translations/zh-Hant.json +5 -0
- homeassistant/components/wiz/light.py +15 -5
- homeassistant/components/wled/__init__.py +5 -4
- homeassistant/components/wled/button.py +3 -2
- homeassistant/components/wled/config_flow.py +36 -4
- homeassistant/components/wled/coordinator.py +35 -4
- homeassistant/components/wled/diagnostics.py +1 -1
- homeassistant/components/wled/helpers.py +11 -3
- homeassistant/components/wled/light.py +1 -2
- homeassistant/components/wled/number.py +1 -2
- homeassistant/components/wled/select.py +1 -2
- homeassistant/components/wled/sensor.py +4 -2
- homeassistant/components/wled/strings.json +29 -2
- homeassistant/components/wled/switch.py +1 -2
- homeassistant/components/wled/translations/bg.json +2 -1
- homeassistant/components/wled/translations/cs.json +29 -2
- homeassistant/components/wled/translations/de.json +30 -3
- homeassistant/components/wled/translations/el.json +20 -1
- homeassistant/components/wled/translations/en-GB.json +29 -2
- homeassistant/components/wled/translations/en.json +29 -2
- homeassistant/components/wled/translations/es.json +29 -2
- homeassistant/components/wled/translations/et.json +29 -2
- homeassistant/components/wled/translations/ga.json +20 -1
- homeassistant/components/wled/translations/it.json +26 -1
- homeassistant/components/wled/translations/lt.json +29 -2
- homeassistant/components/wled/translations/nl.json +2 -1
- homeassistant/components/wled/translations/pl.json +8 -1
- homeassistant/components/wled/translations/pt.json +20 -1
- homeassistant/components/wled/translations/ru.json +29 -2
- homeassistant/components/wled/translations/sk.json +29 -2
- homeassistant/components/wled/translations/sv.json +11 -0
- homeassistant/components/wled/translations/tr.json +26 -1
- homeassistant/components/wled/translations/zh-Hans.json +20 -1
- homeassistant/components/wled/translations/zh-Hant.json +29 -2
- homeassistant/components/wled/update.py +9 -3
- homeassistant/components/workday/translations/mk.json +11 -0
- homeassistant/components/workday/translations/tr.json +5 -0
- homeassistant/components/wyoming/assist_satellite.py +17 -12
- homeassistant/components/xbox/__init__.py +15 -10
- homeassistant/components/xbox/api.py +28 -8
- homeassistant/components/xbox/binary_sensor.py +16 -14
- homeassistant/components/xbox/browse_media.py +87 -115
- homeassistant/components/xbox/config_flow.py +31 -11
- homeassistant/components/xbox/const.py +0 -2
- homeassistant/components/xbox/coordinator.py +92 -27
- homeassistant/components/xbox/diagnostics.py +56 -0
- homeassistant/components/xbox/entity.py +8 -18
- homeassistant/components/xbox/icons.json +21 -0
- homeassistant/components/xbox/image.py +3 -3
- homeassistant/components/xbox/manifest.json +3 -3
- homeassistant/components/xbox/media_player.py +16 -11
- homeassistant/components/xbox/media_source.py +589 -200
- homeassistant/components/xbox/remote.py +28 -5
- homeassistant/components/xbox/sensor.py +177 -16
- homeassistant/components/xbox/strings.json +44 -1
- homeassistant/components/xbox/translations/bg.json +27 -1
- homeassistant/components/xbox/translations/ca.json +2 -2
- homeassistant/components/xbox/translations/cs.json +46 -1
- homeassistant/components/xbox/translations/da.json +1 -2
- homeassistant/components/xbox/translations/de.json +46 -1
- homeassistant/components/xbox/translations/el.json +11 -1
- homeassistant/components/xbox/translations/en-GB.json +46 -1
- homeassistant/components/xbox/translations/en.json +46 -1
- homeassistant/components/xbox/translations/es.json +46 -1
- homeassistant/components/xbox/translations/et.json +46 -1
- homeassistant/components/xbox/translations/fi.json +1 -2
- homeassistant/components/xbox/translations/fr.json +1 -2
- homeassistant/components/xbox/translations/ga.json +43 -1
- homeassistant/components/xbox/translations/he.json +6 -2
- homeassistant/components/xbox/translations/hu.json +1 -2
- homeassistant/components/xbox/translations/id.json +1 -2
- homeassistant/components/xbox/translations/it.json +31 -2
- homeassistant/components/xbox/translations/ja.json +1 -2
- homeassistant/components/xbox/translations/ka.json +1 -2
- homeassistant/components/xbox/translations/ko.json +1 -2
- homeassistant/components/xbox/translations/lb.json +1 -2
- homeassistant/components/xbox/translations/lt.json +46 -1
- homeassistant/components/xbox/translations/mk.json +9 -0
- homeassistant/components/xbox/translations/nb.json +1 -2
- homeassistant/components/xbox/translations/nl.json +16 -1
- homeassistant/components/xbox/translations/pl.json +1 -2
- homeassistant/components/xbox/translations/pt-BR.json +1 -2
- homeassistant/components/xbox/translations/pt.json +46 -1
- homeassistant/components/xbox/translations/ro.json +1 -2
- homeassistant/components/xbox/translations/ru.json +4 -2
- homeassistant/components/xbox/translations/sk.json +46 -1
- homeassistant/components/xbox/translations/sl.json +1 -2
- homeassistant/components/xbox/translations/sr-Latn.json +17 -0
- homeassistant/components/xbox/translations/sv.json +9 -2
- homeassistant/components/xbox/translations/tr.json +144 -1
- homeassistant/components/xbox/translations/uk.json +1 -2
- homeassistant/components/xbox/translations/zh-Hans.json +46 -1
- homeassistant/components/xbox/translations/zh-Hant.json +46 -1
- homeassistant/components/xiaomi_aqara/translations/sr-Latn.json +6 -0
- homeassistant/components/xiaomi_ble/manifest.json +1 -0
- homeassistant/components/xiaomi_ble/translations/it.json +1 -1
- homeassistant/components/xiaomi_miio/translations/el.json +2 -1
- homeassistant/components/xiaomi_miio/translations/it.json +1 -1
- homeassistant/components/yale/__init__.py +9 -8
- homeassistant/components/yale/manifest.json +2 -2
- homeassistant/components/yale/translations/it.json +1 -1
- homeassistant/components/yale_smart_alarm/translations/it.json +2 -2
- homeassistant/components/yalexs_ble/manifest.json +1 -1
- homeassistant/components/yalexs_ble/translations/it.json +1 -1
- homeassistant/components/yamaha_musiccast/manifest.json +1 -1
- homeassistant/components/yardian/translations/tr.json +16 -0
- homeassistant/components/yeelight/manifest.json +1 -1
- homeassistant/components/yeelight/translations/zh-Hans.json +1 -1
- homeassistant/components/yolink/__init__.py +14 -8
- homeassistant/components/yolink/strings.json +3 -0
- homeassistant/components/yolink/translations/cs.json +3 -0
- homeassistant/components/yolink/translations/de.json +3 -0
- homeassistant/components/yolink/translations/en-GB.json +3 -0
- homeassistant/components/yolink/translations/en.json +3 -0
- homeassistant/components/yolink/translations/es.json +3 -0
- homeassistant/components/yolink/translations/et.json +3 -0
- homeassistant/components/yolink/translations/ga.json +3 -0
- homeassistant/components/yolink/translations/it.json +1 -1
- homeassistant/components/yolink/translations/lt.json +3 -0
- homeassistant/components/yolink/translations/pt.json +3 -0
- homeassistant/components/yolink/translations/ru.json +3 -0
- homeassistant/components/yolink/translations/sk.json +3 -0
- homeassistant/components/yolink/translations/tr.json +17 -0
- homeassistant/components/yolink/translations/zh-Hans.json +3 -0
- homeassistant/components/yolink/translations/zh-Hant.json +3 -0
- homeassistant/components/youtube/__init__.py +8 -1
- homeassistant/components/youtube/manifest.json +1 -1
- homeassistant/components/youtube/strings.json +5 -0
- homeassistant/components/youtube/translations/cs.json +5 -0
- homeassistant/components/youtube/translations/de.json +5 -0
- homeassistant/components/youtube/translations/en-GB.json +5 -0
- homeassistant/components/youtube/translations/en.json +5 -0
- homeassistant/components/youtube/translations/es.json +5 -0
- homeassistant/components/youtube/translations/et.json +5 -0
- homeassistant/components/youtube/translations/ga.json +5 -0
- homeassistant/components/youtube/translations/it.json +1 -1
- homeassistant/components/youtube/translations/lt.json +5 -0
- homeassistant/components/youtube/translations/pt.json +5 -0
- homeassistant/components/youtube/translations/sk.json +5 -0
- homeassistant/components/youtube/translations/tr.json +5 -0
- homeassistant/components/youtube/translations/zh-Hans.json +5 -0
- homeassistant/components/youtube/translations/zh-Hant.json +5 -0
- homeassistant/components/zamg/sensor.py +9 -0
- homeassistant/components/zeroconf/translations/tr.json +14 -0
- homeassistant/components/zestimate/manifest.json +1 -1
- homeassistant/components/zeversolar/translations/sr-Latn.json +14 -1
- homeassistant/components/zha/__init__.py +1 -0
- homeassistant/components/zha/config_flow.py +2 -6
- homeassistant/components/zha/const.py +1 -1
- homeassistant/components/zha/entity.py +24 -7
- homeassistant/components/zha/helpers.py +3 -2
- homeassistant/components/zha/manifest.json +2 -1
- homeassistant/components/zha/radio_manager.py +2 -2
- homeassistant/components/zha/repairs/wrong_silabs_firmware.py +14 -1
- homeassistant/components/zha/strings.json +44 -0
- homeassistant/components/zha/translations/bg.json +120 -2
- homeassistant/components/zha/translations/cs.json +44 -0
- homeassistant/components/zha/translations/de.json +45 -1
- homeassistant/components/zha/translations/en-GB.json +44 -0
- homeassistant/components/zha/translations/en.json +44 -0
- homeassistant/components/zha/translations/es.json +44 -0
- homeassistant/components/zha/translations/et.json +44 -0
- homeassistant/components/zha/translations/ga.json +44 -0
- homeassistant/components/zha/translations/it.json +44 -0
- homeassistant/components/zha/translations/lt.json +44 -0
- homeassistant/components/zha/translations/mk.json +18 -1
- homeassistant/components/zha/translations/nl.json +8 -0
- homeassistant/components/zha/translations/pt.json +48 -4
- homeassistant/components/zha/translations/sk.json +44 -0
- homeassistant/components/zha/translations/sr-Latn.json +3 -0
- homeassistant/components/zha/translations/sv.json +9 -0
- homeassistant/components/zha/translations/tr.json +235 -1
- homeassistant/components/zha/translations/zh-Hans.json +44 -0
- homeassistant/components/zha/translations/zh-Hant.json +44 -0
- homeassistant/components/zwave_js/binary_sensor.py +1 -3
- homeassistant/components/zwave_js/config_flow.py +25 -19
- homeassistant/components/zwave_js/discovery.py +2 -9
- homeassistant/components/zwave_js/entity.py +2 -2
- homeassistant/components/zwave_js/event.py +41 -7
- homeassistant/components/zwave_js/manifest.json +7 -0
- homeassistant/components/zwave_js/translations/mk.json +7 -0
- homeassistant/components/zwave_js/translations/tr.json +17 -0
- homeassistant/components/zwave_js/translations/uk.json +3 -0
- homeassistant/config_entries.py +2 -23
- homeassistant/const.py +3 -30
- homeassistant/core.py +21 -2
- homeassistant/generated/bluetooth.py +21 -0
- homeassistant/generated/config_flows.py +12 -2
- homeassistant/generated/dhcp.py +4 -0
- homeassistant/generated/integrations.json +133 -148
- homeassistant/generated/labs.py +28 -0
- homeassistant/generated/usb.py +7 -0
- homeassistant/helpers/area_registry.py +33 -4
- homeassistant/helpers/automation.py +37 -1
- homeassistant/helpers/condition.py +73 -4
- homeassistant/helpers/config_entry_oauth2_flow.py +14 -2
- homeassistant/helpers/config_validation.py +43 -22
- homeassistant/helpers/device_registry.py +8 -2
- homeassistant/helpers/entity.py +5 -5
- homeassistant/helpers/entity_component.py +4 -1
- homeassistant/helpers/entity_platform.py +3 -1
- homeassistant/helpers/entity_registry.py +8 -3
- homeassistant/helpers/floor_registry.py +36 -3
- homeassistant/helpers/json.py +28 -9
- homeassistant/helpers/llm.py +11 -1
- homeassistant/helpers/registry.py +0 -1
- homeassistant/helpers/selector.py +41 -6
- homeassistant/helpers/service.py +10 -1
- homeassistant/helpers/storage.py +49 -15
- homeassistant/helpers/target.py +1 -1
- homeassistant/helpers/template/__init__.py +11 -707
- homeassistant/helpers/template/extensions/__init__.py +12 -0
- homeassistant/helpers/template/extensions/areas.py +159 -0
- homeassistant/helpers/template/extensions/base.py +83 -5
- homeassistant/helpers/template/extensions/datetime.py +324 -0
- homeassistant/helpers/template/extensions/devices.py +139 -0
- homeassistant/helpers/template/extensions/floors.py +157 -0
- homeassistant/helpers/template/extensions/issues.py +54 -0
- homeassistant/helpers/template/extensions/labels.py +169 -0
- homeassistant/helpers/template/extensions/math.py +116 -1
- homeassistant/helpers/template/helpers.py +56 -1
- homeassistant/helpers/trigger.py +288 -4
- homeassistant/helpers/update_coordinator.py +30 -4
- homeassistant/loader.py +6 -0
- homeassistant/package_constraints.txt +8 -12
- homeassistant/scripts/check_config.py +3 -1
- homeassistant/strings.json +5 -0
- homeassistant/util/__init__.py +14 -0
- homeassistant/util/package.py +4 -0
- homeassistant/util/unit_conversion.py +4 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/METADATA +2 -2
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/RECORD +3619 -3399
- homeassistant/components/bluetooth_tracker/__init__.py +0 -1
- homeassistant/components/bluetooth_tracker/const.py +0 -10
- homeassistant/components/bluetooth_tracker/device_tracker.py +0 -213
- homeassistant/components/bluetooth_tracker/icons.json +0 -7
- homeassistant/components/bluetooth_tracker/manifest.json +0 -10
- homeassistant/components/bluetooth_tracker/services.yaml +0 -1
- homeassistant/components/bluetooth_tracker/strings.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/bg.json +0 -7
- homeassistant/components/bluetooth_tracker/translations/ca.json +0 -7
- homeassistant/components/bluetooth_tracker/translations/cs.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/de.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/el.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/en-GB.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/en.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/es.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/et.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/fi.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/ga.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/he.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/hu.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/id.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/it.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/ja.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/ko.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/lt.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/mk.json +0 -7
- homeassistant/components/bluetooth_tracker/translations/nb.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/nl.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/pt.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/ru.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/sk.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/sr-Latn.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/sv.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/tr.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/vi.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/zh-Hans.json +0 -8
- homeassistant/components/bluetooth_tracker/translations/zh-Hant.json +0 -8
- homeassistant/components/cups/__init__.py +0 -4
- homeassistant/components/cups/manifest.json +0 -9
- homeassistant/components/cups/sensor.py +0 -349
- homeassistant/components/decora/__init__.py +0 -3
- homeassistant/components/decora/light.py +0 -166
- homeassistant/components/decora/manifest.json +0 -10
- homeassistant/components/dlib_face_detect/__init__.py +0 -3
- homeassistant/components/dlib_face_detect/image_processing.py +0 -82
- homeassistant/components/dlib_face_detect/manifest.json +0 -10
- homeassistant/components/dlib_face_identify/__init__.py +0 -4
- homeassistant/components/dlib_face_identify/image_processing.py +0 -127
- homeassistant/components/dlib_face_identify/manifest.json +0 -10
- homeassistant/components/dominos/__init__.py +0 -259
- homeassistant/components/dominos/icons.json +0 -7
- homeassistant/components/dominos/manifest.json +0 -11
- homeassistant/components/dominos/services.yaml +0 -6
- homeassistant/components/dominos/strings.json +0 -14
- homeassistant/components/dominos/translations/ca.json +0 -7
- homeassistant/components/dominos/translations/cs.json +0 -14
- homeassistant/components/dominos/translations/de.json +0 -14
- homeassistant/components/dominos/translations/el.json +0 -14
- homeassistant/components/dominos/translations/en-GB.json +0 -14
- homeassistant/components/dominos/translations/en.json +0 -14
- homeassistant/components/dominos/translations/es.json +0 -14
- homeassistant/components/dominos/translations/et.json +0 -14
- homeassistant/components/dominos/translations/fi.json +0 -12
- homeassistant/components/dominos/translations/fr.json +0 -13
- homeassistant/components/dominos/translations/ga.json +0 -14
- homeassistant/components/dominos/translations/hu.json +0 -12
- homeassistant/components/dominos/translations/it.json +0 -12
- homeassistant/components/dominos/translations/ja.json +0 -12
- homeassistant/components/dominos/translations/ko.json +0 -12
- homeassistant/components/dominos/translations/lt.json +0 -14
- homeassistant/components/dominos/translations/pt-BR.json +0 -7
- homeassistant/components/dominos/translations/pt.json +0 -14
- homeassistant/components/dominos/translations/ru.json +0 -14
- homeassistant/components/dominos/translations/sk.json +0 -14
- homeassistant/components/dominos/translations/sv.json +0 -12
- homeassistant/components/dominos/translations/tr.json +0 -12
- homeassistant/components/dominos/translations/zh-Hans.json +0 -14
- homeassistant/components/dominos/translations/zh-Hant.json +0 -14
- homeassistant/components/eddystone_temperature/__init__.py +0 -6
- homeassistant/components/eddystone_temperature/manifest.json +0 -10
- homeassistant/components/eddystone_temperature/sensor.py +0 -211
- homeassistant/components/flick_electric/__init__.py +0 -152
- homeassistant/components/flick_electric/config_flow.py +0 -210
- homeassistant/components/flick_electric/const.py +0 -12
- homeassistant/components/flick_electric/coordinator.py +0 -55
- homeassistant/components/flick_electric/manifest.json +0 -11
- homeassistant/components/flick_electric/sensor.py +0 -72
- homeassistant/components/flick_electric/strings.json +0 -39
- homeassistant/components/flick_electric/translations/bg.json +0 -30
- homeassistant/components/flick_electric/translations/ca.json +0 -37
- homeassistant/components/flick_electric/translations/cs.json +0 -39
- homeassistant/components/flick_electric/translations/da.json +0 -20
- homeassistant/components/flick_electric/translations/de.json +0 -39
- homeassistant/components/flick_electric/translations/el.json +0 -39
- homeassistant/components/flick_electric/translations/en-GB.json +0 -39
- homeassistant/components/flick_electric/translations/en.json +0 -39
- homeassistant/components/flick_electric/translations/es-419.json +0 -9
- homeassistant/components/flick_electric/translations/es.json +0 -39
- homeassistant/components/flick_electric/translations/et.json +0 -39
- homeassistant/components/flick_electric/translations/fi.json +0 -30
- homeassistant/components/flick_electric/translations/fr.json +0 -23
- homeassistant/components/flick_electric/translations/ga.json +0 -39
- homeassistant/components/flick_electric/translations/he.json +0 -23
- homeassistant/components/flick_electric/translations/hu.json +0 -39
- homeassistant/components/flick_electric/translations/id.json +0 -24
- homeassistant/components/flick_electric/translations/it.json +0 -31
- homeassistant/components/flick_electric/translations/ja.json +0 -39
- homeassistant/components/flick_electric/translations/ko.json +0 -30
- homeassistant/components/flick_electric/translations/lb.json +0 -21
- homeassistant/components/flick_electric/translations/lt.json +0 -39
- homeassistant/components/flick_electric/translations/lv.json +0 -7
- homeassistant/components/flick_electric/translations/mk.json +0 -9
- homeassistant/components/flick_electric/translations/nb.json +0 -23
- homeassistant/components/flick_electric/translations/nl.json +0 -30
- homeassistant/components/flick_electric/translations/pl.json +0 -23
- homeassistant/components/flick_electric/translations/pt-BR.json +0 -39
- homeassistant/components/flick_electric/translations/pt.json +0 -39
- homeassistant/components/flick_electric/translations/ro.json +0 -30
- homeassistant/components/flick_electric/translations/ru.json +0 -39
- homeassistant/components/flick_electric/translations/sk.json +0 -39
- homeassistant/components/flick_electric/translations/sl.json +0 -23
- homeassistant/components/flick_electric/translations/sv.json +0 -39
- homeassistant/components/flick_electric/translations/tr.json +0 -39
- homeassistant/components/flick_electric/translations/uk.json +0 -23
- homeassistant/components/flick_electric/translations/vi.json +0 -23
- homeassistant/components/flick_electric/translations/zh-Hans.json +0 -39
- homeassistant/components/flick_electric/translations/zh-Hant.json +0 -39
- homeassistant/components/gstreamer/__init__.py +0 -3
- homeassistant/components/gstreamer/manifest.json +0 -10
- homeassistant/components/gstreamer/media_player.py +0 -195
- homeassistant/components/hive/alarm_control_panel.py +0 -77
- homeassistant/components/hunterdouglas_powerview/shade_data.py +0 -80
- homeassistant/components/keyboard/__init__.py +0 -87
- homeassistant/components/keyboard/icons.json +0 -22
- homeassistant/components/keyboard/manifest.json +0 -10
- homeassistant/components/keyboard/services.yaml +0 -6
- homeassistant/components/keyboard/strings.json +0 -28
- homeassistant/components/keyboard/translations/ca.json +0 -28
- homeassistant/components/keyboard/translations/cs.json +0 -28
- homeassistant/components/keyboard/translations/de.json +0 -28
- homeassistant/components/keyboard/translations/el.json +0 -28
- homeassistant/components/keyboard/translations/en-GB.json +0 -28
- homeassistant/components/keyboard/translations/en.json +0 -28
- homeassistant/components/keyboard/translations/es.json +0 -28
- homeassistant/components/keyboard/translations/et.json +0 -28
- homeassistant/components/keyboard/translations/fi.json +0 -28
- homeassistant/components/keyboard/translations/fr.json +0 -23
- homeassistant/components/keyboard/translations/ga.json +0 -28
- homeassistant/components/keyboard/translations/he.json +0 -28
- homeassistant/components/keyboard/translations/hu.json +0 -28
- homeassistant/components/keyboard/translations/it.json +0 -28
- homeassistant/components/keyboard/translations/ja.json +0 -28
- homeassistant/components/keyboard/translations/ko.json +0 -28
- homeassistant/components/keyboard/translations/lt.json +0 -28
- homeassistant/components/keyboard/translations/nl.json +0 -28
- homeassistant/components/keyboard/translations/pt-BR.json +0 -28
- homeassistant/components/keyboard/translations/pt.json +0 -28
- homeassistant/components/keyboard/translations/ru.json +0 -28
- homeassistant/components/keyboard/translations/sk.json +0 -28
- homeassistant/components/keyboard/translations/sr-Latn.json +0 -28
- homeassistant/components/keyboard/translations/sv.json +0 -28
- homeassistant/components/keyboard/translations/tr.json +0 -28
- homeassistant/components/keyboard/translations/zh-Hans.json +0 -28
- homeassistant/components/keyboard/translations/zh-Hant.json +0 -28
- homeassistant/components/lirc/__init__.py +0 -94
- homeassistant/components/lirc/manifest.json +0 -10
- homeassistant/components/pandora/__init__.py +0 -3
- homeassistant/components/pandora/manifest.json +0 -10
- homeassistant/components/pandora/media_player.py +0 -369
- homeassistant/components/rpi_camera/__init__.py +0 -88
- homeassistant/components/rpi_camera/camera.py +0 -156
- homeassistant/components/rpi_camera/const.py +0 -22
- homeassistant/components/rpi_camera/manifest.json +0 -8
- homeassistant/components/sms/__init__.py +0 -126
- homeassistant/components/sms/config_flow.py +0 -87
- homeassistant/components/sms/const.py +0 -35
- homeassistant/components/sms/coordinator.py +0 -59
- homeassistant/components/sms/gateway.py +0 -211
- homeassistant/components/sms/icons.json +0 -12
- homeassistant/components/sms/manifest.json +0 -10
- homeassistant/components/sms/notify.py +0 -85
- homeassistant/components/sms/sensor.py +0 -120
- homeassistant/components/sms/strings.json +0 -46
- homeassistant/components/sms/translations/bg.json +0 -36
- homeassistant/components/sms/translations/ca.json +0 -46
- homeassistant/components/sms/translations/cs.json +0 -46
- homeassistant/components/sms/translations/da.json +0 -12
- homeassistant/components/sms/translations/de.json +0 -46
- homeassistant/components/sms/translations/el.json +0 -46
- homeassistant/components/sms/translations/en-GB.json +0 -46
- homeassistant/components/sms/translations/en.json +0 -46
- homeassistant/components/sms/translations/es.json +0 -46
- homeassistant/components/sms/translations/et.json +0 -46
- homeassistant/components/sms/translations/fi.json +0 -46
- homeassistant/components/sms/translations/fr.json +0 -40
- homeassistant/components/sms/translations/ga.json +0 -46
- homeassistant/components/sms/translations/gl.json +0 -12
- homeassistant/components/sms/translations/he.json +0 -46
- homeassistant/components/sms/translations/hu.json +0 -46
- homeassistant/components/sms/translations/id.json +0 -46
- homeassistant/components/sms/translations/it.json +0 -46
- homeassistant/components/sms/translations/ja.json +0 -46
- homeassistant/components/sms/translations/ko.json +0 -46
- homeassistant/components/sms/translations/lb.json +0 -17
- homeassistant/components/sms/translations/lt.json +0 -46
- homeassistant/components/sms/translations/lv.json +0 -27
- homeassistant/components/sms/translations/nb.json +0 -21
- homeassistant/components/sms/translations/nl.json +0 -46
- homeassistant/components/sms/translations/pl.json +0 -43
- homeassistant/components/sms/translations/pt-BR.json +0 -46
- homeassistant/components/sms/translations/pt.json +0 -46
- homeassistant/components/sms/translations/ro.json +0 -45
- homeassistant/components/sms/translations/ru.json +0 -46
- homeassistant/components/sms/translations/sk.json +0 -46
- homeassistant/components/sms/translations/sl.json +0 -43
- homeassistant/components/sms/translations/sv.json +0 -46
- homeassistant/components/sms/translations/tr.json +0 -46
- homeassistant/components/sms/translations/uk.json +0 -45
- homeassistant/components/sms/translations/vi.json +0 -20
- homeassistant/components/sms/translations/zh-Hans.json +0 -46
- homeassistant/components/sms/translations/zh-Hant.json +0 -46
- homeassistant/components/snips/__init__.py +0 -257
- homeassistant/components/snips/icons.json +0 -16
- homeassistant/components/snips/manifest.json +0 -9
- homeassistant/components/snips/services.yaml +0 -56
- homeassistant/components/snips/strings.json +0 -68
- homeassistant/components/snips/translations/bg.json +0 -21
- homeassistant/components/snips/translations/ca.json +0 -55
- homeassistant/components/snips/translations/cs.json +0 -68
- homeassistant/components/snips/translations/de.json +0 -68
- homeassistant/components/snips/translations/el.json +0 -64
- homeassistant/components/snips/translations/en-GB.json +0 -68
- homeassistant/components/snips/translations/en.json +0 -68
- homeassistant/components/snips/translations/es.json +0 -68
- homeassistant/components/snips/translations/et.json +0 -68
- homeassistant/components/snips/translations/fi.json +0 -67
- homeassistant/components/snips/translations/ga.json +0 -68
- homeassistant/components/snips/translations/gl.json +0 -52
- homeassistant/components/snips/translations/hu.json +0 -68
- homeassistant/components/snips/translations/it.json +0 -67
- homeassistant/components/snips/translations/ja.json +0 -68
- homeassistant/components/snips/translations/ko.json +0 -67
- homeassistant/components/snips/translations/lt.json +0 -68
- homeassistant/components/snips/translations/mk.json +0 -18
- homeassistant/components/snips/translations/nb.json +0 -1
- homeassistant/components/snips/translations/nl.json +0 -20
- homeassistant/components/snips/translations/pl.json +0 -1
- homeassistant/components/snips/translations/pt-BR.json +0 -67
- homeassistant/components/snips/translations/pt.json +0 -68
- homeassistant/components/snips/translations/ru.json +0 -68
- homeassistant/components/snips/translations/sk.json +0 -68
- homeassistant/components/snips/translations/sv.json +0 -68
- homeassistant/components/snips/translations/tr.json +0 -68
- homeassistant/components/snips/translations/zh-Hans.json +0 -68
- homeassistant/components/snips/translations/zh-Hant.json +0 -68
- homeassistant/components/tensorflow/__init__.py +0 -4
- homeassistant/components/tensorflow/image_processing.py +0 -438
- homeassistant/components/tensorflow/manifest.json +0 -16
- homeassistant/components/yale_home/__init__.py +0 -1
- homeassistant/components/yale_home/manifest.json +0 -6
- /homeassistant/components/{snips/translations/he.json → airobot/translations/it.json} +0 -0
- /homeassistant/components/{snips/translations/id.json → energyid/translations/nl.json} +0 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/WHEEL +0 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.11.2.dist-info → homeassistant-2025.12.0.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ import asyncio
|
|
|
7
7
|
import collections.abc
|
|
8
8
|
from collections.abc import Callable, Generator, Iterable
|
|
9
9
|
from copy import deepcopy
|
|
10
|
-
from datetime import
|
|
10
|
+
from datetime import datetime, timedelta
|
|
11
11
|
from functools import cache, lru_cache, partial, wraps
|
|
12
12
|
import json
|
|
13
13
|
import logging
|
|
@@ -55,19 +55,11 @@ from homeassistant.core import (
|
|
|
55
55
|
valid_entity_id,
|
|
56
56
|
)
|
|
57
57
|
from homeassistant.exceptions import TemplateError
|
|
58
|
-
from homeassistant.helpers import
|
|
59
|
-
area_registry as ar,
|
|
60
|
-
device_registry as dr,
|
|
61
|
-
entity_registry as er,
|
|
62
|
-
floor_registry as fr,
|
|
63
|
-
issue_registry as ir,
|
|
64
|
-
label_registry as lr,
|
|
65
|
-
location as loc_helper,
|
|
66
|
-
)
|
|
58
|
+
from homeassistant.helpers import entity_registry as er, location as loc_helper
|
|
67
59
|
from homeassistant.helpers.singleton import singleton
|
|
68
60
|
from homeassistant.helpers.translation import async_translate_state
|
|
69
61
|
from homeassistant.helpers.typing import TemplateVarsType
|
|
70
|
-
from homeassistant.util import convert,
|
|
62
|
+
from homeassistant.util import convert, location as location_util
|
|
71
63
|
from homeassistant.util.async_ import run_callback_threadsafe
|
|
72
64
|
from homeassistant.util.hass_dict import HassKey
|
|
73
65
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS, json_loads
|
|
@@ -1168,13 +1160,6 @@ def expand(hass: HomeAssistant, *args: Any) -> Iterable[State]:
|
|
|
1168
1160
|
return list(found.values())
|
|
1169
1161
|
|
|
1170
1162
|
|
|
1171
|
-
def device_entities(hass: HomeAssistant, _device_id: str) -> Iterable[str]:
|
|
1172
|
-
"""Get entity ids for entities tied to a device."""
|
|
1173
|
-
entity_reg = er.async_get(hass)
|
|
1174
|
-
entries = er.async_entries_for_device(entity_reg, _device_id)
|
|
1175
|
-
return [entry.entity_id for entry in entries]
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
1163
|
def integration_entities(hass: HomeAssistant, entry_name: str) -> Iterable[str]:
|
|
1179
1164
|
"""Get entity ids for entities tied to an integration/domain.
|
|
1180
1165
|
|
|
@@ -1216,65 +1201,6 @@ def config_entry_id(hass: HomeAssistant, entity_id: str) -> str | None:
|
|
|
1216
1201
|
return None
|
|
1217
1202
|
|
|
1218
1203
|
|
|
1219
|
-
def device_id(hass: HomeAssistant, entity_id_or_device_name: str) -> str | None:
|
|
1220
|
-
"""Get a device ID from an entity ID or device name."""
|
|
1221
|
-
entity_reg = er.async_get(hass)
|
|
1222
|
-
entity = entity_reg.async_get(entity_id_or_device_name)
|
|
1223
|
-
if entity is not None:
|
|
1224
|
-
return entity.device_id
|
|
1225
|
-
|
|
1226
|
-
dev_reg = dr.async_get(hass)
|
|
1227
|
-
return next(
|
|
1228
|
-
(
|
|
1229
|
-
device_id
|
|
1230
|
-
for device_id, device in dev_reg.devices.items()
|
|
1231
|
-
if (name := device.name_by_user or device.name)
|
|
1232
|
-
and (str(entity_id_or_device_name) == name)
|
|
1233
|
-
),
|
|
1234
|
-
None,
|
|
1235
|
-
)
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
def device_name(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1239
|
-
"""Get the device name from an device id, or entity id."""
|
|
1240
|
-
device_reg = dr.async_get(hass)
|
|
1241
|
-
if device := device_reg.async_get(lookup_value):
|
|
1242
|
-
return device.name_by_user or device.name
|
|
1243
|
-
|
|
1244
|
-
ent_reg = er.async_get(hass)
|
|
1245
|
-
# Import here, not at top-level to avoid circular import
|
|
1246
|
-
from homeassistant.helpers import config_validation as cv # noqa: PLC0415
|
|
1247
|
-
|
|
1248
|
-
try:
|
|
1249
|
-
cv.entity_id(lookup_value)
|
|
1250
|
-
except vol.Invalid:
|
|
1251
|
-
pass
|
|
1252
|
-
else:
|
|
1253
|
-
if entity := ent_reg.async_get(lookup_value):
|
|
1254
|
-
if entity.device_id and (device := device_reg.async_get(entity.device_id)):
|
|
1255
|
-
return device.name_by_user or device.name
|
|
1256
|
-
|
|
1257
|
-
return None
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
def device_attr(hass: HomeAssistant, device_or_entity_id: str, attr_name: str) -> Any:
|
|
1261
|
-
"""Get the device specific attribute."""
|
|
1262
|
-
device_reg = dr.async_get(hass)
|
|
1263
|
-
if not isinstance(device_or_entity_id, str):
|
|
1264
|
-
raise TemplateError("Must provide a device or entity ID")
|
|
1265
|
-
device = None
|
|
1266
|
-
if (
|
|
1267
|
-
"." in device_or_entity_id
|
|
1268
|
-
and (_device_id := device_id(hass, device_or_entity_id)) is not None
|
|
1269
|
-
):
|
|
1270
|
-
device = device_reg.async_get(_device_id)
|
|
1271
|
-
elif "." not in device_or_entity_id:
|
|
1272
|
-
device = device_reg.async_get(device_or_entity_id)
|
|
1273
|
-
if device is None or not hasattr(device, attr_name):
|
|
1274
|
-
return None
|
|
1275
|
-
return getattr(device, attr_name)
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
1204
|
def config_entry_attr(
|
|
1279
1205
|
hass: HomeAssistant, config_entry_id_: str, attr_name: str
|
|
1280
1206
|
) -> Any:
|
|
@@ -1293,317 +1219,6 @@ def config_entry_attr(
|
|
|
1293
1219
|
return getattr(config_entry, attr_name)
|
|
1294
1220
|
|
|
1295
1221
|
|
|
1296
|
-
def is_device_attr(
|
|
1297
|
-
hass: HomeAssistant, device_or_entity_id: str, attr_name: str, attr_value: Any
|
|
1298
|
-
) -> bool:
|
|
1299
|
-
"""Test if a device's attribute is a specific value."""
|
|
1300
|
-
return bool(device_attr(hass, device_or_entity_id, attr_name) == attr_value)
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
def issues(hass: HomeAssistant) -> dict[tuple[str, str], dict[str, Any]]:
|
|
1304
|
-
"""Return all open issues."""
|
|
1305
|
-
current_issues = ir.async_get(hass).issues
|
|
1306
|
-
# Use JSON for safe representation
|
|
1307
|
-
return {k: v.to_json() for (k, v) in current_issues.items()}
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
def issue(hass: HomeAssistant, domain: str, issue_id: str) -> dict[str, Any] | None:
|
|
1311
|
-
"""Get issue by domain and issue_id."""
|
|
1312
|
-
result = ir.async_get(hass).async_get_issue(domain, issue_id)
|
|
1313
|
-
if result:
|
|
1314
|
-
return result.to_json()
|
|
1315
|
-
return None
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
def floors(hass: HomeAssistant) -> Iterable[str | None]:
|
|
1319
|
-
"""Return all floors."""
|
|
1320
|
-
floor_registry = fr.async_get(hass)
|
|
1321
|
-
return [floor.floor_id for floor in floor_registry.async_list_floors()]
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
def floor_id(hass: HomeAssistant, lookup_value: Any) -> str | None:
|
|
1325
|
-
"""Get the floor ID from a floor or area name, alias, device id, or entity id."""
|
|
1326
|
-
floor_registry = fr.async_get(hass)
|
|
1327
|
-
lookup_str = str(lookup_value)
|
|
1328
|
-
if floor := floor_registry.async_get_floor_by_name(lookup_str):
|
|
1329
|
-
return floor.floor_id
|
|
1330
|
-
floors_list = floor_registry.async_get_floors_by_alias(lookup_str)
|
|
1331
|
-
if floors_list:
|
|
1332
|
-
return floors_list[0].floor_id
|
|
1333
|
-
|
|
1334
|
-
if aid := area_id(hass, lookup_value):
|
|
1335
|
-
area_reg = ar.async_get(hass)
|
|
1336
|
-
if area := area_reg.async_get_area(aid):
|
|
1337
|
-
return area.floor_id
|
|
1338
|
-
|
|
1339
|
-
return None
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
def floor_name(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1343
|
-
"""Get the floor name from a floor id."""
|
|
1344
|
-
floor_registry = fr.async_get(hass)
|
|
1345
|
-
if floor := floor_registry.async_get_floor(lookup_value):
|
|
1346
|
-
return floor.name
|
|
1347
|
-
|
|
1348
|
-
if aid := area_id(hass, lookup_value):
|
|
1349
|
-
area_reg = ar.async_get(hass)
|
|
1350
|
-
if (
|
|
1351
|
-
(area := area_reg.async_get_area(aid))
|
|
1352
|
-
and area.floor_id
|
|
1353
|
-
and (floor := floor_registry.async_get_floor(area.floor_id))
|
|
1354
|
-
):
|
|
1355
|
-
return floor.name
|
|
1356
|
-
|
|
1357
|
-
return None
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
def floor_areas(hass: HomeAssistant, floor_id_or_name: str) -> Iterable[str]:
|
|
1361
|
-
"""Return area IDs for a given floor ID or name."""
|
|
1362
|
-
_floor_id: str | None
|
|
1363
|
-
# If floor_name returns a value, we know the input was an ID, otherwise we
|
|
1364
|
-
# assume it's a name, and if it's neither, we return early
|
|
1365
|
-
if floor_name(hass, floor_id_or_name) is not None:
|
|
1366
|
-
_floor_id = floor_id_or_name
|
|
1367
|
-
else:
|
|
1368
|
-
_floor_id = floor_id(hass, floor_id_or_name)
|
|
1369
|
-
if _floor_id is None:
|
|
1370
|
-
return []
|
|
1371
|
-
|
|
1372
|
-
area_reg = ar.async_get(hass)
|
|
1373
|
-
entries = ar.async_entries_for_floor(area_reg, _floor_id)
|
|
1374
|
-
return [entry.id for entry in entries if entry.id]
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
def floor_entities(hass: HomeAssistant, floor_id_or_name: str) -> Iterable[str]:
|
|
1378
|
-
"""Return entity_ids for a given floor ID or name."""
|
|
1379
|
-
return [
|
|
1380
|
-
entity_id
|
|
1381
|
-
for area_id in floor_areas(hass, floor_id_or_name)
|
|
1382
|
-
for entity_id in area_entities(hass, area_id)
|
|
1383
|
-
]
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
def areas(hass: HomeAssistant) -> Iterable[str | None]:
|
|
1387
|
-
"""Return all areas."""
|
|
1388
|
-
return list(ar.async_get(hass).areas)
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
def area_id(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1392
|
-
"""Get the area ID from an area name, alias, device id, or entity id."""
|
|
1393
|
-
area_reg = ar.async_get(hass)
|
|
1394
|
-
lookup_str = str(lookup_value)
|
|
1395
|
-
if area := area_reg.async_get_area_by_name(lookup_str):
|
|
1396
|
-
return area.id
|
|
1397
|
-
areas_list = area_reg.async_get_areas_by_alias(lookup_str)
|
|
1398
|
-
if areas_list:
|
|
1399
|
-
return areas_list[0].id
|
|
1400
|
-
|
|
1401
|
-
ent_reg = er.async_get(hass)
|
|
1402
|
-
dev_reg = dr.async_get(hass)
|
|
1403
|
-
# Import here, not at top-level to avoid circular import
|
|
1404
|
-
from homeassistant.helpers import config_validation as cv # noqa: PLC0415
|
|
1405
|
-
|
|
1406
|
-
try:
|
|
1407
|
-
cv.entity_id(lookup_value)
|
|
1408
|
-
except vol.Invalid:
|
|
1409
|
-
pass
|
|
1410
|
-
else:
|
|
1411
|
-
if entity := ent_reg.async_get(lookup_value):
|
|
1412
|
-
# If entity has an area ID, return that
|
|
1413
|
-
if entity.area_id:
|
|
1414
|
-
return entity.area_id
|
|
1415
|
-
# If entity has a device ID, return the area ID for the device
|
|
1416
|
-
if entity.device_id and (device := dev_reg.async_get(entity.device_id)):
|
|
1417
|
-
return device.area_id
|
|
1418
|
-
|
|
1419
|
-
# Check if this could be a device ID
|
|
1420
|
-
if device := dev_reg.async_get(lookup_value):
|
|
1421
|
-
return device.area_id
|
|
1422
|
-
|
|
1423
|
-
return None
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
def _get_area_name(area_reg: ar.AreaRegistry, valid_area_id: str) -> str:
|
|
1427
|
-
"""Get area name from valid area ID."""
|
|
1428
|
-
area = area_reg.async_get_area(valid_area_id)
|
|
1429
|
-
assert area
|
|
1430
|
-
return area.name
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
def area_name(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1434
|
-
"""Get the area name from an area id, device id, or entity id."""
|
|
1435
|
-
area_reg = ar.async_get(hass)
|
|
1436
|
-
if area := area_reg.async_get_area(lookup_value):
|
|
1437
|
-
return area.name
|
|
1438
|
-
|
|
1439
|
-
dev_reg = dr.async_get(hass)
|
|
1440
|
-
ent_reg = er.async_get(hass)
|
|
1441
|
-
# Import here, not at top-level to avoid circular import
|
|
1442
|
-
from homeassistant.helpers import config_validation as cv # noqa: PLC0415
|
|
1443
|
-
|
|
1444
|
-
try:
|
|
1445
|
-
cv.entity_id(lookup_value)
|
|
1446
|
-
except vol.Invalid:
|
|
1447
|
-
pass
|
|
1448
|
-
else:
|
|
1449
|
-
if entity := ent_reg.async_get(lookup_value):
|
|
1450
|
-
# If entity has an area ID, get the area name for that
|
|
1451
|
-
if entity.area_id:
|
|
1452
|
-
return _get_area_name(area_reg, entity.area_id)
|
|
1453
|
-
# If entity has a device ID and the device exists with an area ID, get the
|
|
1454
|
-
# area name for that
|
|
1455
|
-
if (
|
|
1456
|
-
entity.device_id
|
|
1457
|
-
and (device := dev_reg.async_get(entity.device_id))
|
|
1458
|
-
and device.area_id
|
|
1459
|
-
):
|
|
1460
|
-
return _get_area_name(area_reg, device.area_id)
|
|
1461
|
-
|
|
1462
|
-
if (device := dev_reg.async_get(lookup_value)) and device.area_id:
|
|
1463
|
-
return _get_area_name(area_reg, device.area_id)
|
|
1464
|
-
|
|
1465
|
-
return None
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
def area_entities(hass: HomeAssistant, area_id_or_name: str) -> Iterable[str]:
|
|
1469
|
-
"""Return entities for a given area ID or name."""
|
|
1470
|
-
_area_id: str | None
|
|
1471
|
-
# if area_name returns a value, we know the input was an ID, otherwise we
|
|
1472
|
-
# assume it's a name, and if it's neither, we return early
|
|
1473
|
-
if area_name(hass, area_id_or_name) is None:
|
|
1474
|
-
_area_id = area_id(hass, area_id_or_name)
|
|
1475
|
-
else:
|
|
1476
|
-
_area_id = area_id_or_name
|
|
1477
|
-
if _area_id is None:
|
|
1478
|
-
return []
|
|
1479
|
-
ent_reg = er.async_get(hass)
|
|
1480
|
-
entity_ids = [
|
|
1481
|
-
entry.entity_id for entry in er.async_entries_for_area(ent_reg, _area_id)
|
|
1482
|
-
]
|
|
1483
|
-
dev_reg = dr.async_get(hass)
|
|
1484
|
-
# We also need to add entities tied to a device in the area that don't themselves
|
|
1485
|
-
# have an area specified since they inherit the area from the device.
|
|
1486
|
-
entity_ids.extend(
|
|
1487
|
-
[
|
|
1488
|
-
entity.entity_id
|
|
1489
|
-
for device in dr.async_entries_for_area(dev_reg, _area_id)
|
|
1490
|
-
for entity in er.async_entries_for_device(ent_reg, device.id)
|
|
1491
|
-
if entity.area_id is None
|
|
1492
|
-
]
|
|
1493
|
-
)
|
|
1494
|
-
return entity_ids
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
def area_devices(hass: HomeAssistant, area_id_or_name: str) -> Iterable[str]:
|
|
1498
|
-
"""Return device IDs for a given area ID or name."""
|
|
1499
|
-
_area_id: str | None
|
|
1500
|
-
# if area_name returns a value, we know the input was an ID, otherwise we
|
|
1501
|
-
# assume it's a name, and if it's neither, we return early
|
|
1502
|
-
if area_name(hass, area_id_or_name) is not None:
|
|
1503
|
-
_area_id = area_id_or_name
|
|
1504
|
-
else:
|
|
1505
|
-
_area_id = area_id(hass, area_id_or_name)
|
|
1506
|
-
if _area_id is None:
|
|
1507
|
-
return []
|
|
1508
|
-
dev_reg = dr.async_get(hass)
|
|
1509
|
-
entries = dr.async_entries_for_area(dev_reg, _area_id)
|
|
1510
|
-
return [entry.id for entry in entries]
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
def labels(hass: HomeAssistant, lookup_value: Any = None) -> Iterable[str | None]:
|
|
1514
|
-
"""Return all labels, or those from a area ID, device ID, or entity ID."""
|
|
1515
|
-
label_reg = lr.async_get(hass)
|
|
1516
|
-
if lookup_value is None:
|
|
1517
|
-
return list(label_reg.labels)
|
|
1518
|
-
|
|
1519
|
-
ent_reg = er.async_get(hass)
|
|
1520
|
-
|
|
1521
|
-
# Import here, not at top-level to avoid circular import
|
|
1522
|
-
from homeassistant.helpers import config_validation as cv # noqa: PLC0415
|
|
1523
|
-
|
|
1524
|
-
lookup_value = str(lookup_value)
|
|
1525
|
-
|
|
1526
|
-
try:
|
|
1527
|
-
cv.entity_id(lookup_value)
|
|
1528
|
-
except vol.Invalid:
|
|
1529
|
-
pass
|
|
1530
|
-
else:
|
|
1531
|
-
if entity := ent_reg.async_get(lookup_value):
|
|
1532
|
-
return list(entity.labels)
|
|
1533
|
-
|
|
1534
|
-
# Check if this could be a device ID
|
|
1535
|
-
dev_reg = dr.async_get(hass)
|
|
1536
|
-
if device := dev_reg.async_get(lookup_value):
|
|
1537
|
-
return list(device.labels)
|
|
1538
|
-
|
|
1539
|
-
# Check if this could be a area ID
|
|
1540
|
-
area_reg = ar.async_get(hass)
|
|
1541
|
-
if area := area_reg.async_get_area(lookup_value):
|
|
1542
|
-
return list(area.labels)
|
|
1543
|
-
|
|
1544
|
-
return []
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
def label_id(hass: HomeAssistant, lookup_value: Any) -> str | None:
|
|
1548
|
-
"""Get the label ID from a label name."""
|
|
1549
|
-
label_reg = lr.async_get(hass)
|
|
1550
|
-
if label := label_reg.async_get_label_by_name(str(lookup_value)):
|
|
1551
|
-
return label.label_id
|
|
1552
|
-
return None
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
def label_name(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1556
|
-
"""Get the label name from a label ID."""
|
|
1557
|
-
label_reg = lr.async_get(hass)
|
|
1558
|
-
if label := label_reg.async_get_label(lookup_value):
|
|
1559
|
-
return label.name
|
|
1560
|
-
return None
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
def label_description(hass: HomeAssistant, lookup_value: str) -> str | None:
|
|
1564
|
-
"""Get the label description from a label ID."""
|
|
1565
|
-
label_reg = lr.async_get(hass)
|
|
1566
|
-
if label := label_reg.async_get_label(lookup_value):
|
|
1567
|
-
return label.description
|
|
1568
|
-
return None
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
def _label_id_or_name(hass: HomeAssistant, label_id_or_name: str) -> str | None:
|
|
1572
|
-
"""Get the label ID from a label name or ID."""
|
|
1573
|
-
# If label_name returns a value, we know the input was an ID, otherwise we
|
|
1574
|
-
# assume it's a name, and if it's neither, we return early.
|
|
1575
|
-
if label_name(hass, label_id_or_name) is not None:
|
|
1576
|
-
return label_id_or_name
|
|
1577
|
-
return label_id(hass, label_id_or_name)
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
def label_areas(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]:
|
|
1581
|
-
"""Return areas for a given label ID or name."""
|
|
1582
|
-
if (_label_id := _label_id_or_name(hass, label_id_or_name)) is None:
|
|
1583
|
-
return []
|
|
1584
|
-
area_reg = ar.async_get(hass)
|
|
1585
|
-
entries = ar.async_entries_for_label(area_reg, _label_id)
|
|
1586
|
-
return [entry.id for entry in entries]
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
def label_devices(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]:
|
|
1590
|
-
"""Return device IDs for a given label ID or name."""
|
|
1591
|
-
if (_label_id := _label_id_or_name(hass, label_id_or_name)) is None:
|
|
1592
|
-
return []
|
|
1593
|
-
dev_reg = dr.async_get(hass)
|
|
1594
|
-
entries = dr.async_entries_for_label(dev_reg, _label_id)
|
|
1595
|
-
return [entry.id for entry in entries]
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
def label_entities(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]:
|
|
1599
|
-
"""Return entities for a given label ID or name."""
|
|
1600
|
-
if (_label_id := _label_id_or_name(hass, label_id_or_name)) is None:
|
|
1601
|
-
return []
|
|
1602
|
-
ent_reg = er.async_get(hass)
|
|
1603
|
-
entries = er.async_entries_for_label(ent_reg, _label_id)
|
|
1604
|
-
return [entry.entity_id for entry in entries]
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
1222
|
def closest(hass: HomeAssistant, *args: Any) -> State | None:
|
|
1608
1223
|
"""Find closest entity.
|
|
1609
1224
|
|
|
@@ -1779,22 +1394,6 @@ def has_value(hass: HomeAssistant, entity_id: str) -> bool:
|
|
|
1779
1394
|
)
|
|
1780
1395
|
|
|
1781
1396
|
|
|
1782
|
-
def now(hass: HomeAssistant) -> datetime:
|
|
1783
|
-
"""Record fetching now."""
|
|
1784
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
1785
|
-
render_info.has_time = True
|
|
1786
|
-
|
|
1787
|
-
return dt_util.now()
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
def utcnow(hass: HomeAssistant) -> datetime:
|
|
1791
|
-
"""Record fetching utcnow."""
|
|
1792
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
1793
|
-
render_info.has_time = True
|
|
1794
|
-
|
|
1795
|
-
return dt_util.utcnow()
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
1397
|
def forgiving_round(value, precision=0, method="common", default=_SENTINEL):
|
|
1799
1398
|
"""Filter to round a value."""
|
|
1800
1399
|
try:
|
|
@@ -1872,85 +1471,6 @@ def version(value):
|
|
|
1872
1471
|
return AwesomeVersion(value)
|
|
1873
1472
|
|
|
1874
1473
|
|
|
1875
|
-
def timestamp_custom(value, date_format=DATE_STR_FORMAT, local=True, default=_SENTINEL):
|
|
1876
|
-
"""Filter to convert given timestamp to format."""
|
|
1877
|
-
try:
|
|
1878
|
-
result = dt_util.utc_from_timestamp(value)
|
|
1879
|
-
|
|
1880
|
-
if local:
|
|
1881
|
-
result = dt_util.as_local(result)
|
|
1882
|
-
|
|
1883
|
-
return result.strftime(date_format)
|
|
1884
|
-
except (ValueError, TypeError):
|
|
1885
|
-
# If timestamp can't be converted
|
|
1886
|
-
if default is _SENTINEL:
|
|
1887
|
-
raise_no_default("timestamp_custom", value)
|
|
1888
|
-
return default
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
def timestamp_local(value, default=_SENTINEL):
|
|
1892
|
-
"""Filter to convert given timestamp to local date/time."""
|
|
1893
|
-
try:
|
|
1894
|
-
return dt_util.as_local(dt_util.utc_from_timestamp(value)).isoformat()
|
|
1895
|
-
except (ValueError, TypeError):
|
|
1896
|
-
# If timestamp can't be converted
|
|
1897
|
-
if default is _SENTINEL:
|
|
1898
|
-
raise_no_default("timestamp_local", value)
|
|
1899
|
-
return default
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
def timestamp_utc(value, default=_SENTINEL):
|
|
1903
|
-
"""Filter to convert given timestamp to UTC date/time."""
|
|
1904
|
-
try:
|
|
1905
|
-
return dt_util.utc_from_timestamp(value).isoformat()
|
|
1906
|
-
except (ValueError, TypeError):
|
|
1907
|
-
# If timestamp can't be converted
|
|
1908
|
-
if default is _SENTINEL:
|
|
1909
|
-
raise_no_default("timestamp_utc", value)
|
|
1910
|
-
return default
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
def forgiving_as_timestamp(value, default=_SENTINEL):
|
|
1914
|
-
"""Filter and function which tries to convert value to timestamp."""
|
|
1915
|
-
try:
|
|
1916
|
-
return dt_util.as_timestamp(value)
|
|
1917
|
-
except (ValueError, TypeError):
|
|
1918
|
-
if default is _SENTINEL:
|
|
1919
|
-
raise_no_default("as_timestamp", value)
|
|
1920
|
-
return default
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
def as_datetime(value: Any, default: Any = _SENTINEL) -> Any:
|
|
1924
|
-
"""Filter and to convert a time string or UNIX timestamp to datetime object."""
|
|
1925
|
-
# Return datetime.datetime object without changes
|
|
1926
|
-
if type(value) is datetime:
|
|
1927
|
-
return value
|
|
1928
|
-
# Add midnight to datetime.date object
|
|
1929
|
-
if type(value) is date:
|
|
1930
|
-
return datetime.combine(value, time(0, 0, 0))
|
|
1931
|
-
try:
|
|
1932
|
-
# Check for a valid UNIX timestamp string, int or float
|
|
1933
|
-
timestamp = float(value)
|
|
1934
|
-
return dt_util.utc_from_timestamp(timestamp)
|
|
1935
|
-
except (ValueError, TypeError):
|
|
1936
|
-
# Try to parse datetime string to datetime object
|
|
1937
|
-
try:
|
|
1938
|
-
return dt_util.parse_datetime(value, raise_on_error=True)
|
|
1939
|
-
except (ValueError, TypeError):
|
|
1940
|
-
if default is _SENTINEL:
|
|
1941
|
-
# Return None on string input
|
|
1942
|
-
# to ensure backwards compatibility with HA Core 2024.1 and before.
|
|
1943
|
-
if isinstance(value, str):
|
|
1944
|
-
return None
|
|
1945
|
-
raise_no_default("as_datetime", value)
|
|
1946
|
-
return default
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
def as_timedelta(value: str) -> timedelta | None:
|
|
1950
|
-
"""Parse a ISO8601 duration like 'PT10M' to a timedelta."""
|
|
1951
|
-
return dt_util.parse_duration(value)
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
1474
|
def merge_response(value: ServiceResponse) -> list[Any]:
|
|
1955
1475
|
"""Merge action responses into single list.
|
|
1956
1476
|
|
|
@@ -2008,16 +1528,6 @@ def merge_response(value: ServiceResponse) -> list[Any]:
|
|
|
2008
1528
|
return response_items
|
|
2009
1529
|
|
|
2010
1530
|
|
|
2011
|
-
def strptime(string, fmt, default=_SENTINEL):
|
|
2012
|
-
"""Parse a time string to datetime."""
|
|
2013
|
-
try:
|
|
2014
|
-
return datetime.strptime(string, fmt)
|
|
2015
|
-
except (ValueError, AttributeError, TypeError):
|
|
2016
|
-
if default is _SENTINEL:
|
|
2017
|
-
raise_no_default("strptime", string)
|
|
2018
|
-
return default
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
1531
|
def fail_when_undefined(value):
|
|
2022
1532
|
"""Filter to force a failure when the value is undefined."""
|
|
2023
1533
|
if isinstance(value, jinja2.Undefined):
|
|
@@ -2072,11 +1582,6 @@ def is_number(value):
|
|
|
2072
1582
|
return True
|
|
2073
1583
|
|
|
2074
1584
|
|
|
2075
|
-
def _is_datetime(value: Any) -> bool:
|
|
2076
|
-
"""Return whether a value is a datetime."""
|
|
2077
|
-
return isinstance(value, datetime)
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
1585
|
def _is_string_like(value: Any) -> bool:
|
|
2081
1586
|
"""Return whether a value is a string or string like object."""
|
|
2082
1587
|
return isinstance(value, (str, bytes, bytearray))
|
|
@@ -2181,94 +1686,6 @@ def random_every_time(context, values):
|
|
|
2181
1686
|
return random.choice(values)
|
|
2182
1687
|
|
|
2183
1688
|
|
|
2184
|
-
def today_at(hass: HomeAssistant, time_str: str = "") -> datetime:
|
|
2185
|
-
"""Record fetching now where the time has been replaced with value."""
|
|
2186
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
2187
|
-
render_info.has_time = True
|
|
2188
|
-
|
|
2189
|
-
today = dt_util.start_of_local_day()
|
|
2190
|
-
if not time_str:
|
|
2191
|
-
return today
|
|
2192
|
-
|
|
2193
|
-
if (time_today := dt_util.parse_time(time_str)) is None:
|
|
2194
|
-
raise ValueError(
|
|
2195
|
-
f"could not convert {type(time_str).__name__} to datetime: '{time_str}'"
|
|
2196
|
-
)
|
|
2197
|
-
|
|
2198
|
-
return datetime.combine(today, time_today, today.tzinfo)
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
def relative_time(hass: HomeAssistant, value: Any) -> Any:
|
|
2202
|
-
"""Take a datetime and return its "age" as a string.
|
|
2203
|
-
|
|
2204
|
-
The age can be in second, minute, hour, day, month or year. Only the
|
|
2205
|
-
biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will
|
|
2206
|
-
be returned.
|
|
2207
|
-
If the input datetime is in the future,
|
|
2208
|
-
the input datetime will be returned.
|
|
2209
|
-
|
|
2210
|
-
If the input are not a datetime object the input will be returned unmodified.
|
|
2211
|
-
|
|
2212
|
-
Note: This template function is deprecated in favor of `time_until`, but is still
|
|
2213
|
-
supported so as not to break old templates.
|
|
2214
|
-
"""
|
|
2215
|
-
|
|
2216
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
2217
|
-
render_info.has_time = True
|
|
2218
|
-
|
|
2219
|
-
if not isinstance(value, datetime):
|
|
2220
|
-
return value
|
|
2221
|
-
if not value.tzinfo:
|
|
2222
|
-
value = dt_util.as_local(value)
|
|
2223
|
-
if dt_util.now() < value:
|
|
2224
|
-
return value
|
|
2225
|
-
return dt_util.get_age(value)
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
def time_since(hass: HomeAssistant, value: Any | datetime, precision: int = 1) -> Any:
|
|
2229
|
-
"""Take a datetime and return its "age" as a string.
|
|
2230
|
-
|
|
2231
|
-
The age can be in seconds, minutes, hours, days, months and year.
|
|
2232
|
-
|
|
2233
|
-
precision is the number of units to return, with the last unit rounded.
|
|
2234
|
-
|
|
2235
|
-
If the value not a datetime object the input will be returned unmodified.
|
|
2236
|
-
"""
|
|
2237
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
2238
|
-
render_info.has_time = True
|
|
2239
|
-
|
|
2240
|
-
if not isinstance(value, datetime):
|
|
2241
|
-
return value
|
|
2242
|
-
if not value.tzinfo:
|
|
2243
|
-
value = dt_util.as_local(value)
|
|
2244
|
-
if dt_util.now() < value:
|
|
2245
|
-
return value
|
|
2246
|
-
|
|
2247
|
-
return dt_util.get_age(value, precision)
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
def time_until(hass: HomeAssistant, value: Any | datetime, precision: int = 1) -> Any:
|
|
2251
|
-
"""Take a datetime and return the amount of time until that time as a string.
|
|
2252
|
-
|
|
2253
|
-
The time until can be in seconds, minutes, hours, days, months and years.
|
|
2254
|
-
|
|
2255
|
-
precision is the number of units to return, with the last unit rounded.
|
|
2256
|
-
|
|
2257
|
-
If the value not a datetime object the input will be returned unmodified.
|
|
2258
|
-
"""
|
|
2259
|
-
if (render_info := render_info_cv.get()) is not None:
|
|
2260
|
-
render_info.has_time = True
|
|
2261
|
-
|
|
2262
|
-
if not isinstance(value, datetime):
|
|
2263
|
-
return value
|
|
2264
|
-
if not value.tzinfo:
|
|
2265
|
-
value = dt_util.as_local(value)
|
|
2266
|
-
if dt_util.now() > value:
|
|
2267
|
-
return value
|
|
2268
|
-
|
|
2269
|
-
return dt_util.get_time_remaining(value, precision)
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
1689
|
def iif(
|
|
2273
1690
|
value: Any, if_true: Any = True, if_false: Any = False, if_none: Any = _SENTINEL
|
|
2274
1691
|
) -> Any:
|
|
@@ -2445,21 +1862,25 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2445
1862
|
] = weakref.WeakValueDictionary()
|
|
2446
1863
|
self.add_extension("jinja2.ext.loopcontrols")
|
|
2447
1864
|
self.add_extension("jinja2.ext.do")
|
|
1865
|
+
self.add_extension("homeassistant.helpers.template.extensions.AreaExtension")
|
|
2448
1866
|
self.add_extension("homeassistant.helpers.template.extensions.Base64Extension")
|
|
2449
1867
|
self.add_extension(
|
|
2450
1868
|
"homeassistant.helpers.template.extensions.CollectionExtension"
|
|
2451
1869
|
)
|
|
2452
1870
|
self.add_extension("homeassistant.helpers.template.extensions.CryptoExtension")
|
|
1871
|
+
self.add_extension(
|
|
1872
|
+
"homeassistant.helpers.template.extensions.DateTimeExtension"
|
|
1873
|
+
)
|
|
1874
|
+
self.add_extension("homeassistant.helpers.template.extensions.DeviceExtension")
|
|
1875
|
+
self.add_extension("homeassistant.helpers.template.extensions.FloorExtension")
|
|
1876
|
+
self.add_extension("homeassistant.helpers.template.extensions.IssuesExtension")
|
|
1877
|
+
self.add_extension("homeassistant.helpers.template.extensions.LabelExtension")
|
|
2453
1878
|
self.add_extension("homeassistant.helpers.template.extensions.MathExtension")
|
|
2454
1879
|
self.add_extension("homeassistant.helpers.template.extensions.RegexExtension")
|
|
2455
1880
|
self.add_extension("homeassistant.helpers.template.extensions.StringExtension")
|
|
2456
1881
|
|
|
2457
1882
|
self.globals["apply"] = apply
|
|
2458
|
-
self.globals["as_datetime"] = as_datetime
|
|
2459
1883
|
self.globals["as_function"] = as_function
|
|
2460
|
-
self.globals["as_local"] = dt_util.as_local
|
|
2461
|
-
self.globals["as_timedelta"] = as_timedelta
|
|
2462
|
-
self.globals["as_timestamp"] = forgiving_as_timestamp
|
|
2463
1884
|
self.globals["bool"] = forgiving_boolean
|
|
2464
1885
|
self.globals["combine"] = combine
|
|
2465
1886
|
self.globals["float"] = forgiving_float
|
|
@@ -2468,8 +1889,6 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2468
1889
|
self.globals["is_number"] = is_number
|
|
2469
1890
|
self.globals["merge_response"] = merge_response
|
|
2470
1891
|
self.globals["pack"] = struct_pack
|
|
2471
|
-
self.globals["strptime"] = strptime
|
|
2472
|
-
self.globals["timedelta"] = timedelta
|
|
2473
1892
|
self.globals["typeof"] = typeof
|
|
2474
1893
|
self.globals["unpack"] = struct_unpack
|
|
2475
1894
|
self.globals["version"] = version
|
|
@@ -2477,11 +1896,7 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2477
1896
|
|
|
2478
1897
|
self.filters["add"] = add
|
|
2479
1898
|
self.filters["apply"] = apply
|
|
2480
|
-
self.filters["as_datetime"] = as_datetime
|
|
2481
1899
|
self.filters["as_function"] = as_function
|
|
2482
|
-
self.filters["as_local"] = dt_util.as_local
|
|
2483
|
-
self.filters["as_timedelta"] = as_timedelta
|
|
2484
|
-
self.filters["as_timestamp"] = forgiving_as_timestamp
|
|
2485
1900
|
self.filters["bool"] = forgiving_boolean
|
|
2486
1901
|
self.filters["combine"] = combine
|
|
2487
1902
|
self.filters["contains"] = contains
|
|
@@ -2497,9 +1912,6 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2497
1912
|
self.filters["pack"] = struct_pack
|
|
2498
1913
|
self.filters["random"] = random_every_time
|
|
2499
1914
|
self.filters["round"] = forgiving_round
|
|
2500
|
-
self.filters["timestamp_custom"] = timestamp_custom
|
|
2501
|
-
self.filters["timestamp_local"] = timestamp_local
|
|
2502
|
-
self.filters["timestamp_utc"] = timestamp_utc
|
|
2503
1915
|
self.filters["to_json"] = to_json
|
|
2504
1916
|
self.filters["typeof"] = typeof
|
|
2505
1917
|
self.filters["unpack"] = struct_unpack
|
|
@@ -2507,7 +1919,6 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2507
1919
|
|
|
2508
1920
|
self.tests["apply"] = apply
|
|
2509
1921
|
self.tests["contains"] = contains
|
|
2510
|
-
self.tests["datetime"] = _is_datetime
|
|
2511
1922
|
self.tests["is_number"] = is_number
|
|
2512
1923
|
self.tests["string_like"] = _is_string_like
|
|
2513
1924
|
|
|
@@ -2536,39 +1947,6 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2536
1947
|
|
|
2537
1948
|
return jinja_context(wrapper)
|
|
2538
1949
|
|
|
2539
|
-
# Area extensions
|
|
2540
|
-
|
|
2541
|
-
self.globals["areas"] = hassfunction(areas)
|
|
2542
|
-
|
|
2543
|
-
self.globals["area_id"] = hassfunction(area_id)
|
|
2544
|
-
self.filters["area_id"] = self.globals["area_id"]
|
|
2545
|
-
|
|
2546
|
-
self.globals["area_name"] = hassfunction(area_name)
|
|
2547
|
-
self.filters["area_name"] = self.globals["area_name"]
|
|
2548
|
-
|
|
2549
|
-
self.globals["area_entities"] = hassfunction(area_entities)
|
|
2550
|
-
self.filters["area_entities"] = self.globals["area_entities"]
|
|
2551
|
-
|
|
2552
|
-
self.globals["area_devices"] = hassfunction(area_devices)
|
|
2553
|
-
self.filters["area_devices"] = self.globals["area_devices"]
|
|
2554
|
-
|
|
2555
|
-
# Floor extensions
|
|
2556
|
-
|
|
2557
|
-
self.globals["floors"] = hassfunction(floors)
|
|
2558
|
-
self.filters["floors"] = self.globals["floors"]
|
|
2559
|
-
|
|
2560
|
-
self.globals["floor_id"] = hassfunction(floor_id)
|
|
2561
|
-
self.filters["floor_id"] = self.globals["floor_id"]
|
|
2562
|
-
|
|
2563
|
-
self.globals["floor_name"] = hassfunction(floor_name)
|
|
2564
|
-
self.filters["floor_name"] = self.globals["floor_name"]
|
|
2565
|
-
|
|
2566
|
-
self.globals["floor_areas"] = hassfunction(floor_areas)
|
|
2567
|
-
self.filters["floor_areas"] = self.globals["floor_areas"]
|
|
2568
|
-
|
|
2569
|
-
self.globals["floor_entities"] = hassfunction(floor_entities)
|
|
2570
|
-
self.filters["floor_entities"] = self.globals["floor_entities"]
|
|
2571
|
-
|
|
2572
1950
|
# Integration extensions
|
|
2573
1951
|
|
|
2574
1952
|
self.globals["integration_entities"] = hassfunction(integration_entities)
|
|
@@ -2582,52 +1960,6 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2582
1960
|
self.globals["config_entry_id"] = hassfunction(config_entry_id)
|
|
2583
1961
|
self.filters["config_entry_id"] = self.globals["config_entry_id"]
|
|
2584
1962
|
|
|
2585
|
-
# Device extensions
|
|
2586
|
-
|
|
2587
|
-
self.globals["device_name"] = hassfunction(device_name)
|
|
2588
|
-
self.filters["device_name"] = self.globals["device_name"]
|
|
2589
|
-
|
|
2590
|
-
self.globals["device_attr"] = hassfunction(device_attr)
|
|
2591
|
-
self.filters["device_attr"] = self.globals["device_attr"]
|
|
2592
|
-
|
|
2593
|
-
self.globals["device_entities"] = hassfunction(device_entities)
|
|
2594
|
-
self.filters["device_entities"] = self.globals["device_entities"]
|
|
2595
|
-
|
|
2596
|
-
self.globals["is_device_attr"] = hassfunction(is_device_attr)
|
|
2597
|
-
self.tests["is_device_attr"] = hassfunction(is_device_attr, pass_eval_context)
|
|
2598
|
-
|
|
2599
|
-
self.globals["device_id"] = hassfunction(device_id)
|
|
2600
|
-
self.filters["device_id"] = self.globals["device_id"]
|
|
2601
|
-
|
|
2602
|
-
# Label extensions
|
|
2603
|
-
|
|
2604
|
-
self.globals["labels"] = hassfunction(labels)
|
|
2605
|
-
self.filters["labels"] = self.globals["labels"]
|
|
2606
|
-
|
|
2607
|
-
self.globals["label_id"] = hassfunction(label_id)
|
|
2608
|
-
self.filters["label_id"] = self.globals["label_id"]
|
|
2609
|
-
|
|
2610
|
-
self.globals["label_name"] = hassfunction(label_name)
|
|
2611
|
-
self.filters["label_name"] = self.globals["label_name"]
|
|
2612
|
-
|
|
2613
|
-
self.globals["label_description"] = hassfunction(label_description)
|
|
2614
|
-
self.filters["label_description"] = self.globals["label_description"]
|
|
2615
|
-
|
|
2616
|
-
self.globals["label_areas"] = hassfunction(label_areas)
|
|
2617
|
-
self.filters["label_areas"] = self.globals["label_areas"]
|
|
2618
|
-
|
|
2619
|
-
self.globals["label_devices"] = hassfunction(label_devices)
|
|
2620
|
-
self.filters["label_devices"] = self.globals["label_devices"]
|
|
2621
|
-
|
|
2622
|
-
self.globals["label_entities"] = hassfunction(label_entities)
|
|
2623
|
-
self.filters["label_entities"] = self.globals["label_entities"]
|
|
2624
|
-
|
|
2625
|
-
# Issue extensions
|
|
2626
|
-
|
|
2627
|
-
self.globals["issues"] = hassfunction(issues)
|
|
2628
|
-
self.globals["issue"] = hassfunction(issue)
|
|
2629
|
-
self.filters["issue"] = self.globals["issue"]
|
|
2630
|
-
|
|
2631
1963
|
if limited:
|
|
2632
1964
|
# Only device_entities is available to limited templates, mark other
|
|
2633
1965
|
# functions and filters as unsupported.
|
|
@@ -2643,40 +1975,22 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2643
1975
|
"area_id",
|
|
2644
1976
|
"area_name",
|
|
2645
1977
|
"closest",
|
|
2646
|
-
"device_attr",
|
|
2647
|
-
"device_id",
|
|
2648
1978
|
"distance",
|
|
2649
1979
|
"expand",
|
|
2650
|
-
"floor_id",
|
|
2651
|
-
"floor_name",
|
|
2652
1980
|
"has_value",
|
|
2653
|
-
"is_device_attr",
|
|
2654
1981
|
"is_hidden_entity",
|
|
2655
1982
|
"is_state_attr",
|
|
2656
1983
|
"is_state",
|
|
2657
|
-
"label_id",
|
|
2658
|
-
"label_name",
|
|
2659
|
-
"now",
|
|
2660
|
-
"relative_time",
|
|
2661
1984
|
"state_attr",
|
|
2662
1985
|
"state_translated",
|
|
2663
1986
|
"states",
|
|
2664
|
-
"time_since",
|
|
2665
|
-
"time_until",
|
|
2666
|
-
"today_at",
|
|
2667
|
-
"utcnow",
|
|
2668
1987
|
]
|
|
2669
1988
|
hass_filters = [
|
|
2670
1989
|
"area_id",
|
|
2671
1990
|
"area_name",
|
|
2672
1991
|
"closest",
|
|
2673
|
-
"device_id",
|
|
2674
1992
|
"expand",
|
|
2675
|
-
"floor_id",
|
|
2676
|
-
"floor_name",
|
|
2677
1993
|
"has_value",
|
|
2678
|
-
"label_id",
|
|
2679
|
-
"label_name",
|
|
2680
1994
|
]
|
|
2681
1995
|
hass_tests = [
|
|
2682
1996
|
"has_value",
|
|
@@ -2696,20 +2010,10 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
|
|
|
2696
2010
|
self.globals["distance"] = hassfunction(distance)
|
|
2697
2011
|
self.globals["expand"] = hassfunction(expand)
|
|
2698
2012
|
self.globals["has_value"] = hassfunction(has_value)
|
|
2699
|
-
self.globals["now"] = hassfunction(now)
|
|
2700
|
-
self.globals["relative_time"] = hassfunction(relative_time)
|
|
2701
|
-
self.globals["time_since"] = hassfunction(time_since)
|
|
2702
|
-
self.globals["time_until"] = hassfunction(time_until)
|
|
2703
|
-
self.globals["today_at"] = hassfunction(today_at)
|
|
2704
|
-
self.globals["utcnow"] = hassfunction(utcnow)
|
|
2705
2013
|
|
|
2706
2014
|
self.filters["closest"] = hassfunction(closest_filter)
|
|
2707
2015
|
self.filters["expand"] = self.globals["expand"]
|
|
2708
2016
|
self.filters["has_value"] = self.globals["has_value"]
|
|
2709
|
-
self.filters["relative_time"] = self.globals["relative_time"]
|
|
2710
|
-
self.filters["time_since"] = self.globals["time_since"]
|
|
2711
|
-
self.filters["time_until"] = self.globals["time_until"]
|
|
2712
|
-
self.filters["today_at"] = self.globals["today_at"]
|
|
2713
2017
|
|
|
2714
2018
|
self.tests["has_value"] = hassfunction(has_value, pass_eval_context)
|
|
2715
2019
|
|