-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VRC 720 configuration: understanding and managing Heating Circuit (HC) basic parameters #5
base: master
Are you sure you want to change the base?
Conversation
@stadid
Correct, I think it reports mixer position. In my system the values vary in steps of 5 (%), from -20 to 20.
I'm wondering how to confirm this: so this register should contain the value of e.g. |
Based on the 720 simulator I've picked regulator parameters set (not EBUSD registers) corresponding to each heating circuit type. Black dot means that this parameter is used for specific circuit type. Afterwards I've linked each parameter with corresponding ebusd register.
Could you check that value read from ebusd is the same as shown in the regulator menu for mixer position?
Two things to consider:
|
Yes, of course, my mistake. Thanks for pointing this out again. In order to understand all circuit types could you quickly explain the type 4 (returnincr)? Why should e.g. the 'pump status' not apply here? I would also like to add observations I made when switching heat circuits on and off (I use a "virtual" fixed hc2 to generate additional "heat demand" when there is excess energy from photovoltaics to start the heat pump and charge the heating storage cyclinder. This will not affect heat circuit 1, the regular heating of the house). Observations: When switching hc type from 'inactive' to 'fixed' some default values stored elsewhere are used e.g.
So these parameters have to be set manually everytime the 'fixed' hc type is activated. As soon as the hc type is switched back to 'inactive' these parameters reset to the defaults. I think we should also try to find them (if they are not hard-coded). This (reset to defaults) could be a general behaviour also for the other hc types, as I guess heating circuits normally remain active. |
As far as I understand, this circuit type is fully named "increase return temperature" and used in order to increase the return temperature of the heat generator with cast iron heat exchanger, as low value of the return temp will lead to condensation of water vapor on the outside surfaces of the heat exchanger. It's acting like a "bypass" directing flow directly from heat exchanger output to its input. It seems that for this particular set-up pump is used from another "normal" heating circuit (which should be present in the system), so for this circuit only mixing valve is needed. |
My guess is that all HC related registers (for all HC types) got reset to defaults while changing HC type. |
Yes, the regulator shows the same values. I suggest it should be renamed to
Yes, you're right. I could confirm this. If the circuit is set to inactive the setting resets to the default 0.0 (not 65 as written in the current CSV).
We now have the following unknown registers (default values in parentheses):
So far I have observed no changes in these registers when the Hc was set to inactive. BTW: What is the basis for the assumption of a register |
It seems to be system configuration specific (config of the VR70 / VR71 modules). It seems to be just the contact to turn heating for specific zone on/off, so ebusd register type most likely be on/off |
Could you please check. |
Yes, if it is the target return temp, then it should be tempv (which translates to EXP). I did not check this register yet. |
OK, this is an optional input to signal 'external heat demand' to the heat circuits. It is not available in my current VR71 config (2). In the VR71 config 1,3 or 6 it should be visible. |
Unfortunately, also not available for me. We could only ask someone with this specific config to check, but I think this kind of config is rare. We could ask @jonesPD if his config fits.
Maybe we'll follow tradition of naming and shorten it just to MixerPosition (as in VRC700 it was called MixerMovement) . i.e.:
|
If not, I will temporarily change my config later this year (after heatings season) and check, because I think the register is interesting for heat pump owners as the externel heat demand can be used to start the heat generator upon external relay actuation. This is e.g. part of Vaillants way to comply to the SmartGrid standard to control heat pumps externally (state 4, heat pump is started).
I agree. |
I also don't have an additional heat source connected to my system. It is a very simple full electric split unit system. I can update the mixer names to position instead of movement. |
And there is also the finding of the |
Indeed, I'll add that too. However, with my system Hc1DesiredSetbackTemp reads as 0C. Or should I not expect 65C? Both are now updated in the online repository |
0°C default is correct. It's only used in Hc 'fixed' mode anyway. |
Could you please help me with "quickveto" mode? |
@chrizzzp @jonesPD, @chrizzzp @jonesPD replace
with
|
|
Finally found some time to look at the I had to change the FM5 configuration vom '2' to '1' (3 or 6 would also be possible but are incompatible with my setup). I also identified the register for the FM5 configuration for the general section of the
Valid settings are: 1,2,3 and 6 (according to VRC720/2 manual). The flag indicating an external heat demand is found in the respective Hc* sections:
In FM5 config 1 there is only one external trigger for Hc2 (signalled via S7 of the FM5 module, default is 'on', see below). In my system the default values of The default trigger behaviour is defined by a VRC720/2 setting which ebus register still has to be identified. In the regulator it can be found in the 'Installation Configuration', the option is called I know this can be a bit confusing, but I hope my descriptions are clear... |
@chrizzzp
For me your explanations are absolutely clear, and I can imagine the amount of analysis involved in order to get the result. |
Correct. |
due to the extra commas in the string which prevents config from loading, I suggest to change
to
|
@stadud
Yes, of course, my mistake. I also changed it in my original post.
Are you sure about the valid FM5 settings 1-11? Do they all make sense? According to the manual there are only configs 1,2,3 and 6. |
Vaillant simulation for 720/2 shows 11 possible settings (from 1 to 11), that's why I concluded that other values are not restricted. |
Also on the regulator selection 1 to 11 is possible. |
I think that your guess is correct and observed behavior differs from the manual. There is another parameter that controls switching HC on during low temperatures: |
Yes, it should be this one:
Description in the english manual is quite cryptic. I think it works like this: if the outside temperature falls below |
@chrizzzp : I have some domotica scripts running that with certain conditions switch off the HP heating circuit entirely. So it is automatic, but not automatic by means of the regulator. I call this 'summer' mode, when temperatures rise further, the script will switch to 'tropical' mode, allowing for cooling by the heatpump. In the colder seaons, I use it to switch between 'expanded' and 'active'. In summer mode it is indeed set on 'expanded'. |
I think I identified the 'HcxUnknown09' register: if 'HcxCircuitType' is set to 'hwc' (hc acts as external DHW circuit) this register defines the desired DHW temperature of the external DHW circuit. I suggest to rename the register to 'HcxExtHwcTempDesired'. So the definitions would be:
I will try to see if more ExtHwc registers exist. |
They do... ;-) I'm not sure to which PR we should put this. It is actually also an HWC topic... Although the circuit type 'ExtHwc' is probably a rarely used function of the VR71/FM5 module, it will put the heat generator into HWC heating mode, but does not swith the internal three-way-valve ("priorityswitchingvalve") to HWC, so it will operate the heating circuit. The usual application (I think) could be to heat up a second (external DHW) cylinder, but of course it is not limited to this. It will actuate an external loading pump (or switch an external valve) connected to the respective actuator outlet of the VR71/FM5. It will stay active until a dedicated sensor (connected also to VR71/FM5) reaches the value 'HcxExtHwcTempDesired'. Through the separate OpMode-setting it can be bound to the HWC time schedule (time-controlled) or run permanently (manual). I haven't tested yet wether all general HWC settings apply (e.g. Here's the summary:
Interestingly, I also observed that when an 'external hwc' heating circuit is active (i.e. heating), the respective register 'HcxPumpStatus' reads the value '3' instead of 1 ('on'). So obviously this register is not of the 'onoff' type as currently defined in the ctlv2.csv. So I created a new template (hcpumpstate) and changed the definitions to:
I'm not quite sure why they implemented a different 'hcpumpstate' for this hc mode, because it seems the same actuators of the VR71/FM5 are triggered. |
@chrizzzp Adding your new proposals to my repository, I found that the HcxPumpStatus are indeed not of onoff type. I found in the notes the following: Pump status of zone 1 (0=off, 1=heating, 2=cooling) Therefore, I propose the following definition to _templates.csv: |
Agree. Just noticed in john30's repo the datatype of HcxPumpStatus is UIN, which would evaluate also the next byte and allow values from 0...65534. I wonder if there is more to the 'hcx pump state'. |
I could resolve two more Hc registers related to floor screed drying (although rarely used I guess). Floor screed drying works by operating the Hc as a fixed circuit (independent of outside temperature) and activates heat pump and immersion heater (backup boiler!) at the same time. The screed drying schedule comprises up to 29 days with an individual fixed temperature for the whole day, e.g. : day1 - 25°C (I'm just wondering whether this can be used also for something else...) The registers are:
Normally BTW: @stadid are you still working on your MyVaillant app replacement? |
@chrizzzp As to the app, I've finished VRC720 branch and added it to the app. As of today my app supports VRC700 all generations and VRC720 (all 3 generations). If you are interested I could upload Clonezilla install image (~1Gb) and provide you with the link to evaluate app in VM. @chrizzzp @jonesPD The main problem is that initially app is not multi-lingual and huge amount of translation should be performed in order to provide English version. Currently there are 200 html interface templates including huge qty of in-program messages. Is it worth spending time on this? Here are the app key features: |
@stadid good to hear you're still around!
Helpful for sure, as it is more powerful than the MyVaillant App and provides independence of the Vaillant servers. But - if I understood correctly - since it's also a hardware solution (involving ebus coupler and some computer hardware, not the VR921 gateway though) there is definitely a barrier to get started or change from the App to your software. It might be different for countries where the Vaillant servers / MyVaillant App are unavailable. BTW: can all ebus couplers be used? Of course, if the software gets translated the barrier will certainly lower again, but would IMHO require also translations to other than English (at least for the countries with the most systems sold, do you happen to know which countries have the most systems installed?). In my oppinion it could also be difficult as you somehow do "compete" with similar approaches using (free) home automation platforms, such as Home Assistant and others which allow implementation of many of these things, too. Although they currently still require still quite some individual effort (while your ready-to-use software is probably the most advanced solution) but the number of HA users is continously growing and this will have an impact in the future, I think.
What IoT services are these?
What would be the application case for this? |
Unfortunately I do not have info in which countries Vaillant sells most. I guess Europe is the target region.
I share your vision of the situation, I do not expect my app to be a popular replacement of the My Vaillant, nor it's a competitor for HA integration as majority HA users at least have some understanding of ebusd and adpater/config setup. Comparing my app with HA the only advantage I see is that user do not need to make technically sophisticated settings like setting-up ebus-adapter, choosing the right ebusd config, and so on. BTW Even evaluation version of my app is fully functional. It only has limitations on displaying zone parameters (1 zone) and heating circuits parameters (1 heating circuit).
Yes, all ebus couplers that are working with ebusd could be used in my software, but some non-critical app features (like password recovery) will not work with network connected couplers.
Local IoT service - providing for free possibility to send values of different parameters of your home sensors and stores them on their server. Plus graphs, some basic notifications if values are out of range, etc. I've added this feature for the users who want to have nice graphs of their system performance. Hardware which I recommend for installing my app is not powerful and considering that it uses emmc as a storage, i do not what to implement this feature by myself.
This feature I've implemented for myself))) I have a DHW cylinder with DHW circulation pump controlled by the boiler (using vr40 "2 of 7" extension module). There are situations where pressure in my domestic water system falls to 0, in this case I want to turn off heating of DHW cylinder and switch off circulation pump in order not to run it dry. There are relatively big amount of use case scenarios that could be implemented using this feature. For example: for old people having difficulties with changing settings of the VRC7XX regulator make it simple as turning on/off the light. Just a switch: turn it on and hot water is on, turn it off and hot water is disabled. It's just an example, and for sure those features are not required by majority of the users, so i've implemented support of adding such features in the code for the future. |
While testing the external DHW circuit (exthwc) I noticed the heat pump actually behaves almost the same as in the "regular" (internal) Hwc mode, only the internal three-way-valve is not actuated (remains in Hc position). The building circulation pump (acting as the DHW loading pump) also goes to full power and the status code also displays the 'warm water circuit' message. In analogy to
and changing the template
Maybe someone could confirm this and check this register during warm water preparation using the internal DHW circuit (which I don't have)? One could also discuss whether 'BuildingCircuitPump' is really the best name, as this pump is also used for DHW loading. However, it's probably it's better to stick to the established name of this pump...? |
@chrizzzp
That's the point! Hope my explanation was not too misleading))) |
I agree, the setups are often very different and esp. the regulator VRC720 can control all kind of heat generators... So the register preliminarily named How about naming it Do you have the chance to monitor this register on your setup? |
I am still trying to understand all the schematics where this pump register is used.
At the moment no - I've connected my VRC700 back. |
No, it does not show the status of the external pump (connected e.g. to the VR71). Sorry, if I wasn't clear about this. Let me try to explain (I'm afraid this will be a long text...). ;-) I consider my system to have a rather "complicated" setup: There is the'system' pump in the hydraulic station (until now termed "building circuit pump") which actually loads a relativley large storage cylinder (800 L) used for heating only (my DHW is completely separate from the heating). This cylinder is mainly there to store the (hot) water from a (fire) chimney with water pipes (so the heat generated in the chimney can be used for heating the whole house). As the water from the chimney is about 60°C, but the floor heating requires no more than 30°C, the floor heating circuit (Hc1) is connected through a mixer and an external pump (Hc1Pump, connected to VR71) to the cylinder. But also the HP can heat the cylinder (when chimney is not in use), but the hydraulics are connected in a way that only water in the upper part of the cylinder is heated by the HP (while the chimney heats heats the whole cylinder). Now (to make it even more complicated...), since I have 8 kWp photovoltaics (PV), I wanted to make use of the PV excess energy and heat up the cylinder using the heat pump while the energy is "for free". Since I monitor solar electric yield through my home automation, I set it up like this, that if there is PV excess energy (and a certain amount of solar yield is also predicted for the day) the cylinder is heated up to e.g. 50°C by the HP (I have a rather large HP, so this does not take too long). And to start the HP without an actual heat demand from Hc1 and to load the cylinder as fast as possible I set up a "virtual" heating circuit (Hc3) using the circuit type 'External DHW' (via VR71). In addition (you've been warned... ;-)) in this use case an external three-way-valve is actuated which allows heating of the whole cylinder (and not only the upper part as in non-PV heating mode). This external valve is also connected to the VR71 and is automatically actuated as soon as Hc3 is active. An additional temperature sensor (also connected to VR71) monitors the cylinder temperature and shuts off Hc3 as soon as the desired temperature is reached (e.g. 50°C). Now back to The system' ("building circuit") water pump' of my system is in the hydraulic station. The pump flow and pump power can be monitored by reading ftom the hmu:
In direct heating circuits this pump is really the building circuit pump, in my case not. So the naming of these registers is probably a bit unfortunate. However, using my system as an example we have the following different scenarios:
Unfortunately, I cannot generate the case where the external pump of Hc1 is active, but the 'system pump' is not. I guess this would only be possible if Hc1 would be active, but not generate a heat demand (wouldn't make sense, would it?). In summary, I think the register Sorry for this long post, I hope it's not all too confusing now... |
Your solution is effective and it seems you've put a lot of efforts to get the desired result, as the automation is quite complicated, and some used technical solutions are elegant. But it took me some time to figure out your system structure and main working principles. )))) As to the naming of the For sure, you are right - we need more data from other system configurations where we can correspond this register state with other existing HC, DHW, buffer cylinder pump, etc. states. |
@chrizzzp
Currently do not have opportunity to check this on my system. |
Yes, they work! They give the same readings as the respective values in the regulator-associated zone section. |
It's a side effect of finding how to read humidity from VRC700 and my recent analysis of communications between VR91 and VRC700.
Initially my goal was to read room air humidity from VR91 (MyVaillant do not show this information for zones assigned to VR91) So based on the findings I've assumed that base address at below is extract from the VRC700 config complied from the result of my findings (just remove conditional operators)
|
Nice find! What is the conditional operator [SW>419] used for? I checked the VR91-associated registers on the VRC720 and they also work, but all yield But I checked the 'nearby' registers from base address
They don't seem to change within an hour or so, though.
(all reflecting non-existent VR9x) |
This removes unsupported zones and associated registers for earlier generations of VRC700:
The same result i observe on VRC700 without VR91, i.e.: There is another linked register in VRC700 which I believe tells VR91 to which zone which VR91 address is assigned below is just my guess vr91 address 2 requesting zone assignment - no zone assigned to any of VR91 units just to check if somebody could perform:
|
@stadid : RoomHumidity and RoomTemp also work in my set up with a CTLV2. However, with [SW>419] in the 15.ctlv2.csv file, I get an error "condition SW>419 not defined". Probably because I just copied the register definition and the condition definition is missing. How to get it to work? |
Ah...I managed already by adding the definition:
in the same file with the RoomHumidity and RoomTemp definitions. This is the simple use of the conditions I guess. Using it to select a device specific scode template for the hcmode.inc and/or the device specific files is more complicated I assume. Or do we already know how to connect it to the various examples @stadid mentioned here ? |
Yes, exact. If condition not met those config strings are ignored. BTW, we do not need them for CTLV2 as all 720 series support addresses 1-8 as I understand so for the VRC720 config should look like this
|
@chrizzzp Sorry this message is out of place for this PR... Can you have a look at this PR posted by someone on my repository? It is adding some new RunData registers. I believe the ones are there now originated from you. There seems to duplication of measurements, and inconsistent naming. Thanks. |
@jonesPD I left some comments there. I could not confirm all suggested registers, maybe due to different setups (split/monoblock). |
Thank you. Good feedback, I'll let the original submitter respond before deciding to include these registeres in my repo |
Goal of the PR
To check and confirm basic set of registers in the ebusd configuration associated with the Heating Circuit (HC)
EBUSD regulator config (15.CTLV2.csv) implementation: see JonesPD repository
The only register to be found is External heat demand contact status at external module.
(Hc*ExtHeatDemand (RO) - should be 0/1)