72 lines
2.1 KiB
Python
Executable File
72 lines
2.1 KiB
Python
Executable File
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_weather():
|
|
# 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()
|
|
|
|
print(f"Wettervorhersage für Braunschweig (nächste {params['forecast_days']} Tage):")
|
|
print("-" * 50)
|
|
|
|
daily = data['daily']
|
|
for i in range(len(daily['time'])):
|
|
date = daily['time'][i]
|
|
print(type(date))
|
|
max_temp = daily['temperature_2m_max'][i]
|
|
min_temp = daily['temperature_2m_min'][i]
|
|
# Ein einfacher Mapper für Wettercodes (WMO Standard)
|
|
code = daily['weathercode'][i]
|
|
|
|
print(f"Datum: {date} | Max: {max_temp}°C | Min: {min_temp}°C | Code: {WMO_CODES[code]}")
|
|
|
|
except Exception as e:
|
|
print(f"Fehler bei der Abfrage: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
get_braunschweig_weather()
|
|
|