Update ephember library version (#28507)

* update ephember library version

* update requirements_all.txt for new pyephember version

* update imports to top of module
This commit is contained in:
Thom Troy 2019-11-04 20:49:53 +00:00 committed by Fabian Affolter
parent fe749fc0f8
commit 6e58a0c996
3 changed files with 39 additions and 32 deletions

View file

@ -1,23 +1,35 @@
"""Support for the EPH Controls Ember themostats."""
import logging
from datetime import timedelta
import logging
from pyephember.pyephember import (
EphEmber,
ZoneMode,
zone_current_temperature,
zone_is_active,
zone_is_boost_active,
zone_is_hot_water,
zone_mode,
zone_name,
zone_target_temperature,
)
import voluptuous as vol
from homeassistant.components.climate import ClimateDevice, PLATFORM_SCHEMA
from homeassistant.components.climate import PLATFORM_SCHEMA, ClimateDevice
from homeassistant.components.climate.const import (
HVAC_MODE_HEAT,
HVAC_MODE_HEAT_COOL,
SUPPORT_AUX_HEAT,
SUPPORT_TARGET_TEMPERATURE,
HVAC_MODE_OFF,
CURRENT_HVAC_HEAT,
CURRENT_HVAC_IDLE,
HVAC_MODE_HEAT,
HVAC_MODE_HEAT_COOL,
HVAC_MODE_OFF,
SUPPORT_AUX_HEAT,
SUPPORT_TARGET_TEMPERATURE,
)
from homeassistant.const import (
ATTR_TEMPERATURE,
TEMP_CELSIUS,
CONF_USERNAME,
CONF_PASSWORD,
CONF_USERNAME,
TEMP_CELSIUS,
)
import homeassistant.helpers.config_validation as cv
@ -43,8 +55,6 @@ HA_STATE_TO_EPH = {value: key for key, value in EPH_TO_HA_STATE.items()}
def setup_platform(hass, config, add_entities, discovery_info=None):
"""Set up the ephember thermostat."""
from pyephember.pyephember import EphEmber
username = config.get(CONF_USERNAME)
password = config.get(CONF_PASSWORD)
@ -61,14 +71,14 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class EphEmberThermostat(ClimateDevice):
"""Representation of a HeatmiserV3 thermostat."""
"""Representation of a EphEmber thermostat."""
def __init__(self, ember, zone):
"""Initialize the thermostat."""
self._ember = ember
self._zone_name = zone["name"]
self._zone_name = zone_name(zone)
self._zone = zone
self._hot_water = zone["isHotWater"]
self._hot_water = zone_is_hot_water(zone)
@property
def supported_features(self):
@ -91,12 +101,12 @@ class EphEmberThermostat(ClimateDevice):
@property
def current_temperature(self):
"""Return the current temperature."""
return self._zone["currentTemperature"]
return zone_current_temperature(self._zone)
@property
def target_temperature(self):
"""Return the temperature we try to reach."""
return self._zone["targetTemperature"]
return zone_target_temperature(self._zone)
@property
def target_temperature_step(self):
@ -104,12 +114,12 @@ class EphEmberThermostat(ClimateDevice):
if self._hot_water:
return None
return 1
return 0.5
@property
def hvac_action(self):
"""Return current HVAC action."""
if self._zone["isCurrentlyActive"]:
if zone_is_active(self._zone):
return CURRENT_HVAC_HEAT
return CURRENT_HVAC_IDLE
@ -117,9 +127,7 @@ class EphEmberThermostat(ClimateDevice):
@property
def hvac_mode(self):
"""Return current operation ie. heat, cool, idle."""
from pyephember.pyephember import ZoneMode
mode = ZoneMode(self._zone["mode"])
mode = zone_mode(self._zone)
return self.map_mode_eph_hass(mode)
@property
@ -138,12 +146,13 @@ class EphEmberThermostat(ClimateDevice):
@property
def is_aux_heat(self):
"""Return true if aux heater."""
return self._zone["isBoostActive"]
return zone_is_boost_active(self._zone)
def turn_aux_heat_on(self):
"""Turn auxiliary heater on."""
self._ember.activate_boost_by_name(
self._zone_name, self._zone["targetTemperature"]
self._zone_name, zone_target_temperature(self._zone)
)
def turn_aux_heat_off(self):
@ -165,24 +174,24 @@ class EphEmberThermostat(ClimateDevice):
if temperature > self.max_temp or temperature < self.min_temp:
return
self._ember.set_target_temperture_by_name(self._zone_name, int(temperature))
self._ember.set_target_temperture_by_name(self._zone_name, temperature)
@property
def min_temp(self):
"""Return the minimum temperature."""
# Hot water temp doesn't support being changed
if self._hot_water:
return self._zone["targetTemperature"]
return zone_target_temperature(self._zone)
return 5
return 5.0
@property
def max_temp(self):
"""Return the maximum temperature."""
if self._hot_water:
return self._zone["targetTemperature"]
return zone_target_temperature(self._zone)
return 35
return 35.0
def update(self):
"""Get the latest data."""
@ -191,8 +200,6 @@ class EphEmberThermostat(ClimateDevice):
@staticmethod
def map_mode_hass_eph(operation_mode):
"""Map from home assistant mode to eph mode."""
from pyephember.pyephember import ZoneMode
return getattr(ZoneMode, HA_STATE_TO_EPH.get(operation_mode), None)
@staticmethod

View file

@ -3,7 +3,7 @@
"name": "Ephember",
"documentation": "https://www.home-assistant.io/integrations/ephember",
"requirements": [
"pyephember==0.2.0"
"pyephember==0.3.1"
],
"dependencies": [],
"codeowners": [

View file

@ -1189,7 +1189,7 @@ pyemby==1.6
pyenvisalink==4.0
# homeassistant.components.ephember
pyephember==0.2.0
pyephember==0.3.1
# homeassistant.components.everlights
pyeverlights==0.1.0