use HeatingProgram type

This commit is contained in:
Christopher Fenner
2024-02-01 17:28:37 +01:00
parent 30011961d1
commit bfc80502d7

View File

@@ -30,7 +30,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import ViCareRequiredKeysMixin from . import ViCareRequiredKeysMixin
from .const import DOMAIN, VICARE_API, VICARE_DEVICE_CONFIG from .const import DOMAIN, VICARE_API, VICARE_DEVICE_CONFIG, HeatingProgram
from .entity import ViCareEntity from .entity import ViCareEntity
from .utils import get_circuits, is_supported from .utils import get_circuits, is_supported
@@ -89,11 +89,19 @@ CIRCUIT_ENTITY_DESCRIPTIONS: tuple[ViCareNumberEntityDescription, ...] = (
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
device_class=NumberDeviceClass.TEMPERATURE, device_class=NumberDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_getter=lambda api: api.getDesiredTemperatureForProgram("normal"), value_getter=lambda api: api.getDesiredTemperatureForProgram(
value_setter=lambda api, value: api.setProgramTemperature("normal", value), HeatingProgram.NORMAL
min_value_getter=lambda api: api.getProgramMinTemperature("normal"), ),
max_value_getter=lambda api: api.getProgramMaxTemperature("normal"), value_setter=lambda api, value: api.setProgramTemperature(
stepping_getter=lambda api: api.getProgramStepping("normal"), HeatingProgram.NORMAL, value
),
min_value_getter=lambda api: api.getProgramMinTemperature(
HeatingProgram.NORMAL
),
max_value_getter=lambda api: api.getProgramMaxTemperature(
HeatingProgram.NORMAL
),
stepping_getter=lambda api: api.getProgramStepping(HeatingProgram.NORMAL),
), ),
ViCareNumberEntityDescription( ViCareNumberEntityDescription(
key="reduced_temperature", key="reduced_temperature",
@@ -101,11 +109,19 @@ CIRCUIT_ENTITY_DESCRIPTIONS: tuple[ViCareNumberEntityDescription, ...] = (
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
device_class=NumberDeviceClass.TEMPERATURE, device_class=NumberDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_getter=lambda api: api.getDesiredTemperatureForProgram("reduced"), value_getter=lambda api: api.getDesiredTemperatureForProgram(
value_setter=lambda api, value: api.setProgramTemperature("reduced", value), HeatingProgram.REDUCED
min_value_getter=lambda api: api.getProgramMinTemperature("reduced"), ),
max_value_getter=lambda api: api.getProgramMaxTemperature("reduced"), value_setter=lambda api, value: api.setProgramTemperature(
stepping_getter=lambda api: api.getProgramStepping("reduced"), HeatingProgram.REDUCED, value
),
min_value_getter=lambda api: api.getProgramMinTemperature(
HeatingProgram.REDUCED
),
max_value_getter=lambda api: api.getProgramMaxTemperature(
HeatingProgram.REDUCED
),
stepping_getter=lambda api: api.getProgramStepping(HeatingProgram.REDUCED),
), ),
ViCareNumberEntityDescription( ViCareNumberEntityDescription(
key="comfort_temperature", key="comfort_temperature",
@@ -113,11 +129,19 @@ CIRCUIT_ENTITY_DESCRIPTIONS: tuple[ViCareNumberEntityDescription, ...] = (
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
device_class=NumberDeviceClass.TEMPERATURE, device_class=NumberDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_getter=lambda api: api.getDesiredTemperatureForProgram("comfort"), value_getter=lambda api: api.getDesiredTemperatureForProgram(
value_setter=lambda api, value: api.setProgramTemperature("comfort", value), HeatingProgram.COMFORT
min_value_getter=lambda api: api.getProgramMinTemperature("comfort"), ),
max_value_getter=lambda api: api.getProgramMaxTemperature("comfort"), value_setter=lambda api, value: api.setProgramTemperature(
stepping_getter=lambda api: api.getProgramStepping("comfort"), HeatingProgram.COMFORT, value
),
min_value_getter=lambda api: api.getProgramMinTemperature(
HeatingProgram.COMFORT
),
max_value_getter=lambda api: api.getProgramMaxTemperature(
HeatingProgram.COMFORT
),
stepping_getter=lambda api: api.getProgramStepping(HeatingProgram.COMFORT),
), ),
) )