Don't apply the firmware update to your Ecodan FTC5 (yet)

Yes, that’s true.

BTW the detailed data is missing from the packets that arrive on the client-side. The server-calculated report data is granular, but there isn’t a granular report on energy data so I can’t infer minute-level data from a report either.

They are responding. The power consumption stats only change once an hour instead of every minute.

I’ve now put a bot in place to flip me back to using the extra data once the bot has identified that it’s safe to use (i.e. varying every minute).

Thanks for the pointer, they are using less of the API than I am so they aren’t seeing the part of the API that I’m delving into.

Don’t worry about me, I know I’m working at the bleeding edge. I’m fine with it (mostly!)

Sigh.

Was just going through the whole “turn it off and on again” rigmarole to no avail.

Still not making any real progress.

However, it’s sorta fun watching it in “default” mode. Here you can see that when the flow temp was low it cycled quite a bit. When I bumped up the flow temp it stopped cycling but had to defrost about every hour.

Ooh, this just got interesting.

I’ve been using MELCloud’s “Energy Report” to give me a very high-level summary of the heat pump’s view of the energy consumption which I use as the summary on our house portal. I’ve never really looked at it because the detailed data from the devices is at one-minute granularity and that detailed data is what I send to EmonCMS.

It transpires that the energy report does actually update every minute. It also transpires, because of the way I do things, that I have all of the energy reports for every minute since the heat pump was fired up and linked to MELCloud. That’s 3,020,747 files.

So now I can work out the per-minute energy usage just by doing a delta between each report.

Of course it’s not that simple in real-life. The report data needs a bit of care. For example, I rather usefully remembered to ask for yesterday’s report so that I get the last few readings when the clock ticks over. The MELCloud stuff also doesn’t seem to handle daylight saving time in a way I expect (because all my systems expect everything to chatter in UTC to avoid the excitement).

The other big exciting thing is the power cuts or when monitoring goes down. In that case I might find the amount of energy consumed has changed, but not know which minutes it was actually used in because the report granularity is hourly. All I can reasonably do it allocate it out across the missing window. It’s not great, but I can’t allocate it to a single minute because it’ll be a ridiculous spike. Obviously it shouldn’t use power when there’s a power cut, but different systems come online at different rates and anything is possible.

I’m off to do some intrepid data munging.

BTW I have over 6 million files from various aspects of the heat pump. That takes up just over 40GB. As a result, I really don’t get at all bothered about the 1GB for my feed storage in EmonCMS! (of which only 145MB is the heat pump).

Just an FYI. MELCloud has a “CSV Report” which piqued my attention when I saw this in the JSON:

“CSVReport1min”: true,

However I don’t want to burden their servers asking for that. It takes over a minute to generate and it’s over 20MB. I can’t reasonably request that every minute.

I want up-to-date info so my algorithm can control the heat pump and it’s so trigger-happy it really does rely on the per-minute changes. In fact I’d like it to be even more active, especially around gently walking up the target flow temperature (because that’s the only control I have over the power consumption). Yes, I know I need to just hook some wires into it, but I can’t risk voiding the warranty.

The CSV report does contain about half a million rows of the per-minute data from the last year. It has these fields:

TimeStamp
RoomTemperatureZone1
RoomTemperatureZone2
OutsideTemperature
FlowTemperature
EnergyConsumed
EnergyProduced
OperatingMode

Where OperatingMode is from [“Stop”, “Heating”,“HotWater”,“FreezeStat”].

It looks fairly sensible, but ofc all the energy for a minute is associated with a single mode. The JSON is like that too, so it’s misleading because the pump might do both types of thing in the same minute when it’s switching over.

You might find that CSV report useful to analyse your friend’s system if you can get it from MELCloud @TrystanLea . I can’t remember if you said they had the MMSP setup, I suspect not because you are chatting to them about monitoring. I don’t know if it drops to hourly if they don’t have the MMSP or if it does something else.

Oh gosh.

I have that look on my face that people have when they get a heat pump and it’s using a lot of electricity.

The monitoring broke on 2021-11-22 so the heat pump has been going a bit wild since then.

It looks even more dramatic because the car used a lot of power on the 23rd.

Now I have energy data we can see on the 23rd that it was cycling in the morning and then the desired flow went up to 38 °C and it tootled along running continuously.

Now I know the rest of you run your heat pumps all the time, but I am totally not used to this. It was using 1.7kW. I can’t believe it just sat there running using 1.7kW continuously. The effective temp at that time was a pretty constant 4.5 °C.

So between 16:00 and 20:00 it used 7.4kWh @ 330% efficiency => 24.5kWh.

I found a similar 4 hour window on November 22nd last year as it happens. Here’s how that played out in a graph. It used 4kWh @ 353% efficiency => 14kWh. So that’s about half the cost and the humans were happy enough last year.

The runs from last year were at a higher load (~2.5kW) but managed to get the heat pump into a happier place.

So I’m now even more convinced that if you have an over-sized pump like mine then running it continuously is a bad idea. It just produces way too much heat.

Here’s another interesting example. The pump ran pretty much the whole of the 29th November. It was a bit cold in UK terms (it was a few days after storm Arwen).

We can see the output was about 6kW. So one would deduce that heat loss from our house is about 6kW at 0 °C on the heat pump gauge. Which shows that a 14kW is actually bigger than we need. Of course it’ll get less efficient when it’s even colder but we do need something keeping us warm if it ever goes down to that crazy -16 °C we had in 2010. I don’t know how you’d convince rural folk like me to choose something smaller and more efficient that might leave you in trouble.

BTW that 7.48GBP is about right, which is somewhat alarming. At least that’s going to motivate me to get the control algorithm coping with this current level of data. I’m now only really missing the “heat pump frequency” which is actually an indication of how much power the heat pump thinks it should use in the next minute. As you can imagine, that allows my algorithm to do things like spotting the heat pump is bored and simply switching it off instead of watching it cycle itself on and off. That worked much better than my old technique of simply watching to see if it had been running at the same flow temp for ages and just stopping it after an arbitrary duration.

We certainly don’t want it to be cycling around like it did on 30th November:

Yeehah!

Well I’m back in control. I’ve re-established my old slightly-clunky approach of looking at the flow temp to decide if it’s worth bumping the flow temp up or even carrying on at all.

So now the heat pump is turning off. Yay.

It’s also being sensible about not turning straight back on which is a common problem:

It hasn’t been cold enough to turn on the heating - the return temperature is currently 30.5 °C but it needs to be below the minimum temperature of 28 °C so we’ll probably wait until 15:56 using a dwell time of 443 seconds

The most interesting part of that bit of the algorithm is that it’s using the return temp sensor on the tank as a proxy for the radiator temps so we’re assuming the radiators are slowly cooling down. In my case there are so many big radiators they are pretty much acting as my buffer tank. BTW the pumps are not running during this time because there’s no point moving the water around. It’s finally peaceful in the house!

That doesn’t mean you’re getting per-minute data again, does it?

A lot for me to digest from your latest posts, but a few observations came to mind.

The 1.7 kW your pump is using is probably the lowest power consumption it can work with, right?

The fact that the standard (manufacturer) controller is cycling your pump a lot suggests that an installer would be tempted to fit a buffer tank into your system, correct? My installer is suggesting a buffer tank and explained it is to improve efficiency and reduce cycling (though I have my perhaps naive reservations).

That is very interesting! Would you happen to know the heat demand/heat loss calculations for your property prior to your heat pump installation?

I am asking myself how conservative/accurate those calculations are and I fear my pump will also be unnecessarily oversized. For context, I had companies recommend pumps ranging from 8.5 to 16 kW for my property (after they came here and took measurements and whatnot).

This is giving me second thoughts as to whether I should have a heat pump.

Yes, but not in the old way. I’m now doing it by using a delta each minute from the energy report rather than seeing it in the ListDevices call.

Sounds about right.

Sounds plausible.

Design flow temperature: 45.

EPC says:

Annual space heating: 20,468
Annual DHW: 2,975

My quote from my supplier says this:

Peak Heat Load:  11.2kw
Annual Heat Loss:  19,200kwh
Seasonal Performance:  3.4 (the system is 340% efficient)
Expected EPC deemed heat:  20,000kwh
Renewable Heat Factor:  0.70
Total Renewable heat:  14,117 kwh
Renewable Heat Incentive tariff: 10.71p per kwh
Year 1 RHI: £1,512.00
Total RHI:  £11,240.64
Heat Pump Running cost:  £1,027.76 per annum
Expected fuel saving v’s Oil:  £598.00 per annum (based on 45p per L)
7 Year Total Benefit:  £15,689.87

It’s actually using something like 800GBP of electric a year.

As well as the “Greta” benefits from not buying 2,500L of oil a year, that also means we’re not paying 1,250GBP to heat the house / water.

The RHI certainly only impacts the purchase price, the running costs are still paid by us.

I mentioned it because it was insane. I’ve never had another day like that. It shows that you need to be sensible about how you use it because if you leave it going wild it will cost more than you’d like.

When it’s very cold I expect I will use that much. When it was -16 I used 10GBP a day in oil.

@muhrix here’s my graph of daily costs for heating and hot water versus the average temperature for the day. So where the x-axis says 0 °C that inevitably means it was colder than 0 °C for a chunk of the day.

I think my house is about the same as yours. We have the bathrooms with radiators set to 24 °C all the time and I think the lowest setting is 21 °C except during the night when the radiators drop down to 17 °C but that doesn’t really matter because we turn off the heating overnight to help us sleep.

It does seem to be very similar.

On your heat loss calculations, the peak heat load is 11.2kW.
Do you know why your installer recommended a 14kW instead of 11.2kW?
Is it because that ASHP model has a slight dip in output at very low temperatures?

It’s not at all sophisticated. I had a 14kW oil boiler so we just sorta settled on replacing that.

Hi @MyForest

What a nuisance. Sounds like you have got a reasonable solution though. Looking forward to hearing about the next time they change the API :sob:

I know you don’t want to release your code but I’m wondering what your strategy is for controlling the pump? It’s not that cold yet (for Scotland, but maybe my outlook is biased) and yet Ecodan’s dodgy energy/heat numbers are saying I’m only getting 250% :frowning_face: (I’m looking at the “CoP” key from the Report API). Can I do better?

If you could give me some pointers to the parameters you’re monitoring and the controls you’re touching I would be keen to replicate your results.

Thanks,
Bruce

Thanks for the encouragement @bwduncan

I sat down to re-organize the algorithm code to release it last Saturday, but completely ran out of steam after 30 minutes I’m afraid. I’m somewhat busy at work for a few weeks, but then I have some holiday where I’m hoping to get organized. If I’m lucky I can get the algorithm released.

Here’s a question for you. At the moment my code reads the input data from the JSON files I fetched from MELCloud. I have about 6 million of them, but only the last 100 are interesting (mostly for Legionella review, otherwise it would be a handful). However, it could use the data from EmonCMS. I didn’t do that because it would be another link in the chain that might break as I mess about with my EmonCMS install. What would you imagine as the data source to drive the algorithm?

BTW, if you are looking for the lessons from all my testing, I documented most of it in these posts:

https://community.openenergymonitor.org/search?q=@myforest%20improve

Basically the algorithm is just a manifestation of those suggestions. Maybe that would help you decide what to do? Certainly in the last few weeks I’ve found turning the heat pump off the be the most important aspect as you can see in this thread.

Thanks

David

I see. Based on your experience, would you say your ASHP is oversized? I’m asking because I wonder how conservative/realistic heat loss calculations actually are (one would prefer to err on the side of caution in this case).

I watched/read @TrystanLea’s video/post comparing the calculations with actual usage of his own house and found that very informative and super interesting!

@MyForest please correct me if I’m wrong, but based on your posts, I believe those would be:

Controllables:

  • Room target temperature and its schedule (or, simply, call-for-heat)
  • DHW target temperature and its schedule
  • Desired flow temperature
  • ASHP operation mode (to switch it off)

Observables (based on Mitsubishi’s EMP3 kit for MMSP):

  • Flow temperature
  • Return temperature
  • Flow rate
  • Electricity usage (ASHP and immersion)
  • DHW tank temperature
  • Outside temperature
  • Room temperature(s)

Am I missing something?

Not just based on my experience, but also on lots of other people’s opinions too. The fact that I’m turning it off when it’s 0 °C outside is a give away. It does scale the inverter, but it doesn’t go low enough.

Yes, but we have no room stat, we have TRVs on each radiator and no call-for-heat. We’re using the return temp sensor as a proxy for the temperature of the water in the radiators.

+1

I get the others, but not flow rate from the EMP3.

I’m using a few other things outside the EMP3.

If the solar power is high I assume the house is bathed in sunshine so I don’t heat it (on a sliding scale taking temperature into account too).

If it’s windy / humid that has a noticeable effect on the effective temperature and that’s what I use in all my calcs (notably for the weather compensation curve).

I have sensors on some household devices and if they are in use I keep the heating on (e.g. my office monitor). EmonCMS makes that really easy.

There’s a few other things, like deferring Legionella runs until it’s warm and also giving the Solar iBoost a chance to do the job so the heat pump doesn’t run at all for times like July 20th to July 24th. You’ll no doubt get that with your solar thermal.

To be honest all those extras are nice-to-haves which make it more comfortable or just easier to get right. They improve the efficiency a bit but not enough to worry about I suspect.

Bopping this here for a bit of light relief from all the woe.

You can see the pump was turned on (manually, by me) and the algorithm spotted this and brought the desired flow temp right down to 25 °C. That allowed it run wonderfully efficiently even though it is about 4 °C outside (about 375%).

Then the algorithm watched the flow getting warmer and gently walked the heat pump up to warmer and warmer desired flow temp.

A small pump would have been able to keep runnig gently at say 37 °C but my big pump doesn’t scale down enough. There are many radiators closed off at 01:30. So it just blundered along getting warmer until eventually the algorithm stepped in because it had been run at the max-desired-temp for a while. It’s not really a problem running like that, but I’ve found the people are comfortable even if you turn the heat pump and water pumps off at that point. The heat just slowly emanates from the radiators.

We can also have a laugh at 02:00 where the bug in the “delta” calculation means it missed a minute and then doubled up on the next one.

So there we go. Maybe there should be a Sunday evening program “One man and his heat pump” where you get to watch people try to get their heat pumps to behave whilst commentated on by Trystan and John.

A bit of a side note…

Considering that Melcloud stopped returning per-minute data, I started thinking of an alternative way to tap into the M-BUS to fetch the data without affecting the MMSP setup of the EMP3 kit.

I came across this device: Elvaco M-BUS Splitter.

It appears to cost ~£300, which is very expensive. :frowning:

Still, it means it would keep the data local and it wouldn’t matter if future changes to the (unsupported to date) API changes.

I am not familiar with the M-BUS protocol, but I was a bit surprised to not find more (cheaper) alternatives to an M-BUS multi-master/splitter.

1 Like

Ha! Well now they are just messing with me.

I set a robot up to watch for when detailed readings became available and switch us back into wonderful mode.

That happened on Thursday which we can see in this per-minute variation on the heat pump’s electricity usage:

However, later on it changed to be hourly again. And then sorta in-between. And now it’s hourly again.

You’ve got to laugh about it. Well, except we’ve been cold for the last two days and didn’t know why.

I’ve turned my robot off.

I don’t know what I’m going to do next. Probably nudge that contact in Mitsubishi that went cold.

It’s all good fun really.

Yep, it does feel that way, but if that’s the price needed to sort out your problems then maybe it’s OK. The rest of the kit is costing you a lot more than that @muhrix

Best of luck.