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)
Exemple #3
0
 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
Exemple #5
0
 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
Exemple #6
0
 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