7
7
8
8
from homeassistant .components .climate import ClimateEntity , PLATFORM_SCHEMA
9
9
from homeassistant .components .climate .const import (
10
- HVAC_MODE_OFF , HVAC_MODE_HEAT , HVAC_MODE_COOL ,
11
- HVAC_MODE_DRY , HVAC_MODE_FAN_ONLY , HVAC_MODE_AUTO ,
12
- SUPPORT_TARGET_TEMPERATURE , SUPPORT_FAN_MODE ,
13
- SUPPORT_SWING_MODE , HVAC_MODES , ATTR_HVAC_MODE )
10
+ ClimateEntityFeature , HVACMode , HVAC_MODES , ATTR_HVAC_MODE )
14
11
from homeassistant .const import (
15
12
CONF_NAME , STATE_ON , STATE_OFF , STATE_UNKNOWN , STATE_UNAVAILABLE , ATTR_TEMPERATURE ,
16
13
PRECISION_TENTHS , PRECISION_HALVES , PRECISION_WHOLE )
36
33
CONF_POWER_SENSOR_RESTORE_STATE = 'power_sensor_restore_state'
37
34
38
35
SUPPORT_FLAGS = (
39
- SUPPORT_TARGET_TEMPERATURE |
40
- SUPPORT_FAN_MODE
36
+ ClimateEntityFeature .TURN_OFF |
37
+ ClimateEntityFeature .TURN_ON |
38
+ ClimateEntityFeature .TARGET_TEMPERATURE |
39
+ ClimateEntityFeature .FAN_MODE
41
40
)
42
41
43
42
PLATFORM_SCHEMA = PLATFORM_SCHEMA .extend ({
@@ -119,13 +118,13 @@ def __init__(self, hass, config, device_data):
119
118
120
119
valid_hvac_modes = [x for x in device_data ['operationModes' ] if x in HVAC_MODES ]
121
120
122
- self ._operation_modes = [HVAC_MODE_OFF ] + valid_hvac_modes
121
+ self ._operation_modes = [HVACMode . OFF ] + valid_hvac_modes
123
122
self ._fan_modes = device_data ['fanModes' ]
124
123
self ._swing_modes = device_data .get ('swingModes' )
125
124
self ._commands = device_data ['commands' ]
126
125
127
126
self ._target_temperature = self ._min_temperature
128
- self ._hvac_mode = HVAC_MODE_OFF
127
+ self ._hvac_mode = HVACMode . OFF
129
128
self ._current_fan_mode = self ._fan_modes [0 ]
130
129
self ._current_swing_mode = None
131
130
self ._last_on_operation = None
@@ -140,7 +139,7 @@ def __init__(self, hass, config, device_data):
140
139
self ._support_swing = False
141
140
142
141
if self ._swing_modes :
143
- self ._support_flags = self ._support_flags | SUPPORT_SWING_MODE
142
+ self ._support_flags = self ._support_flags | ClimateEntityFeature . SWING_MODE
144
143
self ._current_swing_mode = self ._swing_modes [0 ]
145
144
self ._support_swing = True
146
145
@@ -204,9 +203,9 @@ def name(self):
204
203
@property
205
204
def state (self ):
206
205
"""Return the current state."""
207
- if self .hvac_mode != HVAC_MODE_OFF :
206
+ if self .hvac_mode != HVACMode . OFF :
208
207
return self .hvac_mode
209
- return HVAC_MODE_OFF
208
+ return HVACMode . OFF
210
209
211
210
@property
212
211
def temperature_unit (self ):
@@ -316,7 +315,7 @@ async def async_set_temperature(self, **kwargs):
316
315
await self .async_set_hvac_mode (hvac_mode )
317
316
return
318
317
319
- if not self ._hvac_mode .lower () == HVAC_MODE_OFF :
318
+ if not self ._hvac_mode .lower () == HVACMode . OFF :
320
319
await self .send_command ()
321
320
322
321
self .async_write_ha_state ()
@@ -325,7 +324,7 @@ async def async_set_hvac_mode(self, hvac_mode):
325
324
"""Set operation mode."""
326
325
self ._hvac_mode = hvac_mode
327
326
328
- if not hvac_mode == HVAC_MODE_OFF :
327
+ if not hvac_mode == HVACMode . OFF :
329
328
self ._last_on_operation = hvac_mode
330
329
331
330
await self .send_command ()
@@ -335,21 +334,21 @@ async def async_set_fan_mode(self, fan_mode):
335
334
"""Set fan mode."""
336
335
self ._current_fan_mode = fan_mode
337
336
338
- if not self ._hvac_mode .lower () == HVAC_MODE_OFF :
337
+ if not self ._hvac_mode .lower () == HVACMode . OFF :
339
338
await self .send_command ()
340
339
self .async_write_ha_state ()
341
340
342
341
async def async_set_swing_mode (self , swing_mode ):
343
342
"""Set swing mode."""
344
343
self ._current_swing_mode = swing_mode
345
344
346
- if not self ._hvac_mode .lower () == HVAC_MODE_OFF :
345
+ if not self ._hvac_mode .lower () == HVACMode . OFF :
347
346
await self .send_command ()
348
347
self .async_write_ha_state ()
349
348
350
349
async def async_turn_off (self ):
351
350
"""Turn off."""
352
- await self .async_set_hvac_mode (HVAC_MODE_OFF )
351
+ await self .async_set_hvac_mode (HVACMode . OFF )
353
352
354
353
async def async_turn_on (self ):
355
354
"""Turn on."""
@@ -367,7 +366,7 @@ async def send_command(self):
367
366
swing_mode = self ._current_swing_mode
368
367
target_temperature = '{0:g}' .format (self ._target_temperature )
369
368
370
- if operation_mode .lower () == HVAC_MODE_OFF :
369
+ if operation_mode .lower () == HVACMode . OFF :
371
370
await self ._controller .send (self ._commands ['off' ])
372
371
return
373
372
@@ -409,7 +408,7 @@ async def _async_power_sensor_changed(self, entity_id, old_state, new_state):
409
408
if old_state is not None and new_state .state == old_state .state :
410
409
return
411
410
412
- if new_state .state == STATE_ON and self ._hvac_mode == HVAC_MODE_OFF :
411
+ if new_state .state == STATE_ON and self ._hvac_mode == HVACMode . OFF :
413
412
self ._on_by_remote = True
414
413
if self ._power_sensor_restore_state == True and self ._last_on_operation is not None :
415
414
self ._hvac_mode = self ._last_on_operation
@@ -420,8 +419,8 @@ async def _async_power_sensor_changed(self, entity_id, old_state, new_state):
420
419
421
420
if new_state .state == STATE_OFF :
422
421
self ._on_by_remote = False
423
- if self ._hvac_mode != HVAC_MODE_OFF :
424
- self ._hvac_mode = HVAC_MODE_OFF
422
+ if self ._hvac_mode != HVACMode . OFF :
423
+ self ._hvac_mode = HVACMode . OFF
425
424
self .async_write_ha_state ()
426
425
427
426
@callback
0 commit comments