diff --git a/ariston/ariston_api.py b/ariston/ariston_api.py index 465e078..d42864d 100644 --- a/ariston/ariston_api.py +++ b/ariston/ariston_api.py @@ -265,12 +265,15 @@ def set_lydos_mode(self, gw_id: str, value: LydosPlantMode) -> None: }, ) - def set_nuos_mode(self, gw_id: str, value: NuosSplitOperativeMode) -> None: + def set_nuos_mode( + self, gw_id: str, value: NuosSplitOperativeMode, old_value: int + ) -> None: """Set Velis Nuos mode""" self._post( f"{self.__api_url}{ARISTON_VELIS}/{PlantData.Slp.value}/{gw_id}/operativeMode", { "new": value.value, + "old": old_value, }, ) @@ -726,13 +729,14 @@ async def async_set_lydos_mode(self, gw_id: str, value: LydosPlantMode) -> None: ) async def async_set_nuos_mode( - self, gw_id: str, value: NuosSplitOperativeMode + self, gw_id: str, value: NuosSplitOperativeMode, old_value: int ) -> None: """Async set Velis Nuos mode""" await self._async_post( f"{self.__api_url}{ARISTON_VELIS}/{PlantData.Slp.value}/{gw_id}/operativeMode", { "new": value.value, + "old": old_value, }, ) diff --git a/ariston/nuos_split_device.py b/ariston/nuos_split_device.py index bfc6fe7..5b08c6b 100644 --- a/ariston/nuos_split_device.py +++ b/ariston/nuos_split_device.py @@ -174,17 +174,21 @@ async def async_set_water_heater_reduced_temperature(self, temperature: float): def set_water_heater_operation_mode(self, operation_mode: str): """Set water heater operation mode""" - self.api.set_nuos_mode(self.gw, NuosSplitOperativeMode[operation_mode]) - self.data[NuosSplitProperties.MODE] = NuosSplitOperativeMode[ + old_value = self.water_heater_mode_value if self.water_heater_mode_value is not None else 1 + self.api.set_nuos_mode( + self.gw, NuosSplitOperativeMode[operation_mode], old_value + ) + self.data[NuosSplitProperties.OP_MODE] = NuosSplitOperativeMode[ operation_mode ].value async def async_set_water_heater_operation_mode(self, operation_mode: str): """Async set water heater operation mode""" + old_value = self.water_heater_mode_value if self.water_heater_mode_value is not None else 1 await self.api.async_set_nuos_mode( - self.gw, NuosSplitOperativeMode[operation_mode] + self.gw, NuosSplitOperativeMode[operation_mode], old_value ) - self.data[NuosSplitProperties.MODE] = NuosSplitOperativeMode[ + self.data[NuosSplitProperties.OP_MODE] = NuosSplitOperativeMode[ operation_mode ].value