homeassistant 2025.9.3__py3-none-any.whl → 2025.9.4__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.
Potentially problematic release.
This version of homeassistant might be problematic. Click here for more details.
- homeassistant/components/abode/translations/pt.json +2 -2
- homeassistant/components/abode/translations/uk.json +8 -0
- homeassistant/components/acaia/translations/uk.json +21 -0
- homeassistant/components/aftership/translations/es.json +1 -1
- homeassistant/components/airgradient/translations/uk.json +7 -0
- homeassistant/components/airos/translations/de.json +1 -1
- homeassistant/components/aladdin_connect/translations/it.json +1 -0
- homeassistant/components/alarmdecoder/translations/pt.json +1 -1
- homeassistant/components/anova/translations/pt.json +1 -1
- homeassistant/components/aosmith/translations/pt.json +1 -1
- homeassistant/components/aquacell/translations/pt.json +1 -1
- homeassistant/components/aseko_pool_live/translations/pt.json +2 -2
- homeassistant/components/assist_pipeline/translations/cs.json +1 -0
- homeassistant/components/assist_pipeline/translations/de.json +1 -1
- homeassistant/components/assist_pipeline/translations/fr.json +1 -0
- homeassistant/components/assist_pipeline/translations/it.json +1 -0
- homeassistant/components/assist_pipeline/translations/lt.json +1 -0
- homeassistant/components/assist_pipeline/translations/pt.json +2 -1
- homeassistant/components/assist_pipeline/translations/ru.json +1 -0
- homeassistant/components/assist_pipeline/translations/zh-Hans.json +1 -0
- homeassistant/components/assist_satellite/translations/pt.json +3 -3
- homeassistant/components/asuswrt/bridge.py +7 -0
- homeassistant/components/asuswrt/manifest.json +1 -1
- homeassistant/components/asuswrt/router.py +1 -1
- homeassistant/components/asuswrt/translations/de.json +1 -1
- homeassistant/components/aurora_abb_powerone/translations/uk.json +10 -0
- homeassistant/components/aussie_broadband/translations/uk.json +37 -0
- homeassistant/components/autarco/translations/pt.json +1 -1
- homeassistant/components/auth/login_flow.py +15 -4
- homeassistant/components/automation/translations/de.json +1 -1
- homeassistant/components/awair/translations/de.json +1 -1
- homeassistant/components/awair/translations/pt.json +2 -2
- homeassistant/components/awair/translations/uk.json +10 -0
- homeassistant/components/aws_s3/translations/pt.json +1 -1
- homeassistant/components/backup/translations/bg.json +0 -3
- homeassistant/components/backup/translations/cs.json +3 -3
- homeassistant/components/backup/translations/de.json +3 -3
- homeassistant/components/backup/translations/el.json +0 -3
- homeassistant/components/backup/translations/en-GB.json +3 -3
- homeassistant/components/backup/translations/en.json +3 -3
- homeassistant/components/backup/translations/es.json +3 -3
- homeassistant/components/backup/translations/et.json +2 -2
- homeassistant/components/backup/translations/fr.json +0 -3
- homeassistant/components/backup/translations/ga.json +0 -3
- homeassistant/components/backup/translations/he.json +0 -3
- homeassistant/components/backup/translations/hu.json +0 -3
- homeassistant/components/backup/translations/id.json +0 -3
- homeassistant/components/backup/translations/lt.json +1 -1
- homeassistant/components/backup/translations/nl.json +0 -3
- homeassistant/components/backup/translations/pl.json +0 -3
- homeassistant/components/backup/translations/pt.json +3 -3
- homeassistant/components/backup/translations/sv.json +0 -3
- homeassistant/components/backup/translations/tr.json +0 -3
- homeassistant/components/backup/translations/zh-Hans.json +3 -3
- homeassistant/components/backup/translations/zh-Hant.json +3 -3
- homeassistant/components/bang_olufsen/translations/pt.json +1 -1
- homeassistant/components/bayesian/translations/es.json +1 -1
- homeassistant/components/bayesian/translations/pt.json +1 -1
- homeassistant/components/bayesian/translations/sv.json +1 -0
- homeassistant/components/binary_sensor/translations/es.json +1 -1
- homeassistant/components/binary_sensor/translations/mk.json +5 -0
- homeassistant/components/binary_sensor/translations/sv.json +1 -1
- homeassistant/components/bluetooth/manifest.json +1 -1
- homeassistant/components/bmw_connected_drive/translations/uk.json +66 -0
- homeassistant/components/bosch_alarm/translations/pt.json +1 -1
- homeassistant/components/bring/translations/pt.json +3 -3
- homeassistant/components/climate/translations/mk.json +13 -0
- homeassistant/components/climate/translations/uk.json +5 -1
- homeassistant/components/cookidoo/translations/pt.json +2 -2
- homeassistant/components/cover/translations/pl.json +1 -0
- homeassistant/components/crownstone/translations/pt.json +1 -1
- homeassistant/components/datadog/translations/es.json +1 -1
- homeassistant/components/datadog/translations/pt.json +1 -1
- homeassistant/components/device_tracker/translations/mk.json +9 -0
- homeassistant/components/devolo_home_network/translations/de.json +1 -1
- homeassistant/components/discovergy/translations/pt.json +1 -1
- homeassistant/components/dlna_dmr/translations/de.json +1 -1
- homeassistant/components/doorbird/translations/pt.json +3 -1
- homeassistant/components/drop_connect/translations/mk.json +11 -0
- homeassistant/components/econet/translations/pt.json +1 -1
- homeassistant/components/edl21/translations/uk.json +10 -0
- homeassistant/components/efergy/translations/uk.json +25 -0
- homeassistant/components/elkm1/translations/bg.json +0 -3
- homeassistant/components/elkm1/translations/ca.json +0 -4
- homeassistant/components/elkm1/translations/cs.json +11 -11
- homeassistant/components/elkm1/translations/de.json +15 -15
- homeassistant/components/elkm1/translations/el.json +0 -9
- homeassistant/components/elkm1/translations/en-GB.json +11 -11
- homeassistant/components/elkm1/translations/en.json +11 -11
- homeassistant/components/elkm1/translations/es-419.json +0 -4
- homeassistant/components/elkm1/translations/es.json +9 -9
- homeassistant/components/elkm1/translations/et.json +10 -10
- homeassistant/components/elkm1/translations/fi.json +0 -9
- homeassistant/components/elkm1/translations/fr.json +0 -4
- homeassistant/components/elkm1/translations/ga.json +0 -10
- homeassistant/components/elkm1/translations/he.json +0 -1
- homeassistant/components/elkm1/translations/hu.json +0 -10
- homeassistant/components/elkm1/translations/id.json +0 -4
- homeassistant/components/elkm1/translations/it.json +0 -9
- homeassistant/components/elkm1/translations/ja.json +0 -10
- homeassistant/components/elkm1/translations/ko.json +0 -9
- homeassistant/components/elkm1/translations/lb.json +0 -4
- homeassistant/components/elkm1/translations/lt.json +11 -11
- homeassistant/components/elkm1/translations/nb.json +0 -4
- homeassistant/components/elkm1/translations/nl.json +0 -4
- homeassistant/components/elkm1/translations/pl.json +0 -4
- homeassistant/components/elkm1/translations/pt-BR.json +0 -4
- homeassistant/components/elkm1/translations/pt.json +11 -11
- homeassistant/components/elkm1/translations/ro.json +0 -4
- homeassistant/components/elkm1/translations/ru.json +0 -10
- homeassistant/components/elkm1/translations/sk.json +11 -11
- homeassistant/components/elkm1/translations/sl.json +0 -2
- homeassistant/components/elkm1/translations/sv.json +0 -10
- homeassistant/components/elkm1/translations/tr.json +0 -10
- homeassistant/components/elkm1/translations/uk.json +0 -4
- homeassistant/components/elkm1/translations/vi.json +0 -7
- homeassistant/components/elkm1/translations/zh-Hans.json +3 -3
- homeassistant/components/elkm1/translations/zh-Hant.json +11 -11
- homeassistant/components/emoncms/manifest.json +1 -1
- homeassistant/components/emoncms_history/manifest.json +1 -1
- homeassistant/components/energy/translations/sv.json +4 -4
- homeassistant/components/environment_canada/translations/uk.json +7 -0
- homeassistant/components/esphome/translations/ca.json +1 -2
- homeassistant/components/esphome/translations/cs.json +3 -2
- homeassistant/components/esphome/translations/da.json +1 -2
- homeassistant/components/esphome/translations/de.json +4 -4
- homeassistant/components/esphome/translations/el.json +1 -10
- homeassistant/components/esphome/translations/en-GB.json +5 -5
- homeassistant/components/esphome/translations/en.json +5 -5
- homeassistant/components/esphome/translations/es.json +4 -4
- homeassistant/components/esphome/translations/et.json +4 -4
- homeassistant/components/esphome/translations/fi.json +1 -2
- homeassistant/components/esphome/translations/fr.json +2 -11
- homeassistant/components/esphome/translations/ga.json +1 -7
- homeassistant/components/esphome/translations/he.json +1 -10
- homeassistant/components/esphome/translations/hu.json +1 -10
- homeassistant/components/esphome/translations/id.json +1 -2
- homeassistant/components/esphome/translations/it.json +2 -3
- homeassistant/components/esphome/translations/ja.json +1 -3
- homeassistant/components/esphome/translations/ko.json +1 -2
- homeassistant/components/esphome/translations/lt.json +6 -5
- homeassistant/components/esphome/translations/lv.json +1 -2
- homeassistant/components/esphome/translations/mk.json +0 -1
- homeassistant/components/esphome/translations/nb.json +1 -2
- homeassistant/components/esphome/translations/nl.json +1 -3
- homeassistant/components/esphome/translations/pl.json +1 -2
- homeassistant/components/esphome/translations/pt-BR.json +1 -2
- homeassistant/components/esphome/translations/pt.json +7 -6
- homeassistant/components/esphome/translations/ro.json +1 -2
- homeassistant/components/esphome/translations/ru.json +5 -4
- homeassistant/components/esphome/translations/sk.json +3 -3
- homeassistant/components/esphome/translations/sl.json +1 -10
- homeassistant/components/esphome/translations/sv.json +1 -10
- homeassistant/components/esphome/translations/tr.json +1 -3
- homeassistant/components/esphome/translations/uk.json +3 -3
- homeassistant/components/esphome/translations/vi.json +1 -3
- homeassistant/components/esphome/translations/zh-Hans.json +6 -5
- homeassistant/components/esphome/translations/zh-Hant.json +4 -4
- homeassistant/components/eufylife_ble/translations/uk.json +13 -0
- homeassistant/components/fan/translations/ca.json +3 -0
- homeassistant/components/feedreader/translations/es.json +1 -1
- homeassistant/components/fibaro/translations/pt.json +1 -1
- homeassistant/components/fivem/translations/uk.json +7 -0
- homeassistant/components/fjaraskupan/translations/uk.json +15 -0
- homeassistant/components/flipr/translations/pt.json +1 -1
- homeassistant/components/flipr/translations/uk.json +21 -0
- homeassistant/components/flux_led/translations/uk.json +12 -0
- homeassistant/components/freebox/translations/de.json +1 -1
- homeassistant/components/fronius/translations/mk.json +1 -0
- homeassistant/components/fronius/translations/pt.json +4 -4
- homeassistant/components/fronius/translations/vi.json +9 -0
- homeassistant/components/fully_kiosk/translations/uk.json +17 -0
- homeassistant/components/fyta/translations/pt.json +1 -1
- homeassistant/components/gardena_bluetooth/translations/de.json +1 -1
- homeassistant/components/generic_thermostat/translations/mk.json +20 -0
- homeassistant/components/github/translations/pt.json +1 -1
- homeassistant/components/google_cloud/translations/pt.json +1 -0
- homeassistant/components/google_cloud/translations/uk.json +32 -0
- homeassistant/components/google_photos/translations/uk.json +51 -0
- homeassistant/components/group/translations/mk.json +1 -0
- homeassistant/components/guardian/translations/de.json +1 -1
- homeassistant/components/habitica/manifest.json +1 -1
- homeassistant/components/hassio/translations/ca.json +0 -2
- homeassistant/components/hassio/translations/cs.json +3 -3
- homeassistant/components/hassio/translations/de.json +11 -11
- homeassistant/components/hassio/translations/el.json +0 -8
- homeassistant/components/hassio/translations/en-GB.json +4 -4
- homeassistant/components/hassio/translations/en.json +4 -4
- homeassistant/components/hassio/translations/es.json +4 -4
- homeassistant/components/hassio/translations/et.json +4 -4
- homeassistant/components/hassio/translations/fi.json +0 -2
- homeassistant/components/hassio/translations/fr.json +0 -8
- homeassistant/components/hassio/translations/ga.json +0 -8
- homeassistant/components/hassio/translations/he.json +0 -8
- homeassistant/components/hassio/translations/hu.json +0 -8
- homeassistant/components/hassio/translations/id.json +0 -8
- homeassistant/components/hassio/translations/it.json +0 -2
- homeassistant/components/hassio/translations/ja.json +0 -8
- homeassistant/components/hassio/translations/ko.json +0 -7
- homeassistant/components/hassio/translations/lt.json +4 -4
- homeassistant/components/hassio/translations/nb.json +0 -2
- homeassistant/components/hassio/translations/nl.json +0 -8
- homeassistant/components/hassio/translations/pl.json +0 -2
- homeassistant/components/hassio/translations/pt-BR.json +0 -2
- homeassistant/components/hassio/translations/pt.json +4 -4
- homeassistant/components/hassio/translations/ro.json +0 -2
- homeassistant/components/hassio/translations/ru.json +2 -4
- homeassistant/components/hassio/translations/sk.json +3 -3
- homeassistant/components/hassio/translations/sl.json +0 -8
- homeassistant/components/hassio/translations/sv.json +0 -8
- homeassistant/components/hassio/translations/tr.json +0 -8
- homeassistant/components/hassio/translations/uk.json +0 -2
- homeassistant/components/hassio/translations/vi.json +0 -8
- homeassistant/components/hassio/translations/zh-Hans.json +4 -4
- homeassistant/components/hassio/translations/zh-Hant.json +4 -4
- homeassistant/components/holiday/manifest.json +1 -1
- homeassistant/components/home_connect/translations/pt.json +3 -3
- homeassistant/components/homeassistant/translations/uk.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/bg.json +0 -12
- homeassistant/components/homeassistant_hardware/translations/ca.json +0 -7
- homeassistant/components/homeassistant_hardware/translations/cs.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/de.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/el.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/en.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/es.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/et.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/fr.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/ga.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/he.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/hu.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/id.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/it.json +0 -9
- homeassistant/components/homeassistant_hardware/translations/ja.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/ko.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/lt.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/mk.json +10 -0
- homeassistant/components/homeassistant_hardware/translations/nl.json +0 -7
- homeassistant/components/homeassistant_hardware/translations/pl.json +0 -12
- homeassistant/components/homeassistant_hardware/translations/pt.json +5 -5
- homeassistant/components/homeassistant_hardware/translations/ru.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/sk.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/sv.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/tr.json +0 -8
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +4 -4
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +4 -4
- homeassistant/components/homeassistant_sky_connect/translations/cs.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/de.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/en.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/es.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/et.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/lt.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +10 -10
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +8 -8
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +8 -8
- homeassistant/components/homeassistant_yellow/translations/cs.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/de.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/en.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/es.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/et.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/fa.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/lt.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/mk.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/pt.json +5 -5
- homeassistant/components/homeassistant_yellow/translations/sk.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +4 -4
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +4 -4
- homeassistant/components/homee/translations/pt.json +1 -1
- homeassistant/components/homekit_controller/connection.py +34 -21
- homeassistant/components/homekit_controller/manifest.json +1 -1
- homeassistant/components/homekit_controller/translations/mk.json +11 -0
- homeassistant/components/honeywell/translations/cs.json +0 -3
- homeassistant/components/honeywell/translations/de.json +1 -1
- homeassistant/components/honeywell/translations/el.json +0 -3
- homeassistant/components/honeywell/translations/en-GB.json +1 -1
- homeassistant/components/honeywell/translations/en.json +1 -1
- homeassistant/components/honeywell/translations/es.json +0 -3
- homeassistant/components/honeywell/translations/et.json +0 -3
- homeassistant/components/honeywell/translations/fi.json +0 -3
- homeassistant/components/honeywell/translations/ga.json +0 -3
- homeassistant/components/honeywell/translations/gl.json +0 -3
- homeassistant/components/honeywell/translations/hu.json +0 -3
- homeassistant/components/honeywell/translations/ja.json +0 -3
- homeassistant/components/honeywell/translations/lt.json +0 -3
- homeassistant/components/honeywell/translations/pt.json +0 -3
- homeassistant/components/honeywell/translations/ru.json +0 -3
- homeassistant/components/honeywell/translations/sk.json +0 -3
- homeassistant/components/honeywell/translations/sv.json +0 -3
- homeassistant/components/honeywell/translations/tr.json +0 -3
- homeassistant/components/honeywell/translations/zh-Hans.json +0 -3
- homeassistant/components/honeywell/translations/zh-Hant.json +0 -3
- homeassistant/components/html5/translations/pt.json +1 -1
- homeassistant/components/html5/translations/uk.json +29 -0
- homeassistant/components/humidifier/translations/mk.json +13 -0
- homeassistant/components/icloud/translations/ca.json +1 -5
- homeassistant/components/icloud/translations/cs.json +10 -10
- homeassistant/components/icloud/translations/da.json +1 -4
- homeassistant/components/icloud/translations/de.json +9 -9
- homeassistant/components/icloud/translations/el.json +1 -7
- homeassistant/components/icloud/translations/en-GB.json +10 -10
- homeassistant/components/icloud/translations/en.json +10 -10
- homeassistant/components/icloud/translations/es-419.json +1 -6
- homeassistant/components/icloud/translations/es.json +10 -10
- homeassistant/components/icloud/translations/et.json +10 -10
- homeassistant/components/icloud/translations/fi.json +1 -5
- homeassistant/components/icloud/translations/fr.json +1 -10
- homeassistant/components/icloud/translations/ga.json +1 -10
- homeassistant/components/icloud/translations/he.json +1 -7
- homeassistant/components/icloud/translations/hu.json +1 -10
- homeassistant/components/icloud/translations/id.json +1 -9
- homeassistant/components/icloud/translations/it.json +1 -9
- homeassistant/components/icloud/translations/ja.json +1 -9
- homeassistant/components/icloud/translations/ko.json +1 -5
- homeassistant/components/icloud/translations/lb.json +1 -4
- homeassistant/components/icloud/translations/lt.json +10 -10
- homeassistant/components/icloud/translations/mk.json +14 -0
- homeassistant/components/icloud/translations/nb.json +1 -4
- homeassistant/components/icloud/translations/nl.json +1 -9
- homeassistant/components/icloud/translations/pl.json +1 -4
- homeassistant/components/icloud/translations/pt-BR.json +1 -5
- homeassistant/components/icloud/translations/pt.json +5 -9
- homeassistant/components/icloud/translations/ro.json +1 -4
- homeassistant/components/icloud/translations/ru.json +2 -8
- homeassistant/components/icloud/translations/sk.json +10 -10
- homeassistant/components/icloud/translations/sl.json +1 -5
- homeassistant/components/icloud/translations/sv.json +1 -10
- homeassistant/components/icloud/translations/tr.json +1 -10
- homeassistant/components/icloud/translations/uk.json +1 -5
- homeassistant/components/icloud/translations/vi.json +2 -6
- homeassistant/components/icloud/translations/zh-Hans.json +9 -9
- homeassistant/components/icloud/translations/zh-Hant.json +10 -10
- homeassistant/components/imeon_inverter/manifest.json +1 -1
- homeassistant/components/improv_ble/translations/ca.json +0 -1
- homeassistant/components/improv_ble/translations/cs.json +1 -1
- homeassistant/components/improv_ble/translations/de.json +5 -5
- homeassistant/components/improv_ble/translations/el.json +0 -1
- homeassistant/components/improv_ble/translations/en-GB.json +1 -1
- homeassistant/components/improv_ble/translations/en.json +1 -1
- homeassistant/components/improv_ble/translations/es.json +1 -1
- homeassistant/components/improv_ble/translations/et.json +1 -1
- homeassistant/components/improv_ble/translations/fi.json +0 -1
- homeassistant/components/improv_ble/translations/fr.json +0 -1
- homeassistant/components/improv_ble/translations/ga.json +0 -1
- homeassistant/components/improv_ble/translations/gl.json +1 -2
- homeassistant/components/improv_ble/translations/he.json +0 -1
- homeassistant/components/improv_ble/translations/hu.json +0 -1
- homeassistant/components/improv_ble/translations/id.json +0 -1
- homeassistant/components/improv_ble/translations/it.json +0 -1
- homeassistant/components/improv_ble/translations/ja.json +0 -1
- homeassistant/components/improv_ble/translations/ko.json +0 -1
- homeassistant/components/improv_ble/translations/lt.json +1 -1
- homeassistant/components/improv_ble/translations/pt.json +1 -1
- homeassistant/components/improv_ble/translations/ru.json +0 -1
- homeassistant/components/improv_ble/translations/sk.json +1 -1
- homeassistant/components/improv_ble/translations/sv.json +0 -1
- homeassistant/components/improv_ble/translations/tr.json +0 -1
- homeassistant/components/improv_ble/translations/zh-Hans.json +1 -1
- homeassistant/components/improv_ble/translations/zh-Hant.json +1 -1
- homeassistant/components/insteon/translations/de.json +1 -1
- homeassistant/components/intellifire/translations/pt.json +1 -1
- homeassistant/components/ipma/translations/uk.json +3 -0
- homeassistant/components/ista_ecotrend/translations/pt.json +3 -3
- homeassistant/components/jewish_calendar/translations/pt.json +1 -1
- homeassistant/components/kitchen_sink/translations/de.json +2 -2
- homeassistant/components/knx/storage/entity_store_schema.py +13 -9
- homeassistant/components/knx/translations/pt.json +1 -1
- homeassistant/components/lamarzocco/__init__.py +34 -24
- homeassistant/components/lamarzocco/config_flow.py +13 -4
- homeassistant/components/lamarzocco/const.py +1 -0
- homeassistant/components/lamarzocco/manifest.json +1 -1
- homeassistant/components/letpot/translations/pt.json +1 -1
- homeassistant/components/lg_thinq/translations/pt.json +10 -10
- homeassistant/components/lg_thinq/translations/uk.json +38 -0
- homeassistant/components/lidarr/translations/pt.json +1 -1
- homeassistant/components/light/translations/ca.json +2 -1
- homeassistant/components/light/translations/uk.json +19 -0
- homeassistant/components/litterrobot/translations/uk.json +21 -0
- homeassistant/components/matter/translations/ca.json +3 -0
- homeassistant/components/matter/translations/pt.json +6 -0
- homeassistant/components/matter/translations/ru.json +6 -0
- homeassistant/components/melcloud/translations/pt.json +2 -2
- homeassistant/components/metoffice/translations/pt.json +1 -1
- homeassistant/components/miele/coordinator.py +18 -2
- homeassistant/components/miele/translations/pt.json +2 -2
- homeassistant/components/miele/translations/sv.json +3 -3
- homeassistant/components/monarch_money/translations/pt.json +2 -2
- homeassistant/components/motionmount/translations/lt.json +4 -1
- homeassistant/components/motionmount/translations/pt.json +4 -1
- homeassistant/components/mqtt/translations/cs.json +1 -1
- homeassistant/components/mqtt/translations/de.json +3 -3
- homeassistant/components/mqtt/translations/en-GB.json +1 -1
- homeassistant/components/mqtt/translations/en.json +1 -1
- homeassistant/components/mqtt/translations/es.json +2 -2
- homeassistant/components/mqtt/translations/et.json +1 -1
- homeassistant/components/mqtt/translations/ga.json +0 -1
- homeassistant/components/mqtt/translations/he.json +0 -1
- homeassistant/components/mqtt/translations/hu.json +0 -1
- homeassistant/components/mqtt/translations/it.json +0 -1
- homeassistant/components/mqtt/translations/lt.json +3 -2
- homeassistant/components/mqtt/translations/nl.json +0 -1
- homeassistant/components/mqtt/translations/pt.json +3 -3
- homeassistant/components/mqtt/translations/ru.json +5 -0
- homeassistant/components/mqtt/translations/sk.json +1 -1
- homeassistant/components/mqtt/translations/sv.json +1 -1
- homeassistant/components/mqtt/translations/zh-Hans.json +1 -1
- homeassistant/components/mqtt/translations/zh-Hant.json +1 -1
- homeassistant/components/music_assistant/translations/pt.json +1 -1
- homeassistant/components/nanoleaf/translations/de.json +1 -1
- homeassistant/components/netgear/translations/de.json +1 -1
- homeassistant/components/nice_go/translations/pt.json +2 -2
- homeassistant/components/notion/translations/uk.json +13 -0
- homeassistant/components/ntfy/translations/ru.json +82 -0
- homeassistant/components/nut/translations/pt.json +1 -1
- homeassistant/components/ohme/translations/pt.json +1 -1
- homeassistant/components/onedrive/translations/pt.json +1 -1
- homeassistant/components/onewire/translations/vi.json +5 -0
- homeassistant/components/onvif/translations/de.json +1 -1
- homeassistant/components/onvif/translations/pt.json +3 -1
- homeassistant/components/onvif/translations/ru.json +3 -1
- homeassistant/components/openai_conversation/translations/pt.json +1 -1
- homeassistant/components/opentherm_gw/translations/mk.json +9 -0
- homeassistant/components/opower/manifest.json +1 -1
- homeassistant/components/person/translations/mk.json +9 -0
- homeassistant/components/plugwise/translations/mk.json +11 -0
- homeassistant/components/plugwise/translations/uk.json +6 -0
- homeassistant/components/plum_lightpad/translations/pt.json +1 -1
- homeassistant/components/poolsense/translations/pt.json +1 -1
- homeassistant/components/powerfox/translations/pt.json +2 -2
- homeassistant/components/powerwall/translations/uk.json +6 -0
- homeassistant/components/qnap/translations/uk.json +19 -0
- homeassistant/components/random/translations/es.json +1 -1
- homeassistant/components/random/translations/sv.json +1 -1
- homeassistant/components/recorder/translations/vi.json +5 -0
- homeassistant/components/rehlko/translations/pt.json +1 -1
- homeassistant/components/remote/translations/ca.json +3 -0
- homeassistant/components/renault/translations/pt.json +1 -1
- homeassistant/components/reolink/translations/mk.json +5 -0
- homeassistant/components/reolink/translations/pt.json +3 -0
- homeassistant/components/rituals_perfume_genie/translations/pt.json +1 -1
- homeassistant/components/roborock/translations/de.json +2 -2
- homeassistant/components/roborock/translations/pt.json +1 -1
- homeassistant/components/ruckus_unleashed/translations/de.json +1 -1
- homeassistant/components/rympro/translations/pt.json +1 -1
- homeassistant/components/script/translations/de.json +1 -1
- homeassistant/components/sense/translations/pt.json +1 -1
- homeassistant/components/sensorpush_cloud/translations/pt.json +1 -1
- homeassistant/components/sensoterra/translations/pt.json +2 -2
- homeassistant/components/shelly/translations/pt.json +1 -1
- homeassistant/components/simplisafe/translations/uk.json +7 -0
- homeassistant/components/skybell/translations/pt.json +1 -1
- homeassistant/components/smarla/translations/pt.json +1 -1
- homeassistant/components/smartthings/translations/fr.json +28 -0
- homeassistant/components/smartthings/translations/pt.json +1 -1
- homeassistant/components/smarttub/translations/pt.json +1 -1
- homeassistant/components/snooz/translations/es.json +1 -1
- homeassistant/components/sonos/media_player.py +1 -1
- homeassistant/components/sql/translations/pt.json +4 -0
- homeassistant/components/sql/translations/uk.json +1 -0
- homeassistant/components/stookwijzer/translations/es.json +1 -1
- homeassistant/components/switch/translations/ca.json +3 -0
- homeassistant/components/tado/translations/it.json +6 -0
- homeassistant/components/technove/translations/de.json +1 -1
- homeassistant/components/tedee/translations/de.json +2 -2
- homeassistant/components/telegram_bot/translations/pt.json +2 -2
- homeassistant/components/template/translations/ca.json +17 -0
- homeassistant/components/template/translations/es.json +1 -1
- homeassistant/components/template/translations/lt.json +14 -2
- homeassistant/components/template/translations/pt.json +2 -2
- homeassistant/components/template/translations/sv.json +1 -1
- homeassistant/components/teslemetry/translations/de.json +1 -1
- homeassistant/components/teslemetry/translations/ko.json +5 -0
- homeassistant/components/teslemetry/translations/pt.json +2 -2
- homeassistant/components/tile/translations/pt.json +1 -1
- homeassistant/components/tod/translations/sv.json +2 -2
- homeassistant/components/tomorrowio/translations/vi.json +1 -0
- homeassistant/components/totalconnect/translations/pt.json +1 -1
- homeassistant/components/tractive/translations/de.json +1 -1
- homeassistant/components/tractive/translations/pt.json +1 -1
- homeassistant/components/trafikverket_ferry/translations/uk.json +22 -0
- homeassistant/components/trafikverket_train/translations/pt.json +1 -1
- homeassistant/components/trafikverket_weatherstation/translations/uk.json +13 -0
- homeassistant/components/tuya/translations/pt.json +9 -0
- homeassistant/components/tuya/translations/ru.json +9 -0
- homeassistant/components/tuya/translations/uk.json +11 -0
- homeassistant/components/update/translations/ca.json +3 -0
- homeassistant/components/vallox/translations/mk.json +9 -0
- homeassistant/components/valve/translations/pl.json +1 -0
- homeassistant/components/velbus/translations/de.json +1 -1
- homeassistant/components/verisure/translations/pt.json +2 -2
- homeassistant/components/vesync/translations/pt.json +2 -2
- homeassistant/components/vicare/translations/pt.json +1 -1
- homeassistant/components/voip/translations/cs.json +1 -1
- homeassistant/components/voip/translations/de.json +1 -1
- homeassistant/components/voip/translations/fr.json +1 -1
- homeassistant/components/voip/translations/it.json +1 -1
- homeassistant/components/voip/translations/lt.json +1 -1
- homeassistant/components/voip/translations/pt.json +2 -2
- homeassistant/components/voip/translations/ru.json +1 -1
- homeassistant/components/voip/translations/zh-Hans.json +1 -1
- homeassistant/components/waterfurnace/manifest.json +1 -1
- homeassistant/components/watergate/translations/de.json +2 -2
- homeassistant/components/weatherflow/translations/es.json +1 -1
- homeassistant/components/webostv/translations/de.json +2 -2
- homeassistant/components/workday/manifest.json +1 -1
- homeassistant/components/wyoming/translations/cs.json +1 -1
- homeassistant/components/wyoming/translations/de.json +1 -1
- homeassistant/components/wyoming/translations/fr.json +1 -1
- homeassistant/components/wyoming/translations/it.json +1 -1
- homeassistant/components/wyoming/translations/lt.json +1 -1
- homeassistant/components/wyoming/translations/pt.json +1 -1
- homeassistant/components/wyoming/translations/ru.json +1 -1
- homeassistant/components/wyoming/translations/zh-Hans.json +1 -1
- homeassistant/components/yale_smart_alarm/translations/pt.json +1 -1
- homeassistant/components/zha/translations/pl.json +3 -0
- homeassistant/components/zha/translations/uk.json +15 -0
- homeassistant/components/zimi/translations/pt.json +1 -1
- homeassistant/components/zone/translations/uk.json +1 -0
- homeassistant/components/zwave_js/translations/ca.json +0 -1
- homeassistant/components/zwave_js/translations/cs.json +1 -1
- homeassistant/components/zwave_js/translations/de.json +1 -1
- homeassistant/components/zwave_js/translations/el.json +0 -1
- homeassistant/components/zwave_js/translations/en-GB.json +1 -1
- homeassistant/components/zwave_js/translations/en.json +1 -1
- homeassistant/components/zwave_js/translations/es.json +1 -1
- homeassistant/components/zwave_js/translations/et.json +1 -1
- homeassistant/components/zwave_js/translations/fi.json +0 -1
- homeassistant/components/zwave_js/translations/fr.json +0 -1
- homeassistant/components/zwave_js/translations/ga.json +0 -1
- homeassistant/components/zwave_js/translations/hu.json +0 -1
- homeassistant/components/zwave_js/translations/id.json +0 -1
- homeassistant/components/zwave_js/translations/it.json +0 -1
- homeassistant/components/zwave_js/translations/ja.json +0 -1
- homeassistant/components/zwave_js/translations/ko.json +0 -1
- homeassistant/components/zwave_js/translations/lt.json +1 -1
- homeassistant/components/zwave_js/translations/nb.json +0 -1
- homeassistant/components/zwave_js/translations/nl.json +0 -1
- homeassistant/components/zwave_js/translations/pl.json +0 -1
- homeassistant/components/zwave_js/translations/pt-BR.json +0 -1
- homeassistant/components/zwave_js/translations/pt.json +1 -1
- homeassistant/components/zwave_js/translations/ro.json +0 -1
- homeassistant/components/zwave_js/translations/ru.json +0 -1
- homeassistant/components/zwave_js/translations/sk.json +1 -1
- homeassistant/components/zwave_js/translations/sv.json +0 -1
- homeassistant/components/zwave_js/translations/tr.json +0 -1
- homeassistant/components/zwave_js/translations/uk.json +20 -1
- homeassistant/components/zwave_js/translations/vi.json +0 -1
- homeassistant/components/zwave_js/translations/zh-Hans.json +1 -1
- homeassistant/components/zwave_js/translations/zh-Hant.json +1 -1
- homeassistant/const.py +1 -1
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/METADATA +1 -1
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/RECORD +560 -542
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/WHEEL +0 -0
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.9.3.dist-info → homeassistant-2025.9.4.dist-info}/top_level.txt +0 -0
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import logging
|
|
5
|
+
import uuid
|
|
5
6
|
|
|
7
|
+
from aiohttp import ClientSession
|
|
6
8
|
from packaging import version
|
|
7
9
|
from pylamarzocco import (
|
|
8
10
|
LaMarzoccoBluetoothClient,
|
|
@@ -11,6 +13,7 @@ from pylamarzocco import (
|
|
|
11
13
|
)
|
|
12
14
|
from pylamarzocco.const import FirmwareType
|
|
13
15
|
from pylamarzocco.exceptions import AuthFail, RequestNotSuccessful
|
|
16
|
+
from pylamarzocco.util import InstallationKey, generate_installation_key
|
|
14
17
|
|
|
15
18
|
from homeassistant.components.bluetooth import async_discovered_service_info
|
|
16
19
|
from homeassistant.const import (
|
|
@@ -19,13 +22,14 @@ from homeassistant.const import (
|
|
|
19
22
|
CONF_TOKEN,
|
|
20
23
|
CONF_USERNAME,
|
|
21
24
|
Platform,
|
|
25
|
+
__version__,
|
|
22
26
|
)
|
|
23
27
|
from homeassistant.core import HomeAssistant
|
|
24
28
|
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
|
|
25
29
|
from homeassistant.helpers import issue_registry as ir
|
|
26
30
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession
|
|
27
31
|
|
|
28
|
-
from .const import CONF_USE_BLUETOOTH, DOMAIN
|
|
32
|
+
from .const import CONF_INSTALLATION_KEY, CONF_USE_BLUETOOTH, DOMAIN
|
|
29
33
|
from .coordinator import (
|
|
30
34
|
LaMarzoccoConfigEntry,
|
|
31
35
|
LaMarzoccoConfigUpdateCoordinator,
|
|
@@ -60,7 +64,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -
|
|
|
60
64
|
cloud_client = LaMarzoccoCloudClient(
|
|
61
65
|
username=entry.data[CONF_USERNAME],
|
|
62
66
|
password=entry.data[CONF_PASSWORD],
|
|
63
|
-
|
|
67
|
+
installation_key=InstallationKey.from_json(entry.data[CONF_INSTALLATION_KEY]),
|
|
68
|
+
client=create_client_session(hass),
|
|
64
69
|
)
|
|
65
70
|
|
|
66
71
|
try:
|
|
@@ -166,45 +171,50 @@ async def async_migrate_entry(
|
|
|
166
171
|
hass: HomeAssistant, entry: LaMarzoccoConfigEntry
|
|
167
172
|
) -> bool:
|
|
168
173
|
"""Migrate config entry."""
|
|
169
|
-
if entry.version >
|
|
174
|
+
if entry.version > 4:
|
|
170
175
|
# guard against downgrade from a future version
|
|
171
176
|
return False
|
|
172
177
|
|
|
173
|
-
if entry.version
|
|
178
|
+
if entry.version in (1, 2):
|
|
174
179
|
_LOGGER.error(
|
|
175
|
-
"Migration from version 1 is no longer supported, please remove and re-add the integration"
|
|
180
|
+
"Migration from version 1 or 2 is no longer supported, please remove and re-add the integration"
|
|
176
181
|
)
|
|
177
182
|
return False
|
|
178
183
|
|
|
179
|
-
if entry.version ==
|
|
184
|
+
if entry.version == 3:
|
|
185
|
+
installation_key = generate_installation_key(str(uuid.uuid4()).lower())
|
|
180
186
|
cloud_client = LaMarzoccoCloudClient(
|
|
181
187
|
username=entry.data[CONF_USERNAME],
|
|
182
188
|
password=entry.data[CONF_PASSWORD],
|
|
189
|
+
installation_key=installation_key,
|
|
190
|
+
client=create_client_session(hass),
|
|
183
191
|
)
|
|
184
192
|
try:
|
|
185
|
-
|
|
193
|
+
await cloud_client.async_register_client()
|
|
186
194
|
except (AuthFail, RequestNotSuccessful) as exc:
|
|
187
195
|
_LOGGER.error("Migration failed with error %s", exc)
|
|
188
196
|
return False
|
|
189
|
-
|
|
190
|
-
CONF_USERNAME: entry.data[CONF_USERNAME],
|
|
191
|
-
CONF_PASSWORD: entry.data[CONF_PASSWORD],
|
|
192
|
-
CONF_TOKEN: next(
|
|
193
|
-
(
|
|
194
|
-
thing.ble_auth_token
|
|
195
|
-
for thing in things
|
|
196
|
-
if thing.serial_number == entry.unique_id
|
|
197
|
-
),
|
|
198
|
-
None,
|
|
199
|
-
),
|
|
200
|
-
}
|
|
201
|
-
if CONF_MAC in entry.data:
|
|
202
|
-
v3_data[CONF_MAC] = entry.data[CONF_MAC]
|
|
197
|
+
|
|
203
198
|
hass.config_entries.async_update_entry(
|
|
204
199
|
entry,
|
|
205
|
-
data=
|
|
206
|
-
|
|
200
|
+
data={
|
|
201
|
+
**entry.data,
|
|
202
|
+
CONF_INSTALLATION_KEY: installation_key.to_json(),
|
|
203
|
+
},
|
|
204
|
+
version=4,
|
|
207
205
|
)
|
|
208
|
-
_LOGGER.debug("Migrated La Marzocco config entry to version
|
|
206
|
+
_LOGGER.debug("Migrated La Marzocco config entry to version 4")
|
|
209
207
|
|
|
210
208
|
return True
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def create_client_session(hass: HomeAssistant) -> ClientSession:
|
|
212
|
+
"""Create a ClientSession with La Marzocco specific headers."""
|
|
213
|
+
|
|
214
|
+
return async_create_clientsession(
|
|
215
|
+
hass,
|
|
216
|
+
headers={
|
|
217
|
+
"X-Client": "HOME_ASSISTANT",
|
|
218
|
+
"X-Client-Build": __version__,
|
|
219
|
+
},
|
|
220
|
+
)
|
|
@@ -5,11 +5,13 @@ from __future__ import annotations
|
|
|
5
5
|
from collections.abc import Mapping
|
|
6
6
|
import logging
|
|
7
7
|
from typing import Any
|
|
8
|
+
import uuid
|
|
8
9
|
|
|
9
10
|
from aiohttp import ClientSession
|
|
10
11
|
from pylamarzocco import LaMarzoccoCloudClient
|
|
11
12
|
from pylamarzocco.exceptions import AuthFail, RequestNotSuccessful
|
|
12
13
|
from pylamarzocco.models import Thing
|
|
14
|
+
from pylamarzocco.util import InstallationKey, generate_installation_key
|
|
13
15
|
import voluptuous as vol
|
|
14
16
|
|
|
15
17
|
from homeassistant.components.bluetooth import (
|
|
@@ -33,7 +35,6 @@ from homeassistant.const import (
|
|
|
33
35
|
)
|
|
34
36
|
from homeassistant.core import callback
|
|
35
37
|
from homeassistant.helpers import config_validation as cv
|
|
36
|
-
from homeassistant.helpers.aiohttp_client import async_create_clientsession
|
|
37
38
|
from homeassistant.helpers.selector import (
|
|
38
39
|
SelectOptionDict,
|
|
39
40
|
SelectSelector,
|
|
@@ -45,7 +46,8 @@ from homeassistant.helpers.selector import (
|
|
|
45
46
|
)
|
|
46
47
|
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo
|
|
47
48
|
|
|
48
|
-
from .
|
|
49
|
+
from . import create_client_session
|
|
50
|
+
from .const import CONF_INSTALLATION_KEY, CONF_USE_BLUETOOTH, DOMAIN
|
|
49
51
|
from .coordinator import LaMarzoccoConfigEntry
|
|
50
52
|
|
|
51
53
|
CONF_MACHINE = "machine"
|
|
@@ -57,9 +59,10 @@ _LOGGER = logging.getLogger(__name__)
|
|
|
57
59
|
class LmConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
58
60
|
"""Handle a config flow for La Marzocco."""
|
|
59
61
|
|
|
60
|
-
VERSION =
|
|
62
|
+
VERSION = 4
|
|
61
63
|
|
|
62
64
|
_client: ClientSession
|
|
65
|
+
_installation_key: InstallationKey
|
|
63
66
|
|
|
64
67
|
def __init__(self) -> None:
|
|
65
68
|
"""Initialize the config flow."""
|
|
@@ -83,13 +86,18 @@ class LmConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
83
86
|
**user_input,
|
|
84
87
|
}
|
|
85
88
|
|
|
86
|
-
self._client =
|
|
89
|
+
self._client = create_client_session(self.hass)
|
|
90
|
+
self._installation_key = generate_installation_key(
|
|
91
|
+
str(uuid.uuid4()).lower()
|
|
92
|
+
)
|
|
87
93
|
cloud_client = LaMarzoccoCloudClient(
|
|
88
94
|
username=data[CONF_USERNAME],
|
|
89
95
|
password=data[CONF_PASSWORD],
|
|
90
96
|
client=self._client,
|
|
97
|
+
installation_key=self._installation_key,
|
|
91
98
|
)
|
|
92
99
|
try:
|
|
100
|
+
await cloud_client.async_register_client()
|
|
93
101
|
things = await cloud_client.list_things()
|
|
94
102
|
except AuthFail:
|
|
95
103
|
_LOGGER.debug("Server rejected login credentials")
|
|
@@ -184,6 +192,7 @@ class LmConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
184
192
|
title=selected_device.name,
|
|
185
193
|
data={
|
|
186
194
|
**self._config,
|
|
195
|
+
CONF_INSTALLATION_KEY: self._installation_key.to_json(),
|
|
187
196
|
CONF_TOKEN: self._things[serial_number].ble_auth_token,
|
|
188
197
|
},
|
|
189
198
|
)
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"no_battery_error": "A bateria do robot de limpeza est\u00e1 fraca",
|
|
132
132
|
"no_dust_bin_error": "O dep\u00f3sito do p\u00f3 n\u00e3o est\u00e1 instalado",
|
|
133
133
|
"no_filter_error": "Erro no filtro",
|
|
134
|
-
"out_of_balance_error": "Carga
|
|
134
|
+
"out_of_balance_error": "Carga desequilibrada",
|
|
135
135
|
"overfill_error": "Erro de enchimento excessivo",
|
|
136
136
|
"part_malfunction_error": "Erro AIE",
|
|
137
137
|
"power_code_connection_error": "Erro na liga\u00e7\u00e3o do cabo de alimenta\u00e7\u00e3o",
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"timeout_error": "Erro de tempo limite",
|
|
146
146
|
"turbidity_sensor_error": "Erro do sensor de turbidez",
|
|
147
147
|
"unable_to_lock_error": "Erro no bloqueio da porta",
|
|
148
|
-
"unbalanced_load_error": "Carga
|
|
148
|
+
"unbalanced_load_error": "Carga desequilibrada",
|
|
149
149
|
"unknown_error": "O produto requer aten\u00e7\u00e3o",
|
|
150
150
|
"vibration_sensor_error": "Erro no sensor de vibra\u00e7\u00f5es",
|
|
151
151
|
"water_drain_error": "Problema na drenagem da \u00e1gua",
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
"name": "{location} conclus\u00e3o diferida"
|
|
233
233
|
},
|
|
234
234
|
"sleep_timer_relative_hour_to_stop": {
|
|
235
|
-
"name": "Temporizador de
|
|
235
|
+
"name": "Temporizador de sono"
|
|
236
236
|
},
|
|
237
237
|
"sleep_timer_relative_hour_to_stop_for_location": {
|
|
238
238
|
"name": "{location} temporizador de suspens\u00e3o"
|
|
@@ -547,7 +547,7 @@
|
|
|
547
547
|
"cooking_in_progress": "A cozinhar",
|
|
548
548
|
"cool_down": "Arrefecer",
|
|
549
549
|
"cooling": "A arrefecer",
|
|
550
|
-
"detecting": "A
|
|
550
|
+
"detecting": "A detetar",
|
|
551
551
|
"detergent_amount": "Fornecer informa\u00e7\u00f5es sobre a quantidade de detergente",
|
|
552
552
|
"diagnosis": "Diagn\u00f3stico inteligente em curso",
|
|
553
553
|
"dispensing": "A auto dispensar",
|
|
@@ -575,7 +575,7 @@
|
|
|
575
575
|
"monitoring_detecting": "O Home Guard est\u00e1 ativo",
|
|
576
576
|
"monitoring_moving": "Ir para o ponto de in\u00edcio",
|
|
577
577
|
"monitoring_positioning": "Definir o ponto de partida do Home Guard",
|
|
578
|
-
"night_dry": "
|
|
578
|
+
"night_dry": "Secagem noturna",
|
|
579
579
|
"oven_setting": "Placa de cozinha ligada",
|
|
580
580
|
"pause": "Em pausa",
|
|
581
581
|
"paused": "Em pausa",
|
|
@@ -634,7 +634,7 @@
|
|
|
634
634
|
"cooking_in_progress": "A cozinhar",
|
|
635
635
|
"cool_down": "Arrefecer",
|
|
636
636
|
"cooling": "A arrefecer",
|
|
637
|
-
"detecting": "A
|
|
637
|
+
"detecting": "A detetar",
|
|
638
638
|
"detergent_amount": "Fornecer informa\u00e7\u00f5es sobre a quantidade de detergente",
|
|
639
639
|
"diagnosis": "Diagn\u00f3stico inteligente em curso",
|
|
640
640
|
"dispensing": "A auto dispensar",
|
|
@@ -662,7 +662,7 @@
|
|
|
662
662
|
"monitoring_detecting": "O Home Guard est\u00e1 ativo",
|
|
663
663
|
"monitoring_moving": "Ir para o ponto de in\u00edcio",
|
|
664
664
|
"monitoring_positioning": "Definir o ponto de partida do Home Guard",
|
|
665
|
-
"night_dry": "
|
|
665
|
+
"night_dry": "Secagem noturna",
|
|
666
666
|
"oven_setting": "Placa de cozinha ligada",
|
|
667
667
|
"pause": "Em pausa",
|
|
668
668
|
"paused": "Em pausa",
|
|
@@ -786,7 +786,7 @@
|
|
|
786
786
|
"hop_oil_capsule_1": {
|
|
787
787
|
"name": "Primeiro salto",
|
|
788
788
|
"state": {
|
|
789
|
-
"cascade": "
|
|
789
|
+
"cascade": "Cascata",
|
|
790
790
|
"chinook": "Chinook",
|
|
791
791
|
"citrussy": "Citrussy",
|
|
792
792
|
"fuggles": "Fuggles",
|
|
@@ -797,7 +797,7 @@
|
|
|
797
797
|
"hop_oil_capsule_2": {
|
|
798
798
|
"name": "Segundo salto",
|
|
799
799
|
"state": {
|
|
800
|
-
"cascade": "
|
|
800
|
+
"cascade": "Cascata",
|
|
801
801
|
"chinook": "Chinook",
|
|
802
802
|
"citrussy": "Citrussy",
|
|
803
803
|
"fuggles": "Fuggles",
|
|
@@ -926,7 +926,7 @@
|
|
|
926
926
|
"name": "{location} tempo de funcionamento"
|
|
927
927
|
},
|
|
928
928
|
"sleep_timer_relative_to_stop": {
|
|
929
|
-
"name": "Temporizador de
|
|
929
|
+
"name": "Temporizador de sono"
|
|
930
930
|
},
|
|
931
931
|
"sleep_timer_relative_to_stop_for_location": {
|
|
932
932
|
"name": "{location} temporizador de suspens\u00e3o"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"error": {
|
|
4
|
+
"token_unauthorized": "\u0422\u043e\u043a\u0435\u043d \u043d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u0430\u0431\u043e \u043d\u0435\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u0438\u0439."
|
|
5
|
+
},
|
|
6
|
+
"step": {
|
|
7
|
+
"user": {
|
|
8
|
+
"data": {
|
|
9
|
+
"access_token": "\u0422\u043e\u043a\u0435\u043d \u043e\u0441\u043e\u0431\u0438\u0441\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0443 (PAT)",
|
|
10
|
+
"country": "\u041a\u0440\u0430\u0457\u043d\u0430"
|
|
11
|
+
},
|
|
12
|
+
"description": "\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044c ThinQ [PAT(Personal Access Token)]({pat_url}), \u0441\u0442\u0432\u043e\u0440\u0435\u043d\u0438\u0439 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043e\u0431\u043b\u0456\u043a\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0438\u0441\u0443 LG ThinQ.",
|
|
13
|
+
"title": "\u041f\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044f \u0434\u043e ThinQ"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"entity": {
|
|
18
|
+
"binary_sensor": {
|
|
19
|
+
"eco_friendly_mode": {
|
|
20
|
+
"name": "\u0415\u043a\u043e\u043b\u043e\u0433\u0456\u0447\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c"
|
|
21
|
+
},
|
|
22
|
+
"power_save_enabled": {
|
|
23
|
+
"name": "\u0420\u0435\u0436\u0438\u043c \u0435\u043d\u0435\u0440\u0433\u043e\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f"
|
|
24
|
+
},
|
|
25
|
+
"remote_control_enabled": {
|
|
26
|
+
"name": "\u041f\u0443\u043b\u044c\u0442 \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0456\u0439\u043d\u043e\u0433\u043e \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f"
|
|
27
|
+
},
|
|
28
|
+
"rinse_refill": {
|
|
29
|
+
"name": "\u041f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0434\u043e\u043b\u0438\u0442\u0438 \u043e\u043f\u043e\u043b\u0456\u0441\u043a\u0443\u0432\u0430\u0447"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"switch": {
|
|
33
|
+
"operation_power": {
|
|
34
|
+
"name": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043d\u044f"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -86,5 +86,24 @@
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
|
+
"services": {
|
|
90
|
+
"toggle": {
|
|
91
|
+
"description": "\u041f\u0435\u0440\u0435\u043c\u0438\u043a\u0430\u0454 \u043e\u0434\u043d\u0435 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0432\u0456\u0442\u0438\u043b\u044c\u043d\u0438\u043a\u0456\u0432 \u0437 \u0443\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e\u0433\u043e \u043d\u0430 \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u0438\u0439 \u0441\u0442\u0430\u043d \u0430\u0431\u043e \u0437 \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e\u0433\u043e \u043d\u0430 \u0443\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u0438\u0439, \u0437\u0430\u043b\u0435\u0436\u043d\u043e \u0432\u0456\u0434 \u0457\u0445\u043d\u044c\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u043d\u0443.",
|
|
92
|
+
"fields": {
|
|
93
|
+
"brightness_pct": {
|
|
94
|
+
"name": "\u042f\u0441\u043a\u0440\u0430\u0432\u0456\u0441\u0442\u044c"
|
|
95
|
+
},
|
|
96
|
+
"profile": {
|
|
97
|
+
"name": "\u041f\u0440\u043e\u0444\u0456\u043b\u044c"
|
|
98
|
+
},
|
|
99
|
+
"rgb_color": {
|
|
100
|
+
"name": "\u041a\u043e\u043b\u0456\u0440"
|
|
101
|
+
},
|
|
102
|
+
"transition": {
|
|
103
|
+
"name": "\u041f\u0435\u0440\u0435\u0445\u0456\u0434"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
89
108
|
"title": "\u041e\u0441\u0432\u0456\u0442\u043b\u0435\u043d\u043d\u044f"
|
|
90
109
|
}
|
|
@@ -26,6 +26,27 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"entity": {
|
|
29
|
+
"binary_sensor": {
|
|
30
|
+
"sleep_mode": {
|
|
31
|
+
"name": "\u0421\u043f\u043b\u044f\u0447\u0438\u0439 \u0440\u0435\u0436\u0438\u043c"
|
|
32
|
+
},
|
|
33
|
+
"sleeping": {
|
|
34
|
+
"name": "\u0421\u043e\u043d"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"button": {
|
|
38
|
+
"reset_waste_drawer": {
|
|
39
|
+
"name": "\u0421\u043a\u0438\u043d\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0432\u0456\u0434\u0445\u043e\u0434\u0456\u0432"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"select": {
|
|
43
|
+
"brightness_level": {
|
|
44
|
+
"name": "\u042f\u0441\u043a\u0440\u0430\u0432\u0456\u0441\u0442\u044c \u043f\u0430\u043d\u0435\u043b\u0456"
|
|
45
|
+
},
|
|
46
|
+
"cycle_delay": {
|
|
47
|
+
"name": "\u0427\u0430\u0441 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0446\u0438\u043a\u043b\u0443 \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044f (\u0445\u0432\u0438\u043b\u0438\u043d\u0438)"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
29
50
|
"sensor": {
|
|
30
51
|
"hopper_status": {
|
|
31
52
|
"state": {
|
|
@@ -193,6 +193,9 @@
|
|
|
193
193
|
"auto_relock_timer": {
|
|
194
194
|
"name": "Tempo para voltar a trancar automaticamente"
|
|
195
195
|
},
|
|
196
|
+
"cook_time": {
|
|
197
|
+
"name": "Tempo de cozedura"
|
|
198
|
+
},
|
|
196
199
|
"led_indicator_intensity_off": {
|
|
197
200
|
"name": "Intensidade do LED desligado"
|
|
198
201
|
},
|
|
@@ -438,6 +441,9 @@
|
|
|
438
441
|
"hepa_filter_condition": {
|
|
439
442
|
"name": "Estado do filtro Hepa"
|
|
440
443
|
},
|
|
444
|
+
"nitrogen_dioxide": {
|
|
445
|
+
"name": "Di\u00f3xido de azoto"
|
|
446
|
+
},
|
|
441
447
|
"operational_state": {
|
|
442
448
|
"name": "Estado operacional",
|
|
443
449
|
"state": {
|
|
@@ -187,6 +187,9 @@
|
|
|
187
187
|
"auto_relock_timer": {
|
|
188
188
|
"name": "\u0412\u0440\u0435\u043c\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438"
|
|
189
189
|
},
|
|
190
|
+
"cook_time": {
|
|
191
|
+
"name": "\u0412\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f"
|
|
192
|
+
},
|
|
190
193
|
"led_indicator_intensity_off": {
|
|
191
194
|
"name": "\u0418\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430"
|
|
192
195
|
},
|
|
@@ -417,6 +420,9 @@
|
|
|
417
420
|
"hepa_filter_condition": {
|
|
418
421
|
"name": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 HEPA-\u0444\u0438\u043b\u044c\u0442\u0440\u0430"
|
|
419
422
|
},
|
|
423
|
+
"nitrogen_dioxide": {
|
|
424
|
+
"name": "\u0414\u0438\u043e\u043a\u0441\u0438\u0434 \u0430\u0437\u043e\u0442\u0430"
|
|
425
|
+
},
|
|
420
426
|
"operational_state": {
|
|
421
427
|
"name": "\u0420\u0430\u0431\u043e\u0447\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435",
|
|
422
428
|
"state": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"reauth_confirm": {
|
|
17
17
|
"data": {
|
|
18
18
|
"password": "Palavra-passe",
|
|
19
|
-
"username": "
|
|
19
|
+
"username": "Email"
|
|
20
20
|
},
|
|
21
21
|
"description": "A integra\u00e7\u00e3o do MELCloud precisa de autenticar novamente os seus detalhes de liga\u00e7\u00e3o",
|
|
22
22
|
"title": "A autentica\u00e7\u00e3o expirou para {name}"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"user": {
|
|
35
35
|
"data": {
|
|
36
36
|
"password": "Palavra-passe",
|
|
37
|
-
"username": "
|
|
37
|
+
"username": "Email"
|
|
38
38
|
},
|
|
39
39
|
"description": "Ligue-se usando sua conta MELCloud.",
|
|
40
40
|
"title": "Conectar ao MELCloud"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"data": {
|
|
15
15
|
"api_key": "Chave da API"
|
|
16
16
|
},
|
|
17
|
-
"description": "Volte a introduzir a sua chave da API do DataHub. Se ainda estiver a utilizar uma chave API Datapoint antiga, tem de se inscrever na API DataHub agora, consulte [
|
|
17
|
+
"description": "Volte a introduzir a sua chave da API do DataHub. Se ainda estiver a utilizar uma chave API Datapoint antiga, tem de se inscrever na API DataHub agora, consulte [documenta\u00e7\u00e3o]({docs_url}) para obter mais informa\u00e7\u00f5es.",
|
|
18
18
|
"title": "Reautenticar com a API do DataHub"
|
|
19
19
|
},
|
|
20
20
|
"user": {
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
import asyncio
|
|
5
|
+
import asyncio
|
|
6
6
|
from collections.abc import Callable
|
|
7
7
|
from dataclasses import dataclass
|
|
8
8
|
from datetime import timedelta
|
|
9
9
|
import logging
|
|
10
10
|
|
|
11
|
+
from aiohttp import ClientResponseError
|
|
11
12
|
from pymiele import MieleAction, MieleAPI, MieleDevice
|
|
12
13
|
|
|
13
14
|
from homeassistant.config_entries import ConfigEntry
|
|
@@ -66,7 +67,22 @@ class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
|
|
|
66
67
|
self.devices = devices
|
|
67
68
|
actions = {}
|
|
68
69
|
for device_id in devices:
|
|
69
|
-
|
|
70
|
+
try:
|
|
71
|
+
actions_json = await self.api.get_actions(device_id)
|
|
72
|
+
except ClientResponseError as err:
|
|
73
|
+
_LOGGER.debug(
|
|
74
|
+
"Error fetching actions for device %s: Status: %s, Message: %s",
|
|
75
|
+
device_id,
|
|
76
|
+
err.status,
|
|
77
|
+
err.message,
|
|
78
|
+
)
|
|
79
|
+
actions_json = {}
|
|
80
|
+
except TimeoutError:
|
|
81
|
+
_LOGGER.debug(
|
|
82
|
+
"Timeout fetching actions for device %s",
|
|
83
|
+
device_id,
|
|
84
|
+
)
|
|
85
|
+
actions_json = {}
|
|
70
86
|
actions[device_id] = MieleAction(actions_json)
|
|
71
87
|
return MieleCoordinatorData(devices=devices, actions=actions)
|
|
72
88
|
|
|
@@ -402,7 +402,7 @@
|
|
|
402
402
|
"cottons_hygiene": "Higiene dos algod\u00f5es",
|
|
403
403
|
"courgette_diced": "Courgette (cortada em cubos)",
|
|
404
404
|
"courgette_sliced": "Courgette (cortada em peda\u00e7os)",
|
|
405
|
-
"cranberries": "
|
|
405
|
+
"cranberries": "Arandos",
|
|
406
406
|
"crevettes": "Crevettes",
|
|
407
407
|
"curtains": "Cortinados",
|
|
408
408
|
"custom_program_1": "Programa personalizado 1",
|
|
@@ -877,7 +877,7 @@
|
|
|
877
877
|
"white_asparagus_medium": "Espargos brancos (m\u00e9dios)",
|
|
878
878
|
"white_asparagus_thick": "Espargos brancos (grossos)",
|
|
879
879
|
"white_asparagus_thin": "Espargos brancos (finos)",
|
|
880
|
-
"white_beans": "Feij\u00e3o
|
|
880
|
+
"white_beans": "Feij\u00e3o-branco",
|
|
881
881
|
"white_bread_baking_tin": "P\u00e3o branco (forma)",
|
|
882
882
|
"white_bread_on_tray": "P\u00e3o branco (tabuleiro)",
|
|
883
883
|
"white_rolls": "Bolinhas",
|
|
@@ -708,7 +708,7 @@
|
|
|
708
708
|
"pyrolytic": "Pyrolytisk",
|
|
709
709
|
"quiche_lorraine": "Quiche Lorraine",
|
|
710
710
|
"quick_mw": "Snabb MW",
|
|
711
|
-
"quick_power_wash": "
|
|
711
|
+
"quick_power_wash": "QuickPowerWash",
|
|
712
712
|
"quinces_diced": "Kvittenfrukter (t\u00e4rnade)",
|
|
713
713
|
"quinoa": "Quinoa",
|
|
714
714
|
"rabbit": "Kanin",
|
|
@@ -916,7 +916,7 @@
|
|
|
916
916
|
"dispensing": "Dispensering",
|
|
917
917
|
"docked": "Dockad",
|
|
918
918
|
"door_open": "D\u00f6rr \u00f6ppen",
|
|
919
|
-
"drain": "
|
|
919
|
+
"drain": "T\u00f6mmer",
|
|
920
920
|
"drying": "Torkar",
|
|
921
921
|
"dust_box_missing": "Saknar damml\u00e5da",
|
|
922
922
|
"energy_save": "Energibesparing",
|
|
@@ -965,7 +965,7 @@
|
|
|
965
965
|
"slow_roasting": "L\u00e5ngsam rostning",
|
|
966
966
|
"smoothing": "Utj\u00e4mning",
|
|
967
967
|
"soak": "Bl\u00f6tl\u00e4gg",
|
|
968
|
-
"spin": "
|
|
968
|
+
"spin": "Centrifugerar",
|
|
969
969
|
"starch_stop": "Stopp f\u00f6r st\u00e4rkelse",
|
|
970
970
|
"steam_reduction": "\u00c5ngreducering",
|
|
971
971
|
"steam_smoothing": "\u00c5ngutj\u00e4mning",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"step": {
|
|
12
12
|
"user": {
|
|
13
13
|
"data": {
|
|
14
|
-
"email": "
|
|
14
|
+
"email": "Email",
|
|
15
15
|
"mfa_code": "Introduza o seu c\u00f3digo MFA",
|
|
16
16
|
"mfa_secret": "Adicione o seu segredo MFA. Consulte os documentos para obter ajuda.",
|
|
17
17
|
"password": "Palavra-passe"
|
|
18
18
|
},
|
|
19
|
-
"description": "Introduza o seu email e palavra-passe Monarch Money. Se necess\u00e1rio, ser
|
|
19
|
+
"description": "Introduza o seu email e palavra-passe Monarch Money. Se necess\u00e1rio, ser\u00e1 tamb\u00e9m pedido o c\u00f3digo MFA."
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
},
|
|
@@ -629,7 +629,7 @@
|
|
|
629
629
|
},
|
|
630
630
|
"data_description": {
|
|
631
631
|
"direction_command_template": "[\u0160ablona](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) pro sestaven\u00ed dat, kter\u00e1 maj\u00ed b\u00fdt publikov\u00e1na v t\u00e9matu p\u0159\u00edkazu \"direction\". Prom\u011bnn\u00e1 \u0161ablony \"value\" bude bu\u010f \"forward\" nebo \"reverse\".",
|
|
632
|
-
"direction_command_topic": "T\u00e9ma MQTT pro publikov\u00e1n\u00ed p\u0159\u00edkaz\u016f pro zm\u011bnu sm\u011bru ot\u00e1\u010den\u00ed ventil\u00e1toru
|
|
632
|
+
"direction_command_topic": "T\u00e9ma MQTT pro publikov\u00e1n\u00ed p\u0159\u00edkaz\u016f pro zm\u011bnu sm\u011bru ot\u00e1\u010den\u00ed ventil\u00e1toru. Datov\u00e1 \u010d\u00e1st bude bu\u010f \"forward\" nebo \"reverse\". Pro p\u0159izp\u016fsoben\u00ed sm\u011bru ot\u00e1\u010den\u00ed pou\u017eijte \u0161ablonu p\u0159\u00edkazu \"direction\". [V\u00edce informac\u00ed]({url}#direction_command_topic)",
|
|
633
633
|
"direction_state_topic": "T\u00e9ma MQTT se p\u0159ihl\u00e1silo k odb\u011bru informac\u00ed o sm\u011bru ot\u00e1\u010den\u00ed ventil\u00e1toru. Akceptovan\u00e9 stavy jsou \"forward\" nebo \"reverse\". [V\u00edce informac\u00ed]({url}#direction_state_topic)",
|
|
634
634
|
"direction_value_template": "Definuje [\u0161ablonu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) pro extrakci hodnoty sm\u011bru ot\u00e1\u010den\u00ed ventil\u00e1toru. \u0160ablona by m\u011bla vracet bu\u010f \"forward\", nebo \"reverse\". Pokud \u0161ablona vr\u00e1t\u00ed pr\u00e1zdn\u00fd \u0159et\u011bzec, sm\u011br bude ignorov\u00e1n."
|
|
635
635
|
},
|