Hola a todos,
En mi publicación « Batería de cámara - Cámara de observación de vida silvestre - QNAP - Reolink - Integración de Immich » os mostré mi variante de cómo podéis mostrar imágenes de una cámara de batería en Gladys.
Al hacerlo, me di cuenta de que la integración « Immich Slide Show » os muestra dos cámaras, por lo que podéis mostrar dos álbumes del servidor Immich.
De ahí se me ocurrió la idea de acceder a los satélites meteorológicos actuales. Es decir, obtener datos meteorológicos actuales para toda Europa.
Bueno, algo así existe y además es gratis y sin registro.
Aquí tenéis un enlace:
Si abris el enlace, deberías obtener lo siguiente:
Muestra los rayos y tormentas sobre Europa…
Variante 1:
Podéis insertar las imágenes directamente en Gladys, es decir, a través del widget Photo.
Problema: Los archivos se generan todos en tiempo de ejecución y son grandes. Por lo tanto, si abris Gladys y vais al panel de control, estas imágenes se generarán y descargarán de nuevo cada vez.
Variante 2:
Crear un Docker, descargar allí las imágenes deseadas cada 2 horas, luego crear un álbum en el servidor Immich, vincular el directorio de descarga del Docker como biblioteca externa, supervisar esto y, finalmente, vincular la segunda cámara del álbum a través de la integración de Gladys… Listo
Paso 1:
Estructura de directorios:
Es decir:
Un directorio image-downloader con los subdirectorios images y scripts. En scripts ya hay un script para la descarga automática.
Paso 2:
YAML para la ejecución automatizada de 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
"
La YAML está configurada para que el script download.sh se ejecute cada dos horas.
Aquí está el script download.sh:
#!/bin/sh
#Establecer zona horaria para la hora correcta
export TZ="Europe/Berlin"
echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] --- Tarea de descarga iniciada ---"
#URLs para las imágenes de EUMETSAT
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"
#Directorio de destino (DENTRO del contenedor!)
OUTPUT_DIR="/data/images"
TIMESTAMP=$(date +%Y%m%d\_%H%M%S)
#Descarga mediante curl
echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Descargando imagen 1..."
curl -sSL -o "${OUTPUT_DIR}/${TIMESTAMP}\_bild1.png" "$URL1"
echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Descargando imagen 2..."
curl -sSL -o "${OUTPUT_DIR}/${TIMESTAMP}\_bild2.png" "$URL2"
#--- NUEVO: Limpieza (Elimina imágenes con más de 3 días de antigüedad) ---
#echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] Limpieza de imágenes antiguas..."
#find "${OUTPUT_DIR}" -type f -name "\*.png" -mtime +3 -delete
echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] --- Tarea de descarga finalizada con éxito ---"
#Adicional: Si el script download.sh se edita en Windows, entonces se pierden los finales de línea
#La solución es el siguiente comando SSH
#Solo está aquí como recordatorio, no ejecutar el script
#sed -i 's/\\r$//' /share/Container/image-downloader/scripts/download.sh
Atención: El script ya incluye dos ampliaciones, por un lado la eliminación de todas las imágenes que tienen más de tres días de antigüedad y luego el problema si se crea el script con Windows, ya que a veces se pierden los finales de línea. Luego, simplemente ir al servidor mediante SSH y ejecutar el comando sed.
Estado intermedio:
El resultado se verá así:
Tenéis así dos imágenes de satélite en vuestro ordenador, una con datos de rayos y tormentas, la otra con nubes.
Ahora las variantes:
Si os fijáis en la URL, allí pone algo de
layers=backgrounds:ne_gray,mtg_fd:li_afa,backgrounds:ne_10m_coastline,backgrounds:ne_boundary_lines_land
Aquí podéis cambiar la visualización, por ejemplo con fronteras, sin fronteras, nubes, rayos, etc.
La siguiente posibilidad es la selección del recorte:
bbox=-1000000,3800000,1500000,5400000&width=3600&height=2160
muestra, por ejemplo, desde Portugal hasta Polonia y desde Noruega hasta el norte de Italia.
Aquí también podéis ajustarlo, lo importante es solo un ajuste de la relación entre width y height, de lo contrario se producen errores.
¿Qué sigue?
Como se describe en mi publicación anterior. Las imágenes están ahí. Vincular el directorio en la YAML del servidor Immich. Luego, configurar la biblioteca externa en el servidor Immich. Crear un álbum a partir de esto. Activar las supervisiones del servidor Immich, generar un flujo de trabajo y, finalmente, simplemente suscribirse a este álbum en la « Immich Slide Show » ya instalada y mostrarlo en la segunda cámara.
Muchas gracias por vuestra atención y si tenéis ideas / mejoras / sugerencias, etc., ¡adelante, me alegro!
tom



