Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions src/pymelcloud/atw_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,12 @@ def flow_temperature(self) -> float:
This value is not available in the standard state poll response. The poll
update frequency can be a little bit lower that expected.
"""
return self._device_conf()["Device"]["FlowTemperature"]
temp = self._device_conf()["Device"].get(f"FlowTemperatureZone{self.zone_index}")

if temp is None:
return self._device_conf()["Device"]["FlowTemperature"] # backward compatibility if it is needed

return temp

@property
def return_temperature(self) -> float:
Expand All @@ -170,7 +175,12 @@ def return_temperature(self) -> float:
This value is not available in the standard state poll response. The poll
update frequency can be a little bit lower that expected.
"""
return self._device_conf()["Device"]["ReturnTemperature"]
temp = self._device_conf()["Device"].get(f"ReturnTemperatureZone{self.zone_index}")

if temp is None:
return self._device_conf()["Device"]["ReturnTemperature"] # backward compatibility if it is needed

return temp

@property
def target_flow_temperature(self) -> Optional[float]:
Expand Down
8 changes: 4 additions & 4 deletions tests/samples/atw_1zone_listdevice.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@
"RoomTemperatureZone2": -39,
"OutdoorTemperature": 13,
"FlowTemperature": 57.5,
"FlowTemperatureZone1": 25,
"FlowTemperatureZone2": 25,
"FlowTemperatureZone1": 28,
"FlowTemperatureZone2": 29,
"FlowTemperatureBoiler": 25,
"ReturnTemperature": 53,
"ReturnTemperatureZone1": 25,
"ReturnTemperatureZone2": 25,
"ReturnTemperatureZone1": 26,
"ReturnTemperatureZone2": 27,
"ReturnTemperatureBoiler": 25,
"BoilerStatus": false,
"BoosterHeater1Status": false,
Expand Down
8 changes: 4 additions & 4 deletions tests/samples/atw_2zone_listdevice.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,12 @@
"RoomTemperatureZone2": 19.5,
"OutdoorTemperature": 4.0,
"FlowTemperature": 36.0,
"FlowTemperatureZone1": 25.0,
"FlowTemperatureZone2": 25.0,
"FlowTemperatureZone1": 29.0,
"FlowTemperatureZone2": 28.0,
"FlowTemperatureBoiler": 25.0,
"ReturnTemperature": 30.0,
"ReturnTemperatureZone1": 25.0,
"ReturnTemperatureZone2": 25.0,
"ReturnTemperatureZone1": 27.0,
"ReturnTemperatureZone2": 26.0,
"ReturnTemperatureBoiler": 25.0,
"BoilerStatus": false,
"BoosterHeater1Status": false,
Expand Down
20 changes: 10 additions & 10 deletions tests/test_atw_properties.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ async def test_1zone():
assert zones[0].zone_index == 1
assert zones[0].room_temperature is None
assert zones[0].target_temperature is None
assert zones[0].flow_temperature == 57.5
assert zones[0].return_temperature == 53.0
assert zones[0].flow_temperature == 28.0
assert zones[0].return_temperature == 26.0
assert zones[0].target_flow_temperature is None
assert zones[0].operation_mode is None
assert zones[0].operation_modes == [
Expand Down Expand Up @@ -130,8 +130,8 @@ async def test_2zone():
assert zones[0].zone_index == 1
assert zones[0].room_temperature is None
assert zones[0].target_temperature is None
assert zones[0].flow_temperature == 36.0
assert zones[0].return_temperature == 30.0
assert zones[0].flow_temperature == 29.0
assert zones[0].return_temperature == 27.0
assert zones[0].target_flow_temperature is None
assert zones[0].operation_mode is None
assert zones[0].operation_modes == [
Expand All @@ -145,8 +145,8 @@ async def test_2zone():
assert zones[1].zone_index == 2
assert zones[1].room_temperature is None
assert zones[1].target_temperature is None
assert zones[1].flow_temperature == 36.0
assert zones[1].return_temperature == 30.0
assert zones[1].flow_temperature == 28.0
assert zones[1].return_temperature == 26.0
assert zones[1].target_flow_temperature is None
assert zones[1].operation_mode is None
assert zones[1].operation_modes == [
Expand Down Expand Up @@ -228,8 +228,8 @@ async def test_2zone_cancool():
assert zones[0].zone_index == 1
assert zones[0].room_temperature is None
assert zones[0].target_temperature is None
assert zones[0].flow_temperature == 50.5
assert zones[0].return_temperature == 50.5
assert zones[0].flow_temperature == 22.0
assert zones[0].return_temperature == 21.0
assert zones[0].target_flow_temperature is None
assert zones[0].operation_mode is None
assert zones[0].operation_modes == [
Expand All @@ -245,8 +245,8 @@ async def test_2zone_cancool():
assert zones[1].zone_index == 2
assert zones[1].room_temperature is None
assert zones[1].target_temperature is None
assert zones[1].flow_temperature == 50.5
assert zones[1].return_temperature == 50.5
assert zones[1].flow_temperature == 21.0
assert zones[1].return_temperature == 21.0
assert zones[1].target_flow_temperature is None
assert zones[1].operation_mode is None
assert zones[1].operation_modes == [
Expand Down