Satellitenbilder - Wetterbilder

Hallo Miteinander,

in meinem Beitrag « Batteriekamera - Wildtierbeobachtungskamera - QNAP - Reolink - Immich einbinden » habe ich euch meine Variante gezeigt, wie ihr Bilder einer Akku Kamera in Gladys anzeigen könntet.
Dabei ist mir aufgefallen, dass die Integration « Immich Slide Show » euch zwei Kameras anzeigt, mithin ihr also zwei Alben des Immich Servers anzeigen könnt.

Da kam ich auf die Idee aktuelle Wettersatelliten anzuzapfen. Sprich Aktuelle Daten zum Wetter für ganz Europa zu erhalten.

Nun, so etwas gibt es und zwar kostenlos und ohne Ameldung.

Hier mal ein Link dazu:

Eumetsat

Wenn ihr den Link aufruft, dann müsstet ihr folgendes erhalten:

Es zeigt die Blitze und Unwetter über Europa…

Variante 1:

Ihr könntet die Bilder, zu den Varianten später gleich mehr, direkt in Gladys einsetzen, also über das Widget Photo gehen.

Problem: Die Dateien werden alle zur Laufzeit generiert und sie sind groß. Wenn ihr also dann Gladys öffnet und auf das Dashboard geht, dann werden diese Bilder jeweilig neu erzeugt und heruntergeladen.

Variante 2:

Wir erstellen einen Docker, laden dort die gewünschten Bilder alle 2 Stunden herunter, dann erzeugen wir im Immich Server ein Album, binden das Downloadverzeichnis des Docker als externe Bibliothek ein, überwachen diese und zum Schluss binden wir über die Gladys Integration die dortige zweite Kamera mit dem Album ein… Fertig

Schritt 1:

Verzeichnisstruktur:

Sprich:

Ein Verzeichnis image-downloader mit den Unterverzeichnissen images und scripts. Unter scripts liegt hier schon das script zum automatischen download.

Schritt 2:

YAML zum automatisierten Ausführen von Scripts:

version: "3.8"

services:
image-downloader:
image: alpine:latest
container_name: image-downloader
restart: unless-stopped
volumes:
- /share/Container/image-downloader/images:/data/images:rw
- /share/Container/image-downloader/scripts:/scripts:ro
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Europe/Berlin
command: >
sh -c "
apk add --no-cache curl tzdata &&
echo '0 \*/2 \* \* \* /bin/sh /scripts/download.sh >> /proc/1/fd/1 2>&1' > /etc/folders_cron &&
crontab /etc/folders_cron &&
exec crond -f -l 2
"

Die YAML ist so eingestellt, dass alle zwei Stunden das Script download.sh gestartet wird.

Hier das Script download.sh:

#!/bin/sh

#Zeitzone für korrekte Uhrzeit setzen

export TZ="Europe/Berlin"

echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] --- Download-Job gestartet ---"

#URLs für die EUMETSAT-Bilder

URL1="https://view.eumetsat.int/geoserver/wms?service=WMS&version=1.3.0&request=GetMap&layers=backgrounds:ne_gray,mtg_fd:li_afa,backgrounds:ne_10m_coastline,backgrounds:ne_boundary_lines_land&bbox=-1000000,3800000,1500000,5400000&width=3600&height=2160&srs=AUTO:97004,9001,0,0&styles=&format=image/png&bgcolor=0x000000"
URL2="https://view.eumetsat.int/geoserver/wms?service=WMS&version=1.3.0&request=GetMap&layers=backgrounds:ne_gray,mtg_fd:rgb_geocolour,backgrounds:ne_10m_coastline,backgrounds:ne_boundary_lines_land&bbox=-1000000,3800000,1500000,5400000&width=3600&height=2304&srs=AUTO:97004,9001,0,0&styles=&format=image/png&bgcolor=0x000000"

#Zielverzeichnis (INNERHALB des Containers!)

OUTPUT_DIR="/data/images"
TIMESTAMP=$(date +%Y%m%d\_%H%M%S)

#Download mittels curl

echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Lade Bild 1 herunter..."
curl -sSL -o "${OUTPUT_DIR}/${TIMESTAMP}\_bild1.png" "$URL1"

echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Lade Bild 2 herunter..."
curl -sSL -o "${OUTPUT_DIR}/${TIMESTAMP}\_bild2.png" "$URL2"

#--- NEU: Bereinigung (Löscht Bilder, die älter als 3 Tage sind) ---

#echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Bereinige alte Bilder..."

#find "${OUTPUT_DIR}" -type f -name "\*.png" -mtime +3 -delete

echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] --- Download-Job erfolgreich beendet ---"

#Zusatz: Wenn die download.sh über Windows editiert wird, #dann gehen ggf. Zeilenabschluss verloren

#Abhilfe schafft dann folgender SSH Befehl

#Steht hier nur als Gedankenstütze, nicht über das Script #ausführen

#sed -i 's/\\r$//' /share/Container/image-downloader/scripts/download.sh

Achtung: Das Script beinhaltet schon zwei Erweiterungen, einerseits das Löschen von allen Bildern, welche älter als drei Tage sind und dann noch die Problemstellung, wenn sie mit Windows das Script erzeugen, da gehen teilweise die Zeilenenden verloren. Dann einfach mittels SSH auf den Server gehen und den sed Befehl absetzen.

Zwischenstand:

Das Ergebnis sieht dann so aus:

Ihr habt somit zwei Satellitenbilder auf eurem Rechner, eines mit Blitz und Unwetterdaten, dass andere dann mit Wolken.

Jetzt zu den Varianten:

Wenn ihr euch die URL anschaut, dann steht dort was von

layers=backgrounds:ne_gray,mtg_fd:li_afa,backgrounds:ne_10m_coastline,backgrounds:ne_boundary_lines_land

Hierüber ändert ihr die Anzeige zB mit Grenzen, ohne Grenzen, Wolken, Blitze etc.

Die nächste Möglichkeit ist die Auswahl des Ausschnittes:

bbox=-1000000,3800000,1500000,5400000&width=3600&height=2160

zeigt zum Beispiel von Portugal bis nach Polen und von Norwegen bis nördliches Italien.

Hier könnt ihr auch anpassen, entscheidend ist dann nur eine Anpassung des Verhältnisses zwischen width und height, ansonsten kommt es zu Fehlern.

Wie geht es weiter:

Wie in meinem vorherigen Beitrag beschrieben. Die Bilder sind da. In der YAML des Immich Servers das Verzeichnis einbinden. Dann im Immich Server die externe Bibliothek konfigurieren. Daraus dann ein Album machen. Die Immich Server Überwachungen einschalten, einen Workflow generieren und ganz zum Schluss einfach in der bereits installierten Immich Slide Show dieses Album abonnieren und in der zweiten Kamer anzeigen.

Vielen Dank für eure Aufmerksamkeit und wenn ihr Gedanken / Verbesserungen / Hinweise etc. habt, dann her damit, freue mich.

tom

Danke für das Tutorial, ich habe mir erlaubt, deine YAML und dein Skript in vorformatierten Text zu setzen, damit es besser lesbar ist.

@mutmut… ich muss das noch lernen, vielen Dank für die Unterstützung.

Vorab das Ergebnis:

  • Die Satellitenbilder werden automatisiert vom Docker heruntergeladen ( zur Zeit alle 2 Std. zwei unterschiedliche Ansichten )
  • Im Immich Server gibt es ein Album, dieses wird über eine externe Bibliothek gefüllt
  • Die Füllung neuer Bilder wird vom Immich Server automatisch überwacht und aktualisiert das Album
  • Unter Gladys übernimmt dann die Integration von Immich die Anzeige und stellt das Album über eine virtuelle Kamera zur Verfügung: