sHedC / python-masterthermconnect

MasterTherm HeatPump API
MIT License
3 stars 2 forks source link

When passively cooling, the requested temperature is incorrect: #101

Closed sHedC closed 1 year ago

sHedC commented 1 year ago

I also discovered that when passively cooling, the requested temperature is incorrect: image

Here the actual temperature is correct, 16.4. But, the target temperature is 15 currently, which is stored in A_312. Can we make this change somehow?

Originally posted by @SeBsZ in https://github.com/sHedC/python-masterthermconnect/issues/99#issuecomment-1588980906

sHedC commented 1 year ago

Created a new issue for the Requested Temp when Cooling.

At the moment requested_temp is based on A_5 which is "actual requested temperature" according to the document list of registries.

A_312 is specifically - Passive cooling requested temperature A_311 is - passive cooling actual temperature

A_212 - This one is requested temperature from heating/ cooling?????

A_5 is I believe used by the App?

sHedC commented 1 year ago

I think maybe we change A_5 to A_212? When looking at mine and demo A_5 is close to A_212 (temp depending) but with your diag data it shown closer to A_312.

SeBsZ commented 1 year ago

Yeah no 212 is not correct at all. A5 is shown in the app/web. A212 is shown on the pad but is about 5degC colder than the passive cooling temp. A312 is what we should be showing but it isn't shown anywhere, I just found it with your document and it is exactly what we need.

So you can just switch to it when passive cooling is active.

SeBsZ commented 1 year ago

You see, based on my cooling curve the requested temp should be 15C and this is what is in A312. But my pad shows A212 which is currently 10C. Not sure what that is. Maybe one is the outgoing temp and the other is the return temp of the water?

sHedC commented 1 year ago

So you can just switch to it when passive cooling is active.

Can;t as I don't know when the system is passive cooling or in cooling mode and idle vs heating and idle. All the registers we found don't indicate what is happening at idle.

sHedC commented 1 year ago

You see, based on my cooling curve the requested temp should be 15C and this is what is in A312. But my pad shows A212 which is currently 10C. Not sure what that is. Maybe one is the outgoing temp and the other is the return temp of the water?

My understanding is that the actual requested temp takes the heating curve with the outside temp + ambient temp + some weird stuff and says oh I actually need to request this.

As you noted during heating the requested goes up higher when the room temp is too low.

SeBsZ commented 1 year ago

Ok then maybe we should use 212 then to make it easy. Mine isn't getting to 10C though my installer says that's normal and is because of the cooling capacity left in the ground etc.

sHedC commented 1 year ago

Do you think because your Actual is 16.4 but requested is 15 the HP is reducing the water temp further to try and keep up?

SeBsZ commented 1 year ago

Do you think because your Actual is 16.4 but requested is 15 the HP is reducing the water temp further to try and keep up?

I don't know.

So maybe we can still use A_212 but switch to A_5 when in DHW mode?

sHedC commented 1 year ago

Ok so lets think about this, I will fix the DPC first.

I can use different values based on conditions but need to know how to drive the conditions, currently I don't know how to detect if the HP is in heating or cooling mode when idle otherwise I could use A_5 if not cooling and A_312 if cooling. But not sure that is also right.

The HP Requested Temp is the water temp that the HP thinks it needs at the time of call. Need to investigate the registries further. Maybe you can do a diag dump when in DHW, Cooling, Heating, Idle?

SeBsZ commented 1 year ago

I can make dumps in DHW and cooling, but the others are not that easy because it's hot and we really need to keep cooling

sHedC commented 1 year ago

What ever you can I also can dump from mine and have some demo data for testing so will use that, just need to find some good logic.

its the Idle I need mostly when its not trying to do anything.

sHedC commented 1 year ago

by the way is passive cooling any good? what is your outside temp?

SeBsZ commented 1 year ago

by the way is passive cooling any good? what is your outside temp?

Yeah man so far I've been really happy. It's been 30C-32C for 3-4 days in a row now and I've been able to keep the temperature between 20 (morning)-23C (evening)

sHedC commented 1 year ago

That is pretty good, trying to decide if its worth the 1,200 pounds to install it. my dog would probably love it cool floor.

SeBsZ commented 1 year ago

It's basically idle now, brine pump is off but circulation pump is still going. Is that good enough or we need to wait for circulation to stop?

sHedC commented 1 year ago

take that then see if it goes to full stop as in full stop I think one fo the cooling settings goes to 0

SeBsZ commented 1 year ago

Okay, it actually went full stop. I got 3 diagnostics for you. Passive cooling DHW Idle

I did not switch any season or cooling settings, so no heating. This should help though I think!

mastertherm-idle.txt mastertherm-passivecooling.txt mastertherm-dhw.txt

sHedC commented 1 year ago

great I got Idle and DHW, in mine basically the only ones that made sense for water requested were A_5 and A_212, A_212 ignores DHW and i suspect Pool, will check that as demo site has a pool. and A_5 ignores cooling.

Nice to be consistent ;)

sHedC commented 1 year ago

Ok some observations from the different debug and my debug, I can't tell with pool the Demo system is playing up but I suspect the following:

A_5 - Seems to indicate actual requested water temp for all activities except probably passive cooling A_212 - Is showing Requested water temp for heating and cooling even when in idle but ignoring DHW and probably Pool, in idle and cooling it shows the same as A_312 same for when heating and idle. When actually heating or cooling it seems to show the water temp that the pump thinks it needs based on other factors.

So maybe this logic that that would work:

This way Idle will show either the default requested temp for heating or cooling and then when actually cooling will show what the HP works out it wants.

How does that sound.

SeBsZ commented 1 year ago

Great! I will test this for you when you're ready

SeBsZ commented 1 year ago

Thanks for your work. Does it need a manifest update for homeassistant-mastertherm as well?

sHedC commented 1 year ago

Yeh doing it now will be 1.1.5b1 once I finish checking everything downloaded right.

sHedC commented 1 year ago

1.1.5b2 I mean

sHedC commented 1 year ago

Ok done, you can test all issues now.

SeBsZ commented 1 year ago

Restarting HA now. Will let you know if there are any issues! Thank you!

sHedC commented 1 year ago

Fixed and published to Home Assistant integration.