Blebox fix thermobox reporting wrong state (#88169)

fix: fixed climate hvac_mode for when device is off
This commit is contained in:
Michał Huryn 2023-02-15 15:27:46 +01:00 committed by GitHub
parent c3a70a7ec5
commit cf11a30689
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,6 +22,7 @@ from .const import DOMAIN, PRODUCT
SCAN_INTERVAL = timedelta(seconds=5) SCAN_INTERVAL = timedelta(seconds=5)
BLEBOX_TO_HVACMODE = { BLEBOX_TO_HVACMODE = {
None: None,
0: HVACMode.OFF, 0: HVACMode.OFF,
1: HVACMode.HEAT, 1: HVACMode.HEAT,
2: HVACMode.COOL, 2: HVACMode.COOL,
@ -58,13 +59,15 @@ class BleBoxClimateEntity(BleBoxEntity[blebox_uniapi.climate.Climate], ClimateEn
@property @property
def hvac_modes(self): def hvac_modes(self):
"""Return list of supported HVAC modes.""" """Return list of supported HVAC modes."""
return [HVACMode.OFF, self.hvac_mode] return [HVACMode.OFF, BLEBOX_TO_HVACMODE[self._feature.mode]]
@property @property
def hvac_mode(self): def hvac_mode(self):
"""Return the desired HVAC mode.""" """Return the desired HVAC mode."""
if self._feature.is_on is None: if self._feature.is_on is None:
return None return None
if not self._feature.is_on:
return HVACMode.OFF
if self._feature.mode is not None: if self._feature.mode is not None:
return BLEBOX_TO_HVACMODE[self._feature.mode] return BLEBOX_TO_HVACMODE[self._feature.mode]
return HVACMode.HEAT if self._feature.is_on else HVACMode.OFF return HVACMode.HEAT if self._feature.is_on else HVACMode.OFF