diff --git a/custom_components/yandex_station/core/yandex_station.py b/custom_components/yandex_station/core/yandex_station.py index 2752577..c0215b7 100644 --- a/custom_components/yandex_station/core/yandex_station.py +++ b/custom_components/yandex_station/core/yandex_station.py @@ -388,6 +388,22 @@ async def _set_led(self, **kwargs): await self.quasar.set_device_config(self.device, config, version) + async def _set_dnd_mode(self, value: str): + if value == "True": + value = True + elif value == "False": + value = False + else: + return + + config, version = await self.quasar.get_device_config(self.device) + + if config.get("dndMode") is None: + raise HomeAssistantError("Режим 'не беспокоить' не поддерживается этим устройством") + + config["dndMode"]["enabled"] = value + await self.quasar.set_device_config(self.device, config, version) + async def _set_beta(self, value: str): if value == "True": value = True @@ -811,6 +827,9 @@ async def async_play_media( elif media_type == "visualization": await self._set_led(visualization=media_id) return + elif media_type == "dnd_mode": + await self._set_dnd_mode(media_id) + return elif media_type == "beta": await self._set_beta(media_id) return