mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 22:57:17 +00:00
Remove EU code from honeywell integration (#36456)
This commit is contained in:
parent
140fd5adaf
commit
525e220395
@ -47,24 +47,29 @@ ATTR_FAN_ACTION = "fan_action"
|
|||||||
|
|
||||||
CONF_COOL_AWAY_TEMPERATURE = "away_cool_temperature"
|
CONF_COOL_AWAY_TEMPERATURE = "away_cool_temperature"
|
||||||
CONF_HEAT_AWAY_TEMPERATURE = "away_heat_temperature"
|
CONF_HEAT_AWAY_TEMPERATURE = "away_heat_temperature"
|
||||||
|
CONF_DEV_ID = "thermostat"
|
||||||
|
CONF_LOC_ID = "location"
|
||||||
|
|
||||||
DEFAULT_COOL_AWAY_TEMPERATURE = 88
|
DEFAULT_COOL_AWAY_TEMPERATURE = 88
|
||||||
DEFAULT_HEAT_AWAY_TEMPERATURE = 61
|
DEFAULT_HEAT_AWAY_TEMPERATURE = 61
|
||||||
DEFAULT_REGION = "eu"
|
|
||||||
REGIONS = ["eu", "us"]
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
PLATFORM_SCHEMA = vol.All(
|
||||||
{
|
cv.deprecated(CONF_REGION),
|
||||||
vol.Required(CONF_USERNAME): cv.string,
|
PLATFORM_SCHEMA.extend(
|
||||||
vol.Required(CONF_PASSWORD): cv.string,
|
{
|
||||||
vol.Optional(
|
vol.Required(CONF_USERNAME): cv.string,
|
||||||
CONF_COOL_AWAY_TEMPERATURE, default=DEFAULT_COOL_AWAY_TEMPERATURE
|
vol.Required(CONF_PASSWORD): cv.string,
|
||||||
): vol.Coerce(int),
|
vol.Optional(
|
||||||
vol.Optional(
|
CONF_COOL_AWAY_TEMPERATURE, default=DEFAULT_COOL_AWAY_TEMPERATURE
|
||||||
CONF_HEAT_AWAY_TEMPERATURE, default=DEFAULT_HEAT_AWAY_TEMPERATURE
|
): vol.Coerce(int),
|
||||||
): vol.Coerce(int),
|
vol.Optional(
|
||||||
vol.Optional(CONF_REGION, default=DEFAULT_REGION): vol.In(REGIONS),
|
CONF_HEAT_AWAY_TEMPERATURE, default=DEFAULT_HEAT_AWAY_TEMPERATURE
|
||||||
}
|
): vol.Coerce(int),
|
||||||
|
vol.Optional(CONF_REGION): cv.string,
|
||||||
|
vol.Optional(CONF_DEV_ID): cv.string,
|
||||||
|
vol.Optional(CONF_LOC_ID): cv.string,
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
HVAC_MODE_TO_HW_MODE = {
|
HVAC_MODE_TO_HW_MODE = {
|
||||||
@ -104,44 +109,36 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
|||||||
username = config.get(CONF_USERNAME)
|
username = config.get(CONF_USERNAME)
|
||||||
password = config.get(CONF_PASSWORD)
|
password = config.get(CONF_PASSWORD)
|
||||||
|
|
||||||
if config.get(CONF_REGION) == "us":
|
try:
|
||||||
try:
|
client = somecomfort.SomeComfort(username, password)
|
||||||
client = somecomfort.SomeComfort(username, password)
|
except somecomfort.AuthError:
|
||||||
except somecomfort.AuthError:
|
_LOGGER.error("Failed to login to honeywell account %s", username)
|
||||||
_LOGGER.error("Failed to login to honeywell account %s", username)
|
return
|
||||||
return
|
except somecomfort.SomeComfortError:
|
||||||
except somecomfort.SomeComfortError:
|
_LOGGER.error(
|
||||||
_LOGGER.error(
|
"Failed to initialize the Honeywell client: "
|
||||||
"Failed to initialize the Honeywell client: "
|
"Check your configuration (username, password), "
|
||||||
"Check your configuration (username, password), "
|
"or maybe you have exceeded the API rate limit?"
|
||||||
"or maybe you have exceeded the API rate limit?"
|
|
||||||
)
|
|
||||||
return
|
|
||||||
|
|
||||||
dev_id = config.get("thermostat")
|
|
||||||
loc_id = config.get("location")
|
|
||||||
cool_away_temp = config.get(CONF_COOL_AWAY_TEMPERATURE)
|
|
||||||
heat_away_temp = config.get(CONF_HEAT_AWAY_TEMPERATURE)
|
|
||||||
|
|
||||||
add_entities(
|
|
||||||
[
|
|
||||||
HoneywellUSThermostat(
|
|
||||||
client, device, cool_away_temp, heat_away_temp, username, password
|
|
||||||
)
|
|
||||||
for location in client.locations_by_id.values()
|
|
||||||
for device in location.devices_by_id.values()
|
|
||||||
if (
|
|
||||||
(not loc_id or location.locationid == loc_id)
|
|
||||||
and (not dev_id or device.deviceid == dev_id)
|
|
||||||
)
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
_LOGGER.warning(
|
dev_id = config.get(CONF_DEV_ID)
|
||||||
"The honeywell component has been deprecated for EU (i.e. non-US) "
|
loc_id = config.get(CONF_LOC_ID)
|
||||||
"systems. For EU-based systems, use the evohome component, "
|
cool_away_temp = config.get(CONF_COOL_AWAY_TEMPERATURE)
|
||||||
"see: https://www.home-assistant.io/integrations/evohome"
|
heat_away_temp = config.get(CONF_HEAT_AWAY_TEMPERATURE)
|
||||||
|
|
||||||
|
add_entities(
|
||||||
|
[
|
||||||
|
HoneywellUSThermostat(
|
||||||
|
client, device, cool_away_temp, heat_away_temp, username, password,
|
||||||
|
)
|
||||||
|
for location in client.locations_by_id.values()
|
||||||
|
for device in location.devices_by_id.values()
|
||||||
|
if (
|
||||||
|
(not loc_id or location.locationid == loc_id)
|
||||||
|
and (not dev_id or device.deviceid == dev_id)
|
||||||
|
)
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user