Hallo,
Ich werde Ihnen hier zeigen, wie Sie in Gladys die Wetterwarnkarten von Météo France anzeigen können
Die Karten stammen von: https://public-api.meteofrance.fr
Der Nutzen ist fraglich, aber es kann Spaß machen, einen globalen Überblick zu haben ![]()
Das Endergebnis:
Zuerst müssen Sie ein Konto erstellen und einen API-Schlüssel auf der Website abrufen:
https://portail-api.meteofrance.fr/web/fr/
Als Nächstes müssen Sie die Ordner in Gladys für den Empfang der Bilder und des Skripts erstellen: (Dazu müssen Sie sich per SSH auf der Host-Maschine von Gladys anmelden)
mkdir /var/lib/gladysassistant/img/meteofrance
mkdir /var/lib/gladysassistant/img/
mkdir /scripts
Erstellen Sie dann das Skript
nano /scripts/meteofrancealertes.sh
#!/bin/bash
# Definiere die URL der herunterzuladenden Datei
URL_TODAY="https://public-api.meteofrance.fr/public/DPVigilance/v1/vignettenationale-J/encours"
URL_TOMORROW="https://public-api.meteofrance.fr/public/DPVigilance/v1/vignettenationale-J1/encours"
# Definiere die Zielpfade der Dateien
DEST_TODAY="/var/lib/gladysassistant/img/meteofrance/today.png"
DEST_TOMORROW="/var/lib/gladysassistant/img/meteofrance/tomorrow.png"
# Maximale Anzahl der Versuche
MAX_ATTEMPTS=5
# Funktion zum Herunterladen der Datei
download_file() {
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" -O "$1" "$2" --header="accept: */*" --header="apikey: apikey_aremplacer"
}
# Datei für heute herunterladen
attempt=1
while [ $attempt -le $MAX_ATTEMPTS ]; do
echo "Versuch, die Datei für heute herunterzuladen ($attempt/$MAX_ATTEMPTS)..."
if download_file "$DEST_TODAY" "$URL_TODAY"; then
echo "Herunterladen der Datei für heute erfolgreich."
break
else
echo "Fehler beim Herunterladen der Datei für heute."
attempt=$((attempt + 1))
if [ $attempt -le $MAX_ATTEMPTS ]; then
echo "Neuer Versuch in 5 Sekunden..."
sleep 5
else
echo "Maximale Anzahl der Versuche für die Datei von heute erreicht. Herunterladen wird gestoppt."
fi
fi
done
# Datei für morgen herunterladen
attempt=1
while [ $attempt -le $MAX_ATTEMPTS ]; do
echo "Versuch, die Datei für morgen herunterzuladen ($attempt/$MAX_ATTEMPTS)..."
if download_file "$DEST_TOMORROW" "$URL_TOMORROW"; then
echo "Herunterladen der Datei für morgen erfolgreich."
break
else
echo "Fehler beim Herunterladen der Datei für morgen."
attempt=$((attempt + 1))
if [ $attempt -le $MAX_ATTEMPTS ]; then
echo "Neuer Versuch in 5 Sekunden..."
sleep 5
else
echo "Maximale Anzahl der Versuche für die Datei von morgen erreicht. Herunterladen wird gestoppt."
fi
fi
done
Ersetzen Sie apikey_aremplacer durch Ihren API-Schlüssel, den Sie auf der Website https://public-api.meteofrance.fr abgerufen haben
Crontab erstellen:
Die Werte werden täglich um 16:10 Uhr und 06:10 Uhr abgerufen, da die Website von Météo France angibt:
![]()
crontab -e
10 16 * * * /scripts/meteofrancealertes.sh >/dev/null 2>&1
10 06 * * * /scripts/meteofrancealertes.sh >/dev/null 2>&1
Erstellen Sie dann die 2 Kameras wie folgt:
Sie können diese dann in der Gladys-Oberfläche anzeigen
Ich habe es nicht geschafft, einen weißen Hintergrund zu bekommen, aber wenn Sie einen Tipp haben, bin ich dankbar ![]()
Wenn Sie Fragen oder Anmerkungen haben, zögern Sie nicht, mir Bescheid zu sagen ![]()
Changelog zu kommen:
- Keine (Ihre Kommentare
)
Edit 13/05/2024:
- Änderung des Crontab, um es alle Stunden zu 5 Minuten zu ändern
Edit 14/05/2024:
- Behebung eines Problems beim Herunterladen der Karten (Hinzufügen von Header in Curl)
Edit 15/05/2024:
- Behebung eines Problems beim Herunterladen der Karten (Ersetzen von Curl durch Wget)
- Korrektur der Zeiten im Crontab
Edit 16/05/2024:
- Änderung des Download-Skripts, um den Retry bei Fehlschlag zu berücksichtigen und Hinzufügen eines User-Agents, um zu versuchen, nicht als Bot bei der Website von Météo France zu erscheinen

