oischinger / ha_vicare

Inofficial Home Assistant custom component for Viessmann ViCare API
61 stars 33 forks source link

Preset mode change climate/set_preset_mode (Eco/Comfort) resulting in error (PyViCareCommandError(...), 'Command failed with status code 404. Reason given was: Unknown') #165

Open dbartelmus opened 9 months ago

dbartelmus commented 9 months ago
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:238
Integration: Home Assistant WebSocket API ([documentation](https://www.home-assistant.io/integrations/websocket_api), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+websocket_api%22))
First occurred: 07:44:20 (7 occurrences)
Last logged: 17:25:56

[139851188023744] (PyViCareCommandError(...), 'Command failed with status code 404. Reason given was: Unknown')
[139851083444416] (PyViCareCommandError(...), 'Command failed with status code 404. Reason given was: Unknown')
[139851160921920] (PyViCareCommandError(...), 'Command failed with status code 404. Reason given was: Unknown')
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 602, in async_handle_set_preset_mode_service
    await self.async_set_preset_mode(preset_mode)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 610, in async_set_preset_mode
    await self.hass.async_add_executor_job(self.set_preset_mode, preset_mode)
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/vicare/climate.py", line 424, in set_preset_mode
    self._circuit.activateProgram(vicare_program)
  File "/usr/local/lib/python3.11/site-packages/PyViCare/PyViCareHeatingDevice.py", line 490, in activateProgram
    return self.service.setProperty(f"heating.circuits.{self.circuit}.operating.programs.{program}", "activate",
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/PyViCare/PyViCareCachedService.py", line 29, in setProperty
    response = super().setProperty(property_name, action, data)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/PyViCare/PyViCareService.py", line 60, in setProperty
    return self.oauth_manager.post(url, post_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/PyViCare/PyViCareAbstractOAuthManager.py", line 94, in post
    self.__handle_command_error(response)
  File "/usr/local/lib/python3.11/site-packages/PyViCare/PyViCareAbstractOAuthManager.py", line 70, in __handle_command_error
    raise PyViCareCommandError(response)
PyViCare.PyViCareUtils.PyViCareCommandError: (PyViCareCommandError(...), 'Command failed with status code 404. Reason given was: Unknown')