half_hourly_meter_consumption = fetch(
`https://api.octopus.energy/v1/electricity-meter-points/${mpan}/meters/${serialNumber}/consumption?period_from=${startDate.toISOString()}&order_by=-period&page_size=2500`,
{
headers: {
Authorization: `Basic ${btoa(octopusApiKey)}:`
}
}
)
.then((response) => response.json())
.then((json) => {
const parsed = json.results.map((r) => {
const validFrom = new Date(r.interval_start);
const validTo = new Date(r.interval_end);
return {
consumptionKwh: r.consumption,
validFrom,
validTo,
dayOfYearYear: dayOfYearYear(validFrom),
weekOfYearYear: weekOfYearYear(validFrom),
day: d3.timeFormat("%a")(validFrom),
hourFrom: timeOfDay(validFrom),
hourTo: timeOfDay(validFrom) === "23:30" ? "24:00" : timeOfDay(validTo)
};
});
return parsed;
})