diff options
author | Dennis Eriksen <d@ennis.no> | 2023-02-01 20:32:11 +0100 |
---|---|---|
committer | Dennis Eriksen <d@ennis.no> | 2023-02-01 20:32:11 +0100 |
commit | 8d186d39483beff64a1c11f80c6ca5e56dd7bbc5 (patch) | |
tree | 2c5a64ace4bd8eabd4d65014c5313bd7edd76191 /elvia_gridtariff2pgsql.py | |
parent | run queue in batches (diff) | |
download | energyscripts-8d186d39483beff64a1c11f80c6ca5e56dd7bbc5.tar.gz |
moving and renaming/breaking everything
Diffstat (limited to 'elvia_gridtariff2pgsql.py')
-rwxr-xr-x | elvia_gridtariff2pgsql.py | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/elvia_gridtariff2pgsql.py b/elvia_gridtariff2pgsql.py deleted file mode 100755 index bcf4bd7..0000000 --- a/elvia_gridtariff2pgsql.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/python3 -''' get grid tariffs''' - -import os -import sys -from datetime import datetime -from datetime import timedelta -import requests -from tzlocal import get_localzone - -from common import dbi - -# API documentation: https://elvia.portal.azure-api.net/docs/services/gridtariffapi/operations/post-digin-api-v-tariffquery-meteringpointsgridtariffs? - -apiKey = os.environ['el_elvia_grid_api_key'] -apiUrl = "https://elvia.azure-api.net/grid-tariff/digin/api/1/tariffquery/meteringpointsgridtariffs" -meteringPointId = os.environ['el_meteringPointId'] - -pg_db = os.environ['el_pg_db'] -pg_host = os.environ['el_pg_host'] -pg_table = "elvia_gridtariff" - - -startTime = datetime.now(get_localzone()) - timedelta(days = 2) -startTime = startTime.strftime('%Y-%m-%d') - -endTime = datetime.now(get_localzone()) + timedelta(days = 2) -endTime = endTime.strftime('%Y-%m-%d') - - -### Get the data -try: - url = apiUrl - # Request headers - hdr = { - 'Cache-Control': 'no-cache', - 'X-API-Key': apiKey, - 'Content-Type': 'application/json' - } - - # Request body - body = { - 'starttime': startTime, - 'endtime': endTime, - 'meteringPointIds': [ meteringPointId ] - } - - response = requests.post(url, headers=hdr, json=body) - if response.status_code != 200: - print(response.status_code) - print("Oh shit") - response.raise_for_status() - -except Exception as e: - print("oh lol") - sys.exit(e) - -data = response.json() - -print("Got "+ str(len(data['gridTariffCollections'][0]['gridTariff']['tariffPrice']['hours'])) +" items from between "+ startTime + " and " + endTime) - - -### insert data into database - -values = [] -for item in data['gridTariffCollections'][0]['gridTariff']['tariffPrice']['hours']: - values.append((meteringPointId, item['startTime'], item['expiredAt'], item['shortName'], item['isPublicHoliday'], item['energyPrice']['total'], item['energyPrice']['totalExVat'])) - -dbi("INSERT INTO " + pg_table + " VALUES(%s,%s,%s,%s,%s,%s,%s) ON CONFLICT (meteringPointId,startTime,endTime) DO NOTHING", values, verbose=True) |