thomasgermain / vaillant-component Goto Github PK
View Code? Open in Web Editor NEWMultimatic integration for Home Assistant (also compatible with sensoAPP)
License: MIT License
Multimatic integration for Home Assistant (also compatible with sensoAPP)
License: MIT License
Just as an idea 😃
Or of course even better to have it integrated directly/natively into HA itself.
Running HA DC 2021.6.2, python 3.8.9, multimatic integration custom component v1.7.0b
`Logger: homeassistant
Source: custom_components/multimatic/sensor.py:127
Integration: Multimatic (documentation, issues)
First occurred: 21 juni 2021 15:46:34 (1 occurrences)
Last logged: 21 juni 2021 15:46:34
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 134, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 265, in _async_refresh
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 325, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 368, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 438, in _async_write_ha_state
device_class = self.device_class
File "/config/custom_components/multimatic/sensor.py", line 127, in device_class
return UNIT_TO_DEVICE_CLASS.get(self.report.unit, None)
AttributeError: 'NoneType' object has no attribute 'unit'
`
Hello,
my vaillant integration is offline since over a day - I just checked the logfiles and this is what it says the following:
Logger: homeassistant.components.automation.refresh_vaillant_data
Source: custom_components/vaillant/hub.py:63
Integration: Automatisierung (documentation, issues)
First occurred: 9:00:00 (2 occurrences)
Last logged: 9:00:00
Refresh vaillant data: Error executing script. Unexpected error for call_service at pos 1: Expecting value: line 1 column 1 (char 0)
While executing automation automation.refresh_vaillant_data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 206, in _async_step
await getattr(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 413, in _async_call_service_step
await service_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service
await handler.func(service_call)
File "/config/custom_components/vaillant/service.py", line 155, in request_hvac_update
await self._hub.request_hvac_update()
File "/config/custom_components/vaillant/hub.py", line 63, in request_hvac_update
await self._manager.request_hvac_update()
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 546, in request_hvac_update
state = mapper.map_hvac_sync_state(await self._call_api(urls.hvac))
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 582, in _call_api
return await self._connector.request(method, url, payload)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/api/connector.py", line 169, in request
await resp.json(content_type=None)
File "/usr/local/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 1040, in json
return loads(stripped.decode(encoding))
File "/usr/local/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
and
Logger: custom_components.vaillant.hub
Source: custom_components/vaillant/hub.py:66
Integration: Vaillant (documentation)
First occurred: 0:00:00 (2 occurrences)
Last logged: 8:00:00
request_hvac_update is done too often
The mobile app seems to be able to connect just fine - so the device should be ok. I have an automation that does the request_hvac_update
every hour just as recommended - which I reduced now to every 3 hours in case.
My guess is, that it does the refresh on every hass startup - and because I restart it during developing quite often, it somehow banned me :(
Did you ever encounter such behaviour? Did you solve it maybe?
Hi
Now component generate each binary sensor for each error on boiler. But is any chance to change this in your component to generate one binary sensor which show all error in one ? becuase now i can not add sensors which now is no generated. I can add it to lovelace after create by component and when is available on boiler. This is no good,
Cloned the latest repo and tried custom integration for Vaillant (VRC 700)
Found following in the log files (non-breaking warning):
2021-04-01 17:02:02 WARNING (MainThread) [homeassistant.loader] You are using a custom integration vaillant which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2021-04-01 17:02:02 WARNING (MainThread) [homeassistant.loader] No 'version' key in the manifest file for custom integration 'vaillant'. This will not be allowed in a future version of Home Assistant. Please report this to the maintainer of 'vaillant'
I am able to test with senso app and VR921 and tried this pre-release:
Unfortunate after providing the login-in information the integration fails to load:
No 'version' key in the manifest file for custom integration 'multimatic'. As of Home Assistant 2021.6, this integration will no longer be loaded. Please report this to the maintainer of 'multimatic'
9:48:03 PM – (WARNING) loader.py
You are using a custom integration multimatic which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
9:48:03 PM – (WARNING) loader.py
Setup failed for vaillant: Integration not found.
9:48:02 PM – (ERROR) setup.py
Hope this helps troubleshooting further?!
Hi.
Is any chance to add this to official integration HA or to HACS store ?
Have been getting this error for some time now. Running multimatic component v1.6.0, HA Container v2021.5.0
Logger: homeassistant
Source: custom_components/multimatic/sensor.py:103
Integration: Multimatic (documentation, issues)
First occurred: 23 mei 2021 19:23:57 (66 occurrences)
Last logged: 16:32:20
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 127, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 259, in _async_refresh
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 319, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 334, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 378, in _async_write_ha_state
unit_of_measurement = self.unit_of_measurement
File "/config/custom_components/multimatic/sensor.py", line 103, in unit_of_measurement
return self.report.unit
AttributeError: 'NoneType' object has no attribute 'unit'
Hi In HACS is not available beta version 1.7.0b2 ... Why ?
Hi,
hopefully someone can help me.
I tried to make the changes you said:
Delete vaillant integration from HA UI
Delete vaillant folder from custom_component
Copy multimatic folder (from 1.5.0 release) and past it to custom_component
Restart HA
But I always get this Error after restart :
2021-06-15 12:14:42 ERROR (MainThread) [homeassistant.setup] Setup failed for vaillant: Integration not found.
When switching to cooling manually on the main thermostate "Kühlen Manuell für X Tage" I always disrupt the Vaillant component. The logs from HA are posted below:
Logger: homeassistant.helpers.entity
Source: custom_components/vaillant/hub.py:75
First occurred: 12:57:10 PM (107 occurrences)
Last logged: 4:32:20 PM
Update for water_heater.vaillant_control_dhw fails
Update for sensor.vaillant_domestichotwatertanktemperature fails
Update for binary_sensor.vaillant_control_dhw fails
Update for sensor.vaillant_outdoor_temperature fails
Update for binary_sensor.vaillant_system_update fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 279, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 470, in async_device_update
await self.async_update()
File "/config/custom_components/vaillant/entities.py", line 48, in async_update
await self.hub.update_system()
File "/config/custom_components/vaillant/hub.py", line 75, in _update_system
self.system = await self._manager.get_system()
File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 87, in get_system
quick_mode = mapper.map_quick_mode(full_system)
File "/usr/local/lib/python3.7/site-packages/pymultimatic/model/mapper.py", line 20, in map_quick_mode
mode = QuickModes.get(quick_mode.get("quickmode"))
File "/usr/local/lib/python3.7/site-packages/pymultimatic/model/quick_mode.py", line 191, in get
return cls._VALUES[name]
KeyError: 'QM_COOLING_FOR_X_DAYS'
Is there a possibility to map this state "Kühlen für X Tage" to a supported HVAC state so that the component does not fail?
Regards
Hi
For what is this sensor binary_sensor.vaillant_system_update ? It show me when is available update firmware ? But firmware for what ? VR920 or boiler VSC206/4-5 or for multimatic VR700 ? Thanks
Hi,
I've update HA Core from core-2021.5.5 to core-2021.6.2
After restarting I have a notification:
The following integration and platform could not be set up: vaillant
The log shows:
Logger: homeassistant.setup Source: setup.py:172
I don't know if this refers to a file called 'setup.py'. In my vaillant folder under custom-components there is no setup.py:
I went back to core-2021.5.5 with the snapshot and everything started normally.
Gave it a 2th try to core-2021.6.2 and had again the same error.
Could it be that your integrations is no longer compatible with the new core version?
Is there anything I can do from my side to solve this issue?
If a can log something for you, please send intructions.
I hope this is soon resolved.
Kind regards,
Johan
Hi. I copy directory villant to /config/custom_components , after that reboot HA . But after reboot no show this component in Home Assistant Integration. Why ?
The components works for a few hours and after that I receive the following error every two minutes.
Here is the stacktrace:
2020-04-22 21:51:49 ERROR (MainThread) [custom_components.vaillant.hub] Unable to fetch data from vaillant API, API says: {'errorCode': 'NullPointerException'}, status: 500
Traceback (most recent call last):
File "/config/custom_components/vaillant/hub.py", line 67, in _update_system
self.system = await self._manager.get_system()
File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 77, in get_system
hvac_state = await hvac_state_req
File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 582, in _call_api
return await self._connector.request(method, url, payload)
File "/usr/local/lib/python3.7/site-packages/pymultimatic/api/connector.py", line 171, in request
payload=payload)
pymultimatic.api.error.ApiError: Cannot get https://smart.vaillant.com/mobile/api/v4/facilities/XXX/hvacstate/v1/overview
2020-04-22 21:53:51 ERROR (MainThread) [custom_components.vaillant.hub] Unable to fetch data from vaillant API, API says: {'errorCode': 'NullPointerException'}, status: 500
Traceback (most recent call last):
File "/config/custom_components/vaillant/hub.py", line 67, in _update_system
self.system = await self._manager.get_system()
File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 77, in get_system
hvac_state = await hvac_state_req
File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 582, in _call_api
return await self._connector.request(method, url, payload)
File "/usr/local/lib/python3.7/site-packages/pymultimatic/api/connector.py", line 171, in request
payload=payload)
pymultimatic.api.error.ApiError: Cannot get https://smart.vaillant.com/mobile/api/v4/facilities/XXX/hvacstate/v1/overview
Several times I received a message that my login and password were not correct, although they are definitely correct. I can reconnect with them after reboot.
Cloned the latest repo and tried custom integration for Vaillant (VRC 700)
Found following in the log files (error):
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 277, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 473, in async_device_update
raise exc
File "/config/custom_components/vaillant/entities.py", line 46, in async_update
await self.hub.update_system()
File "/config/custom_components/vaillant/hub.py", line 77, in _update_system
self.system = await self._manager.get_system()
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 94, in get_system
zones = mapper.map_zones(full_system)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 214, in map_zones
zone = map_zone(raw_zone)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 233, in map_zone
active_function = ActiveFunction[configuration.get("active_function")]
File "/usr/local/lib/python3.8/enum.py", line 387, in __getitem__
return cls._member_map_[name]
KeyError: None
I use your integration for a year.
After you released the cooling feature I want to add this in my homeassistant.
But I do not get it running.
At the moment I run the version 1.6.2. With other versions it does not run with other versions either.
If I want to set the quick mode for QM_COOLING_FOR_X_DAYS with this service call:
service: multimatic.set_quick_mode
data:
quick_mode: QM_COOLING_FOR_X_DAYS
I get this error message in the UI:
Failed to call service multimatic.set_quick_mode. Unknown error
See the attached traceback of the homeassistant log:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 25, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 525, in handle_execute_script
await script_obj.async_run(msg.get("variables"), context=context)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1216, in async_run
await asyncio.shield(run.async_run())
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 350, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 368, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 568, in _async_call_service_step
await service_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1491, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1526, in _execute_service
await handler.job.target(service_call)
File "/config/custom_components/multimatic/service.py", line 99, in service_call
await method(data=call.data)
File "/config/custom_components/multimatic/service.py", line 123, in set_quick_mode
await self._hub.set_quick_mode(quick_mode)
File "/config/custom_components/multimatic/hub.py", line 325, in set_quick_mode
await self._manager.set_quick_mode(qmode)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 195, in set_quick_mode
await self._call_api(
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 664, in _call_api
return await self._connector.request(method, url, payload)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/api/connector.py", line 171, in request
raise ApiError('Cannot ' + method + ' ' + url, response=resp,
pymultimatic.api.error.ApiError: Cannot put https://smart.vaillant.com/mobile/api/v4/facilities/{SERIALNUMBER}/systemcontrol/v1/configuration/quickmode
I removed the serialnumber from the API call with {SERIALNUMBER}
Other Quick modes work.
I hope you can help me or give a hint how to use this quick mode
Hello,
since 14:30 i got 73 errors like this:
2021-04-16 14:21:07 ERROR (MainThread) [custom_components.multimatic.hub] Unexpected error fetching multimatic data: None
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 173, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 143, in _async_update_data
return await self.update_method()
File "/config/custom_components/multimatic/hub.py", line 104, in _fetch_data
system = await self._manager.get_system()
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 97, in get_system
zones = mapper.map_zones(full_system)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 219, in map_zones
zone = map_zone(raw_zone)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 238, in map_zone
active_function = ActiveFunction[configuration.get("active_function")]
File "/usr/local/lib/python3.8/enum.py", line 387, in getitem
return cls.member_map[name]
KeyError: None
Hello hello,
Since the (super nice) integration changes from vaillant to multimatic I have stability issues.
I have to uninstall, reinstall reinsert my credentials (user, pass and really long serial number) and reallocate my devices to the right rooms.
I tried the ‘reinstall’ option in hacs but it does not work, I really have to remove and reinstall.
I’m using last ha version with a dedicated multimatic user.
Before going more into details, did you noticed the same bewavior with other users?
I’m using hotwater_boost and a lot of ambisense valves.
It was really stable before
See details bellow.
have a nice day,
Ludovic
core-2021.7.1
Supervisor 2021.06.8
Home Assistant OS 6.1
Multimatic version 1.6.2. I saw version 1.7.0 was released 11h ago? I'll try.
2021-07-11 08:20:01 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration multimatic which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-07-11 08:22:27 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Multimatic for multimatic
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1081, in create_connection
transport, protocol = await self._create_connection_transport(
File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1111, in _create_connection_transport
await waiter
File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 918, in write
n = self._sock.send(data)
ConnectionResetError: [Errno 104] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 293, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/multimatic/init.py", line 25, in async_setup_entry
await api.authenticate()
File "/config/custom_components/multimatic/hub.py", line 79, in authenticate
return await self._manager.login(True)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 60, in login
return await self._connector.login(force_login)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/api/connector.py", line 67, in login
token = await self._token()
File "/usr/local/lib/python3.9/site-packages/pymultimatic/api/connector.py", line 106, in _token
token_res = await self._session.post(url=urls.new_token(),
File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection
raise last_exc
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host smart.vaillant.com:443 ssl:default [Connection reset by peer]
2021-07-11 08:23:08 ERROR (SyncWorker_3) [homeassistant.components.command_line] Command failed: cat /sys/class/thermal/thermal_zone0/temp
Hello Thomas,
what is the best way to update to new version ?
thank you for your great work.
EL
Hi,
I just installed your component, and it connected to my system.
I have 2 different vaillant-boilers. both have a VR 920 so, I can control both via the multimatic app.
In home assistant it sees 2 devices. HA or the component named one multimatic and another VR920.
On the integrations pages it says there are 11 entities. But some are from the one boiler, some for the other.
Can I do something to fix this behaviour. If you need more information please do say so... I'm no developpper at all, but I'll do my best.
Hi
I have this boiler and additiona component as write in topic. On multimatic VR700 i see that is availeble information about consuption gas and energy W. Is any chance to also this info was send to home assistant ?
I've installed HACS.
When I remove the multimatic integration via the HA GUI and try to find the integration via HACS, multimatic is not found. Am I overlooking something ?
Originally posted by @thomasgermain in #41 (comment)
WHen i installed Multimatic by HACS i have a problem. After reboot HA show all data ok. But after some time not show data on entieties multimatic. WHen i use old version by custom_components 1.5.0 b6 all works ok. Now still is a problem. After reboot HA again show all data and after some time again problem....
Hi,
I can't use set_holiday_mode service. I first tried this:
I got this error:
2020-05-17 19:36:55 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2820788336] unconverted data remains: T00:00:00.000Z
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1247, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1282, in _execute_service
await handler.func(service_call)
File "/config/custom_components/vaillant/service.py", line 109, in set_holiday_mode
start = datetime.strptime(start_str, "%Y-%m-%d")
File "/usr/local/lib/python3.7/_strptime.py", line 577, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/usr/local/lib/python3.7/_strptime.py", line 362, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: T00:00:00.000Z
After that I removed T00:00:00.000Z
. But the error still remains.
@h4de5, it would be better to talk about that here 😃
So you are talking about the circulation of the domestic hot water right ? I just check and this is not possible to control the circulation through the API. maybe you can have a look at hotwater boost, according to the doc, it sets the circulation ON
Seeing a specific error related to fan.py
Running HA Container, 2021.5.0, and latest version of multimatic custom component (v1.6.1).
`Logger: homeassistant.components.fan
Source: custom_components/multimatic/fan.py:22
Integration: Ventilator (documentation, issues)
First occurred: 17:40:05 (1 occurrences)
Last logged: 17:40:05
Error while setting up multimatic platform for fan
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 231, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/multimatic/fan.py", line 22, in async_setup_entry
if hub.data.ventilation:
AttributeError: 'NoneType' object has no attribute 'ventilation'`
Hi
Good option will be add LOGO to show it in integration when we add it to intergration
https://toppng.com/uploads/preview/vaillant-vector-logo-free-download-11574016005et3js5waey.png
Hi,
this component is awesome, so thanks for that! I am seeing constant errors with pymultimatic though:
2020-03-20 08:28:21 ERROR (MainThread) [custom_components.vaillant.hub] Enable to fetch data from vaillant API Traceback (most recent call last): File "/config/custom_components/vaillant/hub.py", line 45, in _update_system self.system = await system_coro File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 77, in get_system hvac_state = await hvac_state_req File "/usr/local/lib/python3.7/site-packages/pymultimatic/systemmanager.py", line 582, in _call_api return await self._connector.request(method, url, payload) File "/usr/local/lib/python3.7/site-packages/pymultimatic/api/connector.py", line 171, in request payload=payload) pymultimatic.api.error.ApiError: Cannot get https://smart.vaillant.com/mobile/api/v4/facilities/xxx/hvacstate/v1/overview
Not sure if it's polling too often and if there is a setting to reduce polling frequency in order to try to fix this error.
Once this error comes up it's repeating itself around every 2 minutes and the component is no longer updating the values.
With a VR900 it can't seem to create all the sensors:
2021-06-22 15:47:25 ERROR (MainThread) [homeassistant.components.binary_sensor] Error while setting up multimatic platform for binary_sensor
Traceback (most recent call last):
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py", line 258, in _async_setup_platform
await asyncio.gather(*pending)
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py", line 383, in async_add_entities
await asyncio.gather(*tasks)
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py", line 588, in _async_add_entity
await entity.add_to_platform_finish()
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity.py", line 615, in add_to_platform_finish
self.async_write_ha_state()
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity.py", line 368, in async_write_ha_state
self._async_write_ha_state()
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity.py", line 402, in _async_write_ha_state
state = self._stringify_state()
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity.py", line 374, in _stringify_state
state = self.state
File "/opt/homeassistant/lib/python3.8/site-packages/homeassistant/components/binary_sensor/__init__.py", line 162, in state
return STATE_ON if self.is_on else STATE_OFF
File "/home/homeassistant/.homeassistant/custom_components/multimatic/binary_sensor.py", line 77, in is_on
a_mode = self.active_mode
File "/home/homeassistant/.homeassistant/custom_components/multimatic/binary_sensor.py", line 95, in active_mode
return self.coordinator.data.get_active_mode_circulation()
File "/opt/homeassistant/lib/python3.8/site-packages/pymultimatic/model/system.py", line 228, in get_active_mode_circulation
return circulation.active_mode
File "/opt/homeassistant/lib/python3.8/site-packages/pymultimatic/model/common.py", line 52, in active_mode
setting = self.time_program.get_for(datetime.now())
File "/opt/homeassistant/lib/python3.8/site-packages/pymultimatic/model/timeprogram.py", line 107, in get_for
tp_day = self.days[day]
KeyError: 'tuesday'
File "/config/custom_components/vaillant/sensor.py", line 34, in async_setup_entry
for report in hub.system.reports:
AttributeError: 'NoneType' object has no attribute 'reports'
File "/config/custom_components/vaillant/water_heater.py", line 40, in async_setup_entry
if hub.system.dhw.hotwater:
AttributeError: 'NoneType' object has no attribute 'dhw'
ClimateDevice is deprecated, modify VaillantClimate to extend ClimateEntity
ClimateDevice is deprecated, modify RoomClimate to extend ClimateEntity
ClimateDevice is deprecated, modify ZoneClimate to extend ClimateEntity
WaterHeaterDevice is deprecated, modify VaillantWaterHeater to extend WaterHeaterEntity
BinarySensorDevice is deprecated, modify BoxOnline to extend BinarySensorEntity
BinarySensorDevice is deprecated, modify BoilerError to extend BinarySensorEntity
BinarySensorDevice is deprecated, modify VaillantSystemError to extend BinarySensorEntity
BinarySensorDevice is deprecated, modify HolidayModeSensor to extend BinarySensorEntity
BinarySensorDevice is deprecated, modify QuickModeSensor to extend BinarySensorEntity
vaillant: the '.translations' directory has been moved, the new name is 'translations', starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this
Environment:
Home Assistant 0.96.5
Vaillant-component 0.96
I copied the vaillant-component files to my home-assistant (raspberry pi: /config/custom_components/vaillant).
The Configuration /config/configuration.yaml:
vaillant:
username: "myemail"
password: "mypassword"
After restart of HA i get the following HA-error:
Setup failed for vaillant: No setup function defined.
13:37 setup.py (ERROR)
What is going wrong?
The integration crashes within few minutes after startup with the following exception:
Unexpected error fetching multimatic data: None
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 151, in async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 139, in _async_update_data
return await self.update_method()
File "/config/custom_components/multimatic/hub.py", line 104, in _fetch_data
system = await self._manager.get_system()
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 97, in get_system
zones = mapper.map_zones(full_system)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 219, in map_zones
zone = map_zone(raw_zone)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/model/mapper.py", line 238, in map_zone
active_function = ActiveFunction[configuration.get("active_function")]
File "/usr/local/lib/python3.8/enum.py", line 387, in __getitem__
return cls._member_map_[name]
KeyError: None
Hi! At home we have a Vaillant heat pump setup but also a VSM8D solar system. The multimatic app does not show any information about the VMS8D but I guess the information should be available within the eBus system, right?
Is there any possibility to get the information from the VMS8D into Home Assistent?
I managed to connect my RecoVair ventilation system with the VR32 bus connector to the ebus.
I can now steer the ventilation via the app. Unfortunately there seems to be no parameter for configuring the bypass function, just ventilation levels for day and night timer program and ventilation boost as quick mode.
I attached the system.json.txt which shows the relevant data in case you want to include ventilation in the component.
Hi any news with official integration to Home Assistant ?
Running HA Docker 2021.7.0, multimatic v1.7.0.4b
After restart, the custom component throws following error:
`Logger: custom_components.multimatic.coordinator
Source: custom_components/multimatic/coordinator.py:94
Integration: Multimatic (documentation, issues)
First occurred: 11:52:30 (1 occurrences)
Last logged: 11:52:30
Unexpected error fetching multimatic_zones data:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/schema.py", line 396, in validate
nvalue = Schema(svalue, error=e, ignore_extra_keys=i).validate(value)
File "/usr/local/lib/python3.9/site-packages/schema.py", line 357, in validate
return type(data)(o.validate(d) for d in data)
File "/usr/local/lib/python3.9/site-packages/schema.py", line 357, in
return type(data)(o.validate(d) for d in data)
File "/usr/local/lib/python3.9/site-packages/schema.py", line 165, in validate
raise SchemaError(
schema.SchemaError: Or(Schema(Or(Schema({'_id': And(<class 'str'>, ), 'configuration': Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), Optional('currently_controlled_by'): Schema({'name': And(And(<class 'str'>, ), <function at 0x6d186fa0>), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})}), Schema({'_id': And(<class 'str'>, ), Optional('configuration'): Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), 'currently_controlled_by': Schema({'name': Or('RBR', 'rbr'), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})})))) did not validate {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.6, 'quick_veto': {'active': False, 'setpoint_temperature': 21.0}}, '_id': 'Control_ZO1'}
Or(Schema({'_id': And(<class 'str'>, ), 'configuration': Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), Optional('currently_controlled_by'): Schema({'name': And(And(<class 'str'>, ), <function at 0x6d186fa0>), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})}), Schema({'_id': And(<class 'str'>, ), Optional('configuration'): Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), 'currently_controlled_by': Schema({'name': Or('RBR', 'rbr'), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})})) did not validate {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.6, 'quick_veto': {'active': False, 'setpoint_temperature': 21.0}}, '_id': 'Control_ZO1'}
Key 'heating' error:
Missing key: 'configuration'
Missing key: 'currently_controlled_by'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 823, in _validate_schema
return schema.validate(response)
File "/usr/local/lib/python3.9/site-packages/schema.py", line 400, in validate
raise SchemaError([message] + x.autos, [e.format(data) if e else None] + x.errors)
schema.SchemaError: Key 'body' error:
Or(Schema(Or(Schema({'_id': And(<class 'str'>, ), 'configuration': Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), Optional('currently_controlled_by'): Schema({'name': And(And(<class 'str'>, ), <function at 0x6d186fa0>), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})}), Schema({'_id': And(<class 'str'>, ), Optional('configuration'): Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), 'currently_controlled_by': Schema({'name': Or('RBR', 'rbr'), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})})))) did not validate {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.6, 'quick_veto': {'active': False, 'setpoint_temperature': 21.0}}, '_id': 'Control_ZO1'}
Or(Schema({'_id': And(<class 'str'>, ), 'configuration': Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), Optional('currently_controlled_by'): Schema({'name': And(And(<class 'str'>, ), <function at 0x6d186fa0>), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({'configuration': {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, 'timeprogram': Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})}), Schema({'_id': And(<class 'str'>, ), Optional('configuration'): Schema({'name': And(<class 'str'>, ), Optional('enabled'): <class 'bool'>, Optional('inside_temperature'): Or(<class 'int'>, <class 'float'>), Optional('active_function'): And(<class 'str'>, ), Optional('quick_veto'): {'active': <class 'bool'>, 'setpoint_temperature': Or(<class 'int'>, <class 'float'>)}, Optional('quickmode'): Schema({Optional('quickmode'): And(<class 'str'>, ), Optional('duration'): Or(<class 'int'>, <class 'float'>)})}), 'currently_controlled_by': Schema({'name': Or('RBR', 'rbr'), Optional('link'): {Optional('rel'): <class 'str'>, 'resourceLink': <class 'str'>, Optional('name'): <class 'str'>}}), Optional('heating'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})}), Optional('cooling'): Schema({Optional('configuration'): {Or('mode', 'operation_mode', 'operationMode'): And(<class 'str'>, ), Optional(Or('setpoint_temperature', 'temperature_setpoint', 'temperatureSetpoint', 'day_level')): Or(<class 'int'>, <class 'float'>), Optional(Or('setback_temperature', 'night_level')): Or(<class 'int'>, <class 'float'>), Optional('day_level'): <class 'int'>, Optional('night_level'): <class 'int'>}, Optional('timeprogram'): Schema({'monday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'tuesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'wednesday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'thursday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'friday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'saturday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}], 'sunday': [{'startTime': And(<class 'str'>, ), Optional('temperatureSetpoint'): Or(<class 'int'>, <class 'float'>), Optional('setting'): And(<class 'str'>, ), Optional('mode'): And(<class 'str'>, )}]})})})) did not validate {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.6, 'quick_veto': {'active': False, 'setpoint_temperature': 21.0}}, '_id': 'Control_ZO1'}
Key 'heating' error:
Missing key: 'configuration'
Missing key: 'currently_controlled_by'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 147, in _async_update_data
return await self.update_method()
File "/config/custom_components/multimatic/coordinator.py", line 503, in _fetch_data_if_needed
return await self._fetch_data()
File "/config/custom_components/multimatic/coordinator.py", line 496, 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.9/site-packages/pymultimatic/systemmanager.py", line 42, in wrapper
return await func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 347, in get_zones
rooms = await self._call_api(urls.zones, schema=schemas.ZONE_LIST)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 79, in wrapper
return await func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 817, in _call_api
return await self._validate_schema(schema, response, url)
File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 825, in _validate_schema
raise WrongResponseError(
pymultimatic.api.error.WrongResponseError
`
2020-10-28 23:07:24 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.vaillant_waterpressuresensor fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 469, in async_device_update
await self.async_update() # type: ignore
File "/config/custom_components/vaillant/entities.py", line 47, in async_update
await self.vaillant_update()
File "/config/custom_components/vaillant/sensor.py", line 92, in vaillant_update
self.report = self._find_report()
File "/config/custom_components/vaillant/sensor.py", line 96, in _find_report
if self.report.id == report.id:
Hello, first of all, thank you for this great work on this integration.
Is it possible to read out the status if heating and hot water are currently in operation, i.e. whether the system is currently running?
I would like to have a historygraph like the one for the status of the circulation.
Hi, Thomas,
From time to time my VRC700 resets date/time to default values. As far as I know, VRC700 doesn't have any battery inside. It uses large capacitor instead. Thus as capacitor degrades with time, there could be issues with the date/time settings.
VRC700/VR920 doesn't use NTP or similar protocol to set date/time. Thus after every reset I have to manually set date/time. It is possible to do via Mobile app. There should be an API call for this.
Is it possible to add a special HA service to your component to get/set date/time from Vaillant hardware?
Best regards,
Sergey.
I have a VR921 connected to Home Assistant using your fantastic component. I'm trying to find out how to deal with errors in the heating system.
Right now for example, there is a F.900 error that I can see in system.errors
when using pymultimatic. I also saw that a binary sensor called binary_sensor.vaillant_error_f_900
is currently available in Home Assistant. But I assume the sensor will become unavailable when the error is fixed.
I'm not an HA expert and I can't see how I could set up something in HA that would alert me if there are any problems with the heating system. It feels cumbersome to watch all possible sensors for all available error codes. Is there a way to have a sensor that tells me if there are any errors at the moment, and ideally give me a list of these errors (possibly in a different sensor)? Or maybe there is a better way to approach this?
Thanks for your help and your work on this!
HA DC 2021.6.2, python 3.8.9, multimatic v1.7.0b
Logger: custom_components.multimatic.coordinator
Source: custom_components/multimatic/coordinator.py:126
Integration: Multimatic (documentation, issues)
First occurred: 21 juni 2021 15:22:30 (312 occurrences)
Last logged: 12:18:53
Error with multimatic API: Cannot validate response from vaillant, status: 200, response: {'body': {'zones': [{'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO1'}, {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO2'}], 'configuration': {'eco_mode': False, 'holidaymode': {'active': False, 'start_date': '2019-12-31', 'end_date': '2020-01-01', 'temperature_setpoint': 5.0}}, 'status': {'datetime': '2021-06-22T14:05:15.000Z', 'outside_temperature': 17.8}, 'parameters': [{'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/timeprogram'}}, {'name': 'HOTWATER', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}, {'name': 'CIRCULATION_PUMP', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'name': 'VENTILATION', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/timeprogram'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quickmode'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quickmode'}}, {'name': 'Modus warmwatercircuit', 'definition': {'values': ['AUTO', 'DAY', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration/operation_mode'}}, {'name': 'Bedrijfsmodus: ventileren', 'definition': {'values': ['AUTO', 'NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/operation_mode'}}, {'name': 'Gewenste kamertemperatuur voor dagen buitenshuis', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'name': 'Maximale ventilatiestand dag', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/day_level'}}, {'name': 'Maximale ventilatiestand nacht', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/night_level'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}], 'dhw': [{'hotwater': {'timeprogram': {'monday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'thursday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'friday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'saturday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'sunday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}]}}, 'circulation': {'configuration': {'operationMode': 'AUTO'}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'thursday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'friday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'saturday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'sunday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}]}}, '_id': 'Control_DHW'}]}, 'meta': {'resourceState': [{'state': 'SYNCED', 'timestamp': 1624363514365, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/status'}}, {'state': 'OUTDATED', 'timestamp': 1624363570150, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624363514365, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'state': 'SYNCED', 'timestamp': 1624363431833, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370448000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'state': 'INITIALIZING', 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370448000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624363462369, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370930288, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370448000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624370448000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}]}}
Error with multimatic API: Cannot validate response from vaillant, status: 200, response: {'body': {'zones': [{'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO1'}, {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO2'}], 'configuration': {'eco_mode': False, 'holidaymode': {'active': False, 'start_date': '2019-12-31', 'end_date': '2020-01-01', 'temperature_setpoint': 5.0}}, 'status': {'datetime': '2021-06-22T14:05:15.000Z', 'outside_temperature': 17.8}, 'parameters': [{'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/timeprogram'}}, {'name': 'HOTWATER', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}, {'name': 'CIRCULATION_PUMP', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'name': 'VENTILATION', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/timeprogram'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quickmode'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quickmode'}}, {'name': 'Modus warmwatercircuit', 'definition': {'values': ['AUTO', 'DAY', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration/operation_mode'}}, {'name': 'Bedrijfsmodus: ventileren', 'definition': {'values': ['AUTO', 'NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/operation_mode'}}, {'name': 'Gewenste kamertemperatuur voor dagen buitenshuis', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'name': 'Maximale ventilatiestand dag', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/day_level'}}, {'name': 'Maximale ventilatiestand nacht', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/night_level'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}], 'dhw': [{'hotwater': {'timeprogram': {'monday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'thursday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'friday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'saturday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'sunday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}]}}, 'circulation': {'configuration': {'operationMode': 'AUTO'}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'thursday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'friday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'saturday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'sunday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}]}}, '_id': 'Control_DHW'}]}, 'meta': {'resourceState': [{'state': 'OUTDATED', 'timestamp': 1624363514365, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/status'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration'}}, {'state': 'OUTDATED', 'timestamp': 1624363514365, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'state': 'OUTDATED', 'timestamp': 1624363431833, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'state': 'INITIALIZING', 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'state': 'OUTDATED', 'timestamp': 1624363462369, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371050307, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}]}}
Error with multimatic API: Cannot validate response from vaillant, status: 200, response: {'body': {'zones': [{'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.4, 'quick_veto': {'active': False, 'setpoint_temperature': 16.0}}, '_id': 'Control_ZO1'}, {'heating': {'configuration': {'mode': 'AUTO', 'setback_temperature': 15.0, 'setpoint_temperature': 21.0}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BOVEN ', 'enabled': True, 'active_function': 'HEATING', 'inside_temperature': 23.4, 'quick_veto': {'active': False, 'setpoint_temperature': 21.0}}, '_id': 'Control_ZO2'}], 'configuration': {'eco_mode': False, 'holidaymode': {'active': False, 'start_date': '2019-12-31', 'end_date': '2020-01-01', 'temperature_setpoint': 5.0}}, 'status': {'datetime': '2021-06-22T14:11:38.000Z', 'outside_temperature': 17.8}, 'parameters': [{'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/timeprogram'}}, {'name': 'HOTWATER', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}, {'name': 'CIRCULATION_PUMP', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'name': 'VENTILATION', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/timeprogram'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quickmode'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quickmode'}}, {'name': 'Modus warmwatercircuit', 'definition': {'values': ['AUTO', 'DAY', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration/operation_mode'}}, {'name': 'Bedrijfsmodus: ventileren', 'definition': {'values': ['AUTO', 'NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/operation_mode'}}, {'name': 'Gewenste kamertemperatuur voor dagen buitenshuis', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'name': 'Maximale ventilatiestand dag', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/day_level'}}, {'name': 'Maximale ventilatiestand nacht', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/night_level'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}], 'dhw': [{'hotwater': {'timeprogram': {'monday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'thursday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'friday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'saturday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'sunday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}]}}, 'circulation': {'configuration': {'operationMode': 'AUTO'}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'thursday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'friday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'saturday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'sunday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}]}}, '_id': 'Control_DHW'}]}, 'meta': {'resourceState': [{'state': 'OUTDATED', 'timestamp': 1624363897214, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/status'}}, {'state': 'OUTDATED', 'timestamp': 1624363897214, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration'}}, {'state': 'OUTDATED', 'timestamp': 1624363897214, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'state': 'OUTDATED', 'timestamp': 1624363431833, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'state': 'OUTDATED', 'timestamp': 1624361504029, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'state': 'OUTDATED', 'timestamp': 1624363570150, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration'}}, {'state': 'OUTDATED', 'timestamp': 1624363941560, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'state': 'OUTDATED', 'timestamp': 1624363462369, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'state': 'OUTDATED', 'timestamp': 1624363941560, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371171313, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}]}}
Error with multimatic API: Cannot validate response from vaillant, status: 200, response: {'body': {'zones': [{'heating': {'configuration': {'mode': 'AUTO', 'setback_temperature': 15.0, 'setpoint_temperature': 21.0}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.4, 'quick_veto': {'active': False, 'setpoint_temperature': 16.0}}, '_id': 'Control_ZO1'}, {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO2'}], 'configuration': {'eco_mode': False, 'holidaymode': {'active': False, 'start_date': '2019-12-31', 'end_date': '2020-01-01', 'temperature_setpoint': 5.0}}, 'status': {'datetime': '2021-06-22T14:11:38.000Z', 'outside_temperature': 18.0}, 'parameters': [{'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/timeprogram'}}, {'name': 'HOTWATER', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}, {'name': 'CIRCULATION_PUMP', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'name': 'VENTILATION', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/timeprogram'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quickmode'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quickmode'}}, {'name': 'Modus warmwatercircuit', 'definition': {'values': ['AUTO', 'DAY', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration/operation_mode'}}, {'name': 'Bedrijfsmodus: ventileren', 'definition': {'values': ['AUTO', 'NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/operation_mode'}}, {'name': 'Gewenste kamertemperatuur voor dagen buitenshuis', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'name': 'Maximale ventilatiestand dag', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/day_level'}}, {'name': 'Maximale ventilatiestand nacht', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/night_level'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}], 'dhw': [{'hotwater': {'configuration': {'operation_mode': 'AUTO', 'temperature_setpoint': 55.0}, 'timeprogram': {'monday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'thursday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'friday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'saturday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'sunday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}]}}, 'circulation': {'configuration': {'operationMode': 'AUTO'}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'thursday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'friday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'saturday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'sunday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}]}}, '_id': 'Control_DHW'}]}, 'meta': {'resourceState': [{'state': 'SYNCED', 'timestamp': 1624364032482, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/status'}}, {'state': 'OUTDATED', 'timestamp': 1624364032482, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624364032482, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'state': 'SYNCED', 'timestamp': 1624364032482, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}, {'state': 'OUTDATED', 'timestamp': 1624364006180, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'state': 'OUTDATED', 'timestamp': 1624361504029, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'state': 'OUTDATED', 'timestamp': 1624364006180, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624364062894, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371292314, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/configuration'}}, {'state': 'OUTDATED', 'timestamp': 1624363988996, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624370948000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}]}}
Error with multimatic API: Cannot validate response from vaillant, status: 200, response: {'body': {'zones': [{'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, 'configuration': {'name': 'BENEDEN ', 'enabled': True, 'active_function': 'STANDBY', 'inside_temperature': 23.4, 'quick_veto': {'active': False, 'setpoint_temperature': 16.0}}, '_id': 'Control_ZO1'}, {'heating': {'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'tuesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'wednesday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'thursday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'friday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:00', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'saturday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}], 'sunday': [{'startTime': '00:00', 'setting': 'NIGHT'}, {'startTime': '07:30', 'setting': 'DAY'}, {'startTime': '22:50', 'setting': 'NIGHT'}]}}, '_id': 'Control_ZO2'}], 'configuration': {'eco_mode': False, 'holidaymode': {'active': False, 'start_date': '2019-12-31', 'end_date': '2020-01-01', 'temperature_setpoint': 5.0}}, 'status': {'datetime': '2021-06-22T14:17:16.000Z', 'outside_temperature': 18.0}, 'parameters': [{'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'name': 'HEATING', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/timeprogram'}}, {'name': 'COOLING', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/timeprogram'}}, {'name': 'HOTWATER', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}, {'name': 'CIRCULATION_PUMP', 'definition': {'values': ['OFF', 'ON']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'name': 'VENTILATION', 'definition': {'values': ['NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/timeprogram'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quickmode'}}, {'name': 'Bedrijfsmodus: koelen', 'definition': {'values': []}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/mode'}}, {'name': 'Dag gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setpoint_temperature'}}, {'name': 'Dagtemperatuur koelen', 'definition': {'min': 15.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/cooling/configuration/setpoint_temperature'}}, {'name': 'Modus verwarmen', 'definition': {'values': ['AUTO', 'SETBACK', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/mode'}}, {'name': 'Nachttemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration/setback_temperature'}}, {'name': 'Quick Veto gewenste kamertemperatuur', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 0.5}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quickmode'}}, {'name': 'Modus warmwatercircuit', 'definition': {'values': ['AUTO', 'DAY', 'OFF']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration/operation_mode'}}, {'name': 'Bedrijfsmodus: ventileren', 'definition': {'values': ['AUTO', 'NIGHT', 'DAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/operation_mode'}}, {'name': 'Gewenste kamertemperatuur voor dagen buitenshuis', 'definition': {'min': 5.0, 'max': 30.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'name': 'Maximale ventilatiestand dag', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/day_level'}}, {'name': 'Maximale ventilatiestand nacht', 'definition': {'min': 1.0, 'max': 6.0, 'stepsize': 1.0}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/ventilation/Control_SYS_MultiMatic/fan/configuration/night_level'}}, {'name': 'Speciale modus die werd geactiveerd', 'definition': {'values': ['NO_QUICK_MODE', 'QM_PARTY', 'QM_VENTILATION_BOOST', 'QM_ONE_DAY_AT_HOME', 'QM_ONE_DAY_AWAY']}, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}], 'dhw': [{'hotwater': {'timeprogram': {'monday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'thursday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'friday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:00', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'saturday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}], 'sunday': [{'startTime': '00:00', 'mode': 'OFF'}, {'startTime': '07:30', 'mode': 'ON'}, {'startTime': '22:50', 'mode': 'OFF'}]}}, 'circulation': {'configuration': {'operationMode': 'AUTO'}, 'timeprogram': {'monday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'tuesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'wednesday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'thursday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'friday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'saturday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}], 'sunday': [{'startTime': '00:00', 'setting': 'OFF'}, {'startTime': '07:00', 'setting': 'ON'}, {'startTime': '22:50', 'setting': 'OFF'}]}}, '_id': 'Control_DHW'}]}, 'meta': {'resourceState': [{'state': 'SYNCED', 'timestamp': 1624364239547, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/status'}}, {'state': 'OUTDATED', 'timestamp': 1624364287312, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624364239547, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/holidaymode'}}, {'state': 'SYNCED', 'timestamp': 1624364032482, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/configuration/quickmode'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371407000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/heating/timeprogram'}}, {'state': 'OUTDATED', 'timestamp': 1624361504029, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration/quick_veto'}}, {'state': 'OUTDATED', 'timestamp': 1624364287312, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO1/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371407000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/heating/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624364062894, 'link': {'rel': 'child', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration/quick_veto'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/zones/Control_ZO2/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371533292, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/configuration'}}, {'state': 'INITIALIZING', 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/configuration'}}, {'state': 'SYNCED', 'timestamp': 1624371407000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/circulation/timeprogram'}}, {'state': 'SYNCED', 'timestamp': 1624371407000, 'link': {'rel': 'self', 'resourceLink': '/facilities/xx/systemcontrol/v1/dhw/Control_DHW/hotwater/timeprogram'}}]}}
your dump.py script (from https://github.com/thomasgermain/pymultiMATIC) reports the following results on a vaillant system error:
hvac.json
{
"body": {
"errorMessages": [
{
"deviceName": "flexoTHERM",
"type": "ERROR",
"title": "Hochdruckschalter",
"statusCode": "F.731",
"description": "K\u00e4ltemitteldruck zu hoch. Integrierter Hochdruckschalter hat bei 41,5 bar (g) ausgel\u00f6st. Nicht ausreichende Energieabgabe \u00fcber den jeweiligen Verdampfer.",
"hint": "Geb\u00e4udekreis entl\u00fcften. Pr\u00fcfen: ausreichend hoher Volumenstrom (vergr\u00f6\u00dfern durch \u00d6ffnen von Einzelraumreglern bei Fu\u00dfbodenheizung), Schmutzsiebe, K\u00e4ltemitteldurchsatz (elektronisches Expansionsventil, Vier-Wege-Ventil, Filter). VWL (K\u00fchlbetrieb): L\u00fcftereinheit (Verschmutzung), Luftkan\u00e4le (Verschmutzung).",
"timestamp": 1596538856405
}
]
},
"meta": {
"onlineStatus": {
"status": "ONLINE"
},
"firmwareUpdateStatus": {
"status": "UPDATE_NOT_PENDING"
},
"syncState": [
{
"state": "SYNCED",
"timestamp": 1596551098508,
"link": {
"rel": "self",
"resourceLink": "/facilities/SERIAL_NUMBER/hvacstate/v1/overview"
}
}
]
}
}
it would be great if this information gets somehow transported into home-assistant - maybe as an binary_sensor with the message as attribute.
It would be nice to show humidity in HA if present.
Here is the output of pymultimatic 0.3.2 script example, e.g. humidity=57
get_system_vaillant.txt
pymultimatic 0.4.0 raises exceptions due to missing 'timeprogram' in 'dhw'.
Thanks
Running HA DC 2021.6.2, python 3.8.9, multimatic integration custom component v1.7.0b
Logger: custom_components.multimatic.coordinator
Source: custom_components/multimatic/coordinator.py:106
Integration: Multimatic (documentation, issues)
First occurred: 01:34:26 (2 occurrences)
Last logged: 01:51:27
Unexpected error fetching multimatic data: Cannot get https://smart.vaillant.com/mobile/api/v4/facilities
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 147, in _async_update_data
return await self.update_method()
File "/config/custom_components/multimatic/coordinator.py", line 106, in _fetch_data
system = await self._manager.get_system()
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 127, in get_system
facilities, full_system, live_report, hvac_state, gateway = await asyncio.gather(
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 47, in wrapper
raise ex
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 43, in wrapper
return await func(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/systemmanager.py", line 713, in _call_api
response = await self._connector.request(method, url, payload)
File "/usr/local/lib/python3.8/site-packages/pymultimatic/api/connector.py", line 174, in request
raise ApiError('Cannot ' + method + ' ' + url, response=await resp.text(),
pymultimatic.api.error.ApiError: Cannot get https://smart.vaillant.com/mobile/api/v4/facilities
The emf_report of pymultiMATIC reveals additional devices.
In my case a heat pump VWF 117/4 which provides sensor values for energy consumption and environmental yield.
Would be cool, if the component could provide these additional devices and sensors as well.
Great work, thanks a lot!
apfelmaennchen
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.