Fix mclimate accounts with not only melissa components (#12427)
* Fixes for mclimate accounts with not only melissa components * Fixes melissa sensor to only use HVAC * Bumping version to 1.0.3 and remove OP_MODE that is not supported * Removes STATE_AUTO from translation and tests
This commit is contained in:
parent
485979cd86
commit
7a44eee093
5 changed files with 12 additions and 16 deletions
|
@ -26,7 +26,7 @@ SUPPORT_FLAGS = (SUPPORT_FAN_MODE | SUPPORT_OPERATION_MODE |
|
||||||
SUPPORT_ON_OFF | SUPPORT_TARGET_TEMPERATURE)
|
SUPPORT_ON_OFF | SUPPORT_TARGET_TEMPERATURE)
|
||||||
|
|
||||||
OP_MODES = [
|
OP_MODES = [
|
||||||
STATE_AUTO, STATE_COOL, STATE_DRY, STATE_FAN_ONLY, STATE_HEAT
|
STATE_COOL, STATE_DRY, STATE_FAN_ONLY, STATE_HEAT
|
||||||
]
|
]
|
||||||
|
|
||||||
FAN_MODES = [
|
FAN_MODES = [
|
||||||
|
@ -42,6 +42,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
||||||
all_devices = []
|
all_devices = []
|
||||||
|
|
||||||
for device in devices:
|
for device in devices:
|
||||||
|
if device['type'] == 'melissa':
|
||||||
all_devices.append(MelissaClimate(
|
all_devices.append(MelissaClimate(
|
||||||
api, device['serial_number'], device))
|
api, device['serial_number'], device))
|
||||||
|
|
||||||
|
@ -199,9 +200,7 @@ class MelissaClimate(ClimateDevice):
|
||||||
|
|
||||||
def melissa_op_to_hass(self, mode):
|
def melissa_op_to_hass(self, mode):
|
||||||
"""Translate Melissa modes to hass states."""
|
"""Translate Melissa modes to hass states."""
|
||||||
if mode == self._api.MODE_AUTO:
|
if mode == self._api.MODE_HEAT:
|
||||||
return STATE_AUTO
|
|
||||||
elif mode == self._api.MODE_HEAT:
|
|
||||||
return STATE_HEAT
|
return STATE_HEAT
|
||||||
elif mode == self._api.MODE_COOL:
|
elif mode == self._api.MODE_COOL:
|
||||||
return STATE_COOL
|
return STATE_COOL
|
||||||
|
@ -228,9 +227,7 @@ class MelissaClimate(ClimateDevice):
|
||||||
|
|
||||||
def hass_mode_to_melissa(self, mode):
|
def hass_mode_to_melissa(self, mode):
|
||||||
"""Translate hass states to melissa modes."""
|
"""Translate hass states to melissa modes."""
|
||||||
if mode == STATE_AUTO:
|
if mode == STATE_HEAT:
|
||||||
return self._api.MODE_AUTO
|
|
||||||
elif mode == STATE_HEAT:
|
|
||||||
return self._api.MODE_HEAT
|
return self._api.MODE_HEAT
|
||||||
elif mode == STATE_COOL:
|
elif mode == STATE_COOL:
|
||||||
return self._api.MODE_COOL
|
return self._api.MODE_COOL
|
||||||
|
|
|
@ -12,7 +12,7 @@ from homeassistant.const import CONF_USERNAME, CONF_PASSWORD
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
from homeassistant.helpers.discovery import load_platform
|
from homeassistant.helpers.discovery import load_platform
|
||||||
|
|
||||||
REQUIREMENTS = ["py-melissa-climate==1.0.1"]
|
REQUIREMENTS = ["py-melissa-climate==1.0.6"]
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
||||||
devices = api.fetch_devices().values()
|
devices = api.fetch_devices().values()
|
||||||
|
|
||||||
for device in devices:
|
for device in devices:
|
||||||
|
if device['type'] == 'melissa':
|
||||||
sensors.append(MelissaTemperatureSensor(device, api))
|
sensors.append(MelissaTemperatureSensor(device, api))
|
||||||
sensors.append(MelissaHumiditySensor(device, api))
|
sensors.append(MelissaHumiditySensor(device, api))
|
||||||
add_devices(sensors)
|
add_devices(sensors)
|
||||||
|
|
|
@ -628,7 +628,7 @@ py-canary==0.4.0
|
||||||
py-cpuinfo==3.3.0
|
py-cpuinfo==3.3.0
|
||||||
|
|
||||||
# homeassistant.components.melissa
|
# homeassistant.components.melissa
|
||||||
py-melissa-climate==1.0.1
|
py-melissa-climate==1.0.6
|
||||||
|
|
||||||
# homeassistant.components.camera.synology
|
# homeassistant.components.camera.synology
|
||||||
py-synology==0.1.5
|
py-synology==0.1.5
|
||||||
|
|
|
@ -122,7 +122,7 @@ class TestMelissa(unittest.TestCase):
|
||||||
def test_operation_list(self):
|
def test_operation_list(self):
|
||||||
"""Test the operation list."""
|
"""Test the operation list."""
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
[STATE_AUTO, STATE_COOL, STATE_DRY, STATE_FAN_ONLY, STATE_HEAT],
|
[STATE_COOL, STATE_DRY, STATE_FAN_ONLY, STATE_HEAT],
|
||||||
self.thermostat.operation_list
|
self.thermostat.operation_list
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -226,7 +226,6 @@ class TestMelissa(unittest.TestCase):
|
||||||
|
|
||||||
def test_melissa_op_to_hass(self):
|
def test_melissa_op_to_hass(self):
|
||||||
"""Test for translate melissa operations to hass."""
|
"""Test for translate melissa operations to hass."""
|
||||||
self.assertEqual(STATE_AUTO, self.thermostat.melissa_op_to_hass(0))
|
|
||||||
self.assertEqual(STATE_FAN_ONLY, self.thermostat.melissa_op_to_hass(1))
|
self.assertEqual(STATE_FAN_ONLY, self.thermostat.melissa_op_to_hass(1))
|
||||||
self.assertEqual(STATE_HEAT, self.thermostat.melissa_op_to_hass(2))
|
self.assertEqual(STATE_HEAT, self.thermostat.melissa_op_to_hass(2))
|
||||||
self.assertEqual(STATE_COOL, self.thermostat.melissa_op_to_hass(3))
|
self.assertEqual(STATE_COOL, self.thermostat.melissa_op_to_hass(3))
|
||||||
|
@ -245,7 +244,6 @@ class TestMelissa(unittest.TestCase):
|
||||||
@mock.patch('homeassistant.components.climate.melissa._LOGGER.warning')
|
@mock.patch('homeassistant.components.climate.melissa._LOGGER.warning')
|
||||||
def test_hass_mode_to_melissa(self, mocked_warning):
|
def test_hass_mode_to_melissa(self, mocked_warning):
|
||||||
"""Test for hass operations to melssa."""
|
"""Test for hass operations to melssa."""
|
||||||
self.assertEqual(0, self.thermostat.hass_mode_to_melissa(STATE_AUTO))
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
1, self.thermostat.hass_mode_to_melissa(STATE_FAN_ONLY))
|
1, self.thermostat.hass_mode_to_melissa(STATE_FAN_ONLY))
|
||||||
self.assertEqual(2, self.thermostat.hass_mode_to_melissa(STATE_HEAT))
|
self.assertEqual(2, self.thermostat.hass_mode_to_melissa(STATE_HEAT))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue