thomasgermain / vaillant-component

Multimatic integration for Home Assistant (also compatible with sensoAPP)
MIT License
137 stars 24 forks source link

Errors in logs after probably January or February update HA #192

Closed pepsonEL closed 1 year ago

pepsonEL commented 1 year ago

After last update in HA show me logs error from integration. I have Home Assistant Operating SYstem installed on Dell Wyse 5070.

Ten błąd pochodzi z niestandardowej integracji.

Logger: custom_components.multimatic.coordinator
Source: custom_components/multimatic/coordinator.py:94
Integration: Multimatic (documentation, issues)
First occurred: 5 lutego 2023 20:30:11 (11 occurrences)
Last logged: 05:30:11

Unexpected error fetching multimatic_zones data: None
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 239, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 195, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/multimatic/coordinator.py", line 538, in _fetch_data_if_needed
    return await self._fetch_data()
  File "/config/custom_components/multimatic/coordinator.py", line 530, in _fetch_data
    return await getattr(self.api, self._method)()
  File "/config/custom_components/multimatic/coordinator.py", line 94, in get_zones
    return await self._manager.get_zones()
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/systemmanager.py", line 43, in wrapper
    return await func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/systemmanager.py", line 362, in get_zones
    return mapper.map_zones(rooms)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 265, in map_zones
    return _map_zones(json.get("body", []))
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 277, in _map_zones
    zone = map_zone(raw_zone)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 306, in map_zone
    func = _map_function(raw_heating, "setting", rbr, quick_veto is not None)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 371, in _map_function
    operating_mode = OperatingModes.get(mode)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mode.py", line 82, in get
    return cls._VALUES[name]
KeyError: None
Ten błąd pochodzi z niestandardowej integracji.

Logger: custom_components.multimatic.coordinator
Source: custom_components/multimatic/coordinator.py:118
Integration: Multimatic (documentation, issues)
First occurred: 5 lutego 2023 14:58:11 (75 occurrences)
Last logged: 04:50:11

Unexpected error fetching multimatic_dhw data: None
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 239, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 195, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/multimatic/coordinator.py", line 538, in _fetch_data_if_needed
    return await self._fetch_data()
  File "/config/custom_components/multimatic/coordinator.py", line 530, in _fetch_data
    return await getattr(self.api, self._method)()
  File "/config/custom_components/multimatic/coordinator.py", line 118, in get_dhw
    dhw = await self._manager.get_dhw()
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/systemmanager.py", line 43, in wrapper
    return await func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/systemmanager.py", line 327, in get_dhw
    return mapper.map_dhw(dhw)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 427, in map_dhw
    hotwater = map_hot_water_from_dhw(dhw)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 406, in map_hot_water_from_dhw
    return _map_hot_water(dhw.get("hotwater"), dhw_id, None)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 540, in _map_hot_water
    timep, mode, high, low = _map_function(raw_hot_water, "mode")
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mapper.py", line 371, in _map_function
    operating_mode = OperatingModes.get(mode)
  File "/usr/local/lib/python3.10/site-packages/pymultimatic/model/mode.py", line 82, in get
    return cls._VALUES[name]
KeyError: None
thomasgermain commented 1 year ago

This is a well know issue.

Vaillant server replies something, but there are missing parts in the response (most of the time, the response is missing the id, name, the operation mode, etc). Behind the scene, the integration does 3 calls to try to recover from that bad response, sometimes it works, sometimes not.

I already contacted vaillant for that, but they don't know why and they won't investigate further due to myvaillant coming soon

pepsonEL commented 1 year ago

thanks