Open debackerl opened 9 months ago
Nov 13 18:57:38 assistant python3[3962965]: voluptuous.error.MultipleInvalid: extra keys not allowed @ data['schema']
Unfortunately I do not have much time at the moment to look at this fully, but from the error message, it seems as if it does not like the "orphans": [],
. Try deleting this and see if it helps?
Thanks @smar000 , I will try to understand your code when I have more time myself :-) Removing orphans didn't work either.
What I found interesting is that the schema saved by evoGateway is completely different than the one from the other bug ticket: https://github.com/smar000/evoGateway/issues/60#issuecomment-1718076896
In his case, he has:
"main_tcs": "01:187689",
"01:187689": {
while I have
"schema": {
Error messages from voluptuous are terrible :-)
What I found interesting is that the schema saved by evoGateway is completely different than the one from the other bug ticket: #60 (comment)
The schema you posted in your earlier post is not the full schema but just a list of the devices. Can you try modifying it, copying the format of the other one you linked to, and see if that works. If not, I'll try to spend some time over the weekend and have a proper look.
Putting disable_discovery = False in my config file didn't work. However, changing line 157 in evogateway.py RAMSESRF_DISABLE_DISCOVERY so fallback=True did work, so it is now running using my devices.json and ramses_rf_schema.json files. If I delete these files it returns to eavesdrop mode and writes new devices and ramses_rf_schema files as it should.
I did come across a couple of other issues in the process: When evogateway.py runs in eavesdrop mode and writes its own ramses_rf_schema.json file, it includes a "packet.log" section. This creates an error which is resolved if you delete this section from the ramses_rf_schema.json file
Also, if the ramses_rf_schema.json file contains "appliance_control": null, this creates an error - it seems to need a value. I have an S-plan system so my boiler is turned on by my DHW relay or heating relay, so my "appliance_control" is null. This doesn't create an error if it is null in ramses_rf's equivalent config.json file.
Finally, in evogateway.py line 129 SCHEMA_FILE fallback=ramsesrf_schema.json - I think it should be rames_rf_schema.json
Thanks for all your help - great program.
It's in a closed issue but I'm not sure how to link to it
Thanks @chris-hunter . Very helpful and I will look to incorporate the above next time I review the code.
Hello,
I'm running the latest version of the script: "v3.11-0.22.40".
I issued a "mosquitto_pub -t 'evohome/_zone_independent/command' -m '{"sys_config":"SAVE_SCHEMA"}' -q 1" to generate the schema.json and devices.json files, because upon closing the script, nothing was saved.
Now, if I try to restart it, I get:
My config:
The generated schema:
When I looked at MQTT message, I saw that some schema was published as
{"orphans": [], "stored_hotwater": {}, ...
but trying to load that I got extra keys not allowed @ data['orphans']Any idea?