diff --git a/PyTado/interface/api/my_tado.py b/PyTado/interface/api/my_tado.py index e49a4dd..ef4c4a3 100644 --- a/PyTado/interface/api/my_tado.py +++ b/PyTado/interface/api/my_tado.py @@ -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. @@ -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: """ diff --git a/PyTado/models/line_x/device.py b/PyTado/models/line_x/device.py index 61ac78e..d9fa830 100644 --- a/PyTado/models/line_x/device.py +++ b/PyTado/models/line_x/device.py @@ -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: diff --git a/tests/fixtures/set_flow_temperature_optimization_issue_143.json b/tests/fixtures/get_flow_temperature_optimization_issue_143.json similarity index 100% rename from tests/fixtures/set_flow_temperature_optimization_issue_143.json rename to tests/fixtures/get_flow_temperature_optimization_issue_143.json diff --git a/tests/fixtures/tadox/rooms_and_devices.json b/tests/fixtures/tadox/rooms_and_devices.json index 077944c..9da7eb9 100644 --- a/tests/fixtures/tadox/rooms_and_devices.json +++ b/tests/fixtures/tadox/rooms_and_devices.json @@ -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 + } + ] +} diff --git a/tests/test_my_tado.py b/tests/test_my_tado.py index c9f2ff4..07e896b 100644 --- a/tests/test_my_tado.py +++ b/tests/test_my_tado.py @@ -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) @@ -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, )