Add secondary temperature sensor for DHW in ViCare (#106612)

* add temp2 sensor

* Update strings.json
pull/114686/head^2
Christopher Fenner 2024-04-17 17:08:23 +02:00 committed by GitHub
parent f62a3a7176
commit 9bae6d694d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 39 additions and 5 deletions

View File

@ -49,6 +49,23 @@ class ViCareNumberEntityDescription(NumberEntityDescription, ViCareRequiredKeysM
stepping_getter: Callable[[PyViCareDevice], float | None] | None = None
DEVICE_ENTITY_DESCRIPTIONS: tuple[ViCareNumberEntityDescription, ...] = (
ViCareNumberEntityDescription(
key="dhw_secondary_temperature",
translation_key="dhw_secondary_temperature",
entity_category=EntityCategory.CONFIG,
device_class=NumberDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_getter=lambda api: api.getDomesticHotWaterConfiguredTemperature2(),
value_setter=lambda api, value: api.setDomesticHotWaterTemperature2(value),
# no getters for min, max, stepping exposed yet, using static values
native_min_value=10,
native_max_value=60,
native_step=1,
),
)
CIRCUIT_ENTITY_DESCRIPTIONS: tuple[ViCareNumberEntityDescription, ...] = (
ViCareNumberEntityDescription(
key="heating curve shift",
@ -216,18 +233,32 @@ def _build_entities(
) -> list[ViCareNumber]:
"""Create ViCare number entities for a device."""
return [
entities: list[ViCareNumber] = [
ViCareNumber(
circuit,
device.api,
device.config,
description,
)
for device in device_list
for circuit in get_circuits(device.api)
for description in CIRCUIT_ENTITY_DESCRIPTIONS
if is_supported(description.key, description, circuit)
for description in DEVICE_ENTITY_DESCRIPTIONS
if is_supported(description.key, description, device.api)
]
entities.extend(
[
ViCareNumber(
circuit,
device.config,
description,
)
for device in device_list
for circuit in get_circuits(device.api)
for description in CIRCUIT_ENTITY_DESCRIPTIONS
if is_supported(description.key, description, circuit)
]
)
return entities
async def async_setup_entry(
hass: HomeAssistant,

View File

@ -89,6 +89,9 @@
},
"comfort_heating_temperature": {
"name": "[%key:component::vicare::entity::number::comfort_temperature::name%]"
},
"dhw_secondary_temperature": {
"name": "DHW secondary temperature"
}
},
"sensor": {