@@ -339,11 +339,13 @@ async def _async_set_water_heater_temperature(
339339
340340 def set_zone_mode (self , zone_mode : BsbZoneMode , zone : int ):
341341 """Set zone mode"""
342- self .api .set_bsb_zone_mode (self .gw , zone , zone_mode )
342+ self .api .set_bsb_zone_mode (self .gw , zone , zone_mode , self .get_zone_mode (zone ), self .is_plant_in_cool_mode )
343+ self .get_zone (zone )[BsbZoneProperties .MODE ][PropertyType .VALUE ] = zone_mode
343344
344345 async def async_set_zone_mode (self , zone_mode : BsbZoneMode , zone : int ):
345346 """Async set zone mode"""
346- await self .api .async_set_bsb_zone_mode (self .gw , zone , zone_mode )
347+ await self .api .async_set_bsb_zone_mode (self .gw , zone , zone_mode , self .get_zone_mode (zone ), self .is_plant_in_cool_mode )
348+ self .get_zone (zone )[BsbZoneProperties .MODE ][PropertyType .VALUE ] = zone_mode
347349
348350 @property
349351 def outside_temp_value (self ) -> str :
@@ -360,29 +362,29 @@ def set_comfort_temp(self, temp: float, zone: int):
360362 if len (self .data ) == 0 :
361363 self .update_state ()
362364 reduced = self .get_reduced_temp_value (zone )
363- self .api .set_bsb_zone_temperature (self .gw , zone , temp , reduced )
365+ self .api .set_bsb_zone_temperature (self .gw , zone , temp , reduced , self . get_comfort_temp_value ( zone ), self . get_reduced_temp_value ( zone ), self . is_plant_in_cool_mode )
364366 self .get_zone_ch_comf_temp (zone )[PropertyType .VALUE ] = temp
365367
366368 async def async_set_comfort_temp (self , temp : float , zone : int ):
367369 """Async set central heating comfort temp"""
368370 if len (self .data ) == 0 :
369371 await self .async_update_state ()
370372 reduced = self .get_reduced_temp_value (zone )
371- await self .api .async_set_bsb_zone_temperature (self .gw , zone , temp , reduced )
373+ await self .api .async_set_bsb_zone_temperature (self .gw , zone , temp , reduced , self . get_comfort_temp_value ( zone ), self . get_reduced_temp_value ( zone ), self . is_plant_in_cool_mode )
372374 self .get_zone_ch_comf_temp (zone )[PropertyType .VALUE ] = temp
373375
374376 def set_reduced_temp (self , temp : float , zone : int ):
375377 """Set central heating reduced temp"""
376378 if len (self .data ) == 0 :
377379 self .update_state ()
378380 comfort = self .get_comfort_temp_value (zone )
379- self .api .set_bsb_zone_temperature (self .gw , zone , comfort , temp )
381+ self .api .set_bsb_zone_temperature (self .gw , zone , comfort , temp , self . get_comfort_temp_value ( zone ), self . get_reduced_temp_value ( zone ), self . is_plant_in_cool_mode )
380382 self .get_zone_ch_red_temp (zone )[PropertyType .VALUE ] = temp
381383
382384 async def async_set_reduced_temp (self , temp : float , zone : int ):
383385 """Async set central heating reduced temp"""
384386 if len (self .data ) == 0 :
385387 await self .async_update_state ()
386388 comfort = self .get_comfort_temp_value (zone )
387- await self .api .async_set_bsb_zone_temperature (self .gw , zone , comfort , temp )
389+ await self .api .async_set_bsb_zone_temperature (self .gw , zone , comfort , temp , self . get_comfort_temp_value ( zone ), self . get_reduced_temp_value ( zone ), self . is_plant_in_cool_mode )
388390 self .get_zone_ch_red_temp (zone )[PropertyType .VALUE ] = temp
0 commit comments