Posted by: @iancalderbankhow are you guys calculating COP with the samsung? I don't see a modbus register for energy (input or output)?
I have run a POE Ethernet to my electric box, with the olimex poe esp32 feeding home assistant, an open energy monitor pulse counter on the din rail power meter for the heat pump circuit.
Though if I did this again I would probably follow the shelly path.
Main issue is power in the electric cabinet, POE may be my only solution, until I can get an electrician to put a 3 amp circuit in the electric cabinet.
I am slowly getting there .... below in Grafana [hot water recharge], just need to add the CoP calculation now.
Posted by: @redzer_irlI'm not getting a great overall COP
Are you splitting DHW from Heating CoP?
Also you really need to measure CoP vs outside temperature using scatter plot
ok, my intent is put an ESP8266 with a CT clamp around the main power inside the outdoor unit. as I feel that's easiest place to get at the main power. Just need to sort 5V for the ESP when in there. there's 12V used by the modbus so not tricky.
I was going cutover the house to the ASHP this weekend but due to myself and mrs getting covid tail end of the week that put paid to doing anything other than survive. so back looking at the s/w side. Is anyone doing a control loop yet? what parameter are you writing to - presumably LWT? If so what modbus config are you using for the write (I'll be doing it from an ESP, starting from @steven 's config)
My octopus signup link https://share.octopus.energy/ebony-deer-230
210m2 house, Samsung 16kw Gen6 ASHP Self installed: Single circulation loop , PWM modulating pump.
My public ASHP stats: https://heatpumpmonitor.org/system/view?id=45
11.9kWp of PV
41kWh of Battery storage (3x Powerwall 2)
2x BEVs
@william1066 @steven @tomc is there any chance any of you could post the snippet of your code that builds and writes the modbus command(s) to the samsung to tell it do do something on a regular / automated basis? like turn on or off or get hotter or cooler.
the code thats been posted previously around replicating WL calculations makes perfect sense and I have my own ideas to develop on load comp, I'm just missing the basic pointer as to where to look to tell it to "do something".
Read registers working fine and stable for a week.
My octopus signup link https://share.octopus.energy/ebony-deer-230
210m2 house, Samsung 16kw Gen6 ASHP Self installed: Single circulation loop , PWM modulating pump.
My public ASHP stats: https://heatpumpmonitor.org/system/view?id=45
11.9kWp of PV
41kWh of Battery storage (3x Powerwall 2)
2x BEVs
Posted by: @iancalderbankis there any chance any of you could post the snippet of your code that builds and writes the modbus command(s) to the samsung to tell it do do something on a regular / automated basis?
Use ESPHome Modbus Number or Switch components depending on what it is you want to do. For example setting the DHW temperature:
number: - platform: modbus_controller modbus_controller_id: controller_id name: "DHW Water Temperature" id: dhw_water_temperature register_type: holding address: 74 value_type: U_WORD lambda: "return x * 0.1; " write_lambda: "return x * 10.0; "
You can use this to replace the "sensor" version, if you're using it, it acts as a read and write entity.
Note, register_type: holding may not be necessary for "number" controllers, it's not specified in the ESPHome docs, but it is referenced. Give it a go.
@iancalderbank Hi Ian
Below is my config for the switches. Right now I am only switching the space heating on or off, and the hot water on or off. This is baby steps for me, and I am letting the weather compensation set the flow temperature.
My approach is
#1 - setup the registers as switches, as below.
#2 - use the standard automation to switch heating on/off, ditto for hot water.
I have not managed to get the switch to switch off cleanly in the UI. It shows that is it switching off, then goes back on then back off again, not sure why. I tried adding the verify as below, that has not worked.
Once I move to the next step of more sophisticated control of flow temperature I can share, just a bit busy with work and other renovation diy right now.
modbus: - name: "samsung" type: serial baudrate: 9600 bytesize: 8 method: rtu parity: E port: /dev/ttyUSB0 stopbits: 1 switches: - name: Heating unique_id: samsung_gen6_16kw_heating slave: 1 address: 52 command_on: 1 command_off: 0 verify: input_type: holding delay: 10 address: 52 state_on: 1 state_off: 0 - name: Hot Water unique_id: samsung_gen6_16kw_hot_water slave: 1 address: 72 command_on: 1 command_off: 0 verify: input_type: holding delay: 10 address: 72 state_on: 1 state_off: 0
I have 50+ years experience with control systems, so if you need any help or assistance then please feel free to ask.
I would suggest that you try to clearly define what it is that you are trying to achieve, and what parameter measurements that you may require to achieve your objective.
If you don't have the functionality of a PID controller within your present software, it should be possible to program the required algorithms.
@steven thanks, so I tried the below, which all compiled and runs fine.
number: - platform: modbus_controller modbus_controller_id: ashp_modbus name: "Target Flow Temperature" id: target_flow_temperature register_type: holding address: 68 unit_of_measurement: "ºC" device_class: "temperature" value_type: U_WORD lambda: "return x * 0.1; " write_lambda: "return x * 10.0; "
I have the number entity in an HA dashboard. when I adjust the value of that entity within HA from 25 to 29, I see the ESP do this:
[12:16:32][D][modbus.number:023]: Number new state : 25.00 [12:16:32][D][number:012]: 'Target Flow Temperature': Sending state 25.000000 [12:16:32][D][modbus_controller.sensor:025]: Sensor new state: 0.00 [12:16:32][D][sensor:126]: 'Flow Rate': Sending state 0.00000 lpm with 1 decimals of accuracy [12:16:34][D][number:054]: 'Target Flow Temperature' - Setting number value [12:16:34][D][number:113]: New number value: 26.000000 [12:16:34][D][modbus.number:059]: Updating register: connected Sensor=Target Flow Temperature start address=0x44 register count=1 new value=26.00 (val=260.00) [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 26.000000 [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 26.000000 [12:16:34][D][number:054]: 'Target Flow Temperature' - Setting number value [12:16:34][D][number:113]: New number value: 27.000000 [12:16:34][D][modbus.number:059]: Updating register: connected Sensor=Target Flow Temperature start address=0x44 register count=1 new value=27.00 (val=270.00) [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 27.000000 [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 27.000000 [12:16:34][D][number:054]: 'Target Flow Temperature' - Setting number value [12:16:34][D][number:113]: New number value: 28.000000 [12:16:34][D][modbus.number:059]: Updating register: connected Sensor=Target Flow Temperature start address=0x44 register count=1 new value=28.00 (val=280.00) [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 28.000000 [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 28.000000 [12:16:34][D][number:054]: 'Target Flow Temperature' - Setting number value [12:16:34][D][number:113]: New number value: 29.000000 [12:16:34][D][modbus.number:059]: Updating register: connected Sensor=Target Flow Temperature start address=0x44 register count=1 new value=29.00 (val=290.00) [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 29.000000 [12:16:34][D][number:012]: 'Target Flow Temperature': Sending state 29.000000 [12:16:42][D][modbus_controller.sensor:025]: Sensor new state: 0.00 [12:16:42][D][sensor:126]: 'Compressor Frequency': Sending state 0.00000 Hz with 0 decimals of accuracy [12:16:42][D][modbus_controller.sensor:025]: Sensor new state: 146.00 [12:16:42][D][sensor:126]: 'Outdoor Temperature': Sending state 14.60000 ºC with 1 decimals of accuracy [12:16:42][D][modbus_controller.sensor:025]: Sensor new state: 198.00 [12:16:42][D][sensor:126]: 'Return Temperature': Sending state 19.80000 ºC with 1 decimals of accuracy [12:16:42][D][modbus_controller.sensor:025]: Sensor new state: 205.00 [12:16:42][D][sensor:126]: 'Flow Temperature': Sending state 20.50000 ºC with 1 decimals of accuracy [12:16:42][D][modbus.number:023]: Number new state : 25.00 [12:16:42][D][number:012]: 'Target Flow Temperature': Sending state 25.000000
which looks like HA told the ESP to increase that number, modbus updated the register, but then (last line) something (presumably the ASHP) put it right back to the value set on the controllers screen (which I've put deliberately low so I can see effect of overriding). So the end result is that the LWT didn't change.
I've got the heat pump system purely on the internal controller with the controller set to "target LWT" mode (indoor zone option->standard temperature->water outlet), maybe thats not the right mode?
My octopus signup link https://share.octopus.energy/ebony-deer-230
210m2 house, Samsung 16kw Gen6 ASHP Self installed: Single circulation loop , PWM modulating pump.
My public ASHP stats: https://heatpumpmonitor.org/system/view?id=45
11.9kWp of PV
41kWh of Battery storage (3x Powerwall 2)
2x BEVs
I suspected that you may have difficulty changing the 'target LWT', because I believe that it is actually an 'output', in being the result of internal calculations within the heat pump controller, so you actually have two controllers, your external one, and the heat pump controller both setting the same output value.
If you would like to send a copy of the Modbus Registers data, I may be able to suggest the correct parameter to change.
@derek-m my intent is to:
- within an automation platform (HA being my intended), calculate the Weather Comp temperature (Same algorithm as vendor uses).
- Send this temperature to the heat pump , to set the LWT.
- so in normal run, the same as the devices controller would do.
but then add to it by, within the same automation platform
- A "boost button" which will temporarily raise LWT by X for T (use case, I just wanna warm the house up NOW and s*d the efficiency)
the same automation platform also consumes data from the smart TRV heads , smart room stats and temperature probes around the house which I've already got. those fundamentally know allow it know to the temperature and heat demand from of almost all the areas of the house. It would then (in my ideal world) - based on all this data , do various bits of logic which I am a long way off writing down, but here's a couple of use cases:
- if "difficult to heat / very lossy room's smart room stat and sensor have a high delta T between target and actual" and "schedule of use for that room is now" then call "Boost".
That applies to our conservatory, which can be and often is air-sealed from the rest of the house and is not used all the time. I'd just be throwing money out the window if I run it as part of the always on downstairs core.
- if a "non-core room stat or smart TRV was just turned up" but main controller is OFF, then turn it back on . This is for time of day usage scenarios due to who does what when, where a non-core room (i.e. a bedroom) may need heating at odd times and that may be the only room needing heat.
I know that not all of the above is compatible with the "all rooms always on same temp" philosophy of perfect ASHP running, but my house is large, geographically and usage-wise complicated , and has different heat loads and losses. I doubt that I'll be able to run it as "one system" - only the main core rooms.
My octopus signup link https://share.octopus.energy/ebony-deer-230
210m2 house, Samsung 16kw Gen6 ASHP Self installed: Single circulation loop , PWM modulating pump.
My public ASHP stats: https://heatpumpmonitor.org/system/view?id=45
11.9kWp of PV
41kWh of Battery storage (3x Powerwall 2)
2x BEVs
I had converted the Samsung Modbus MIM-B19N section on registers from PDF into Excel just to make it a bit easier to understand for myself. The section on hidden registers is also included.
Posted by: @iancalderbank@derek-m my intent is to:
- within an automation platform (HA being my intended), calculate the Weather Comp temperature (Same algorithm as vendor uses).
- Send this temperature to the heat pump , to set the LWT.
- so in normal run, the same as the devices controller would do.
but then add to it by, within the same automation platform
- A "boost button" which will temporarily raise LWT by X for T (use case, I just wanna warm the house up NOW and s*d the efficiency)
the same automation platform also consumes data from the smart TRV heads , smart room stats and temperature probes around the house which I've already got. those fundamentally know allow it know to the temperature and heat demand from of almost all the areas of the house. It would then (in my ideal world) - based on all this data , do various bits of logic which I am a long way off writing down, but here's a couple of use cases:
- if "difficult to heat / very lossy room's smart room stat and sensor have a high delta T between target and actual" and "schedule of use for that room is now" then call "Boost".
That applies to our conservatory, which can be and often is air-sealed from the rest of the house and is not used all the time. I'd just be throwing money out the window if I run it as part of the always on downstairs core.
- if a "non-core room stat or smart TRV was just turned up" but main controller is OFF, then turn it back on . This is for time of day usage scenarios due to who does what when, where a non-core room (i.e. a bedroom) may need heating at odd times and that may be the only room needing heat.
I know that not all of the above is compatible with the "all rooms always on same temp" philosophy of perfect ASHP running, but my house is large, geographically and usage-wise complicated , and has different heat loads and losses. I doubt that I'll be able to run it as "one system" - only the main core rooms.
I am more knowledgeable in industrial control system and have never used HA, but I do believe that HA is capable of operating in a similar manner to an industrial system. If I suggest something that HA is not capable of doing then please let me know.
There could possibly be several different solutions to your problems, so it may be useful to consider each in turn.
Let's first of all deal with your requirement concerning your conservatory, which you may then be able to apply to other infrequently used rooms within your home.
1. You could consider installing an A2A (Air to Air) heat pump, which could be used to heat up a room quite quickly, and would be totally separate from your present A2W heat pump. An A2A can also be used for cooling, and can have up to at least three indoor units, so could serve several rooms from one outside unit. One of the benefits is that they heat up the air much quicker than radiators or UFH, so it is not necessary to plan too far ahead when deciding to use a normally 'not heated' room.
2. I don't normally recommend any form of zoning, but in your case I will make an exception. You could install zone valves for each of the not heated rooms, which are controlled by HA. This would then allow heating to be provided to any of the selected rooms, though it would require forward planning since it could take quite some time to bring the desired room up to temperature, with or without any boost to the LWT.
3. The heating process for (2) could be sped up by installing larger heat emitters in the selected rooms, or even fan assisted ones.
What are the pro's and con's of the different options.
An A2A system should reduce the heat demand of your A2W heat pump and could even be used as a supplementary heat source in cold weather extremes. It can also provide some cooling during hot weather extremes. It will of course use additional electrical energy to run, though this may be offset by savings made elsewhere. It will undoubtedly be the more expensive of the options.
Zoning of certain rooms could reduce the overall heat demand on the A2W heat pump, it could also be used in milder weather conditions to help reduce short cycling of the heat pump. Whilst the cheapest of the options, it could take quite some time for the selected room to be brought up to temperature, though it may be possible by measuring various temperatures, for HA to calculate the optimum time to commence the room heating prior to use.
Adding larger or fan assisted heat emitters could provide quicker heat up, but at additional installation cost.
I would suggest that you consider the options and come back with any questions.
I will do a separate post concerning control via HA a little later.
- 21 Forums
- 1,962 Topics
- 42.6 K Posts
- 68 Online
- 2,275 Members
Join Us!
Heat Pump Dramas?
Thinking about installing a heat pump but unsure where to start? Already have one but it’s not performing as expected? Or are you locked in a frustrating dispute with an installer or manufacturer? We’re here to help.
✅ Pre-Installation Planning
✅ Post-Installation Troubleshooting
✅ Performance Optimisation
✅ Complaint Support (Manufacturer & Installer)
Latest Posts
-
RE: Newbie out of her depth – Samsung AE120RXYDEG 12kW heat pump
@jamespa cannot find loss calculation. When they get i...
By BAMi , 5 minutes ago
-
RE: Towel rails. An unexpected final hurdle
We have both Normal Rad for heating the room and then a...
By IRMartini , 47 minutes ago
-
RE: Heat Pump Sizing & Installation Costs
Perhaps useful to have installed date too? To get conte...
By Tim441 , 3 hours ago
-
RE: What is the best strategy for operating a very oversized heat pump?
Something else... that works for some people... LG ha...
By Tim441 , 3 hours ago
-
RE: Setback savings - fact or fiction?
@cathoderay I see you are continuing to misquote from t...
By SUNandAIR , 4 hours ago
-
RE: Samsung Gen 7 R290 12kW is not behaving how I expected
So I turned my thermostats down last night And w...
By Joshua , 5 hours ago
-
RE: SolarPV tables / online calculator
I'd be interested what others find whilst using that we...
By Majordennisbloodnok , 5 hours ago
-
Volumisers in Heat Pump Systems: Does Placement Matter?
The debate over buffer tanks in heat pump systems has b...
By Mars , 6 hours ago
-
RE: F.788 Building circuit pump reports internal fault - Vaillant Arotherm
Guess I have to wait for engineer visit. I really hope ...
By jeegnesh , 17 hours ago
-
RE: Act now to defer the UK road tax increase on EVs
@majordennisbloodnok Damn right sir. my attempt at iron...
By Jancold , 20 hours ago
-
RE: ASHP and heating issues in new build house
That’s good gives you more capacity. It made me think, ...
By Terry1812 , 21 hours ago
-
RE: Seewet manhole cover within r290 exclusion zone
Thanks! I asked Vaillant, and they say I should be fi...
By dbrb2 , 24 hours ago
-
Looking for the Grant Aerona 3 setting to turn off completely at 20 OAT
I'm running my Aerona 3 on WC and the 'warm end of that...
By damonc , 1 day ago
-
RE: Do I just go with the lowest quote for my heat pump?
So after signing in Sept in two weeks the install may s...
By Jancold , 1 day ago
-
RE: Victorian Semi Retrofit / Extension ASHP and UFH Advice
When you are renovating is always a good time, as it ma...
By JamesPa , 1 day ago
-
RE: Just one room not reaching desired temperature
Looks like this issue is now resolved. Aira installed a...
By ChandyKris , 1 day ago
-
There have been several people on the OpenEnergyMonitor...
By RobS , 2 days ago
-
RE: Say hello and introduce yourself
Good point @jamespa But that probably strengthens @ch...
By Transparent , 2 days ago
-
RE: Visit a Heat Pump sessions.
Congratulations @toodles, that's a fantastic result. We...
By Old_Scientist , 2 days ago
Latest Topics
-
Heat Pump Sizing & Installation Costs
By Mars 5 hours ago
-
Volumisers in Heat Pump Systems: Does Placement Matter?
By Mars 6 hours ago
-
SolarPV tables / online calculator
By MichelleC 13 hours ago
-
By Toodles 2 days ago