diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index c4751e649..98ce8e774 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -599,3 +599,18 @@ async def async_turn_on( **kwargs: Any, ) -> None: """Turn the entity on.""" + await self._device.gateway.fans.turn_on( + self.info_object, speed, percentage, preset_mode + ) + + async def async_turn_off(self, **kwargs: Any) -> None: + """Turn the entity off.""" + await self._device.gateway.fans.turn_off(self.info_object) + + async def async_set_percentage(self, percentage: int) -> None: + """Set the speed percentage of the fan.""" + await self._device.gateway.fans.set_percentage(self.info_object, percentage) + + async def async_set_preset_mode(self, preset_mode: str) -> None: + """Set the preset mode for the fan.""" + await self._device.gateway.fans.set_preset_mode(self.info_object, preset_mode) diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index bdb45b5f3..a14a36dbb 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -1400,6 +1400,8 @@ def max_mireds(self) -> int | None: async def async_turn_on(self, **kwargs: Any) -> None: """Turn the entity on.""" + await self._device.gateway.lights.turn_on(self.info_object, **kwargs) async def async_turn_off(self, **kwargs: Any) -> None: """Turn the entity off.""" + await self._device.gateway.lights.turn_off(self.info_object, **kwargs) diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 15ad31798..f9997b71f 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -1152,3 +1152,4 @@ def icon(self) -> str | None: async def async_set_native_value(self, value: float) -> None: """Update the current value from HA.""" + await self._device.gateway.numbers.set_value(self.info_object, value)