Open source heat pump data

Afternoon! Not sure if this is the right place for this (please nudge me in the right direction if not!).

I’ve spent the last 7 or 8 years working in energy, specifically optimisation of energy assets (including heat pumps). I’m looking to start a few hobby projects in this area building some stuff I think could be useful here, but i’m missing open source heat pump data needed to do some fun data science on! Ideally i’d have half hourly (or less!) datasets of:

  • input power
  • output power (or instantaneous COP)
  • flow temperature
  • return temperature
  • isDefrost
  • any other relevant control status of the heat pump

Can anyone point me to this? Thanks, Tom

Additionally, if there is any information within the home with regards to room temperature that’d be great too, but not absolutely required.

I can see heatpumpmonitor have a lot of this but can’t see an easy download button. Probably being stupid. Would be good to discuss the Heat Demand Tool on here too; I think my stuff could feed into this quite neatly! Emoncms - app view

Would also be good to get flow rate and DHW status too!

Hello @goodcopbadcop

HeatpumpMonitor.org has an API that provides access to the underlying data, see: https://heatpumpmonitor.org/api-helper.

For the dashboard link that you shared, you can get a list of feeds used in the app with:
https://emoncms.org/app/getconfig?name=MyHeatpump&readkey=bbd1cd04728bd8c9f7acfb2ee51936d2

{
  "id": "4814",
  "userid": "47964",
  "app": "myheatpump",
  "name": "MyHeatpump",
  "public": "1",
  "config": {
    "heatpump_heat": "485961",
    "heatpump_heat_kwh": "485954",
    "heatpump_flowT": "485958",
    "heatpump_returnT": "485959",
    "heatpump_outsideT": "485953",
    "heatpump_roomT": "485955",
    "heatpump_flowrate": "485960",
    "heatpump_elec": "486066",
    "heatpump_elec_kwh": "507748",
    "start_date": "1708430415",
    "public": true,
    "heatpump_dhw": "507732",
    "enable_process_daily": true
  }

Then it’s possible to access say half hourly kWh consumption data with the emoncms.org feed API:

https://emoncms.org/feed/data.json?id=507748&start=27-02-2025Z00:00:00&end=28-02-2025Z00:00:00&interval=1800&average=0&timeformat=iso8601&skipmissing=0&limitinterval=0&delta=1&apikey=bbd1cd04728bd8c9f7acfb2ee51936d2

Result:

[
  [
    "2025-02-27T00:00:00+00:00",
    0.28759765625
  ],
  [
    "2025-02-27T00:30:00+00:00",
    0.28759765625
  ],
  [
    "2025-02-27T01:00:00+00:00",
    0.28662109375
  ],
  [
    "2025-02-27T01:30:00+00:00",
    0.287109375
  ],
  [
    "2025-02-27T02:00:00+00:00",
    0.2861328125
  ],
  [
    "2025-02-27T02:30:00+00:00",
    0.2861328125
  ],
  [
    "2025-02-27T03:00:00+00:00",
    0.28759765625
  ],
  [
    "2025-02-27T03:30:00+00:00",
    0.28564453125
  ],
  [
    "2025-02-27T04:00:00+00:00",
    0.28662109375
  ],
  [
    "2025-02-27T04:30:00+00:00",
    0.2861328125
  ],
  [
    "2025-02-27T05:00:00+00:00",
    0.28662109375
  ],
  [
    "2025-02-27T05:30:00+00:00",
    0.28564453125
  ],
  [
    "2025-02-27T06:00:00+00:00",
    0.2861328125
  ],
  [
    "2025-02-27T06:30:00+00:00",
    0.28564453125
  ],
  [
    "2025-02-27T07:00:00+00:00",
    0.28662109375
  ],
  [
    "2025-02-27T07:30:00+00:00",
    0.27587890625
  ],
  [
    "2025-02-27T08:00:00+00:00",
    0.27587890625
  ],
  [
    "2025-02-27T08:30:00+00:00",
    0.27587890625
  ],
  [
    "2025-02-27T09:00:00+00:00",
    0.27734375
  ],
  [
    "2025-02-27T09:30:00+00:00",
    0.27783203125
  ],
  [
    "2025-02-27T10:00:00+00:00",
    0.27783203125
  ],
  [
    "2025-02-27T10:30:00+00:00",
    0.26806640625
  ],
  [
    "2025-02-27T11:00:00+00:00",
    0.26123046875
  ],
  [
    "2025-02-27T11:30:00+00:00",
    0.26171875
  ],
  [
    "2025-02-27T12:00:00+00:00",
    0.25146484375
  ],
  [
    "2025-02-27T12:30:00+00:00",
    0.26123046875
  ],
  [
    "2025-02-27T13:00:00+00:00",
    0.650390625
  ],
  [
    "2025-02-27T13:30:00+00:00",
    0.7001953125
  ],
  [
    "2025-02-27T14:00:00+00:00",
    0.4208984375
  ],
  [
    "2025-02-27T14:30:00+00:00",
    0.275390625
  ],
  [
    "2025-02-27T15:00:00+00:00",
    0.26806640625
  ],
  [
    "2025-02-27T15:30:00+00:00",
    0.24609375
  ],
  [
    "2025-02-27T16:00:00+00:00",
    0.2490234375
  ],
  [
    "2025-02-27T16:30:00+00:00",
    0.25732421875
  ],
  [
    "2025-02-27T17:00:00+00:00",
    0.26220703125
  ],
  [
    "2025-02-27T17:30:00+00:00",
    0.263671875
  ],
  [
    "2025-02-27T18:00:00+00:00",
    0.267578125
  ],
  [
    "2025-02-27T18:30:00+00:00",
    0.27099609375
  ],
  [
    "2025-02-27T19:00:00+00:00",
    0.27783203125
  ],
  [
    "2025-02-27T19:30:00+00:00",
    0.27783203125
  ],
  [
    "2025-02-27T20:00:00+00:00",
    0.2783203125
  ],
  [
    "2025-02-27T20:30:00+00:00",
    0.27734375
  ],
  [
    "2025-02-27T21:00:00+00:00",
    0.2783203125
  ],
  [
    "2025-02-27T21:30:00+00:00",
    0.2861328125
  ],
  [
    "2025-02-27T22:00:00+00:00",
    0.28662109375
  ],
  [
    "2025-02-27T22:30:00+00:00",
    0.287109375
  ],
  [
    "2025-02-27T23:00:00+00:00",
    0.287109375
  ],
  [
    "2025-02-27T23:30:00+00:00",
    0.287109375
  ],
  [
    "2025-02-28T00:00:00+00:00",
    0.28564453125
  ]
]

You can access data all the way down to 10s data, if it’s recorded at that resolution.