signalkraft / mypyllant-component

Home Assistant component for the myVAILLANT API, controls Vaillant devices such as aroTHERM heatpumps and ecoTEC boilers
https://signalkraft.com/mypyllant-component/
MIT License
145 stars 22 forks source link

Error at Setting heating Curve Parameter #232

Open lighthousehh opened 3 weeks ago

lighthousehh commented 3 weeks ago

I get the following error during setting the entity heating curve. This occurs for any number I choose. Version: v0.8.18

Logger: homeassistant.components.websocket_api.http.connection Quelle: components/websocket_api/commands.py:245 Integration: Home Assistant WebSocket API (Dokumentation, Probleme) Erstmals aufgetreten: 12:57:18 (10 Vorkommnisse) Zuletzt protokolliert: 13:13:16

[139627155162592] Unexpected exception [139626455674896] Unexpected exception [139626804070000] Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/number/init.py", line 122, in async_set_value await entity.async_set_native_value(native_value) File "/config/custom_components/mypyllant/number.py", line 211, in async_set_native_value await self.coordinator.api.set_circuit_heating_curve(self.circuit, value) File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 1551, in set_circuit_heating_curve await self.aiohttp_session.patch( File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 787, in _request await raise_for_status(resp) File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 72, in on_raise_for_status raise e File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 69, in on_raise_for_status response.raise_for_status() File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1121, in raise_for_status raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request, response was: {"type":"about:blank","title":"MalformedRequestParameters","status":400,"detail":"Value for field \'setPoint\' must not be null","instance":"/systems/56ef803a-a577-4039-9536-6a56ee07f4f1/circuits/0/heating-curve"}', url='https://api.vaillant-group.com/service-connected-control/vrc700/v1/systems/56ef803a-a577-4039-9536-6a56ee07f4f1/circuit/0/heating-curve'

signalkraft commented 3 weeks ago

I don't have a VRC700 controller, so I don't know what setPoint is supposed to be exactly in the context of the heating curve. Could you try reverse engineering to find out what values are being sent for VRC700 systems when updating the heating curve? I suppose it could be either the min flow temperature setpoint, or the max outdoor temp for heating.