Skip to content

Commit 402f67b

Browse files
authored
Lydos hybrid: permanent boost, anti cooling (#127)
1 parent 57d0f82 commit 402f67b

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

ariston/lydos_hybrid_device.py

+54
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ def electric_consumption_for_water_last_two_hours(self) -> int:
6666
ConsumptionTimeInterval.LAST_DAY,
6767
)
6868

69+
@property
70+
def permanent_boost_value(self) -> int:
71+
"""Get permanent boost value"""
72+
return self.plant_settings.get(SeDeviceSettings.SE_PERMANENT_BOOST_ON_OFF, 0)
73+
74+
@property
75+
def anti_cooling_value(self) -> int:
76+
"""Get anti cooling value"""
77+
return self.plant_settings.get(SeDeviceSettings.SE_ANTI_COOLING_ON_OFF, 0)
78+
6979
def set_water_heater_operation_mode(self, operation_mode: str):
7080
"""Set water heater operation mode"""
7181
self.api.set_lydos_mode(self.gw, LydosPlantMode[operation_mode])
@@ -85,3 +95,47 @@ async def async_set_water_heater_temperature(self, temperature: float):
8595
"""Async set water heater temperature"""
8696
await self.api.async_set_lydos_temperature(self.gw, temperature)
8797
self.data[LydosDeviceProperties.REQ_TEMP] = temperature
98+
99+
def set_permanent_boost_value(self, boost: float) -> None:
100+
"""Set permanent boost value"""
101+
self.api.set_velis_plant_setting(
102+
self.plant_data,
103+
self.gw,
104+
SeDeviceSettings.SE_PERMANENT_BOOST_ON_OFF,
105+
boost,
106+
self.permanent_boost_value,
107+
)
108+
self.plant_settings[SeDeviceSettings.SE_PERMANENT_BOOST_ON_OFF] = boost
109+
110+
async def async_set_permanent_boost_value(self, boost: float) -> None:
111+
"""Async set permanent boost value"""
112+
await self.api.async_set_velis_plant_setting(
113+
self.plant_data,
114+
self.gw,
115+
SeDeviceSettings.SE_PERMANENT_BOOST_ON_OFF,
116+
boost,
117+
self.permanent_boost_value,
118+
)
119+
self.plant_settings[SeDeviceSettings.SE_PERMANENT_BOOST_ON_OFF] = boost
120+
121+
def set_anti_cooling_value(self, anti_cooling: float) -> None:
122+
"""Set anti cooling value"""
123+
self.api.set_velis_plant_setting(
124+
self.plant_data,
125+
self.gw,
126+
SeDeviceSettings.SE_ANTI_COOLING_ON_OFF,
127+
anti_cooling,
128+
self.anti_cooling_value,
129+
)
130+
self.plant_settings[SeDeviceSettings.SE_ANTI_COOLING_ON_OFF] = anti_cooling
131+
132+
async def async_set_anti_cooling_value(self, anti_cooling: float) -> None:
133+
"""Async set anti cooling value"""
134+
await self.api.async_set_velis_plant_setting(
135+
self.plant_data,
136+
self.gw,
137+
SeDeviceSettings.SE_ANTI_COOLING_ON_OFF,
138+
anti_cooling,
139+
self.anti_cooling_value,
140+
)
141+
self.plant_settings[SeDeviceSettings.SE_ANTI_COOLING_ON_OFF] = anti_cooling

0 commit comments

Comments
 (0)