Initial commit
This commit is contained in:
73
wetter_api.py
Executable file
73
wetter_api.py
Executable file
@@ -0,0 +1,73 @@
|
||||
import requests
|
||||
|
||||
|
||||
|
||||
WMO_CODES = {
|
||||
0: "Klarer Himmel",
|
||||
1: "Hauptsächlich klar",
|
||||
2: "Teils bewölkt",
|
||||
3: "Bedeckt",
|
||||
45: "Nebel",
|
||||
48: "Ablagernder Rauhreifnebel",
|
||||
51: "Leichter Nieselregen",
|
||||
53: "Mäßiger Nieselregen",
|
||||
55: "Dichter Nieselregen",
|
||||
56: "Leichter gefrierender Nieselregen",
|
||||
57: "Dichter gefrierender Nieselregen",
|
||||
61: "Leichter Regen",
|
||||
63: "Mäßiger Regen",
|
||||
65: "Starker Regen",
|
||||
66: "Leichter gefrierender Regen",
|
||||
67: "Starker gefrierender Regen",
|
||||
71: "Leichter Schneefall",
|
||||
73: "Mäßiger Schneefall",
|
||||
75: "Starker Schneefall",
|
||||
77: "Schneegriesel", # Dein Code für morgen!
|
||||
80: "Leichte Regenschauer",
|
||||
81: "Mäßige Regenschauer",
|
||||
82: "Starke Regenschauer",
|
||||
85: "Leichte Schneeschauer",
|
||||
86: "Starke Schneeschauer",
|
||||
95: "Gewitter",
|
||||
96: "Gewitter mit leichtem Hagel",
|
||||
99: "Gewitter mit starkem Hagel"
|
||||
}
|
||||
|
||||
def get_braunschweig_wetter():
|
||||
# Koordinaten für Braunschweig
|
||||
url = "https://api.open-meteo.com/v1/forecast"
|
||||
params = {
|
||||
"latitude": 52.2659,
|
||||
"longitude": 10.5267,
|
||||
"daily": "temperature_2m_max,temperature_2m_min,weathercode",
|
||||
"timezone": "Europe/Berlin",
|
||||
"forecast_days": 3
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.get(url, params=params)
|
||||
response.raise_for_status()
|
||||
data = response.json()
|
||||
daily = data['daily']
|
||||
ergebnis= []
|
||||
for i in range(len(daily['time'])):
|
||||
date = daily['time'][i]
|
||||
wechsel = date.split('-')
|
||||
jahr = wechsel[0]
|
||||
monat = wechsel[1]
|
||||
tag = wechsel[2]
|
||||
tagesdaten = {
|
||||
'Jahr' : jahr,
|
||||
'Monat' : monat,
|
||||
'Tag' : tag,
|
||||
'Max' : daily['temperature_2m_max'][i],
|
||||
'Min' : daily['temperature_2m_min'][i],
|
||||
# Ein einfacher Mapper für Wettercodes (WMO Standard)
|
||||
'code' : WMO_CODES.get(daily['weathercode'][i]),
|
||||
}
|
||||
ergebnis.append(tagesdaten)
|
||||
|
||||
except Exception as e:
|
||||
return [f"Fehler bei der Abfrage: {e}"]
|
||||
|
||||
return ergebnis
|
||||
Reference in New Issue
Block a user