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-2 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.
Currently viewing this topic 2 users ( bontwoody, redzer_irl ) and 6 guests.
Recently viewed by users: JamesPa 51 minutes ago, SteveT 59 minutes ago.
- 26 Forums
- 2,342 Topics
- 53 K Posts
- 218 Online
- 6,000 Members
Join Us!
Worth Watching
Latest Posts
-
RE: Heat Pump Performance Analysis Web App using Modbus Data
@bontwoody I have learned that CSV wrangling can get co...
By redzer_irl , 10 minutes ago
-
RE: Poll for Time of Use, tariffs, technology
@jamespa 1st March onto intelligent flux, back to cosy ...
By Papahuhu , 26 minutes ago
-
RE: Here is my heat pump installation with questionable COP in Italy
Well in Italy there is nothing controlling the quality ...
By materox345 , 46 minutes ago
-
RE: A Smarter Smart Controller from Homely?
Do let us know the outcome please. I have reached the c...
By Papahuhu , 1 hour ago
-
RE: Configuration issues with 10kW Midea R32 heat pump
Thanks, sorry for daft questions. I now have this set t...
By SteveT , 2 hours ago
-
RE: 10kw heat pump run in 24*7 data?
The curve really depends on the emitters in relation to...
By JamesPa , 2 hours ago
-
RE: Has Anyone Else Noticed a Decline in Tradesmanship?
Sadly that is true. There are various reasons of cours...
By JamesPa , 3 hours ago
-
I have just had a new solar array and batteries install...
By TechnoGeek , 6 hours ago
-
RE: What a Bad Heat Pump Installation Looks Like
@editor The trick to an inside unit installation is to ...
By MikeFl , 15 hours ago
-
RE: Different dT on each radiator?
The way heating systems are designed will result in rou...
By JamesPa , 18 hours ago
-
RE: Setback savings - fact or fiction?
PS by visually merging the two tables as above, I ended...
By cathodeRay , 1 day ago
-
RE: Homely for Daikin Altherma 3 - Petersfield Area
@russ If you would care to pose your questions on one o...
By Toodles , 1 day ago
-
RE: The good, the bad and the not that great – my heat pump installation
@cathoderay the guy I spoke to on the phone seemed very...
By Burtis , 2 days ago
-
RE: British Gas vs Octopus Energy vs Heat Geek vs EDF vs Aira vs OVO vs EON.Next vs Boxt
I get the impression that that comment "they don't comm...
By JamesPa , 2 days ago
-
@majordennisbloodnok Just in case there are variations ...
By Toodles , 2 days ago
-
RE: Latest NIBE model has known defect and no solution
@kings I’m glad I could help. NIBE are taking this very...
By Mars , 2 days ago
-
RE: Octopus Cosy Heat Pump Owners & Discussion Thread
@jamespa yes, I'm under no illusions but in some respec...
By AndrewJ , 2 days ago
-
RE: Electricity price predictions
It seems the end of cfd payments is in sight, even if a...
By Batpred , 2 days ago
-





