def hvac_mode(self): """Return current HVAC mode, ie Heat or Off.""" dps_mode = self._device.get_property(self.get_property_to_dps_id[ATTR_HVAC_MODE]) if dps_mode is not None: return GoldairTuyaDevice.get_key_for_value(HVAC_MODE_TO_DPS_MODE, dps_mode) else: return STATE_UNAVAILABLE
def fault(self): """Get the current fault status.""" fault = self._device.get_property(PROPERTY_TO_DPS_ID[ATTR_FAULT]) if fault is None or fault == FAULT_NONE: return None else: return GoldairTuyaDevice.get_key_for_value(FAULT_CODE_TO_DPS_CODE, fault)
def fan_mode(self): """Return current fan mode: 1-12""" dps_mode = self._device.get_property(PROPERTY_TO_DPS_ID[ATTR_FAN_MODE]) if dps_mode is not None and self.preset_mode is not None: return GoldairTuyaDevice.get_key_for_value( FAN_MODES[self.preset_mode], dps_mode) else: return None
def swing_mode(self): """Return the power level.""" dps_mode = self._device.get_property(self.get_property_to_dps_id[ATTR_POWER_MODE]) if dps_mode == ATTR_POWER_MODE_USER: return self._device.get_property(self.get_property_to_dps_id[ATTR_POWER_LEVEL]) elif dps_mode == ATTR_POWER_MODE_AUTO: return GoldairTuyaDevice.get_key_for_value(POWER_LEVEL_TO_DPS_LEVEL, dps_mode) else: return None
def swing_mode(self): """Return current swing mode: horizontal or off""" dps_mode = self._device.get_property( PROPERTY_TO_DPS_ID[ATTR_SWING_MODE]) if dps_mode is not None: return GoldairTuyaDevice.get_key_for_value(SWING_MODE_TO_DPS_MODE, dps_mode) else: return None
def preset_mode(self): """Return current preset mode, ie Comfort, Eco, Anti-freeze.""" dps_mode = self._device.get_property( PROPERTY_TO_DPS_ID[ATTR_PRESET_MODE]) if dps_mode is not None: return GoldairTuyaDevice.get_key_for_value(PRESET_MODE_TO_DPS_MODE, dps_mode) else: return None
def preset_mode(self): """Return current preset mode, ie Normal, Low, High, Dry Clothes, or Air Clean.""" air_clean_on = self._device.get_property( PROPERTY_TO_DPS_ID[ATTR_AIR_CLEAN_ON]) dps_mode = self._device.get_property( PROPERTY_TO_DPS_ID[ATTR_PRESET_MODE]) if air_clean_on: return PRESET_AIR_CLEAN elif dps_mode is not None: return GoldairTuyaDevice.get_key_for_value(PRESET_MODE_TO_DPS_MODE, dps_mode) else: return None
def preset_mode(self): """Return current preset mode, ie Comfort, Eco, Anti-freeze.""" dps_mode = self._device.get_property(self.get_property_to_dps_id[ATTR_PRESET_MODE]) keys = list(self.get_property_to_dps_id) if dps_mode not in keys: _LOGGER.debug(f'Could not load correct preset mode from api status. Defaulting to Comfort') _LOGGER.debug(f'dps_mode was: {dps_mode}, PROPERTY_TO_DPS_ID was: {json.dumps(self.get_property_to_dps_id)}') dps_mode = 'C' if dps_mode is not None: return GoldairTuyaDevice.get_key_for_value(PRESET_MODE_TO_DPS_MODE, dps_mode) else: return None
def fan_mode(self): """Return the fan mode.""" preset = self.preset_mode if preset in [PRESET_HIGH, PRESET_DRY_CLOTHES, PRESET_AIR_CLEAN]: return FAN_HIGH elif preset == PRESET_LOW: return FAN_LOW else: dps_mode = self._device.get_property( PROPERTY_TO_DPS_ID[ATTR_FAN_MODE]) if dps_mode is not None: return GoldairTuyaDevice.get_key_for_value( FAN_MODE_TO_DPS_MODE, dps_mode) else: return None