Add support for 720-based regulators#564
Conversation
Co-authored-by: Samuel Cabrero <samuel@orica.es>
Ok, then we're not on the same line and talk about different CSVs. I used the 15.ctlv2.csv you linked here. This does not have the definitions for silent and cooling timers. Could you point me to the CSVs you referred to so I can check all timers again? |
Could you point me to the latest CSVs of this PR? It's a shame I still |
@john30 I'm not pessimistic per se, but there've been enough examples of these stunts (bait & switch, rug-pulls, etc.) in the technology sector to justify at least some caution. Especially in cases where proprietary firmware and FOSS intermingle. I'm a big advocate for right to own/repair and relying on closed-source firmware anywhere (from servers to dishwashers) is an inherent liability and restricts what folks able to do (repair, improve, etc.) with the things they've paid for. IMHO, keeping the eAS firmware closed puts you in an awkward position where people to some extent expect support like they get when buying e.g. a smart lightbulb.
A corp can always out-spent the average individual, but that's the case regardless of firmware licensing. They either hire a room full of devs or throw a bunch of AI against the problem. You rely on folks (like myself) who see the value in your work, are sympathetic to the overall cause and decide to buy your hardware (incl. token subscription) instead.
Well, how does that saying go? Information wants to be free? |
|
@chrizzzp There's no CSV. You'll have to compile it yourself. 😅 You need to pull the repo, checkout the |
those were for a different PR and not related to this one. |
|
Tested the timers from the above
BTW
|
|
Concerning this PR some HWC-related suggestions: The following ExtHWC-related definitions should not be bound to the condition Instead these definitions should be bound the condition: Another issue: However, some of the HWC-related basic settings apply also to the 'external DHW circuit' (e.g. |
|
@chrizzzp Just checked, myVaillant allows max. three time slots per day. 👀 |
|
And here are a few additions to the 15.720.csv (basic regulator settings): |
For 720 series regulators: |
thanks for testing!
I recognized that during the review and expected that to be intentional. so if it wasn't then these should get rolled back as well I guess
wrt the slotCountWeek template usage I only see "*_Timeframes" in the old tsp and the new, so where do you see the discrepancy exactly? |
Yes, roll back to three time slots or - maybe more efficient - have a single read time slot predefined (e.g. Monday0) and add a definition that allows indexed reading of any number of time slots: e.g.
This is what I meant, it's rather a naming inconsistency. Therefore I suggest to rename " |
|
@chrizzzp ok I've addressed your suggestions in d581175, 0d63db7, 10b51ed, and 74360dd. I've also made TariffAuxHeater writable as it would be unreasonable otherwise (maybe you can confirm that?). now to your other findings:
does that depend on some setup, so is this specific for yours e.g. or would this be available always?
if these are "mirrors", where would the non-mirrored value be then? is this related to e.g. PrFuelSumHcThisMonth and which unit do these have (probably kWh)? |
|
added the MultiInputSetting as well and merged to master in 4875c46 |
|
I investigated more into the Tariff-related definitions. To implement it properly we need a few more definitions, e.g. I just discoverd the tariff timer (for dual tariff operations in trivalence hybrid manager mode, actually quite a neat feature as it considers energy cost and heat demand) and the the register that defines the backup heater type (gas or electrical). I'm currently trying to find the register that specifies single/dual tariff selection, so the tariff timer can be bound to dual tariff as a condition. I will compile my findings here very soon... |
|
OK, here are the updated definitons for the tariff settings. Unfortunately, I could not identify the register for single/dual tariff selection. However, I suggest to make all these definitions conditional to:
EDIT: The following registers were confirmed to be writable. According to the VRC720 manual, BackupHeaterType 0 and 1 are specific to gas boilers (Condensing = "Brennwert" in german). The Vaillant manual uses the term "Backup Boiler" instead of "Backup Heater". Not sure if we aim for consistency here with Vaillant nomenclature. Here are the Tariff timer definitions: should be conditional to the dual tariff, but as mentioned I didn't find this register yet. (sorry for the mix of old and new CSV definitions) The manual states up to 12 tariff time slots can be defined, so I suggest to add indexed reading also for this timer (sorry not done yet for the above snippet). |
OK, I had to revise the b524 mirrored energy statistics a little. Some were not assigned correctly (which I hadn't checked before) and I found more. All values are in kWh. They are mirrored/collected once per day (I think at midnight) from - I assume - the b516 energy statistics (and converted from Wh to kWh). That's why I suggest a new naming with reference to the b516 I haven't checked yet if they are writable, but I assume yes. These values correspond to the energy values that can be queried from the VRC720 regulator UI. There must be more values (including HWC and more HC and probably solar, environmental and fuel stats). |
|
Here are the general Tariff definitions in the current CSV format: IMO the tariff cost definitions should be left out of the installer access level, as tariffs for gas/electricity could change from time to time and this is how it is done also in the VRC720 regulator UI. I also noticed all time slots of the tariff timer will be reset to |
|
I tested the current 720-based config on a live Vaillant setup and wanted to share one more data point. Device detected on ebus:
For local testing, I mapped Result:
Remaining issues I still see with this device:
So at least for this |
Isn't this expected for the VRT380 not being able to control more than a single heating circuit? Is the VR71 (FM5) an option at all for this regulator? If not, this would explain the error messages. IMO the VRT380 is not a full 720-based regulator (that this PR addesses). However, good to see that many of the definitions work. |
|
@d3vi1 Actually, such behavior of CTLV2 config is expected on VRT380 due to the reasons described above by @chrizzzp. |
|
@john30 FYI, the Local fork is at |
you need to update to the latest https://github.com/john30/ebus-typespec version |
reworked and merged john30#564
…rrect displaycontract unit, spelling
|
@burmistrzak and probably @john30 Would you consider using the "Noise Reduction" terminology as used in the control module user interface + the Vaillant manuals? Consistency with the official documentation is my reason to argue for Noise Reduction instead of Silent Operation here. |
This PR is a superset of #482, including register definitions for the following regulator models:
15.72015.basv15.basv215.basv315.ctls215.ctlv215.ctlv315.bassIf you have one of the aforementioned devices, feel free to give this unified configuration a try and report back!
There're still a few unsupported devices at the moment, specifically:
15.ctlv*15.ctls*15.ctls315.bass215.bass3*might not exist..?
In case you own one of them, please comment below with your setup details!
I also have incorporated (hopefully) all the recent discoveries made by @stadid, @chrizzzp & @jonesPD. 🤝
A fork of the CDN repo with pre-compiled definitions is available in English and German.
Testing & Validation
devbranch (should be default)EBUSD_CONFIGPATHto<MOUNTPOINT>/ebus.github.io/dev/enEBUSD_MQTTVARto e.g.:filter-direction=r|u|^w,filter-circuit=^bas*$,filter-non-circuit=^hmu*$,filter-name=^*,filter-non-name=^Z2|^Z3|^Hc2|^Hc3(adjust to match your system)ebusdcontainer (or service).