From e10d54077fd32eb9e8e5924daf46da95dc549a2e Mon Sep 17 00:00:00 2001 From: Atilla Date: Wed, 14 Feb 2024 15:29:04 +0100 Subject: [PATCH] Yeah --- __pycache__/db_connect.cpython-311.pyc | Bin 0 -> 575 bytes battery_voltage_Events.txt | 0 battery_voltage_events.py | 60 +++++++++++++++++++++++ fetch_data.py | 65 +++++++++++++++++++++++++ 4 files changed, 125 insertions(+) create mode 100644 __pycache__/db_connect.cpython-311.pyc create mode 100644 battery_voltage_Events.txt create mode 100644 battery_voltage_events.py create mode 100644 fetch_data.py diff --git a/__pycache__/db_connect.cpython-311.pyc b/__pycache__/db_connect.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f59ab687518d1e6f153ed8b4a44913deb4a262f7 GIT binary patch literal 575 zcmZWmK}#bs6n^PUyVKI5Q?;HJdvpXn)IBZBf+z?g?qXRFWkAvkvua$Boa04?5lHxaHNN|Wy}AbD_|Yv+m7Gt_1lvmc5# zHo!g3cRPchfTxwVjI%FwBxuNut)z?$n981%Y>z6&g=ZT(SvU5P=E^t+RO=I|m~j}5 zXqRg4S*94C>cha4dr}DAi=;9iGU^di$!K2+o%Gs#+gbhW|3EeEOBr(Ee-nI7^^bXT zu^D#dc7GrODwyBy?MoR9C{@kY@?z_g|9#nC*i0iuqLh4pcqilL&9lmr$~!fPYmp7$$es3kb1A2pK_Rn2*?YNF#>-A=UZ^ D5b~0j literal 0 HcmV?d00001 diff --git a/battery_voltage_Events.txt b/battery_voltage_Events.txt new file mode 100644 index 0000000..e69de29 diff --git a/battery_voltage_events.py b/battery_voltage_events.py new file mode 100644 index 0000000..0910f53 --- /dev/null +++ b/battery_voltage_events.py @@ -0,0 +1,60 @@ +import requests +import time +import mysql.connector + +def database_connect(): + return mysql.connector.connect( + host="localhost", + user="root", + password="", + database="goodgarden" + ) + +def fetch_battery_voltage_events(): + url = "https://garden.inajar.nl/api/battery_voltage_events/?format=json" + headers = { + "Authorization": "Token 33bb3b42452306c58ecedc3c86cfae28ba22329c" + } + + while True: + try: + response = requests.get(url, headers=headers) + response.raise_for_status() + + data = response.json() + load_data(data) + + print("Wachten voor de volgende ophaalactie...") + time.sleep(300) # De tijd hier is in seconden. + except requests.exceptions.RequestException as e: + print(f"Error fetching data: {e}") + time.sleep(300) + +def load_data(data): + + mydb = database_connect() + if mydb.is_connected(): + mycursor = mydb.cursor() + + insert_query = """ + INSERT INTO goodgarden.battery_voltage_events (timestamp, gateway_receive_time, device, value) + VALUES (%s, %s, %s, %s) + """ + for record in data['results']: + timestamp = record['timestamp'] + gateway_receive_time = record['gateway_receive_time'] + device = record['device'] + value = record['value'] + + print(data) + + mycursor.execute(insert_query, (timestamp, gateway_receive_time, device, value)) + + mydb.commit() + mycursor.close() + mydb.close() + + print("Data ingevoegd in de database.") + +if __name__ == "__main__": + fetch_battery_voltage_events() diff --git a/fetch_data.py b/fetch_data.py new file mode 100644 index 0000000..222e17c --- /dev/null +++ b/fetch_data.py @@ -0,0 +1,65 @@ +import requests +import time +import mysql.connector + +def database_connect(): + return mysql.connector.connect( + host="localhost", + user="root", + password="", + database="goodgarden" + ) + +def fetch_battery_voltage_events(): + url = "https://garden.inajar.nl/api/battery_voltage_events/?format=json" + headers = { + "Authorization": "Token 33bb3b42452306c58ecedc3c86cfae28ba22329c" + } + + while True: + try: + response = requests.get(url, headers=headers) + response.raise_for_status() + + data = response.json() + load_data(data) + + # Wacht voor een bepaalde tijd (bijvoorbeeld 60 seconden) voordat je de volgende oproep doet + print("Wachten voor de volgende ophaalactie...") + time.sleep(60) # De tijd hier is in seconden. + + except requests.exceptions.RequestException as e: + print(f"Error fetching data: {e}") + # Wacht ook hier bij een fout, om niet in een snelle foutloop te komen + time.sleep(300) + +def load_data(data): + mydb = database_connect() + if mydb.is_connected(): + mycursor = mydb.cursor() + + # Hier moet je de juiste kolomnamen en dataformaten aanpassen op basis van de API-respons + insert_query = """ + INSERT INTO goodgarden.battery_voltage_events (timestamp, gateway_receive_time, device, value) + VALUES (%s, %s, %s, %s) + """ + for record in data['results']: + timestamp = record['timestamp'] + gateway_receive_time = record['gateway_receive_time'] + device = record['device'] + value = record['value'] + + # print(f"Inserting data: timestamp={timestamp}, gateway_receive_time={gateway_receive_time}, device={device}, value={value}") + mycursor.execute(insert_query, (timestamp, gateway_receive_time, device, value)) + + # Commit de wijzigingen + mydb.commit() + + # Sluit cursor en verbinding + mycursor.close() + mydb.close() + + print("Data ingevoegd in de database.") + +if __name__ == "__main__": + fetch_battery_voltage_events() \ No newline at end of file