Use of Immersion parameter on MyHeatpump app

I just updated my local EmonCMS installation, and I see the MyHeatpump app has some new fields, notably immersion_elec. I can use my “immersion on” flag and the rated input/output (yeah, not accurate but ok) to provide a feed which I can use for this.

However, my HP power monitoring includes everything already - HP, Backup, Immersion etc.

  • How is the new Immersion power number used? Is it added to the HP power figure, taken away from it, or just shown separately?
  • Do I have to subtract the immersion_elec number from the HP total power number so that it all comes out right if it’s added on?
  • Does the immersion power get added to the heat energy put into the system/DHW?

Having participated in this discussion it seems a pity not to use the feature, especially if it addresses the “immersion on but not getting credit for heat energy” problem.

1 Like

All good questions John. I’ve been aware for a while that the documentation for the MyHeatpump app doesn’t reflect its latest features and that the guidance for even fairly simple questions like whether heatpump_targetT should be the flow temperature target or the room temperature target could be improved.

[For the avoidance of doubt, that’s not a criticism of the app developers: it’s a recognition that other members of our community - like me - could add value by contributing to the official documentation - in this case by adding to https://docs.openenergymonitor.org/applications/heatpump.html.]

I believe the relevant source code for the MyHeatpump app is in file myheatpump_bargraph.js and the key part of that (lines 498 - 503) reads:

        // Calculate COP with immersion heater
        var COP_H4 = null;
        if (elec_kwh !== null && heat_kwh !== null && immersion_kwh !== null) {
            COP_H4 = (heat_kwh + immersion_kwh) / (elec_kwh + immersion_kwh);
            COP += " (" + (COP_H4).toFixed(2) + ")";
        }

(The “without immersion heater” value of variable COP is calculated earlier in the file.)

My interpretation of that code is:

  • The COP for “with immersion heater” (variable COP_H4) is calculated separately, by adding immersion_kwh to both the heat output and the electricity input
  • The two COP values (i.e. without and with the immersion heater energy included) are reported together, with the “with immersion heater” value second and in parentheses - e.g. formatted something like “3.15 (2.95)”

There is further code elsewhere in the same file which shows immersion_kwh on the bar graph, if that is available.

Different installations will vary with respect to whether (and how) the immersion energy input and output is metered - which is why there is value in more comprehensive guidance notes; maybe even some sort of flow chart.

In your case, it sounds like your electricity meter is recording the energy input to the immersion heater but the immersion is in the DHW tank and hence “downstream” of the heat meter, so the energy output from the immersion heater isn’t currently recorded at all - is that right?

Thanks @dMb! That gives me enough to work out what I should be using as inputs. Basically, it does what I had to frig around to achieve before, but better i.e. accounts for immersion input as DHW. Yes, the input was accounted for, but not the output. So I’d just added the nominal heat output onto the HP power output, but that of course went onto the Heating budget because the DHW flag isn’t on. That’s kinda ok in the summer, but it gets tricky in the winter when the HP switches back to heating while the immersion is finishing the legionella run.

And yeah, I’m sure @TrystanLea and others would welcome some help on revising the docs. I assume we can use GitHub and the usual mechanisms for this?

So presumably, in your case, when you see your “immersion on” flag is set, you’ll have to subtract the nominal power of the immersion heater element from heatpump_elec and supply that separately as immersion_elec. (All the better if you have a voltage measurement you can use to refine the power value.)

I note there’s no variable called immersion_elec_kwh to correspond with heatpump_elec_kwh so it’s not clear to me whether the latter needs a similar adjustment.

In terms of the documentation, it is indeed all in GitHub so can be updated via Pull Requests. I reckon there are two places where additional notes could be added:

  • There’s currently some fairly brief commentary on the ‘app’ page - i.e. here:

    • This has the advantage of being ‘in your face’ when mapping feeds to the app inputs
    • However, this text is part of the MyHeatpump app ‘code’ (it’s in file myheatpump.php) so doesn’t really lend itself to frequent updates by non-developers
  • There’s also a reference to the ‘My Heatpump dashboard’ in the docs page hierarchy - which even has a nice, friendly “Edit on GitHub” link at the top of the page:

    • On balance I think this is the better place to add the guidance notes, where the data feeds can be discussed in the context of the different monitoring hardware configuration options
    • Maybe we add a link to this part of the Docs from within the ‘app’ configuration page, so people know where to look

Yes, exactly. I can use some derivation from the observed value, less the 23W the HP draws just being powered on. Of course, I don’t want the power draw to go negative, so I’ll check that isn’t the case before logging it.

And yes, we can contribute on the documentation! Hurray.

1 Like