diff --git a/app.py b/app.py index eb7f585..0f1b667 100644 --- a/app.py +++ b/app.py @@ -1,58 +1,6 @@ -# from flask import Flask, jsonify -# import mysql.connector - -# app = Flask(__name__) - -# def database_connect(): -# try: -# connection = mysql.connector.connect( -# host='localhost', -# user='root', -# password='', -# database='goodgarden' -# ) -# return connection -# except Exception as e: -# print("Database connection failed:", e) -# return None - -# # Function to get data from the MySQL database -# def get_database_data(): - -# mydb = database_connect() - -# if mydb and mydb.is_connected(): - -# cursor = mydb.cursor() - -# # Query to retrieve the latest battery voltage data -# query = "SELECT label, last_seen, last_battery_voltage, device_id FROM devices" -# cursor.execute(query) -# battery_data = cursor.fetchall() -# mydb.close() -# return battery_data - -# @app.route('/', methods=['GET']) -# def get_data(): -# battery_data_322 = get_database_data() - -# if battery_data_322 is None: -# return jsonify({"error": "Failed to fetch data from database"}) - -# data_dict = { -# "label": battery_data_322[0], -# "last_seen": battery_data_322[1], -# "last_battery_voltage": battery_data_322[2], -# "device_id": battery_data_322[3] -# } - -# return jsonify(data_dict) - -# if __name__ == "__main__": -# app.run(host='127.0.0.1', port=5000) - from flask import Flask, jsonify import mysql.connector +import requests app = Flask(__name__) @@ -99,5 +47,30 @@ def get_data(): return jsonify(battery_data) # Directly return the list of dictionaries as JSON +def get_weather_data(): + api_key = "05ddd06644" + location = "Leiden" + url = f"https://weerlive.nl/api/weerlive_api_v2.php?key={api_key}&locatie={location}" + response = requests.get(url).json() + return response + +@app.route('/weather', methods=['GET']) +def get_weather(): + weather_response = get_weather_data() + + if 'error' in weather_response: + return jsonify({"error": "Kon weerdata niet ophalen"}) + + live_weather = weather_response.get('liveweer', []) + today_forecast = weather_response.get('verwachting_vandaag', []) + + weather_data = { + "live_weather": live_weather[0] if live_weather else {}, + "today_forecast": today_forecast[0] if today_forecast else {} + } + + return jsonify(weather_data) + if __name__ == "__main__": app.run(host="127.0.0.1", port=5000) + diff --git a/src/py/static/js/main.js b/src/py/static/js/main.js index a923da9..7519036 100644 --- a/src/py/static/js/main.js +++ b/src/py/static/js/main.js @@ -155,4 +155,29 @@ function updateBatteryData(batteryData) document.getElementById('tevredenheid-256').innerHTML = batteryData[0].last_battery_voltage; } console.log(batteryData); -} \ No newline at end of file +} + +const apiKey = "9516081f15727d063c9e2f08454a2fe9"; +const city = "Leiden"; + +// Maak de URL voor de API-aanroep +const apiUrl = `https://weerlive.nl/api/weerlive_api_v2.php?key=${apiKey}&locatie=${city}`; + +// Doe een GET-verzoek naar de API +fetch(apiUrl) + .then(response => { + if (response.ok) { + return response.json(); + } + throw new Error('Network response was not ok.'); + }) + .then(data => { + // Verwerk de ontvangen weerdata + console.log(data); + const weatherIcon = data.live_weather.image; + const weatherImageUrl = `https://www.weerlive.nl/delen.php?size=klein&weer=${weatherIcon}`; + document.getElementById('weatherImage').src = weatherImageUrl; + }) + .catch(error => { + console.error('There was a problem with the fetch operation:', error); + }); \ No newline at end of file