mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Set target value on LCN regulator lock (#133870)
This commit is contained in:
parent
689d7d3cd9
commit
99d250f222
@ -32,6 +32,7 @@ from .const import (
|
|||||||
CONF_MAX_TEMP,
|
CONF_MAX_TEMP,
|
||||||
CONF_MIN_TEMP,
|
CONF_MIN_TEMP,
|
||||||
CONF_SETPOINT,
|
CONF_SETPOINT,
|
||||||
|
CONF_TARGET_VALUE_LOCKED,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
)
|
)
|
||||||
from .entity import LcnEntity
|
from .entity import LcnEntity
|
||||||
@ -93,6 +94,9 @@ class LcnClimate(LcnEntity, ClimateEntity):
|
|||||||
|
|
||||||
self.regulator_id = pypck.lcn_defs.Var.to_set_point_id(self.setpoint)
|
self.regulator_id = pypck.lcn_defs.Var.to_set_point_id(self.setpoint)
|
||||||
self.is_lockable = config[CONF_DOMAIN_DATA][CONF_LOCKABLE]
|
self.is_lockable = config[CONF_DOMAIN_DATA][CONF_LOCKABLE]
|
||||||
|
self.target_value_locked = config[CONF_DOMAIN_DATA].get(
|
||||||
|
CONF_TARGET_VALUE_LOCKED, -1
|
||||||
|
)
|
||||||
self._max_temp = config[CONF_DOMAIN_DATA][CONF_MAX_TEMP]
|
self._max_temp = config[CONF_DOMAIN_DATA][CONF_MAX_TEMP]
|
||||||
self._min_temp = config[CONF_DOMAIN_DATA][CONF_MIN_TEMP]
|
self._min_temp = config[CONF_DOMAIN_DATA][CONF_MIN_TEMP]
|
||||||
|
|
||||||
@ -171,7 +175,9 @@ class LcnClimate(LcnEntity, ClimateEntity):
|
|||||||
self._is_on = True
|
self._is_on = True
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
elif hvac_mode == HVACMode.OFF:
|
elif hvac_mode == HVACMode.OFF:
|
||||||
if not await self.device_connection.lock_regulator(self.regulator_id, True):
|
if not await self.device_connection.lock_regulator(
|
||||||
|
self.regulator_id, True, self.target_value_locked
|
||||||
|
):
|
||||||
return
|
return
|
||||||
self._is_on = False
|
self._is_on = False
|
||||||
self._target_temperature = None
|
self._target_temperature = None
|
||||||
|
@ -35,6 +35,7 @@ CONF_DIMMABLE = "dimmable"
|
|||||||
CONF_TRANSITION = "transition"
|
CONF_TRANSITION = "transition"
|
||||||
CONF_MOTOR = "motor"
|
CONF_MOTOR = "motor"
|
||||||
CONF_LOCKABLE = "lockable"
|
CONF_LOCKABLE = "lockable"
|
||||||
|
CONF_TARGET_VALUE_LOCKED = "target_value_locked"
|
||||||
CONF_VARIABLE = "variable"
|
CONF_VARIABLE = "variable"
|
||||||
CONF_VALUE = "value"
|
CONF_VALUE = "value"
|
||||||
CONF_RELVARREF = "value_reference"
|
CONF_RELVARREF = "value_reference"
|
||||||
|
@ -8,5 +8,5 @@
|
|||||||
"documentation": "https://www.home-assistant.io/integrations/lcn",
|
"documentation": "https://www.home-assistant.io/integrations/lcn",
|
||||||
"iot_class": "local_push",
|
"iot_class": "local_push",
|
||||||
"loggers": ["pypck"],
|
"loggers": ["pypck"],
|
||||||
"requirements": ["pypck==0.8.1", "lcn-frontend==0.2.2"]
|
"requirements": ["pypck==0.8.3", "lcn-frontend==0.2.3"]
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ from .const import (
|
|||||||
CONF_REGISTER,
|
CONF_REGISTER,
|
||||||
CONF_REVERSE_TIME,
|
CONF_REVERSE_TIME,
|
||||||
CONF_SETPOINT,
|
CONF_SETPOINT,
|
||||||
|
CONF_TARGET_VALUE_LOCKED,
|
||||||
CONF_TRANSITION,
|
CONF_TRANSITION,
|
||||||
KEYS,
|
KEYS,
|
||||||
LED_PORTS,
|
LED_PORTS,
|
||||||
@ -58,6 +59,7 @@ DOMAIN_DATA_CLIMATE: VolDictType = {
|
|||||||
vol.Optional(CONF_MAX_TEMP, default=DEFAULT_MAX_TEMP): vol.Coerce(float),
|
vol.Optional(CONF_MAX_TEMP, default=DEFAULT_MAX_TEMP): vol.Coerce(float),
|
||||||
vol.Optional(CONF_MIN_TEMP, default=DEFAULT_MIN_TEMP): vol.Coerce(float),
|
vol.Optional(CONF_MIN_TEMP, default=DEFAULT_MIN_TEMP): vol.Coerce(float),
|
||||||
vol.Optional(CONF_LOCKABLE, default=False): vol.Coerce(bool),
|
vol.Optional(CONF_LOCKABLE, default=False): vol.Coerce(bool),
|
||||||
|
vol.Optional(CONF_TARGET_VALUE_LOCKED, default=-1): vol.Coerce(float),
|
||||||
vol.Optional(CONF_UNIT_OF_MEASUREMENT, default=UnitOfTemperature.CELSIUS): vol.In(
|
vol.Optional(CONF_UNIT_OF_MEASUREMENT, default=UnitOfTemperature.CELSIUS): vol.In(
|
||||||
UnitOfTemperature.CELSIUS, UnitOfTemperature.FAHRENHEIT
|
UnitOfTemperature.CELSIUS, UnitOfTemperature.FAHRENHEIT
|
||||||
),
|
),
|
||||||
|
4
requirements_all.txt
generated
4
requirements_all.txt
generated
@ -1287,7 +1287,7 @@ lakeside==0.13
|
|||||||
laundrify-aio==1.2.2
|
laundrify-aio==1.2.2
|
||||||
|
|
||||||
# homeassistant.components.lcn
|
# homeassistant.components.lcn
|
||||||
lcn-frontend==0.2.2
|
lcn-frontend==0.2.3
|
||||||
|
|
||||||
# homeassistant.components.ld2410_ble
|
# homeassistant.components.ld2410_ble
|
||||||
ld2410-ble==0.1.1
|
ld2410-ble==0.1.1
|
||||||
@ -2195,7 +2195,7 @@ pypalazzetti==0.1.19
|
|||||||
pypca==0.0.7
|
pypca==0.0.7
|
||||||
|
|
||||||
# homeassistant.components.lcn
|
# homeassistant.components.lcn
|
||||||
pypck==0.8.1
|
pypck==0.8.3
|
||||||
|
|
||||||
# homeassistant.components.pjlink
|
# homeassistant.components.pjlink
|
||||||
pypjlink2==1.2.1
|
pypjlink2==1.2.1
|
||||||
|
4
requirements_test_all.txt
generated
4
requirements_test_all.txt
generated
@ -1086,7 +1086,7 @@ lacrosse-view==1.0.3
|
|||||||
laundrify-aio==1.2.2
|
laundrify-aio==1.2.2
|
||||||
|
|
||||||
# homeassistant.components.lcn
|
# homeassistant.components.lcn
|
||||||
lcn-frontend==0.2.2
|
lcn-frontend==0.2.3
|
||||||
|
|
||||||
# homeassistant.components.ld2410_ble
|
# homeassistant.components.ld2410_ble
|
||||||
ld2410-ble==0.1.1
|
ld2410-ble==0.1.1
|
||||||
@ -1788,7 +1788,7 @@ pyownet==0.10.0.post1
|
|||||||
pypalazzetti==0.1.19
|
pypalazzetti==0.1.19
|
||||||
|
|
||||||
# homeassistant.components.lcn
|
# homeassistant.components.lcn
|
||||||
pypck==0.8.1
|
pypck==0.8.3
|
||||||
|
|
||||||
# homeassistant.components.pjlink
|
# homeassistant.components.pjlink
|
||||||
pypjlink2==1.2.1
|
pypjlink2==1.2.1
|
||||||
|
@ -107,7 +107,7 @@ async def test_set_hvac_mode_off(hass: HomeAssistant, entry: MockConfigEntry) ->
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
lock_regulator.assert_awaited_with(0, True)
|
lock_regulator.assert_awaited_with(0, True, -1)
|
||||||
|
|
||||||
state = hass.states.get("climate.climate1")
|
state = hass.states.get("climate.climate1")
|
||||||
assert state is not None
|
assert state is not None
|
||||||
@ -124,7 +124,7 @@ async def test_set_hvac_mode_off(hass: HomeAssistant, entry: MockConfigEntry) ->
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
lock_regulator.assert_awaited_with(0, True)
|
lock_regulator.assert_awaited_with(0, True, -1)
|
||||||
|
|
||||||
state = hass.states.get("climate.climate1")
|
state = hass.states.get("climate.climate1")
|
||||||
assert state is not None
|
assert state is not None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user