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:
parent
fe749fc0f8
commit
6e58a0c996
3 changed files with 39 additions and 32 deletions
|
@ -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
|
||||
|
|
|
@ -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": [
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue