Closed Wiggum127 closed 3 years ago
Yep this the kind of error I can't avoid, if you check the error, you will see:
Key 'heating' error:
Missing key: 'configuration'
Missing key: 'currently_controlled_by'
It means the response returned by the API is wrong. You should reload the integration
Is this a problem at Vaillant server side ?
Yes, as you can see, the response they send doesn't contain the "configuration" part, which contains the target high and target low temperatures and the current mode. So without that I can't the integration cannot know what is the current mode of the given zone.
But this error doesn't always occur, so if you reload the integration, it should do the query again and it should fetch correctly the zone.
And are people at Vaillant aware of this unstable behaviour ?
Yeah.. I have more than 25 emails exchanged, but they keep saying "the mobile app is working fine", while I also prove them it was not working correctly. I guess they don't mind since the API will be deprecated soon.
This is why I completely changed the way data are fetched
By the way, did the reload work ? If yes, feel free to close the issue, unfortunately I can't do something better
version 1.7.0 is out and I'm doing some cleaning, please open an new issue if you still have trouble.
Running HA Docker 2021.7.1 and Multimatic component v1.7.0 (final release). Still getting the error. I assume we'll just have to live with it as you mention you've tried to deal with the error in the best way possible. It doesn't appear to break the integration. The integration shows up as expected and the values of the entities are all populated correctly. Or would you like me to create a new issue? Don't want to be a pain in the neck. Just trying to be a helpful user/tester :-)
For now I cannot do more. Normally, if this error occurs, climate entities for zone should not be available for few minutes, but everything else should be available. You can also check what is the underlying error, sometimes it's a connection reset or authentication issue.
Hi, I have the same errors in the logs but since I upgraded I have never had a climate entity or zones appear so currently all I get are sensor temperatures and I can't control my heating?
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 `