|
89 | 89 |
|
90 | 90 | _LOGGER = logging.getLogger(__name__) |
91 | 91 |
|
92 | | -SUPPORT_FLAGS = (ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE | SUPPORT_OUTSIDE_TEMPERATURE | SUPPORT_KEYPAD_LOCK | SUPPORT_SECOND_DISPLAY) |
| 92 | +SUPPORT_FLAGS = ( |
| 93 | + ClimateEntityFeature.TARGET_TEMPERATURE |
| 94 | + | ClimateEntityFeature.PRESET_MODE |
| 95 | + | ClimateEntityFeature.TURN_OFF |
| 96 | + | ClimateEntityFeature.TURN_ON |
| 97 | + | SUPPORT_OUTSIDE_TEMPERATURE |
| 98 | + | SUPPORT_KEYPAD_LOCK |
| 99 | + | SUPPORT_SECOND_DISPLAY |
| 100 | +) |
93 | 101 |
|
94 | 102 | DEFAULT_NAME = "sinope" |
95 | 103 | DATA_DOMAIN = 'data_' + DOMAIN |
@@ -390,6 +398,9 @@ def set_climate_basic_data_service(service): |
390 | 398 | class SinopeThermostat(ClimateEntity): |
391 | 399 | """Implementation of a Sinope thermostat.""" |
392 | 400 |
|
| 401 | + _enable_turn_on_off_backwards_compatibility = False |
| 402 | + _attr_temperature_unit = UnitOfTemperature.CELSIUS |
| 403 | + |
393 | 404 | def __init__(self, data, device_id, name, device_type, server): |
394 | 405 | """Initialize.""" |
395 | 406 | self._name = name |
@@ -610,6 +621,23 @@ def hvac_action(self): |
610 | 621 | else: |
611 | 622 | return HVACAction.HEATING |
612 | 623 |
|
| 624 | + @property |
| 625 | + def is_on(self): |
| 626 | + """Return True if mode = HVACMode.HEAT or HVACMode.AUTO.""" |
| 627 | + if self._operation_mode == SINOPE_MODE_MANUAL or self._operation_mode == SINOPE_MODE_AUTO or self._operation_mode == SINOPE_MODE_AWAY: |
| 628 | + return True |
| 629 | + return False |
| 630 | + |
| 631 | + def turn_on(self): |
| 632 | + """Turn the thermostat to HVACMode.heat.""" |
| 633 | + self._client.set_mode(self._server, self._id, self._type, SINOPE_MODE_AUTO) |
| 634 | + self._operation_mode = SINOPE_MODE_AUTO |
| 635 | + |
| 636 | + def turn_off(self): |
| 637 | + """Turn the thermostat to HVACMode.off.""" |
| 638 | + self._client.set_mode(self._server, self._id, self._type, SINOPE_MODE_OFF) |
| 639 | + self._operation_mode = SINOPE_MODE_OFF |
| 640 | + |
613 | 641 | def set_temperature(self, **kwargs): |
614 | 642 | """Set new target temperature.""" |
615 | 643 | temperature = kwargs.get(ATTR_TEMPERATURE) |
|
0 commit comments