homeassistant 2025.7.0b0__py3-none-any.whl → 2025.7.0b2__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/components/aemet/sensor.py +1 -1
- homeassistant/components/airq/coordinator.py +2 -2
- homeassistant/components/alexa_devices/__init__.py +5 -2
- homeassistant/components/alexa_devices/notify.py +2 -0
- homeassistant/components/alexa_devices/quality_scale.yaml +1 -1
- homeassistant/components/alexa_devices/strings.json +11 -4
- homeassistant/components/alexa_devices/switch.py +2 -0
- homeassistant/components/alexa_devices/translations/bg.json +6 -4
- homeassistant/components/alexa_devices/translations/cs.json +12 -5
- homeassistant/components/alexa_devices/translations/de.json +14 -7
- homeassistant/components/alexa_devices/translations/el.json +12 -5
- homeassistant/components/alexa_devices/translations/en.json +12 -5
- homeassistant/components/alexa_devices/translations/es.json +12 -5
- homeassistant/components/alexa_devices/translations/et.json +12 -5
- homeassistant/components/alexa_devices/translations/ga.json +0 -6
- homeassistant/components/alexa_devices/translations/he.json +0 -4
- homeassistant/components/alexa_devices/translations/hu.json +0 -4
- homeassistant/components/alexa_devices/translations/id.json +1 -0
- homeassistant/components/alexa_devices/translations/lt.json +0 -4
- homeassistant/components/alexa_devices/translations/mk.json +12 -0
- homeassistant/components/alexa_devices/translations/nl.json +0 -4
- homeassistant/components/alexa_devices/translations/pl.json +0 -4
- homeassistant/components/alexa_devices/translations/pt.json +0 -4
- homeassistant/components/alexa_devices/translations/ru.json +4 -5
- homeassistant/components/alexa_devices/translations/sk.json +12 -5
- homeassistant/components/alexa_devices/translations/sv.json +17 -5
- homeassistant/components/alexa_devices/translations/tr.json +0 -4
- homeassistant/components/alexa_devices/translations/zh-Hans.json +27 -5
- homeassistant/components/alexa_devices/translations/zh-Hant.json +12 -5
- homeassistant/components/alexa_devices/utils.py +40 -0
- homeassistant/components/altruist/translations/id.json +11 -0
- homeassistant/components/anthropic/__init__.py +14 -1
- homeassistant/components/anthropic/translations/bg.json +21 -0
- homeassistant/components/anthropic/translations/ga.json +32 -1
- homeassistant/components/anthropic/translations/id.json +19 -0
- homeassistant/components/anthropic/translations/ru.json +30 -0
- homeassistant/components/backup/translations/de.json +1 -1
- homeassistant/components/buienradar/sensor.py +0 -1
- homeassistant/components/cambridge_audio/translations/sv.json +1 -1
- homeassistant/components/comelit/translations/de.json +1 -1
- homeassistant/components/counter/translations/sv.json +2 -2
- homeassistant/components/demo/translations/select.sv.json +2 -2
- homeassistant/components/derivative/translations/ga.json +20 -0
- homeassistant/components/derivative/translations/ru.json +3 -0
- homeassistant/components/devolo_home_control/translations/bg.json +6 -0
- homeassistant/components/devolo_home_control/translations/id.json +5 -0
- homeassistant/components/devolo_home_control/translations/sv.json +10 -0
- homeassistant/components/devolo_home_control/translations/zh-Hans.json +10 -0
- homeassistant/components/dlink/manifest.json +1 -1
- homeassistant/components/ecovacs/translations/sv.json +1 -1
- homeassistant/components/enphase_envoy/translations/sv.json +5 -2
- homeassistant/components/ezviz/translations/bg.json +6 -0
- homeassistant/components/ezviz/translations/mk.json +13 -0
- homeassistant/components/ezviz/translations/sv.json +10 -0
- homeassistant/components/ezviz/translations/zh-Hans.json +10 -0
- homeassistant/components/fronius/translations/sv.json +2 -2
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/goodwe/translations/sv.json +5 -5
- homeassistant/components/google_generative_ai_conversation/__init__.py +21 -0
- homeassistant/components/google_generative_ai_conversation/config_flow.py +72 -36
- homeassistant/components/google_generative_ai_conversation/const.py +15 -2
- homeassistant/components/google_generative_ai_conversation/diagnostics.py +1 -0
- homeassistant/components/google_generative_ai_conversation/entity.py +7 -2
- homeassistant/components/google_generative_ai_conversation/helpers.py +73 -0
- homeassistant/components/google_generative_ai_conversation/strings.json +28 -1
- homeassistant/components/google_generative_ai_conversation/translations/bg.json +19 -0
- homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/de.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/el.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/en.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/es.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/et.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/ga.json +9 -0
- homeassistant/components/google_generative_ai_conversation/translations/id.json +30 -0
- homeassistant/components/google_generative_ai_conversation/translations/mk.json +11 -0
- homeassistant/components/google_generative_ai_conversation/translations/ru.json +67 -0
- homeassistant/components/google_generative_ai_conversation/translations/sk.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/sv.json +23 -0
- homeassistant/components/google_generative_ai_conversation/translations/zh-Hans.json +28 -0
- homeassistant/components/google_generative_ai_conversation/translations/zh-Hant.json +28 -0
- homeassistant/components/google_generative_ai_conversation/tts.py +48 -106
- homeassistant/components/group/translations/el.json +18 -18
- homeassistant/components/habitica/const.py +1 -1
- homeassistant/components/harmony/translations/select.sv.json +1 -1
- homeassistant/components/harmony/translations/sv.json +1 -1
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +89 -7
- homeassistant/components/homeassistant_hardware/strings.json +2 -1
- homeassistant/components/homeassistant_hardware/translations/de.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/en.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/ga.json +9 -0
- homeassistant/components/homeassistant_hardware/translations/mk.json +9 -0
- homeassistant/components/homeassistant_sky_connect/config_flow.py +1 -1
- homeassistant/components/homeassistant_sky_connect/strings.json +4 -2
- homeassistant/components/homeassistant_sky_connect/translations/de.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/en.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +10 -0
- homeassistant/components/homeassistant_sky_connect/translations/mk.json +7 -0
- homeassistant/components/homeassistant_yellow/strings.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/bg.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/cs.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/de.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/el.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/en.json +2 -1
- homeassistant/components/homeassistant_yellow/translations/es.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/et.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/fr.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/ga.json +5 -0
- homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/hu.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/it.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/ja.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/lt.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/pt.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/ru.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/sk.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/sv.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/tr.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +0 -1
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +0 -1
- homeassistant/components/homewizard/translations/sv.json +3 -1
- homeassistant/components/http/auth.py +1 -1
- homeassistant/components/image/__init__.py +34 -3
- homeassistant/components/input_number/translations/sv.json +2 -2
- homeassistant/components/input_select/translations/sv.json +6 -6
- homeassistant/components/input_text/translations/sv.json +1 -1
- homeassistant/components/iron_os/manifest.json +1 -1
- homeassistant/components/iron_os/translations/sv.json +1 -1
- homeassistant/components/keenetic_ndms2/translations/id.json +3 -0
- homeassistant/components/lamarzocco/entity.py +19 -1
- homeassistant/components/lamarzocco/number.py +0 -4
- homeassistant/components/lamarzocco/sensor.py +2 -4
- homeassistant/components/lamarzocco/translations/sv.json +3 -3
- homeassistant/components/lametric/translations/sv.json +2 -2
- homeassistant/components/lametric/update.py +1 -1
- homeassistant/components/lg_thinq/translations/sv.json +5 -5
- homeassistant/components/litterrobot/translations/bg.json +4 -0
- homeassistant/components/litterrobot/translations/ga.json +3 -0
- homeassistant/components/matter/translations/id.json +5 -0
- homeassistant/components/matter/vacuum.py +38 -26
- homeassistant/components/meater/__init__.py +5 -1
- homeassistant/components/meater/coordinator.py +4 -2
- homeassistant/components/media_source/local_source.py +21 -4
- homeassistant/components/minecraft_server/translations/sv.json +1 -1
- homeassistant/components/motioneye/translations/sv.json +1 -1
- homeassistant/components/mqtt/translations/bg.json +10 -0
- homeassistant/components/mqtt/translations/cs.json +19 -0
- homeassistant/components/mqtt/translations/el.json +21 -0
- homeassistant/components/mqtt/translations/fi.json +3 -0
- homeassistant/components/mqtt/translations/ga.json +25 -0
- homeassistant/components/mqtt/translations/mk.json +23 -0
- homeassistant/components/mqtt/translations/ru.json +1 -0
- homeassistant/components/mqtt/translations/sv.json +24 -0
- homeassistant/components/mqtt/translations/zh-Hans.json +26 -0
- homeassistant/components/mqtt/translations/zh-Hant.json +19 -0
- homeassistant/components/music_assistant/button.py +0 -6
- homeassistant/components/ntfy/translations/id.json +13 -0
- homeassistant/components/ntfy/translations/sv.json +1 -0
- homeassistant/components/number/translations/sv.json +2 -2
- homeassistant/components/nut/config_flow.py +4 -2
- homeassistant/components/ohme/translations/sv.json +1 -1
- homeassistant/components/ollama/__init__.py +8 -0
- homeassistant/components/ollama/const.py +2 -0
- homeassistant/components/ollama/translations/bg.json +19 -0
- homeassistant/components/ollama/translations/ga.json +31 -1
- homeassistant/components/ollama/translations/id.json +18 -0
- homeassistant/components/ollama/translations/mk.json +13 -1
- homeassistant/components/ollama/translations/sv.json +1 -0
- homeassistant/components/onewire/translations/sv.json +4 -4
- homeassistant/components/openai_conversation/__init__.py +8 -0
- homeassistant/components/openai_conversation/const.py +1 -1
- homeassistant/components/openai_conversation/conversation.py +1 -1
- homeassistant/components/openai_conversation/translations/bg.json +26 -0
- homeassistant/components/openai_conversation/translations/id.json +23 -0
- homeassistant/components/openai_conversation/translations/mk.json +44 -0
- homeassistant/components/openai_conversation/translations/sv.json +4 -0
- homeassistant/components/playstation_network/diagnostics.py +55 -0
- homeassistant/components/playstation_network/quality_scale.yaml +1 -1
- homeassistant/components/playstation_network/translations/bg.json +25 -1
- homeassistant/components/playstation_network/translations/es.json +1 -1
- homeassistant/components/playstation_network/translations/ga.json +31 -0
- homeassistant/components/playstation_network/translations/id.json +14 -0
- homeassistant/components/playstation_network/translations/mk.json +18 -0
- homeassistant/components/playstation_network/translations/pl.json +73 -0
- homeassistant/components/playstation_network/translations/sv.json +29 -0
- homeassistant/components/playstation_network/translations/zh-Hans.json +29 -0
- homeassistant/components/plugwise/translations/sv.json +2 -2
- homeassistant/components/qnap/translations/sv.json +1 -1
- homeassistant/components/random/translations/sv.json +4 -4
- homeassistant/components/remote_calendar/translations/fi.json +34 -0
- homeassistant/components/select/translations/sv.json +10 -10
- homeassistant/components/smarla/__init__.py +2 -2
- homeassistant/components/sonos/translations/bg.json +5 -0
- homeassistant/components/sonos/translations/cs.json +6 -0
- homeassistant/components/sonos/translations/el.json +6 -0
- homeassistant/components/sonos/translations/ga.json +8 -0
- homeassistant/components/sonos/translations/mk.json +10 -0
- homeassistant/components/sonos/translations/ru.json +6 -0
- homeassistant/components/sonos/translations/sv.json +6 -0
- homeassistant/components/sonos/translations/zh-Hans.json +9 -0
- homeassistant/components/sonos/translations/zh-Hant.json +6 -0
- homeassistant/components/subaru/strings.json +2 -2
- homeassistant/components/subaru/translations/ca.json +0 -1
- homeassistant/components/subaru/translations/cs.json +0 -2
- homeassistant/components/subaru/translations/de.json +2 -2
- homeassistant/components/subaru/translations/el.json +0 -2
- homeassistant/components/subaru/translations/en-GB.json +0 -2
- homeassistant/components/subaru/translations/en.json +2 -2
- homeassistant/components/subaru/translations/es.json +0 -2
- homeassistant/components/subaru/translations/et.json +0 -2
- homeassistant/components/subaru/translations/fi.json +0 -1
- homeassistant/components/subaru/translations/hu.json +0 -2
- homeassistant/components/subaru/translations/it.json +0 -1
- homeassistant/components/subaru/translations/ja.json +0 -1
- homeassistant/components/subaru/translations/ko.json +0 -1
- homeassistant/components/subaru/translations/lt.json +0 -2
- homeassistant/components/subaru/translations/pt-BR.json +0 -1
- homeassistant/components/subaru/translations/pt.json +0 -2
- homeassistant/components/subaru/translations/ru.json +0 -2
- homeassistant/components/subaru/translations/sk.json +0 -2
- homeassistant/components/subaru/translations/sv.json +0 -2
- homeassistant/components/subaru/translations/tr.json +0 -2
- homeassistant/components/subaru/translations/zh-Hans.json +0 -2
- homeassistant/components/subaru/translations/zh-Hant.json +0 -2
- homeassistant/components/switchbot/translations/bg.json +26 -0
- homeassistant/components/switchbot/translations/ga.json +33 -0
- homeassistant/components/switchbot/translations/id.json +19 -0
- homeassistant/components/switchbot/translations/mk.json +49 -0
- homeassistant/components/switchbot/translations/sv.json +54 -0
- homeassistant/components/switchbot/translations/zh-Hans.json +53 -0
- homeassistant/components/telegram_bot/__init__.py +20 -4
- homeassistant/components/telegram_bot/bot.py +33 -29
- homeassistant/components/telegram_bot/config_flow.py +66 -20
- homeassistant/components/telegram_bot/const.py +1 -1
- homeassistant/components/telegram_bot/strings.json +33 -10
- homeassistant/components/telegram_bot/translations/bg.json +0 -1
- homeassistant/components/telegram_bot/translations/cs.json +35 -12
- homeassistant/components/telegram_bot/translations/de.json +35 -12
- homeassistant/components/telegram_bot/translations/el.json +35 -12
- homeassistant/components/telegram_bot/translations/en-GB.json +6 -11
- homeassistant/components/telegram_bot/translations/en.json +35 -12
- homeassistant/components/telegram_bot/translations/es.json +35 -12
- homeassistant/components/telegram_bot/translations/et.json +34 -11
- homeassistant/components/telegram_bot/translations/fr.json +5 -12
- homeassistant/components/telegram_bot/translations/ga.json +5 -11
- homeassistant/components/telegram_bot/translations/he.json +3 -8
- homeassistant/components/telegram_bot/translations/hu.json +5 -12
- homeassistant/components/telegram_bot/translations/id.json +0 -5
- homeassistant/components/telegram_bot/translations/it.json +2 -5
- homeassistant/components/telegram_bot/translations/lt.json +5 -12
- homeassistant/components/telegram_bot/translations/mk.json +7 -5
- homeassistant/components/telegram_bot/translations/nl.json +5 -12
- homeassistant/components/telegram_bot/translations/pt.json +5 -12
- homeassistant/components/telegram_bot/translations/ru.json +12 -11
- homeassistant/components/telegram_bot/translations/sk.json +35 -12
- homeassistant/components/telegram_bot/translations/sv.json +28 -12
- homeassistant/components/telegram_bot/translations/tr.json +5 -12
- homeassistant/components/telegram_bot/translations/zh-Hans.json +35 -12
- homeassistant/components/telegram_bot/translations/zh-Hant.json +35 -12
- homeassistant/components/template/translations/sv.json +5 -5
- homeassistant/components/text/translations/sv.json +1 -1
- homeassistant/components/tilt_pi/translations/id.json +11 -0
- homeassistant/components/tts/__init__.py +15 -0
- homeassistant/components/unifiprotect/translations/zh-Hans.json +3 -3
- homeassistant/components/utility_meter/translations/sv.json +9 -9
- homeassistant/components/vegehub/translations/bg.json +2 -0
- homeassistant/components/vegehub/translations/id.json +11 -0
- homeassistant/components/vegehub/translations/sv.json +2 -1
- homeassistant/components/vicare/translations/sv.json +2 -2
- homeassistant/components/whirlpool/translations/sv.json +12 -12
- homeassistant/components/wyoming/translations/sv.json +2 -2
- homeassistant/components/zha/translations/bg.json +23 -0
- homeassistant/components/zha/translations/el.json +10 -0
- homeassistant/components/zha/translations/ga.json +20 -0
- homeassistant/components/zha/translations/id.json +6 -0
- homeassistant/components/zha/translations/sv.json +23 -0
- homeassistant/components/zha/translations/zh-Hans.json +50 -0
- homeassistant/components/zwave_js/api.py +1 -1
- homeassistant/components/zwave_js/config_flow.py +15 -68
- homeassistant/components/zwave_js/manifest.json +1 -1
- homeassistant/components/zwave_js/strings.json +1 -5
- homeassistant/components/zwave_js/translations/bg.json +0 -3
- homeassistant/components/zwave_js/translations/cs.json +0 -5
- homeassistant/components/zwave_js/translations/de.json +1 -5
- homeassistant/components/zwave_js/translations/el.json +0 -5
- homeassistant/components/zwave_js/translations/en-GB.json +1 -5
- homeassistant/components/zwave_js/translations/en.json +1 -5
- homeassistant/components/zwave_js/translations/es.json +1 -5
- homeassistant/components/zwave_js/translations/et.json +0 -5
- homeassistant/components/zwave_js/translations/ga.json +0 -5
- homeassistant/components/zwave_js/translations/hu.json +0 -5
- homeassistant/components/zwave_js/translations/lt.json +0 -5
- homeassistant/components/zwave_js/translations/mk.json +0 -5
- homeassistant/components/zwave_js/translations/pt.json +0 -5
- homeassistant/components/zwave_js/translations/ru.json +0 -5
- homeassistant/components/zwave_js/translations/sk.json +0 -5
- homeassistant/components/zwave_js/translations/sv.json +0 -5
- homeassistant/components/zwave_js/translations/zh-Hans.json +0 -5
- homeassistant/components/zwave_js/translations/zh-Hant.json +1 -5
- homeassistant/config_entries.py +6 -0
- homeassistant/const.py +1 -1
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/METADATA +1 -1
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/RECORD +312 -294
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/WHEEL +0 -0
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/top_level.txt +0 -0
|
@@ -57,10 +57,6 @@ ENTITIES: tuple[LaMarzoccoSensorEntityDescription, ...] = (
|
|
|
57
57
|
).ready_start_time
|
|
58
58
|
),
|
|
59
59
|
entity_category=EntityCategory.DIAGNOSTIC,
|
|
60
|
-
available_fn=(
|
|
61
|
-
lambda coordinator: WidgetType.CM_COFFEE_BOILER
|
|
62
|
-
in coordinator.device.dashboard.config
|
|
63
|
-
),
|
|
64
60
|
),
|
|
65
61
|
LaMarzoccoSensorEntityDescription(
|
|
66
62
|
key="steam_boiler_ready_time",
|
|
@@ -188,6 +184,8 @@ class LaMarzoccoSensorEntity(LaMarzoccoEntity, SensorEntity):
|
|
|
188
184
|
class LaMarzoccoStatisticSensorEntity(LaMarzoccoSensorEntity):
|
|
189
185
|
"""Sensor for La Marzocco statistics."""
|
|
190
186
|
|
|
187
|
+
_unavailable_when_machine_off = False
|
|
188
|
+
|
|
191
189
|
@property
|
|
192
190
|
def native_value(self) -> StateType | datetime | None:
|
|
193
191
|
"""Return the value of the sensor."""
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
},
|
|
106
106
|
"select": {
|
|
107
107
|
"prebrew_infusion_select": {
|
|
108
|
-
"name": "F\
|
|
108
|
+
"name": "F\u00f6rbryggnings-/f\u00f6rinfusionsl\u00e4ge",
|
|
109
109
|
"state": {
|
|
110
110
|
"disabled": "Inaktiverad",
|
|
111
111
|
"prebrew": "F\u00f6rbryggning",
|
|
@@ -113,14 +113,14 @@
|
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
"smart_standby_mode": {
|
|
116
|
-
"name": "Smart
|
|
116
|
+
"name": "Smart vilol\u00e4ge",
|
|
117
117
|
"state": {
|
|
118
118
|
"last_brewing": "Senaste bryggning",
|
|
119
119
|
"power_on": "Str\u00f6m p\u00e5"
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
"steam_temp_select": {
|
|
123
|
-
"name": "\
|
|
123
|
+
"name": "\u00c5ngniv\u00e5",
|
|
124
124
|
"state": {
|
|
125
125
|
"1": "1",
|
|
126
126
|
"2": "2",
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
"description": "Visar ett diagram p\u00e5 en LaMetric-enhet.",
|
|
173
173
|
"fields": {
|
|
174
174
|
"cycles": {
|
|
175
|
-
"description": "Antalet g\u00e5nger meddelandet ska visas. Om
|
|
175
|
+
"description": "Antalet g\u00e5nger meddelandet ska visas. Om satt till 0 s\u00e5 visas meddelandet tills det avvisas.",
|
|
176
176
|
"name": "Cykler"
|
|
177
177
|
},
|
|
178
178
|
"data": {
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"description": "Visar ett meddelande med en valfri ikon p\u00e5 en LaMetric-enhet.",
|
|
203
203
|
"fields": {
|
|
204
204
|
"cycles": {
|
|
205
|
-
"description": "Antalet g\u00e5nger meddelandet ska visas. Om
|
|
205
|
+
"description": "Antalet g\u00e5nger meddelandet ska visas. Om satt till 0 s\u00e5 visas meddelandet tills det avvisas.",
|
|
206
206
|
"name": "Cykler"
|
|
207
207
|
},
|
|
208
208
|
"device_id": {
|
|
@@ -42,5 +42,5 @@ class LaMetricUpdate(LaMetricEntity, UpdateEntity):
|
|
|
42
42
|
def latest_version(self) -> str | None:
|
|
43
43
|
"""Return the latest version of the entity."""
|
|
44
44
|
if not self.coordinator.data.update:
|
|
45
|
-
return
|
|
45
|
+
return self.coordinator.data.os_version
|
|
46
46
|
return self.coordinator.data.update.version
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"event_type": {
|
|
164
164
|
"state": {
|
|
165
165
|
"charging_is_complete": "Laddningen \u00e4r klar",
|
|
166
|
-
"cleaning_is_complete": "
|
|
166
|
+
"cleaning_is_complete": "Cykel \u00e4r avslutad",
|
|
167
167
|
"cleaning_is_completed": "Reng\u00f6ring \u00e4r slutf\u00f6rd",
|
|
168
168
|
"cleaning_is_failed": "Reng\u00f6ring har misslyckats",
|
|
169
169
|
"cooking_is_complete": "Avst\u00e4ngd",
|
|
@@ -263,9 +263,9 @@
|
|
|
263
263
|
"state": {
|
|
264
264
|
"bake": "Gr\u00e4dda",
|
|
265
265
|
"convection_bake": "Konvektion gr\u00e4dda",
|
|
266
|
-
"convection_roast": "Konvektion
|
|
266
|
+
"convection_roast": "Konvektion ugnssteka",
|
|
267
267
|
"crisp_convection": "Krispig konvektion",
|
|
268
|
-
"roast": "
|
|
268
|
+
"roast": "Ugnssteka"
|
|
269
269
|
}
|
|
270
270
|
},
|
|
271
271
|
"cook_mode_for_location": {
|
|
@@ -273,9 +273,9 @@
|
|
|
273
273
|
"state": {
|
|
274
274
|
"bake": "Gr\u00e4dda",
|
|
275
275
|
"convection_bake": "Konvektion gr\u00e4dda",
|
|
276
|
-
"convection_roast": "Konvektion
|
|
276
|
+
"convection_roast": "Konvektion ugnssteka",
|
|
277
277
|
"crisp_convection": "Krispig konvektion",
|
|
278
|
-
"roast": "
|
|
278
|
+
"roast": "Ugnssteka"
|
|
279
279
|
}
|
|
280
280
|
},
|
|
281
281
|
"current_job_mode": {
|
|
@@ -60,6 +60,10 @@
|
|
|
60
60
|
"offline": "\u0418\u0437\u0432\u044a\u043d \u043b\u0438\u043d\u0438\u044f",
|
|
61
61
|
"p": "\u0412 \u043f\u0430\u0443\u0437\u0430"
|
|
62
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"total_cycles": {
|
|
65
|
+
"name": "\u041e\u0431\u0449\u043e \u0446\u0438\u043a\u043b\u0438",
|
|
66
|
+
"unit_of_measurement": "\u0446\u0438\u043a\u043b\u0438"
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
},
|
|
@@ -62,14 +62,25 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
62
62
|
|
|
63
63
|
_last_accepted_commands: list[int] | None = None
|
|
64
64
|
_supported_run_modes: (
|
|
65
|
-
dict[int, clusters.
|
|
65
|
+
dict[int, clusters.RvcRunMode.Structs.ModeOptionStruct] | None
|
|
66
66
|
) = None
|
|
67
67
|
entity_description: StateVacuumEntityDescription
|
|
68
68
|
_platform_translation_key = "vacuum"
|
|
69
69
|
|
|
70
70
|
async def async_stop(self, **kwargs: Any) -> None:
|
|
71
71
|
"""Stop the vacuum cleaner."""
|
|
72
|
-
|
|
72
|
+
# We simply set the RvcRunMode to the first runmode
|
|
73
|
+
# that has the idle tag to stop the vacuum cleaner.
|
|
74
|
+
# this is compatible with both Matter 1.2 and 1.3+ devices.
|
|
75
|
+
supported_run_modes = self._supported_run_modes or {}
|
|
76
|
+
for mode in supported_run_modes.values():
|
|
77
|
+
for tag in mode.modeTags:
|
|
78
|
+
if tag.value == ModeTag.IDLE:
|
|
79
|
+
# stop the vacuum by changing the run mode to idle
|
|
80
|
+
await self.send_device_command(
|
|
81
|
+
clusters.RvcRunMode.Commands.ChangeToMode(newMode=mode.mode)
|
|
82
|
+
)
|
|
83
|
+
return
|
|
73
84
|
|
|
74
85
|
async def async_return_to_base(self, **kwargs: Any) -> None:
|
|
75
86
|
"""Set the vacuum cleaner to return to the dock."""
|
|
@@ -83,15 +94,30 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
83
94
|
"""Start or resume the cleaning task."""
|
|
84
95
|
if TYPE_CHECKING:
|
|
85
96
|
assert self._last_accepted_commands is not None
|
|
97
|
+
|
|
98
|
+
accepted_operational_commands = self._last_accepted_commands
|
|
86
99
|
if (
|
|
87
100
|
clusters.RvcOperationalState.Commands.Resume.command_id
|
|
88
|
-
in
|
|
101
|
+
in accepted_operational_commands
|
|
102
|
+
and self.state == VacuumActivity.PAUSED
|
|
89
103
|
):
|
|
104
|
+
# vacuum is paused and supports resume command
|
|
90
105
|
await self.send_device_command(
|
|
91
106
|
clusters.RvcOperationalState.Commands.Resume()
|
|
92
107
|
)
|
|
93
|
-
|
|
94
|
-
|
|
108
|
+
return
|
|
109
|
+
|
|
110
|
+
# We simply set the RvcRunMode to the first runmode
|
|
111
|
+
# that has the cleaning tag to start the vacuum cleaner.
|
|
112
|
+
# this is compatible with both Matter 1.2 and 1.3+ devices.
|
|
113
|
+
supported_run_modes = self._supported_run_modes or {}
|
|
114
|
+
for mode in supported_run_modes.values():
|
|
115
|
+
for tag in mode.modeTags:
|
|
116
|
+
if tag.value == ModeTag.CLEANING:
|
|
117
|
+
await self.send_device_command(
|
|
118
|
+
clusters.RvcRunMode.Commands.ChangeToMode(newMode=mode.mode)
|
|
119
|
+
)
|
|
120
|
+
return
|
|
95
121
|
|
|
96
122
|
async def async_pause(self) -> None:
|
|
97
123
|
"""Pause the cleaning task."""
|
|
@@ -130,6 +156,8 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
130
156
|
state = VacuumActivity.CLEANING
|
|
131
157
|
elif ModeTag.IDLE in tags:
|
|
132
158
|
state = VacuumActivity.IDLE
|
|
159
|
+
elif ModeTag.MAPPING in tags:
|
|
160
|
+
state = VacuumActivity.CLEANING
|
|
133
161
|
self._attr_activity = state
|
|
134
162
|
|
|
135
163
|
@callback
|
|
@@ -143,7 +171,10 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
143
171
|
return
|
|
144
172
|
self._last_accepted_commands = accepted_operational_commands
|
|
145
173
|
supported_features: VacuumEntityFeature = VacuumEntityFeature(0)
|
|
174
|
+
supported_features |= VacuumEntityFeature.START
|
|
146
175
|
supported_features |= VacuumEntityFeature.STATE
|
|
176
|
+
supported_features |= VacuumEntityFeature.STOP
|
|
177
|
+
|
|
147
178
|
# optional battery attribute = battery feature
|
|
148
179
|
if self.get_matter_attribute_value(
|
|
149
180
|
clusters.PowerSource.Attributes.BatPercentRemaining
|
|
@@ -153,7 +184,7 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
153
184
|
if self.get_matter_attribute_value(clusters.Identify.Attributes.IdentifyType):
|
|
154
185
|
supported_features |= VacuumEntityFeature.LOCATE
|
|
155
186
|
# create a map of supported run modes
|
|
156
|
-
run_modes: list[clusters.
|
|
187
|
+
run_modes: list[clusters.RvcRunMode.Structs.ModeOptionStruct] = (
|
|
157
188
|
self.get_matter_attribute_value(
|
|
158
189
|
clusters.RvcRunMode.Attributes.SupportedModes
|
|
159
190
|
)
|
|
@@ -165,22 +196,6 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
|
165
196
|
in accepted_operational_commands
|
|
166
197
|
):
|
|
167
198
|
supported_features |= VacuumEntityFeature.PAUSE
|
|
168
|
-
if (
|
|
169
|
-
clusters.OperationalState.Commands.Stop.command_id
|
|
170
|
-
in accepted_operational_commands
|
|
171
|
-
):
|
|
172
|
-
supported_features |= VacuumEntityFeature.STOP
|
|
173
|
-
if (
|
|
174
|
-
clusters.OperationalState.Commands.Start.command_id
|
|
175
|
-
in accepted_operational_commands
|
|
176
|
-
):
|
|
177
|
-
# note that start has been replaced by resume in rev2 of the spec
|
|
178
|
-
supported_features |= VacuumEntityFeature.START
|
|
179
|
-
if (
|
|
180
|
-
clusters.RvcOperationalState.Commands.Resume.command_id
|
|
181
|
-
in accepted_operational_commands
|
|
182
|
-
):
|
|
183
|
-
supported_features |= VacuumEntityFeature.START
|
|
184
199
|
if (
|
|
185
200
|
clusters.RvcOperationalState.Commands.GoHome.command_id
|
|
186
201
|
in accepted_operational_commands
|
|
@@ -202,10 +217,7 @@ DISCOVERY_SCHEMAS = [
|
|
|
202
217
|
clusters.RvcRunMode.Attributes.CurrentMode,
|
|
203
218
|
clusters.RvcOperationalState.Attributes.OperationalState,
|
|
204
219
|
),
|
|
205
|
-
optional_attributes=(
|
|
206
|
-
clusters.RvcCleanMode.Attributes.CurrentMode,
|
|
207
|
-
clusters.PowerSource.Attributes.BatPercentRemaining,
|
|
208
|
-
),
|
|
220
|
+
optional_attributes=(clusters.PowerSource.Attributes.BatPercentRemaining,),
|
|
209
221
|
device_type=(device_types.RoboticVacuumCleaner,),
|
|
210
222
|
allow_none_value=True,
|
|
211
223
|
),
|
|
@@ -25,4 +25,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: MeaterConfigEntry) -> bo
|
|
|
25
25
|
|
|
26
26
|
async def async_unload_entry(hass: HomeAssistant, entry: MeaterConfigEntry) -> bool:
|
|
27
27
|
"""Unload a config entry."""
|
|
28
|
-
|
|
28
|
+
if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
|
|
29
|
+
hass.data[MEATER_DATA] = (
|
|
30
|
+
hass.data[MEATER_DATA] - entry.runtime_data.found_probes
|
|
31
|
+
)
|
|
32
|
+
return unload_ok
|
|
@@ -44,6 +44,7 @@ class MeaterCoordinator(DataUpdateCoordinator[dict[str, MeaterProbe]]):
|
|
|
44
44
|
)
|
|
45
45
|
session = async_get_clientsession(hass)
|
|
46
46
|
self.client = MeaterApi(session)
|
|
47
|
+
self.found_probes: set[str] = set()
|
|
47
48
|
|
|
48
49
|
async def _async_setup(self) -> None:
|
|
49
50
|
"""Set up the Meater Coordinator."""
|
|
@@ -73,5 +74,6 @@ class MeaterCoordinator(DataUpdateCoordinator[dict[str, MeaterProbe]]):
|
|
|
73
74
|
raise UpdateFailed(
|
|
74
75
|
"Too many requests have been made to the API, rate limiting is in place"
|
|
75
76
|
) from err
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
res = {device.id: device for device in devices}
|
|
78
|
+
self.found_probes.update(set(res.keys()))
|
|
79
|
+
return res
|
|
@@ -210,10 +210,8 @@ class LocalMediaView(http.HomeAssistantView):
|
|
|
210
210
|
self.hass = hass
|
|
211
211
|
self.source = source
|
|
212
212
|
|
|
213
|
-
async def
|
|
214
|
-
|
|
215
|
-
) -> web.FileResponse:
|
|
216
|
-
"""Start a GET request."""
|
|
213
|
+
async def _validate_media_path(self, source_dir_id: str, location: str) -> Path:
|
|
214
|
+
"""Validate media path and return it if valid."""
|
|
217
215
|
try:
|
|
218
216
|
raise_if_invalid_path(location)
|
|
219
217
|
except ValueError as err:
|
|
@@ -233,6 +231,25 @@ class LocalMediaView(http.HomeAssistantView):
|
|
|
233
231
|
if not mime_type or mime_type.split("/")[0] not in MEDIA_MIME_TYPES:
|
|
234
232
|
raise web.HTTPNotFound
|
|
235
233
|
|
|
234
|
+
return media_path
|
|
235
|
+
|
|
236
|
+
async def head(
|
|
237
|
+
self, request: web.Request, source_dir_id: str, location: str
|
|
238
|
+
) -> None:
|
|
239
|
+
"""Handle a HEAD request.
|
|
240
|
+
|
|
241
|
+
This is sent by some DLNA renderers, like Samsung ones, prior to sending
|
|
242
|
+
the GET request.
|
|
243
|
+
|
|
244
|
+
Check whether the location exists or not.
|
|
245
|
+
"""
|
|
246
|
+
await self._validate_media_path(source_dir_id, location)
|
|
247
|
+
|
|
248
|
+
async def get(
|
|
249
|
+
self, request: web.Request, source_dir_id: str, location: str
|
|
250
|
+
) -> web.FileResponse:
|
|
251
|
+
"""Handle a GET request."""
|
|
252
|
+
media_path = await self._validate_media_path(source_dir_id, location)
|
|
236
253
|
return web.FileResponse(media_path)
|
|
237
254
|
|
|
238
255
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"user": {
|
|
19
19
|
"data": {
|
|
20
20
|
"admin_password": "Administrat\u00f6rsl\u00f6senord",
|
|
21
|
-
"admin_username": "
|
|
21
|
+
"admin_username": "Administrat\u00f6rsanv\u00e4ndarnamn",
|
|
22
22
|
"surveillance_password": "L\u00f6senord f\u00f6r \u00f6vervakning",
|
|
23
23
|
"surveillance_username": "Anv\u00e4ndarnamn f\u00f6r \u00f6vervakning",
|
|
24
24
|
"url": "URL"
|
|
@@ -340,5 +340,15 @@
|
|
|
340
340
|
"reload": {
|
|
341
341
|
"name": "\u041f\u0440\u0435\u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435"
|
|
342
342
|
}
|
|
343
|
+
},
|
|
344
|
+
"triggers": {
|
|
345
|
+
"mqtt": {
|
|
346
|
+
"fields": {
|
|
347
|
+
"topic": {
|
|
348
|
+
"name": "\u0422\u0435\u043c\u0430"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"name": "MQTT"
|
|
352
|
+
}
|
|
343
353
|
}
|
|
344
354
|
}
|
|
@@ -221,6 +221,8 @@
|
|
|
221
221
|
"unit_of_measurement": "M\u011brn\u00e1 jednotka"
|
|
222
222
|
},
|
|
223
223
|
"data_description": {
|
|
224
|
+
"device_class": "T\u0159\u00edda za\u0159\u00edzen\u00ed entity {platform}. [Dal\u0161\u00ed informace.]({url}#device_class)",
|
|
225
|
+
"entity_category": "Povol\u00ed ozna\u010den\u00ed entity jako nastaven\u00ed za\u0159\u00edzen\u00ed nebo diagnostika. Entita s kategori\u00ed nebude vystavena cloudov\u00fdm komponent\u00e1m, komponent\u00e1m Alexy ani Google Assistantovi, ani nebude zahrnuta do nep\u0159\u00edm\u00fdch vol\u00e1n\u00ed akc\u00ed pro za\u0159\u00edzen\u00ed nebo oblasti. Entit\u00e1m senzor\u016f nelze p\u0159i\u0159adit t\u0159\u00eddu nastaven\u00ed za\u0159\u00edzen\u00ed. [V\u00edce informac\u00ed.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)",
|
|
224
226
|
"fan_feature_direction": "Ventil\u00e1tor podporuje sm\u011br.",
|
|
225
227
|
"fan_feature_oscillation": "Ventil\u00e1tor podporuje kmit\u00e1n\u00ed.",
|
|
226
228
|
"fan_feature_preset_modes": "Ventil\u00e1tor podporuje p\u0159edvolby.",
|
|
@@ -1021,5 +1023,22 @@
|
|
|
1021
1023
|
"description": "Znovu na\u010dte entity MQTT z nastaven\u00ed YAML.",
|
|
1022
1024
|
"name": "Znovu na\u010d\u00edst"
|
|
1023
1025
|
}
|
|
1026
|
+
},
|
|
1027
|
+
"triggers": {
|
|
1028
|
+
"mqtt": {
|
|
1029
|
+
"description": "Kdy\u017e je p\u0159ijata konkr\u00e9tn\u00ed zpr\u00e1va na dan\u00e9 t\u00e9ma MQTT.",
|
|
1030
|
+
"description_configured": "Kdy\u017e byla p\u0159ijata zpr\u00e1va MQTT",
|
|
1031
|
+
"fields": {
|
|
1032
|
+
"payload": {
|
|
1033
|
+
"description": "Datov\u00e1 \u010d\u00e1st, kter\u00e1 se m\u00e1 spustit.",
|
|
1034
|
+
"name": "Datov\u00e1 \u010d\u00e1st"
|
|
1035
|
+
},
|
|
1036
|
+
"topic": {
|
|
1037
|
+
"description": "T\u00e9ma MQTT k poslechu.",
|
|
1038
|
+
"name": "T\u00e9ma"
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
"name": "MQTT"
|
|
1042
|
+
}
|
|
1024
1043
|
}
|
|
1025
1044
|
}
|
|
@@ -123,6 +123,10 @@
|
|
|
123
123
|
"entity_platform_config": {
|
|
124
124
|
"data": {
|
|
125
125
|
"entity_category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2"
|
|
126
|
+
},
|
|
127
|
+
"data_description": {
|
|
128
|
+
"device_class": "\u0397 \u03ba\u03bb\u03ac\u03c3\u03b7 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03c4\u03b7\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 {platform}. [\u039c\u03ac\u03b8\u03b5\u03c4\u03b5 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b1.]({url}#device_class)",
|
|
129
|
+
"entity_category": "\u0395\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03c3\u03ae\u03bc\u03b1\u03bd\u03c3\u03b7 \u03bc\u03b9\u03b1\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03c9\u03c2 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03ae \u03b4\u03b9\u03b1\u03b3\u03bd\u03c9\u03c3\u03c4\u03b9\u03ba\u03bf\u03cd. \u039c\u03b9\u03b1 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bc\u03b5 \u03bc\u03b9\u03b1 \u03ba\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1 \u03b4\u03b5\u03bd \u03b8\u03b1 \u03b5\u03ba\u03c4\u03af\u03b8\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 cloud, Alexa \u03ae Google Assistant, \u03bf\u03cd\u03c4\u03b5 \u03b8\u03b1 \u03c0\u03b5\u03c1\u03b9\u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03ba\u03bb\u03ae\u03c3\u03b5\u03b9\u03c2 \u03ad\u03bc\u03bc\u03b5\u03c3\u03c9\u03bd \u03b5\u03bd\u03b5\u03c1\u03b3\u03b5\u03b9\u03ce\u03bd \u03c3\u03b5 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ad\u03c2 \u03ae \u03c0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ad\u03c2. \u03a3\u03c4\u03b9\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ae\u03c1\u03c9\u03bd \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b1\u03bd\u03b1\u03c4\u03b5\u03b8\u03b5\u03af \u03ba\u03bb\u03ac\u03c3\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7\u03c2 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2. [\u039c\u03ac\u03b8\u03b5\u03c4\u03b5 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b1.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)"
|
|
126
130
|
}
|
|
127
131
|
},
|
|
128
132
|
"mqtt_platform_config": {
|
|
@@ -501,5 +505,22 @@
|
|
|
501
505
|
"description": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03c4\u03ce\u03bd\u03b5\u03b9 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 MQTT \u03b1\u03c0\u03cc \u03c4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 YAML.",
|
|
502
506
|
"name": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7"
|
|
503
507
|
}
|
|
508
|
+
},
|
|
509
|
+
"triggers": {
|
|
510
|
+
"mqtt": {
|
|
511
|
+
"description": "\u039f\u03c4\u03b1\u03bd \u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03c4\u03b1\u03b9 \u03ad\u03bd\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf \u03bc\u03ae\u03bd\u03c5\u03bc\u03b1 \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf \u03b8\u03ad\u03bc\u03b1 MQTT.",
|
|
512
|
+
"description_configured": "\u039f\u03c4\u03b1\u03bd \u03ad\u03c7\u03b5\u03b9 \u03bb\u03b7\u03c6\u03b8\u03b5\u03af \u03ad\u03bd\u03b1 \u03bc\u03ae\u03bd\u03c5\u03bc\u03b1 MQTT",
|
|
513
|
+
"fields": {
|
|
514
|
+
"payload": {
|
|
515
|
+
"description": "\u03a4\u03bf \u03c9\u03c6\u03ad\u03bb\u03b9\u03bc\u03bf \u03c6\u03bf\u03c1\u03c4\u03af\u03bf \u03b3\u03b9\u03b1 \u03c0\u03c5\u03c1\u03bf\u03b4\u03cc\u03c4\u03b7\u03c3\u03b7.",
|
|
516
|
+
"name": "\u03a9\u03c6\u03ad\u03bb\u03b9\u03bc\u03bf \u03c6\u03bf\u03c1\u03c4\u03af\u03bf"
|
|
517
|
+
},
|
|
518
|
+
"topic": {
|
|
519
|
+
"description": "\u0398\u03ad\u03bc\u03b1 MQTT \u03b3\u03b9\u03b1 \u03b1\u03ba\u03c1\u03cc\u03b1\u03c3\u03b7.",
|
|
520
|
+
"name": "\u0398\u03ad\u03bc\u03b1"
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"name": "MQTT"
|
|
524
|
+
}
|
|
504
525
|
}
|
|
505
526
|
}
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"entity_platform_config": {
|
|
119
119
|
"data": {
|
|
120
120
|
"device_class": "Aicme gl\u00e9as",
|
|
121
|
+
"entity_category": "Catag\u00f3ir eintitis",
|
|
121
122
|
"fan_feature_direction": "Taca\u00edocht treorach",
|
|
122
123
|
"fan_feature_oscillation": "Taca\u00edocht luaineachta",
|
|
123
124
|
"fan_feature_preset_modes": "Taca\u00edocht do mhodhanna r\u00e9amhshocraithe",
|
|
@@ -129,6 +130,7 @@
|
|
|
129
130
|
"unit_of_measurement": "Aonad tomhais"
|
|
130
131
|
},
|
|
131
132
|
"data_description": {
|
|
133
|
+
"entity_category": "Ceada\u00edonn s\u00e9 seo eintiteas a mharc\u00e1il mar chumra\u00edocht n\u00f3 diagn\u00f3isic gl\u00e9is. N\u00ed bheidh eintiteas a bhfuil catag\u00f3ir aige nochtaithe do chomhph\u00e1irteanna scamall, Alexa, n\u00e1 C\u00fant\u00f3ir Google, n\u00e1 n\u00ed bheidh s\u00e9 san \u00e1ireamh i nglaonna gn\u00edomha\u00edochta ind\u00edreacha chuig gl\u00e9asanna n\u00f3 limist\u00e9ir. N\u00ed f\u00e9idir rang cumra\u00edochta gl\u00e9is a shannadh d'eintitis braiteora. [Tuilleadh eolais.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)",
|
|
132
134
|
"fan_feature_direction": "Taca\u00edonn an lucht lean\u00fana le treo.",
|
|
133
135
|
"fan_feature_oscillation": "Taca\u00edonn an lucht lean\u00fana le luascadh.",
|
|
134
136
|
"fan_feature_preset_modes": "Taca\u00edonn an lucht lean\u00fana le modhanna r\u00e9amhshocraithe.",
|
|
@@ -556,6 +558,12 @@
|
|
|
556
558
|
"wind_direction": "Treo na gaoithe"
|
|
557
559
|
}
|
|
558
560
|
},
|
|
561
|
+
"entity_category": {
|
|
562
|
+
"options": {
|
|
563
|
+
"config": "Cumra\u00edocht",
|
|
564
|
+
"diagnostic": "Diagn\u00f3iseach"
|
|
565
|
+
}
|
|
566
|
+
},
|
|
559
567
|
"light_schema": {
|
|
560
568
|
"options": {
|
|
561
569
|
"basic": "Sc\u00e9im r\u00e9amhshocraithe",
|
|
@@ -575,5 +583,22 @@
|
|
|
575
583
|
"measurement_angle": "Uillinn tomhais"
|
|
576
584
|
}
|
|
577
585
|
}
|
|
586
|
+
},
|
|
587
|
+
"triggers": {
|
|
588
|
+
"mqtt": {
|
|
589
|
+
"description": "Nuair a fhaightear teachtaireacht shonrach ar thopaic MQTT ar leith.",
|
|
590
|
+
"description_configured": "Nuair a fhaightear teachtaireacht MQTT",
|
|
591
|
+
"fields": {
|
|
592
|
+
"payload": {
|
|
593
|
+
"description": "An t-ualach le spreagadh air.",
|
|
594
|
+
"name": "Ualach"
|
|
595
|
+
},
|
|
596
|
+
"topic": {
|
|
597
|
+
"description": "Topaic MQTT le h\u00e9isteacht leis.",
|
|
598
|
+
"name": "Topaic"
|
|
599
|
+
}
|
|
600
|
+
},
|
|
601
|
+
"name": "MQTT"
|
|
602
|
+
}
|
|
578
603
|
}
|
|
579
604
|
}
|
|
@@ -43,6 +43,13 @@
|
|
|
43
43
|
"title": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0458\u0442\u0435 \u0433\u043e MQTT-\u0443\u0440\u0435\u0434\u043e\u0442 \u201e {mqtt_device} \u201c"
|
|
44
44
|
},
|
|
45
45
|
"entity_platform_config": {
|
|
46
|
+
"data": {
|
|
47
|
+
"entity_category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442"
|
|
48
|
+
},
|
|
49
|
+
"data_description": {
|
|
50
|
+
"device_class": "\u041a\u043b\u0430\u0441\u0430\u0442\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u043e\u0442 {platform}. [\u0414\u043e\u0437\u043d\u0430\u0458\u0442\u0435 \u043f\u043e\u0432\u0435\u045c\u0435.]( {url} #device_class)",
|
|
51
|
+
"entity_category": "\u041e\u0432\u043e\u0437\u043c\u043e\u0436\u0443\u0432\u0430 \u043e\u0437\u043d\u0430\u0447\u0443\u0432\u0430\u045a\u0435 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442 \u043a\u0430\u043a\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434 \u0438\u043b\u0438 \u0434\u0438\u0458\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430. \u0415\u043d\u0442\u0438\u0442\u0435\u0442 \u0441\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043d\u0435\u043c\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0438\u0437\u043b\u043e\u0436\u0435\u043d \u043d\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u043e\u0434 \u043e\u0431\u043b\u0430\u043a\u043e\u0442, \u0410\u043b\u0435\u043a\u0441\u0430 \u0438\u043b\u0438 Google Assistant, \u043d\u0438\u0442\u0443 \u045c\u0435 \u0431\u0438\u0434\u0435 \u0432\u043a\u043b\u0443\u0447\u0435\u043d \u0432\u043e \u043f\u043e\u0432\u0438\u0446\u0438 \u0441\u043e \u0438\u043d\u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0435\u0458\u0441\u0442\u0432\u043e \u0434\u043e \u0443\u0440\u0435\u0434\u0438 \u0438\u043b\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0438. \u041d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u0438\u0442\u0435 \u043d\u0430 \u0441\u0435\u043d\u0437\u043e\u0440\u0438\u0442\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c \u0441\u0435 \u0434\u043e\u0434\u0435\u043b\u0438 \u043a\u043b\u0430\u0441\u0430 \u0437\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434. [\u0414\u043e\u0437\u043d\u0430\u0458\u0442\u0435 \u043f\u043e\u0432\u0435\u045c\u0435.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)"
|
|
52
|
+
},
|
|
46
53
|
"sections": {
|
|
47
54
|
"advanced_settings": {
|
|
48
55
|
"name": "\u041d\u0430\u043f\u0440\u0435\u0434\u043d\u0438 \u043e\u043f\u0446\u0438\u0438"
|
|
@@ -128,10 +135,26 @@
|
|
|
128
135
|
}
|
|
129
136
|
},
|
|
130
137
|
"selector": {
|
|
138
|
+
"entity_category": {
|
|
139
|
+
"options": {
|
|
140
|
+
"diagnostic": "\u0414\u0438\u0458\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u043a\u0438"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
131
143
|
"on_command_type": {
|
|
132
144
|
"options": {
|
|
133
145
|
"brightness": "\u041e\u0441\u0432\u0435\u0442\u043b\u0435\u043d\u043e\u0441\u0442"
|
|
134
146
|
}
|
|
135
147
|
}
|
|
148
|
+
},
|
|
149
|
+
"triggers": {
|
|
150
|
+
"mqtt": {
|
|
151
|
+
"fields": {
|
|
152
|
+
"topic": {
|
|
153
|
+
"description": "MQTT \u0442\u0435\u043c\u0430 \u0437\u0430 \u0441\u043b\u0443\u0448\u0430\u045a\u0435.",
|
|
154
|
+
"name": "\u0422\u0435\u043c\u0430"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"name": "MQTT"
|
|
158
|
+
}
|
|
136
159
|
}
|
|
137
160
|
}
|
|
@@ -213,6 +213,7 @@
|
|
|
213
213
|
"unit_of_measurement": "\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f"
|
|
214
214
|
},
|
|
215
215
|
"data_description": {
|
|
216
|
+
"device_class": "\u041a\u043b\u0430\u0441\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 {platform}. [\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435.]({url}#device_class)",
|
|
216
217
|
"fan_feature_direction": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435.",
|
|
217
218
|
"fan_feature_oscillation": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f.",
|
|
218
219
|
"fan_feature_preset_modes": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0436\u0438\u043c\u044b.",
|
|
@@ -208,6 +208,7 @@
|
|
|
208
208
|
"entity_platform_config": {
|
|
209
209
|
"data": {
|
|
210
210
|
"device_class": "Enhetsklass",
|
|
211
|
+
"entity_category": "Entitetskategori",
|
|
211
212
|
"fan_feature_direction": "St\u00f6d f\u00f6r riktning",
|
|
212
213
|
"fan_feature_oscillation": "St\u00f6d f\u00f6r oscillation",
|
|
213
214
|
"fan_feature_preset_modes": "St\u00f6d f\u00f6r f\u00f6rinst\u00e4llningsl\u00e4gen",
|
|
@@ -802,6 +803,12 @@
|
|
|
802
803
|
"switch": "Brytare"
|
|
803
804
|
}
|
|
804
805
|
},
|
|
806
|
+
"entity_category": {
|
|
807
|
+
"options": {
|
|
808
|
+
"config": "Konfiguration",
|
|
809
|
+
"diagnostic": "Diagnostisk"
|
|
810
|
+
}
|
|
811
|
+
},
|
|
805
812
|
"light_schema": {
|
|
806
813
|
"options": {
|
|
807
814
|
"basic": "Standardschema",
|
|
@@ -902,5 +909,22 @@
|
|
|
902
909
|
"description": "Laddar om MQTT-entiteter fr\u00e5n YAML-konfigurationen.",
|
|
903
910
|
"name": "Ladda om"
|
|
904
911
|
}
|
|
912
|
+
},
|
|
913
|
+
"triggers": {
|
|
914
|
+
"mqtt": {
|
|
915
|
+
"description": "N\u00e4r ett specifikt meddelande tas emot p\u00e5 ett visst MQTT-\u00e4mne.",
|
|
916
|
+
"description_configured": "N\u00e4r ett MQTT-meddelande har mottagits",
|
|
917
|
+
"fields": {
|
|
918
|
+
"payload": {
|
|
919
|
+
"description": "Nyttolasten att utl\u00f6sa p\u00e5.",
|
|
920
|
+
"name": "Nyttolast"
|
|
921
|
+
},
|
|
922
|
+
"topic": {
|
|
923
|
+
"description": "MQTT-\u00e4mne att lyssna p\u00e5.",
|
|
924
|
+
"name": "\u00c4mne"
|
|
925
|
+
}
|
|
926
|
+
},
|
|
927
|
+
"name": "MQTT"
|
|
928
|
+
}
|
|
905
929
|
}
|
|
906
930
|
}
|