Populate hvac_modes list in opentherm_gw (#142074)

This commit is contained in:
mvn23 2025-06-30 20:24:13 +02:00 committed by GitHub
parent 22a14da19c
commit 217fbb2849
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View File

@ -21,6 +21,7 @@ from homeassistant.components.climate import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_TEMPERATURE, CONF_ID, UnitOfTemperature
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import ServiceValidationError
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
@ -30,6 +31,7 @@ from .const import (
CONF_SET_PRECISION,
DATA_GATEWAYS,
DATA_OPENTHERM_GW,
DOMAIN,
THERMOSTAT_DEVICE_DESCRIPTION,
OpenThermDataSource,
)
@ -75,7 +77,7 @@ class OpenThermClimate(OpenThermStatusEntity, ClimateEntity):
ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE
)
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_attr_hvac_modes = []
_attr_hvac_modes = [HVACMode.HEAT]
_attr_name = None
_attr_preset_modes = []
_attr_min_temp = 1
@ -129,9 +131,11 @@ class OpenThermClimate(OpenThermStatusEntity, ClimateEntity):
if ch_active and flame_on:
self._attr_hvac_action = HVACAction.HEATING
self._attr_hvac_mode = HVACMode.HEAT
self._attr_hvac_modes = [HVACMode.HEAT]
elif cooling_active:
self._attr_hvac_action = HVACAction.COOLING
self._attr_hvac_mode = HVACMode.COOL
self._attr_hvac_modes = [HVACMode.COOL]
else:
self._attr_hvac_action = HVACAction.IDLE
@ -182,6 +186,13 @@ class OpenThermClimate(OpenThermStatusEntity, ClimateEntity):
return PRESET_AWAY
return PRESET_NONE
def set_hvac_mode(self, hvac_mode: HVACMode) -> None:
"""Set new target hvac mode."""
raise ServiceValidationError(
translation_domain=DOMAIN,
translation_key="change_hvac_mode_not_supported",
)
def set_preset_mode(self, preset_mode: str) -> None:
"""Set the preset mode."""
_LOGGER.warning("Changing preset mode is not supported")

View File

@ -355,6 +355,9 @@
}
},
"exceptions": {
"change_hvac_mode_not_supported": {
"message": "Changing HVAC mode is not supported."
},
"invalid_gateway_id": {
"message": "Gateway {gw_id} not found or not loaded!"
}