async def async_set_humidity(self, humidity: int) -> None: """Set the target humidity of the humidifier and set the mode to auto.""" target_humidity = self.translate_humidity(humidity) if not target_humidity: return _LOGGER.debug("Setting the target humidity to: %s", target_humidity) if await self._try_command( "Setting target humidity of the miio device failed.", self._device.set_target_humidity, target_humidity, ): self._target_humidity = target_humidity if ( self.supported_features & SUPPORT_MODES == 0 or AirhumidifierOperationMode(self._attributes[ATTR_MODE]) == AirhumidifierOperationMode.Auto or AirhumidifierOperationMode.Auto.name not in self.available_modes ): self.async_write_ha_state() return _LOGGER.debug("Setting the operation mode to: Auto") if await self._try_command( "Setting operation mode of the miio device to MODE_AUTO failed.", self._device.set_mode, AirhumidifierOperationMode.Auto, ): self._mode = AirhumidifierOperationMode.Auto.value self.async_write_ha_state()
def speed(self): """Return the current speed.""" if self._state: return AirhumidifierOperationMode( self._state_attrs[ATTR_MODE]).name return None
def mode(self): """Return the current mode.""" return AirhumidifierOperationMode(self._mode).name