Skip to content

Call for Heat: pin valve position, optimizations and heat demand

David Bonnes edited this page Nov 12, 2022 · 2 revisions

NOTE: These are collected thought - they will need editing:

Post 0: TRV's heat demand is their pin valve position

[quote="prescott, post:3098, topic:151584"] HR92’s sensor.04_xxxxxx_heat_demand is actual valve pin position ! [/quote]

Correct. The other heat demands are as you might expect.

For a long time, I might like to have changed this to valve_position - but there are good reasons for not doing so. PV position is a number between 0-200, and it is simply divided by 200 to get a %.

[quote="prescott, post:3099, topic:151584"] @zxdavb delete this post if its not appropriate. [/quote]

You overestimate my powers.

[quote="prescott, post:3099, topic:151584"] Is everyone installing their HR92s onto their valve bodies so that <30% valve pin position the valve is already closed or is any other percentage better? [/quote]

I am not sure if this question makes sense? A PV position of 30% is 30% open (and so on). AFAIK, it is not configurable.

There is a function that is used to heat demand of an actuator to heat demand of a zone, see:

To be clear, it is three straight lines, 0-30 (i.e. PV of 0-60, these are all 0%), >30-70, and >70-100.

Post 1:

FWIW...

Step 1:

30% open is when the valve has moved 30% of the way from closed (0%) to fully open (100%).

That is, you would expect water to flow through the valve at a reduce rate because of a smaller aperture. The radiator might 'whistle/sing', due to the turbulence that this gives (a phenomenon that you get with smart/motorized TRVs, but not so much with wax-TRVs).

However, whether the vale is 'open' or not (i.e. water can flow through it) would also depend upon other factors:

  • is the valve 'stuck' (this is why the TRV cycles occasionally)
  • is the TRV sitting on top of an adapter
  • is the TRV configured for 'full-stroke', etc.

NOTE: How far a valve is open - or closed - is a separate issue to whether the boiler is heating the CV (the circulating volume of fluid) and/or whether the CV pump is on...

Step 2: Actuator heat demand to Zoen heat Demand

If the transform function (the graph in the link above) creates a heat demand > 0% for a [u]zone[/u] (after considering zone temps, setpoints, system/zone modes, optimalizations, etc.), then the controller will make a 'call for heat' from the boiler (or similar). It is asking fro the CV to be heated & pumped.

Step 3:

Step 2 with either be TPI, or modulated, depending. With TPI, a 50% call for heat might me boiler on 5 mins, off mins.

If modulated, the water will effectively be heated to a lower temp (say 30C instead of 45C).

This depend on a lot of other parameters, and - in addition - the boiler may decide to it's own thing if configured to do so.

Step 4:

Even though the boiler is pumping hot water around the CV, the TRVs may device to go to 0%.

I don't know if you need to bother trying to understand all of that - the system is full of feedback loops, effectively tuning itself as it goes - it works.

Post 2:

[quote="prescott, post:3106, topic:151584, full:true"] Excellent explanation! [/quote]

There's more to: https://community.home-assistant.io/t/honeywell-ch-dhw-via-rf-evohome-sundial-hometronics-chronotherm/151584/3103?u=zxdavb

In addition

  • the zone heat demand is the transformed value of the highest pin valve position of the TRVs of that zone
  • the boiler (system) heat demand is the highest of all zone's heat demands

Post 3: Zone heat demands to (optimized) Call for heat

[quote="zxdavb, post:3111, topic:151584"] the boiler (system) heat demand is the highest of all zone’s heat demands [/quote]

[quote="Mike_H, post:3112, topic:151584"] Is that still the case with the latest firmware in the Evohome controller? [/quote]

You got me - I should have explained it better: I did start by saying:

[quote="zxdavb, post:3103, topic:151584"] If the transform function (the graph in the link above) creates a heat demand > 0% for a zone (after considering zone temps, setpoints, system/zone modes, optimalizations, etc.), then the controller will make a ‘call for heat’ from the boiler (or similar). [/quote]

What I meant to say was: this is how it works if you ignore all optimizations.

To clarify the above: (in the absence of woo) the zone heat demand is as follows:

zone_heat_demand = transform(max(trv_pin_valve_positions))

NOTE: be aware that the above algorithm used to create the zone demand in evohome_cc (as the controller will not provide this information - it will provide teh system heat demand, however)

But that value is then modified according to any Smart Features, such as.

  • Cold weather boost
  • Warm weather saver
  • Optimized start/stop
  • Advanced load scaling (not used with OT)

... to produce the system heat demand (FWIW, I believe the 'fuzzy logic' is in the actuators - TRVs, UFCs, etc.).

Then, the call for heat is made. This call is effected either as TPI (one/off via a BDR relay) or modulated (via an OpenTherm bridge).

When using TPI, each zone's heat demand is further 'tweaked' by advanced load scaling, which looks at the rate of rise in the room temperature for a given input of CV (as a function of time, not volume) - the idea (I believe) is to work out how 'big' a room is & how 'well' the radiators in that room can heat that room, to prevent overshoot.

Importantly, no-one has ever told me that either of the following has occurred: a) a zones' heat demand in the controller UI has not matched that of ramses_cc b) the system heat demand isn't the maximum of the zone heat demands

Le me know (with a packet log) if you ever see either of the above.

Ref: