Download Temperature Profile Data

I’d like to import Beestat’s awesome Temperature Profiles chart into excel so I can merge that data with my heat pump performance data. Then we can manually calculate the cost to heat per hour for the heat pump or propane as a function of outside temperature.

Good idea! Until this is officially added, you can technically download it using this console script.

Press F12 with beestat open and paste the following in. It should prompt you with a CSV download. Let me know if you have any questions.

var rows = [
  ['outdoor_temperature', 'resist', 'cool_1', 'cool_2', 'heat_1', 'heat_2', 'auxiliary_heat_1', 'auxiliary_heat_2']
];

for (var outdoor_temperature = -10; outdoor_temperature <= 100; outdoor_temperature++) {
  var profile = beestat.cache.thermostat[beestat.setting('thermostat_id')].profile.temperature;
  rows.push([
    outdoor_temperature,
    (profile.resist !== null && profile.resist.deltas[outdoor_temperature] !== undefined) ? profile.resist.deltas[outdoor_temperature] : '',
    (profile.cool_1 !== null && profile.cool_1.deltas[outdoor_temperature] !== undefined) ? profile.cool_1.deltas[outdoor_temperature] : '',
    (profile.cool_2 !== null && profile.cool_2.deltas[outdoor_temperature] !== undefined) ? profile.cool_2.deltas[outdoor_temperature] : '',
    (profile.heat_1 !== null && profile.heat_1.deltas[outdoor_temperature] !== undefined) ? profile.heat_1.deltas[outdoor_temperature] : '',
    (profile.heat_2 !== null && profile.heat_2.deltas[outdoor_temperature] !== undefined) ? profile.heat_2.deltas[outdoor_temperature] : '',
    (profile.auxiliary_heat_1 !== null && profile.auxiliary_heat_1.deltas[outdoor_temperature] !== undefined) ? profile.auxiliary_heat_1.deltas[outdoor_temperature] : '',
    (profile.auxiliary_heat_2 !== null && profile.auxiliary_heat_2.deltas[outdoor_temperature] !== undefined) ? profile.auxiliary_heat_2.deltas[outdoor_temperature] : '',
  ]);
}

var csv = 'data:text/csv;charset=utf-8,';

rows.forEach(function(row) {
  csv += row.join(',') + "\r\n";
});

var encoded = encodeURI(csv);
window.open(encoded);