Joining the Renewable Heating Hub forums is completely free and only takes a minute. By registering you’ll be able to ask questions, join discussions, follow topics you’re interested in, bookmark useful threads and receive notifications when someone replies. Non-registered members also do not have access to our AI features. When choosing your username, please note that it cannot be changed later, so we recommend avoiding brand or product names. Before registering, please take a moment to read the Forum Rules & Terms of Use so we can keep the community helpful, respectful and informative for everyone. Thanks for joining!
Heat Pump Performance Analysis Web App using Modbus Data
I wanted to share a web app I created to help visualise and analyse my heat pump data. The app uses Python to ingest CSV files from Home Assistant History or Grafana panel exports and to generate visualisations and summary data from the raw CSV data. This was designed using data I obtain using a Modbus interface for my Samsung Gen 6 Heat Pump. This tool is not validated but it independently calculates values such as heat output and COP and these match the data I am generating in Home Assistant.
I found the web app very useful to analyse my heat pump data in a structured way in order to be able to generate actionable changes from the analysis and to be able to track changes in the heat pump operation after making changes to the heat pump settings. There is also the option to generate data in a structured JSON format to enable review of the data by a homeowner/person who manages the heat pump (or by AI systems if you choose, but always verify the outputs). This output consistently generates the same metrics which should allow the tracking of potential issues or to track system behaviour following system changes.
If anyone would like to try it (there is sample data provided in the app), the link is below:
https://heatpump-therm.streamlit.app/
Findings from initial use
A major issue I uncovered with my Samsung Gen 6 Heat Pump (with Joule Smart Pre-Plumbed cylinder 200L DHW/60L buffer), is that the Joule control circuitry allows the secondary pump and the heating zone pumps to operate during DHW heating cycles (when the 3 way valve is in the DHW position). This has a negative impact on the efficiency of the system as the heat pump is outputting higher flow temperatures during the DHW cycle and the heating circuits are now operating at the same time.
Discovering this enabled me to change my DHW and room thermostat schedules to avoid the zones calling for heat during the DHW operating windows and this has had a noticeable impact on the operating efficiency.
I would be interested to see if anyone wanted to run their own data through the app and see what results they got. As this is the first app I have created (with a lot of assistance from Codex, Gemini and Claude) and the fact that I am in no way a professional in the software or heating systems industries, this is very much to be treated as a beta tool for informational purposes only.
Grafana Panels
It took me a while to get the Grafana panels configured so I could export the data. The only way I could get this to work was using 2 separate panels, State and Numeric
Heat Pump Export Data - State
SELECT "value", "state", "entity_id"
FROM "state"
WHERE
$timeFilter
AND (
-- Pumps / circulation
"entity_id" = 'underfloor_pump' OR
"entity_id" = 'downstairs_radiator_pump' OR
"entity_id" = 'upstairs_radiator_pump' OR
"entity_id" = 'primary_pump' OR
"entity_id" = 'secondary_pump' OR
-- Defrost (binary)
"entity_id" = 'heat_pump_defrost_status' OR
-- 3-way valve / immersion mode (value versions)
"entity_id" = 'heat_pump_3way_valve_position_value' OR
"entity_id" = 'heat_pump_immersion_heater_mode_value' OR
"entity_id" = 'heat_pump_hot_water_mode_value' OR
"entity_id" = 'heat_pump_hot_water_status_value'
)
Heat Pump Export Data - Numeric
SELECT "value", "entity_id"
FROM /.*/
WHERE
$timeFilter
AND (
-- Heat pump electrical / thermal
"entity_id" = 'heat_pump_power_ch1' OR
"entity_id" = 'heat_pump_heat_output' OR
"entity_id" = 'heat_pump_indoor_power' OR
"entity_id" = 'heat_pump_compressor_frequency' OR
-- Hydraulics / temps
"entity_id" = 'heat_pump_flow_rate' OR
"entity_id" = 'heat_pump_flow_temperature' OR
"entity_id" = 'heat_pump_return_temperature' OR
--"entity_id" = 'heat_pump_flow_delta' OR
"entity_id" = 'heat_pump_hot_water_temperature' OR
-- Room temps
"entity_id" = 'living_room_temp_humidity_temperature' OR
"entity_id" = 'playroom_temp_humidity_sensor_temperature' OR
"entity_id" = 'main_bedroom_temperature' OR
"entity_id" = 'bedroom1_temp_humidity_sensor_temperature' OR
"entity_id" = 'bedroom2_room_temp_humidity_sensor_temperature' OR
"entity_id" = 'ecowitt_weather_indoor_temperature' OR
"entity_id" = 'heat_pump_temp_humidity_sensor_temperature' OR
-- Environment
"entity_id" = 'heat_pump_outdoor_temperature' OR
"entity_id" = 'ecowitt_weather_humidity' OR
"entity_id" = 'ecowitt_weather_solar_radiation' OR
"entity_id" = 'ecowitt_weather_wind_speed' OR
"entity_id" = 'openweathermap_wind_speed' OR
"entity_id" = 'openweathermap_humidity' OR
"entity_id" = 'openweathermap_temperature' OR
"entity_id" = 'openweathermap_uv_index'
)
Note: Post recreated due to mod removal of the original post (mea culpa - I didn't read the updated forum rules and had used ChatGPT to help me summarise the operation of the app)
Hi. I would mind having a go with this but use OEM. Can you give detail of the csv file required and i will try to recreate it. Thanks
House-3 bed partial stone bungalow, 5kW Samsung Gen 6 ASHP (Self install)
6.9 kWp of PV
5kWh DC coupled battery
Blog: https://thegreeningofrosecottage.weebly.com/
Heatpump Stats: http://heatpumpmonitor.org/system/view?id=60
@bontwoody I have learned that CSV wrangling can get complicated!
There are some sample Grafana files in the app which I think would be the best basis for manual CSV editing - one file for state data (e.g. 1/0, on/off etc) and another for numeric data.
For numeric, the format is:
For state, the format is (the data can be in either the value or state column depending on what data you have):
I haven't tried to do what you are attempting so your results may definitely vary. If you want to send me on a sample file, I can have a look at the format and see if anything can be done to accommodate it if I have some time over Christmas.
@redzer_irl ok. Thanks I will have a look when ive got some time. 😁
House-3 bed partial stone bungalow, 5kW Samsung Gen 6 ASHP (Self install)
6.9 kWp of PV
5kWh DC coupled battery
Blog: https://thegreeningofrosecottage.weebly.com/
Heatpump Stats: http://heatpumpmonitor.org/system/view?id=60
@redzer_irl — all my heat pump data is in csv files, meaning I am used to getting subsets of data from those files. I use something called q Text as Data which is a command line program that lets you run sql like queries on csv files, which can be a very quick and useful way of getting subsets of data. Depending on how your source data is organised (best in one big file as far as possible) and what you want to get out, then something like this will get all the data for one entity and put it in a new csv file:
q -H -d , "select Time, value, entity_id from my_data.csv where entity_id = 'ecowitt_weather_humidity'" > humidity.csv
It can also output the data to the clipboard (| clip), and you have most if not all of the standard sql options available to you including doing maths on the data (sums, counts, averages etc) and even join operations, though the code does get more complicated for that.
Midea 14kW (for now...) ASHP heating both building and DHW
- 26 Forums
- 2,590 Topics
- 60.3 K Posts
- 399 Online
- 6,922 Members
Join Us!
Worth Watching
Latest Posts
-
RE: Air-to-air heat pumps - best models and installers
@ashp-bobba, do I remember correctly that you install A...
By Mars , 7 hours ago
-
RE: A2A vs A2W: Which Heat Pump Would You Pick?
There isn’t as far as I know, @djh, but you’re welcome ...
By Majordennisbloodnok , 11 hours ago
-
RE: Can anyone explain the following behaviour with a Grant Aerona 3 R30 / Smart Controller?
Final Update. Yesterday, I was going through the moti...
By Unsure , 13 hours ago
-
RE: How much can an east/west solar solar system be oversized?
Best performance occurs with PV string near inverter no...
By bobflux , 13 hours ago
-
RE: Forum updates, announcements & issues
Thank you Mars for all your dedication to improvements;...
By Toodles , 16 hours ago
-
RE: Who do I complain to about a poor ECO4 installation, can anyone advise?
Take it one step at a time. If you can get the dhw and...
By JamesPa , 22 hours ago
-
RE: Selling 2 x Kensa Shoebox 7kw GSHP (New)
Hi Jain, we’ve got an ashp so I’m afraid we won’t be yo...
By Judith , 22 hours ago
-
No buffer or low loss header Grant controller in sens...
By JamesPa , 1 day ago
-
RE: Are We Sleepwalking Into Another Race to the Bottom?
That's an amazing job to get all that in there! A truly...
By Batpred , 1 day ago
-
RE: Anyone concerned about GivEnergy?
Thanks for your advice - I'll keep trying with the inst...
By JohnDwyer , 2 days ago
-
RE: Plug and play solar. Thoughts?
I am also yet to find a case where an installation that...
By Batpred , 2 days ago
-
RE: British Gas vs Octopus Energy vs Heat Geek vs EDF vs Aira vs OVO vs EON.Next vs Boxt
This is what I got from OVO. At least it was quick.. ...
By Batpred , 2 days ago
-
RE: IVT greenline HT Plus E - Circulation Pump Constantly On
Welcome to the forums. Irrespective of which brand yo...
By Mars , 2 days ago
-
RE: 7.5kW Heat Loss, But Quoted a 10kW Midea. No Re-Pipe, No Buffer Tank. Does This Add Up?
Oh, how I love these old scientists!I'm in with your 5 ...
By LeJamaisContent , 2 days ago
-
RE: Jokes and fun posts about heat pumps and renewables
@jamespa Someone who is not easily phased I suppose.
By Toodles , 3 days ago
-
@downfield Once OE had removed our gas meter and capped...
By Toodles , 3 days ago
-
Living with a Low Loss Header (Or Measure For Measure, it’s All About the Pump)
I know, low loss headers (LLHs) aren’t necessarily ‘low...
By Toodles , 3 days ago
-
RE: What is the main ‘dictator’ of Agile’s unit price?
After seeing umpteen negative price slots again today, ...
By ChandyKris , 3 days ago
-
RE: The Reality Behind a Failed Heat Pump Installation – and an IWA Insurance Rejection
@ian-w Getting back to the problem in hand, what do yo...
By JamesPa , 3 days ago
-
RE: Solar Power Output – Let’s Compare Generation Figures
@papahuhu Generally, I leave Homely to take care of mat...
By Toodles , 3 days ago
-
@judith, glad you found the story interesting. On eff...
By Mars , 4 days ago
-
RE: New Vaillant aroTherm Plus in black - When will it come to the UK?
The vaillant controller and app do all of that (and mor...
By JamesPa , 4 days ago






