Ellevio data
My utility company have an excellent online portal where I can see the hourly energy consumption for my home as well as the outside temperature. Unfortunately it’s not the recorded temperature but the Weather services best guess. I know that the traffic authority have a weather station here so perhaps I can get exact data from them in the future.
Let’s analyze the data to see if there are any patterns that can help me in my desicion about upgrading the heat pump.
Parsing the data with ChatGPT
The data comes in two monthly Json files, one for consumption and one for temperature.
Temperature sample structure
{
"data": [
{
"timeStamp": "2023-08-01T00:00:00+02:00",
"temperature": 12.4
}
]
}
Electricity sample structure
{
"data": {
"consumptions": [
{
"total": 1.833,
"start": "2023-08-01T00:00:00+02:00",
}
]
}
}
Parsing the files with ChatGPT is quite straightforward. The only instructions
that look a little like programming lingo is the way I ask it to parse the Json-files.
It will make sense when you read it.
Preparing the data.
Every file contains hourly data for a month.
- 29 files named “ellevio_data_energy_202104.json” etc…
- 29 files named “ellevio_data_temperature_202104.json” etc…
- I zip them into two archives and upload them.
Instructing ChatGPT to parse the files
Initially, I used a dialog with the AI, but I’ve condensed it into a single
instruction for easier readability.
I have two time series. One with consumption data and one with temperature data. You will parse them and merge them as follows.
In theLets start with parsing all the temperatures. I will give instructions in a home made format vaguely reminding of JSON path.
After parsing the two datasets you will merge them into an Excel-file
Parsing of dates:
- Parse the source ISO date into a format that Excel understands.
YYYY-MM-DD HH:MM:SS
- Example: “2022-10-01T03:00:00+02:00” shall be transformed to “2022-10-01 03:00:00”
- Then convert it to the date-type
Parsing of temperature:
- Extract the objects of
data array
timeStamp parse as a date
temperature is a number
Parsing of energy:
- Extract the objects of
data/consumptions
total is a number
start parse as a date
Merging:
- Merge the data on date.
- Save
start as column
- Save
temperature as a column
- Save
total as column
Filtering:
- Sort the data on
time ascending
- Remove rows until you first find a non zero value in
kW
Tests:
- The first date in the series should be “2021-04-19 14:00:00”
- The
kW at “2022-08-16 15:00:00” should be “0”
- The last row shall have the following values:
2023-08-31 23:00:00, 11.7, 2.934
Excel-file name: “trollebo-electricity-temperature-hourly”
Result

| time | temperature | kW |
|---|
| 2021-04-19 14:00:00 | 12.8 | 1.366 |
| 2021-04-19 15:00:00 | 13.1 | 1.367 |
| 2021-04-19 16:00:00 | 13.4 | 1.367 |
| 2021-04-19 17:00:00 | 13.3 | 1.81 |
Temperatur.nu data
Ellevio’s temperature data is an estimation, that frankly is really bad, especially for cold weather. Luckily we have Trafikverket’s (Swedish Transport Administration) weather station just outside the house and (Woohoo!) Temperatur.nu collects data from it! This data will be much more accurate. Before using privately remember to donate! For commercial use get a license. Temperatur.nu is an extremely impressive hobby project
Data collection.
Request: http://api.temperatur.nu/tnu_1.17.php?p=noppikoski&cli=unsigned&data&start=2021-04-20 00:00
This will download all hourly data from 2021-04-20 00:00 to current time.
I use Thunder Client to make the request.
It’s a VS Code extension that makes it easy to make HTTP requests.
That’s all for now. We’ll examine the downloaded data on the next page.