from datetime import datetime, timedelta
from ThermiaOnlineAPI import Thermia
from credentials import USERNAME, PASSWORD
import time
import mysql.connector
config = {
'user': '<user>',
'password': '<pw>',
'host': '<host>',
'database': '<db>',
'raise_on_warnings': True
}
thermia = Thermia(USERNAME, PASSWORD, "genesis")
print("Connected: " + str(thermia.connected))
print("\n")
while True:
# https://www.w3schools.com/python/python_try_except.asp
heat_pump = thermia.fetch_heat_pumps()[0]
print ("**************************************")
print ("MY OWN STUFF")
print("heatingEffect: " + str(heat_pump.heat_temperature))
print("REG_OUTDOOR_TEMPERATURE: " + str(heat_pump.outdoor_temperature))
print("REG_SUPPLY_LINE: " + str(heat_pump.supply_line_temperature))
print("REG_OPER_DATA_RETURN: " + str(heat_pump.return_line_temperature))
print("REG_HOT_WATER_TEMPERATURE: " + str(heat_pump.hot_water_temperature))
print("REG_BRINE_IN: " + str(heat_pump.brine_in_temperature))
print("REG_BRINE_OUT: " + str(heat_pump.brine_out_temperature))
print("REG_DESIRED_SYS_SUPPLY_LINE_TEMP: " + str(heat_pump.desired_supply_line_temperature))
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
# WHEN YOU KNOW SHIT ABOUT PYTHON AND IS LAZY AND DONT WANNA KNOW; THEN DO IT LIKE THIS LOLNEWBS ;D
query1 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'heatingEffect', '" + str(heat_pump.heat_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query2 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_OUTDOOR_TEMPERATURE', '" + str(heat_pump.outdoor_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query3 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_SUPPLY_LINE', '" + str(heat_pump.supply_line_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query4 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_OPER_DATA_RETURN', '" + str(heat_pump.return_line_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query5 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_HOT_WATER_TEMPERATURE', '" + str(heat_pump.hot_water_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query6 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_BRINE_IN', '" + str(heat_pump.brine_in_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query7 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_BRINE_OUT', '" + str(heat_pump.brine_out_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
query8 = ("INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'REG_DESIRED_SYS_SUPPLY_LINE_TEMP', '" + str(heat_pump.desired_supply_line_temperature) + "', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())")
# Denne er for heatingEffect, mangler et timestamp, go fetch
# $query = "INSERT INTO heatpump (id, name, value, lastModified, datetime, unixtimestamp) VALUES (NULL, 'heatingEffect', '$($currentStatusData.heatingEffect)', 'N/A', CURRENT_TIME(), UNIX_TIMESTAMP())"
cursor.execute(query1)
cursor.execute(query2)
cursor.execute(query3)
cursor.execute(query4)
cursor.execute(query5)
cursor.execute(query6)
cursor.execute(query7)
cursor.execute(query8)
cnx.commit()
cursor.close()
cnx.close()
time.sleep(60.0)