Graphing home energy usage

The musings of an amateur pythonista. OK Guy Lipman really is the supermo on all things Octopus. Please check his posts if your interest is piqued.

Gas Consumption using plotly
Electricity Consumption
import sys
import requests
import json
import pandas as pd
import plotly.express as px

energy="electricity"
#energy="gas"
api_token= "sk_live_******************"
if energy == "electricity":
  meter= mpan = "10*************"
  serial = "21*********"
  color="orange"
  title="Electricity Consumption"
if energy == "gas":
  meter= mprn = "74********"
  serial = "E6*************"
  color="blue"
  title="Gas Consumption"

url =  "https://api.octopus.energy/v1/" + energy + "-meter-points/" + meter + "/meters/" + serial + "/consumption/"

response = requests.get(url,  auth=( api_token, ""))
response_json = response.json()
results = response_json["results"]
df = pd.DataFrame (results)
fig = px.bar(df,
             x='interval_start', y='consumption',
             color_discrete_sequence =[color]*len(df),
             title=title,
               )
fig.show()
Setting the Period and Grouping (by day)
period_from="2021-06-01T00:00:00Z"
period_to="2022-02-17T21:00:00Z"
page_size="5000"
group_by="day"
url =  "https://api.octopus.energy/v1/" + energy + "-meter-points/" + meter + "/meters/" + serial + "/consumption/" + "?period_from=" + period_from + "&period_to=" + period_to + '&page_size=' + page_size + '&group_by=' + group_by
The high peaks periodically are through EV charging

Leave a Reply

Your email address will not be published. Required fields are marked *