Samsung R32 ASHPs - when is a defrost not a defrost?

I wouldn’t do this because the HP algorithms
rely on outdoor sensor. Doing it that way you would completely stop anti freeze protection which is very risky and your pump could freeze. It has to circulate the water every hour! But not with water from DHW circuit :slight_smile: The best solution is probably what I’ve did. If there is a relay between dhw terminal and the valve, in dhw on position the pump can’t open dhw circuit because it still supply voltage to the valve terminal. I need to give command in HA to turn off the relay to start opening the dhw circuit. One risk is that if something goes wrong with automatization and dhw stars with relay on then you can have pretty high temperature in space heating circuit. Not a big risk though because max running time of dhw heating is one hour so not a big deal. But by default I have shelly set with relay off.

2 Likes

@Michal_S Please can you clarify, do you have the Shelly relay connected on B17 (L1) or B18 (L2). Maybe you can share a photo or wiring diagram to show how you have it wired in. I’m looking at the Samsung MIM-E03EN schematics and it’s not clear (to me) from your description. Thanks!

Like this:

This ensures that diverter valve is always powered even in case the pump switches to DHW circuit either for heating or anti freezing protection so it won’t allow diverter valve to switch position. In case of space heating there is a power on B18, in case of DHW there is power on B17 terminal.

If I want to heat the water (I know by pump sensor there is a requirement for DHW via modbus), I will turn off the relay so it will disconnect power from diverter valve.

Note: For this to work you need to have an information that DHW is running.

@Michal_S Thank you.

Reading the Samsung MIM installation guide, I see that for the default operation (space heating position, FSV #3071 = 0), B18 should be ON and B17 OFF. To move the diverter valve to the DHW position, these should be flipped to B17 ON and B18 OFF.

If I understand you correctly, when the relay is ON, you are effectively shorting B17 and B18, so both are ON for any given state, which you say prevents the valve moving from it’s default position?

And when you switch the relay OFF, you essentially break that short circuit, returning the system to it’s normal state of operation, and allowing the system to set the position of the valve accordingly.

Have I understood correctly?

This arrangement would work for me, as it would allow me to activate the relay and lock the valve in the heating position during colder periods when the anti-freeze protection may otherwise run, but leaving the relay off for the majority of the time and allowing normal operation.

I don’t even think I need a WiFi enabled relay - just a simple switch allowing me to manually short the circuit would suffice as I have no desire or need to automate it.

Yes basically but make me explain it in more details.

As you’ve said and read in manual 230V on:

B18: space heating circuit active
B17: DHW circuit active

My diverter valve has 3 cables L, N and B. L is connected to permanent live on a controller and B is connected to B18 terminal by default.

If there is voltage on B then space circuit heating (position A is open). When there is no voltage on B, then DHV circuit is open (position B).

Now is space heating is active or pump in default mode there is voltage on B18 and no voltage on B17. The valve is in position A space heating. If there is DHW demand there is no voltage on B18 and 230V on B17. Normally without this hack there is nothing connected to B17.

If you shorting B17 and B18 then my diverter valve is constantly powered on not allowing to change the position and space heating is still open. Now if the pump is off and pump wants to do this hourly AF cycles, it will not supply B18 but push 230V to B17. Normally it would make the valve to switch but not as long as the relay in ON. So the pump thinks DHW is open and taking heat from boiler but in fact it is not.

Via modbus I can read if the mump really demands water heating or not. Based on this I can distinguish between anti freezing cycle and DHW heating. So if I detect DHW is required I will turn OFF the relay so the power to the valve (wire B) is cut out and valve changes it’s position. Once done, I will turn relay back ON.

My logic works with relay ON. If relay is ON DHW heating is not possible because the water flows through space heating circuit so if I want to heat the water I need to turn relay OFF. But depends on your valve and pump configuration and how the valve is used for space heating (A or B postion)

Thanks for the detailed explanation, I really appreciate it. I will check the wiring of my system and see if I can implement a similar hack. I will probably just use a simple wall mounted 240V switch.

@Michal_S I have checked the wiring on my Joule tank, and it’s different from yours. My system has 4 wires going to the diverter valve (presumably 2 power wires and 2 signal wires). Both B17 and B18 are connected as signal wires together with power (L and N)

The installation manual shows B17 OFF and B18 ON for heating, and B17 ON and B18 OFF for DHW. I’m not sure I can/should have both B17 and B18 live at the same time - I suspect this would induce an error.

B17 B18
OFF ON Heating
ON OFF DHW

I think I’d need two switched relays - one between B17 and B18 to pass power from B17 to B18 when the value tries to switch to DHW, and a second in the connection between B17 and the diverter valve to break the power when B18 is ON/live.

Hm, seems your valve needs power on one line to open in one direction and then power on second line to open other direction. Bringing voltage on both at a same time could really introduce an error. Bringing no voltage on both probably does nothing to the valve position.

So your strategy needs to be other than mine. In this case you need two relays and interconnect them and then manage them by some logic e.g in home assistant.

Hi @SarahH,

After a little more observation, I can confirm a few more details about how the anti-freeze logic works on my Gen6 R32 (12kW) Samsung unit.

Besides the observation that it is triggered when outside temps are 5C or below, I can confirm that these temps must be maintained for 60mins before the anti-freeze operation would begin. If the temp rises above 5C and then drops below again, the anti-freeze operation would not function 60mins after the system became idle, but 60mins from the time the temp fell below 5C again. We determined this last night, where our heat pump was turned off between midnight and 4am (with temps below 5C for the period), and I simply held the temp sensor on the back of the heat pump unit in my hand for 1min to cause it to warm above 5C. We did this every 50mins or so (within the hour) until after 3am (luckily my teenage son rarely goes to bed before 4am and is now fully trained in the art of temp sensor manipulation!) The heating then kicked in at 4am (cheap Cosy rates) and I was able to confirm in the morning that the DHW tank temp was intact :slight_smile:

So another way to prevent anti-freeze cycles is to manipulate the outside temp sensor ensuring the recorded temp rises above 5C within a given 60min period. I wonder if I could write a value above 5C using modbus, scripted every 45mins. Other options (besides staying up to 4am!) may include a small USB rechargeable pocket heater or some form of removable insulation cover? Any other suggestions that may prove more reliable than a teenager for the long term?

This was exactly the same observation on mine. Maybe check my solution with bypass switch, I’ve haven’t found anything better but it fully relies on HA automation. It’s programmed in a way that where there is a call for anti-freeze cycle automation checks if it is space heating or DHW. If not DHW it switch the relay and force the DHW circuit not to open. So antifreeze cycle is running through my space heating circuit. Without DHW tank I never had issue so really wonder why this stupid logic was implemented. If it’s only 1 or 2C per night OK but this steals 2C on every cycle and usually over night there are 4 or 5 cycles so in the morning first thing I can do is to reheat the cylinder. Absolute garbage because first thing I need is to heat the house :slight_smile: The other approach could be to keep your pump running all night long but hell, what for.

But again I ask why Samsung can’t simply implement a stupid switch in FSV settings. Yeah, still fighting with this pump. I’m known here for these rants :slight_smile:

Did you find a solution for this? I believe outdoor temperature is read only register so you can’t write into it.

No, at present I’m simply turning the tank off at the wall overnight if the weather forecast shows the ambient temp may fall below 5C. We don’t need heating overnight at present, so I just turn the tank back on in the morning, DHW intact, when we are ready for the heating to come on.
I agree a firmware update from Samsung would be the best solution. Does anyone have a contact email to send them a description of the issue for their consideration? I’ll be happy to add my weight, for what it’s worth.
In winter, when it was too cold for the heating to be off all night, we switched our DHW cycle to the cheap overnight slot, and then left the heating on from then and hoped that the heat pump didn’t cycle off for more than an hour before we got up. This wasn’t ideal as we were then heating the DHW at the coldest time of day rather than the cheap rate afternoon slot which is at the warmest time of day.

Also a solution, not perfect though. You may try to drop an email to [email protected]. There is a guy Nick, pretty helpful to answer question patiently but not sure if he can do anything about firmware change. Would it be great though.

That trick I’m using is pretty helpful and seems to be reliable, I’m just not a very big fan of such workaround solution while it would be super easy to have a setting in FSV :slight_smile:

Dear all,

In a reference from @SarahH in another channel, I came up with a rather aggressive but possible software solution:

The goal is to disable DHW support (not simple enablement) and have a schedule for DHW heating. As for myself, I’m only heating DHW @ 3pm. to compensate it a bit with the sun (PV installation here). We tend to take our showers in the evening. But that could totally be adapted and even scripted if the DHW temps gets too low.

In the hope it could somewhat address your problem until Samsung comes with a solution.

Cheers

I see, so you always disable DHW completely - yes, that’s pretty aggressive but could do a trick. Do you know the address for that ?

I also have PV so if sun is shining I will keep it heat to 55C which is max for this HP without booster. But I don’t want to rely completely on HA integration. It could freeze, etc. and if I’m not there my wife is lost :slight_smile:

Samsung will not come with anything sadly. I also can’t update unit on my own so even there is some update I would have to call supplier and you know…

I would say that:

  • enabling DHW support: FSV#3011: write NASA message number 4097 = 00
  • disabling DHW support: FSV#3011: write NASA message number 4097 = 01

I don’t have the syntax for the communication head you’re using against the ASHP. But that should to it.

Keep me posted!

Cheers

Hi all,

Just want to share some update. I’ve found out I really can set #2011, #2012, #2031 and #2032. It works but you can’t read this values. So this what confused me. I thought it is not working only to find out you can’t only read values from these addresses.

@SarahH I was really able to set any value I wanted. Look here, I’ve set it to 0C while on wired controller I can set #2012 only from 10C to 20C. I don’t know what engineer in Samsung things this is a good range :slight_smile: So now I have 40C water temperature up to 0C and below weather compensation take over.

So now the only issue remaining is how to trick the pump to open DHW circuit for all this defrost, anti-freeze, anti-seize cycles when FCU is not in use ?? HA and shelly relay work but it’s not ideal solution in case something is stuck. The water pump register is unfortunately read only. When there is 5C and bellow and FCU not running then anti freezing cycle runs every hour or two stealing heat out of the water tank. It’s funny how the pump switch 3-way valve just for this instead to keep it open to FCU position.

1 Like

Oh well done, @Michal_S, that’s quite a breakthrough.

But please tell us the details of how you did it. Given that neither the remote controller or SNET-Pro2 allow us to enter #2012 values below 10degC, I assume that you forced the 0degC value in either using Modbus (maybe using your MIM-B19N) or with @toadhall’s code (as he describes in Contribution: Samsung ASHP NASA link <-> MQTT bridge (Home Assistant) post #118 onwards). I ask because those of us too mean to invest in a MIM-B19N or HA may want to emulate your success using Python or similar.

Any guidance appreciated!

PS @Topaz’s idea above for fooling the controller into thinking that there’s no DHW circuit looks very interesting as an option to avoid frost protection heat loss from the tank. Have you tried it?

Hi SaraH,

Yes, exactly. It is set via modbus MIM-B19N from HA. Like this:

sequence:
  - data:
      hub: samsung
      unit: 1
      address: 91
      value: 0
    action: modbus.write_register
alias: Write min. outdoor temp to Modbus - address 91 / 0x4255  / 16981 / FSV2012
mode: single

Message 0x4255 is written to address 7000 at position 91.

This way you can set any value you want, even nonsense values. But you can’t read it back so it’s always 0. But this is not that big issue, important is that writing is working.

You don’t need to use HA, you can use pure python approach but MIM-B19N is probably needed for this if you are not able to set it with reader connected directly to control unit.

Yes, that idea is nice but I need to think how to configure automation that DHW will be activated if needed. This solution would bypass HP DHW logic completely but since is pretty stupid anyway maybe own programming in HA could deliver a better results :slight_smile: I will give it a try. Could be better than this bypass relay connected to control unit terminals :slight_smile:

Will try and keep you posted if feasible.

@Michal_S Please can I just confirm, it doesn’t cause you any issues having voltage on both B17 and B18 on the circuit board at the same time?

I’ve purchased a DPDT switch which I can wire such that the 3-way valve always has voltage on the space heating terminal, but the circuit board will have voltage on both B17 and B18 at the same time when activated (as I think your configuration does when your relay is closed, shorting B17 and B18?), and that doesn’t cause issue or cause any errors?

Just confirming before I wire this up, then I can manually switch from normal operation into ‘protected’ mode overnight if the temperatures look like they may drop and will keep the 3-way valve in the space heating position.

To be honest I don’t remember how exactly I’ve wired it but I’m controlling the 3-way valve with relay. The relay is most the time ON - this is in case of space heating and also in case of any operation but DHW heating. So no matter if there is voltage on B17 or B18 the valve still holds its position. When I detect real DHW request, I will switch off the relay and it causes 3-way valve switch to DHW position. Once I enable relay again it switch back the valve to space heating. Little bit complicated but it works.