diff --git a/__pycache__/db_connect.cpython-311.pyc b/__pycache__/db_connect.cpython-311.pyc new file mode 100644 index 0000000..f59ab68 Binary files /dev/null and b/__pycache__/db_connect.cpython-311.pyc differ 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