diff options
Diffstat (limited to '')
-rw-r--r--[-rwxr-xr-x] | scripts/tibber_consumption.py (renamed from tibber_consumption2pgsql.py) | 44 |
1 files changed, 9 insertions, 35 deletions
diff --git a/tibber_consumption2pgsql.py b/scripts/tibber_consumption.py index e710b8f..a411562 100755..100644 --- a/tibber_consumption2pgsql.py +++ b/scripts/tibber_consumption.py @@ -1,14 +1,14 @@ -#!/bin/python3 +#!/usr/bin/env python3 +''' import energy consumption from tibber ''' import os import sys -import json -import psycopg2 -import requests - from datetime import datetime from datetime import timedelta from tzlocal import get_localzone +import requests + +from common import dbi # variables @@ -34,9 +34,9 @@ try: 'Content-Type': 'application/json', } - body = {"query":"""{ - viewer { - homes { + body = {"query":"""{ + viewer { + homes { consumption(resolution: HOURLY, last:100) { nodes { from @@ -73,30 +73,4 @@ for item in data["data"]["viewer"]["homes"][0]["consumption"]["nodes"]: if item["consumption"] is not None: values.append((item["from"],item["to"],item["consumption"],item["consumptionUnit"],item["cost"],item["unitPrice"],item["unitPriceVAT"])) -# connect to db -conn = psycopg2.connect(database=pg_db, host=pg_host) -cur = conn.cursor() - -# count rows before we start -cur.execute("SELECT COUNT(*) FROM " + pg_table) -before = cur.fetchone() - -# insert data -try: - cur.executemany("INSERT INTO " + pg_table + " VALUES(%s,%s,%s,%s,%s,%s,%s) ON CONFLICT (startTime,endTime) DO NOTHING", values) - conn.commit() -except Exception as e: - conn.rollback() - raise e - -# count rows after we finnish -cur.execute("SELECT COUNT(*) FROM " + pg_table) -after = cur.fetchone() - -# count *new* rows -newRows = after[0] - before[0] - -# close connection -conn.close() - -print("Successfully inserted " + str(newRows) + " records into the database") +dbi("INSERT INTO " + pg_table + " VALUES(%s,%s,%s,%s,%s,%s,%s) ON CONFLICT (startTime,endTime) DO NOTHING", values, verbose=True) |