Skip to content
Merged
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
4 changes: 2 additions & 2 deletions PyTado/interface/api/my_tado.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ def set_boiler_max_output_temperature(

def set_flow_temperature_optimization(
self, max_flow_temperature: float
) -> FlowTemperatureOptimization:
) -> SuccessResult:
"""
Set the flow temperature optimization.

Expand All @@ -348,7 +348,7 @@ def set_flow_temperature_optimization(
request.command = "flowTemperatureOptimization"
request.payload = {"maxFlowTemperature": max_flow_temperature}

return FlowTemperatureOptimization.model_validate(self._http.request(request))
return SuccessResult.model_validate(self._http.request(request))

def get_flow_temperature_optimization(self) -> FlowTemperatureOptimization:
"""
Expand Down
1 change: 1 addition & 0 deletions PyTado/models/line_x/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ class DevicesRooms(Base):
devices: list[Device]
zone_controller_assignable: bool | None = None
zone_controllers: list[Any] | None = None
room_link_available: bool | None = None

@model_validator(mode="after")
def set_device_room(self) -> Self:
Expand Down
126 changes: 64 additions & 62 deletions tests/fixtures/tadox/rooms_and_devices.json
Original file line number Diff line number Diff line change
@@ -1,64 +1,66 @@
{
"otherDevices": [
{
"connection": {
"state": "CONNECTED"
},
"firmwareVersion": "245.1",
"serialNumber": "IB1234567890",
"type": "IB02"
}
],
"rooms": [
{
"deviceManualControlTermination": {
"durationInSeconds": null,
"type": "MANUAL"
},
"devices": [
{
"batteryState": "NORMAL",
"childLockEnabled": false,
"connection": {
"state": "CONNECTED"
},
"firmwareVersion": "243.1",
"mountingState": "CALIBRATED",
"serialNumber": "VA1234567890",
"temperatureAsMeasured": 17.00,
"temperatureOffset": 0.0,
"type": "VA04"
}
],
"roomId": 1,
"roomName": "Room 1",
"zoneControllerAssignable": false,
"zoneControllers": []
"otherDevices": [
{
"connection": {
"state": "CONNECTED"
},
{
"deviceManualControlTermination": {
"durationInSeconds": null,
"type": "MANUAL"
},
"devices": [
{
"batteryState": "NORMAL",
"childLockEnabled": false,
"connection": {
"state": "CONNECTED"
},
"firmwareVersion": "243.1",
"mountingState": "CALIBRATED",
"serialNumber": "VA1234567891",
"temperatureAsMeasured": 18.00,
"temperatureOffset": 0.0,
"type": "VA04"
}
],
"roomId": 2,
"roomName": " Room 2",
"zoneControllerAssignable": false,
"zoneControllers": []
}
]
}
"firmwareVersion": "245.1",
"serialNumber": "IB1234567890",
"type": "IB02"
}
],
"rooms": [
{
"deviceManualControlTermination": {
"durationInSeconds": null,
"type": "MANUAL"
},
"devices": [
{
"batteryState": "NORMAL",
"childLockEnabled": false,
"connection": {
"state": "CONNECTED"
},
"firmwareVersion": "243.1",
"mountingState": "CALIBRATED",
"serialNumber": "VA1234567890",
"temperatureAsMeasured": 17.00,
"temperatureOffset": 0.0,
"type": "VA04"
}
],
"roomId": 1,
"roomName": "Room 1",
"zoneControllerAssignable": false,
"zoneControllers": [],
"roomLinkAvailable": true
},
{
"deviceManualControlTermination": {
"durationInSeconds": null,
"type": "MANUAL"
},
"devices": [
{
"batteryState": "NORMAL",
"childLockEnabled": false,
"connection": {
"state": "CONNECTED"
},
"firmwareVersion": "243.1",
"mountingState": "CALIBRATED",
"serialNumber": "VA1234567891",
"temperatureAsMeasured": 18.00,
"temperatureOffset": 0.0,
"type": "VA04"
}
],
"roomId": 2,
"roomName": " Room 2",
"zoneControllerAssignable": false,
"zoneControllers": [],
"roomLinkAvailable": true
}
]
}
6 changes: 2 additions & 4 deletions tests/test_my_tado.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,7 @@ def test_set_flow_temperature_optimization(self):
"""Test the set_flow_temperature_optimization method."""
with mock.patch(
"PyTado.http.Http.request",
return_value=json.loads(
common.load_fixture("set_flow_temperature_optimization_issue_143.json")
),
return_value={"success": True},
):
# Set max flow temperature to 50°C
self.tado_client.set_flow_temperature_optimization(50)
Expand All @@ -178,7 +176,7 @@ def test_get_flow_temperature_optimization(self):
responses.GET,
"https://my.tado.com/api/v2/homes/1234/flowTemperatureOptimization",
json=json.loads(
common.load_fixture("set_flow_temperature_optimization_issue_143.json")
common.load_fixture("get_flow_temperature_optimization_issue_143.json")
),
status=200,
)
Expand Down
Loading