mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 08:47:57 +00:00
Allow homekit_controller to customise Ecobee home/sleep/away thresholds (#65036)
This commit is contained in:
parent
3d461e9e1f
commit
603d0fb068
@ -56,6 +56,12 @@ CHARACTERISTIC_PLATFORMS = {
|
||||
CharacteristicsTypes.Vendor.AQARA_E1_GATEWAY_VOLUME: "number",
|
||||
CharacteristicsTypes.Vendor.AQARA_PAIRING_MODE: "switch",
|
||||
CharacteristicsTypes.Vendor.AQARA_E1_PAIRING_MODE: "switch",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_COOL: "number",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_HEAT: "number",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_COOL: "number",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_HEAT: "number",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_COOL: "number",
|
||||
CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_HEAT: "number",
|
||||
CharacteristicsTypes.Vendor.EVE_ENERGY_WATT: "sensor",
|
||||
CharacteristicsTypes.Vendor.EVE_DEGREE_AIR_PRESSURE: "sensor",
|
||||
CharacteristicsTypes.Vendor.EVE_DEGREE_ELEVATION: "number",
|
||||
|
@ -41,6 +41,42 @@ NUMBER_ENTITIES: dict[str, NumberEntityDescription] = {
|
||||
icon="mdi:volume-high",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_COOL: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_COOL,
|
||||
name="Home Cool Target",
|
||||
icon="mdi:thermometer-minus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_HEAT: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_HOME_TARGET_HEAT,
|
||||
name="Home Heat Target",
|
||||
icon="mdi:thermometer-plus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_COOL: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_COOL,
|
||||
name="Sleep Cool Target",
|
||||
icon="mdi:thermometer-minus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_HEAT: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_SLEEP_TARGET_HEAT,
|
||||
name="Sleep Heat Target",
|
||||
icon="mdi:thermometer-plus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_COOL: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_COOL,
|
||||
name="Away Cool Target",
|
||||
icon="mdi:thermometer-minus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_HEAT: NumberEntityDescription(
|
||||
key=CharacteristicsTypes.Vendor.ECOBEE_AWAY_TARGET_HEAT,
|
||||
name="Away Heat Target",
|
||||
icon="mdi:thermometer-plus",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,10 +14,12 @@ from homeassistant.components.climate.const import (
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
SUPPORT_TARGET_TEMPERATURE_RANGE,
|
||||
)
|
||||
from homeassistant.components.number import NumberMode
|
||||
from homeassistant.components.sensor import SensorStateClass
|
||||
from homeassistant.config_entries import ConfigEntryState
|
||||
from homeassistant.const import TEMP_CELSIUS
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
|
||||
from tests.components.homekit_controller.common import (
|
||||
HUB_TEST_ACCESSORY_ID,
|
||||
@ -121,6 +123,84 @@ async def test_ecobee3_setup(hass):
|
||||
},
|
||||
state="heat",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_home_cool_target",
|
||||
friendly_name="HomeW Home Cool Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:35",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 33.3,
|
||||
"min": 18.3,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="24.4",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_home_heat_target",
|
||||
friendly_name="HomeW Home Heat Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:34",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 26.1,
|
||||
"min": 7.2,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="22.2",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_sleep_cool_target",
|
||||
friendly_name="HomeW Sleep Cool Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:37",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 33.3,
|
||||
"min": 18.3,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="27.8",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_sleep_heat_target",
|
||||
friendly_name="HomeW Sleep Heat Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:36",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 26.1,
|
||||
"min": 7.2,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="17.8",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_away_cool_target",
|
||||
friendly_name="HomeW Away Cool Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:39",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 33.3,
|
||||
"min": 18.3,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="26.7",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="number.homew_away_heat_target",
|
||||
friendly_name="HomeW Away Heat Target",
|
||||
unique_id="homekit-123456789012-aid:1-sid:16-cid:38",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
capabilities={
|
||||
"max": 26.1,
|
||||
"min": 7.2,
|
||||
"mode": NumberMode.AUTO,
|
||||
"step": 0.1,
|
||||
},
|
||||
state="18.9",
|
||||
),
|
||||
EntityTestInfo(
|
||||
entity_id="sensor.homew_current_temperature",
|
||||
friendly_name="HomeW Current Temperature",
|
||||
|
Loading…
x
Reference in New Issue
Block a user