async def async_set_humidity(self, humidity: int) -> None: """Set the target humidity of the humidifier and set the mode to Humidity.""" target_humidity = self.translate_humidity(humidity) if not target_humidity: return _LOGGER.debug("Setting the humidity to: %s", target_humidity) if await self._try_command( "Setting operation mode 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 AirhumidifierMjjsqOperationMode(self._attributes[ATTR_MODE]) == AirhumidifierMjjsqOperationMode.Humidity ): self.async_write_ha_state() return _LOGGER.debug("Setting the operation mode to: Humidity") if await self._try_command( "Setting operation mode of the miio device to MODE_HUMIDITY failed.", self._device.set_mode, AirhumidifierMjjsqOperationMode.Humidity, ): self._mode = 3 self.async_write_ha_state()
def target_humidity(self): """Return the target humidity.""" if self._state: if (AirhumidifierMjjsqOperationMode( self._mode) == AirhumidifierMjjsqOperationMode.Humidity): return self._target_humidity return None
def mode(self): """Return the current mode.""" return AirhumidifierMjjsqOperationMode(self._mode).name