Saltar al contenido
Proyecto · 2026

Elche Tiempo: de la previsión meteorológica a un sistema de datos

Un sistema que captura previsiones de AEMET, observa lo que ocurrió realmente, conserva el histórico de cambios y publica cada mañana un informe visual en Slack.

La mayoría de las aplicaciones meteorológicas responden a una pregunta sencilla: ¿qué tiempo hará mañana?

Este proyecto parte de una pregunta algo más útil: ¿qué se pronosticó, qué ocurrió realmente y cómo podemos medir la diferencia?

Elche Tiempo es un sistema automatizado para recopilar, conservar, comparar y publicar información meteorológica de Elche. No es solo una consulta a una API: es un pequeño sistema de datos de extremo a extremo, desde la ingesta hasta el informe que llega cada mañana a Slack.

Resumen

Problema

Las previsiones cambian y, si solo guardamos la última versión, no podemos medir su precisión.
Solución

Captura diaria, histórico versionado, observaciones reales y publicación automática.
Estado

Activo desde agosto de 2026, con operación diaria estable.
Entrega

Informe de texto y tarjeta PNG en el canal privado #tiempo-elche.

El objetivo

El sistema tenía que resolver cuatro necesidades:

  • CapturarObtener diariamente la previsión oficial para el municipio de Elche.
  • ConservarGuardar las versiones anteriores antes de que fueran sustituidas.
  • CompararContrastar el pronóstico con observaciones reales.
  • EntregarPublicar un resumen claro sin intervención manual.

La clave es conservar el contexto en el que se hizo cada previsión. No basta con saber que para una fecha se esperaban 34 ºC: también hay que saber si esa cifra se publicó con uno, dos o tres días de antelación.

Qué datos recoge

Previsión oficialAEMET
Observación realOpen-Meteo
Series horariasRadarSpain
PersistenciaSQLite

AEMET aporta la previsión diaria para el municipio de Elche mediante el código INE 03065. Se guardan temperaturas, probabilidad de precipitación, cielo, humedad, viento, índice ultravioleta y la hora de actualización.

Open-Meteo incorpora al día siguiente las observaciones reales: máximas, mínimas, precipitación y viento máximo. RadarSpain aporta las series horarias de Alicante-Elche/Aeropuerto (8019) y Rojales El Molino (7261X), que sirven para representar la evolución de la jornada.

Arquitectura

Todo funciona en una Raspberry Pi doméstica. n8n coordina los procesos, una API local ejecuta la lógica de actualización y SQLite conserva los datos.

MAPA DE SISTEMASelecciona un flujo para seguir los datos.













El sistema captura previsiones de AEMET, observaciones de Open-Meteo y series de RadarSpain, las conserva en SQLite y publica un informe diario en Slack.

Mapa interactivo de Elche Tiempo. La API permanece local y los datos se conservan con contexto histórico.

Dos workflows, dos responsabilidades

09:30 · Captura de datos

  • Entradan8n inicia un POST a la API local.
  • ProcesoConsulta AEMET, Open-Meteo y RadarSpain y actualiza SQLite.
  • SalidaConfirmación del estado de la captura.

10:35 · Informe diario

  • EntradaResumen JSON y series horarias disponibles.
  • ProcesoGenera el texto y la tarjeta PNG con las dos estaciones.
  • SalidaUn único mensaje publicado en #tiempo-elche.

Separar captura y publicación facilita el diagnóstico: si algo falla, se puede saber si el problema está en la ingesta, en la generación del informe o en la distribución.

La decisión clave: conservar el histórico

Las previsiones meteorológicas cambian. Si solo se guarda la última versión, se pierde la posibilidad de analizar la calidad del pronóstico.

La tabla previsiones_historico combina fecha_objetivo y fecha_captura. Una misma jornada puede tener varias previsiones, cada una con una antelación diferente.

Fecha objetivo Captura Antelación Qué permite medir
24/08/2026 23/08/2026 D-1 Predicción inmediata
24/08/2026 22/08/2026 D-2 Efecto de un día adicional
24/08/2026 21/08/2026 D-3 Degradación a más antelación
PrincipioCuando falta una captura histórica, el sistema la marca como pendiente. No intenta reconstruir datos que no se guardaron en su momento.

Los problemas reales también forman parte

Durante la construcción, un nodo executeCommand no reconocido provocaba un bucle infinito de reintentos en n8n y saturaba el scheduler.

LecciónAutomatizar no consiste únicamente en programar una tarea. También implica diseñar reintentos, límites, observabilidad y una forma segura de detener el sistema.

También hubo que controlar la diferencia entre UTC y hora local, los días de 23/24/25 horas, la deduplicación de series mediante claves UTC y la retención limitada del histórico de ejecuciones de n8n.

Resultado

40previsiones
31observaciones reales
118capturas históricas
616registros horarios

Más importante que el volumen es que el sistema funciona como una operación diaria: recoge datos, los almacena con contexto, conserva los cambios, comprueba las horas disponibles, genera una visualización y publica el resultado.

Qué he aprendido

  • 01IntegrarConectar APIs heterogéneas y normalizar sus respuestas.
  • 02ModelarDiseñar un esquema que conserve contexto y versiones.
  • 03OperarGestionar errores, reintentos, backups y horarios.
  • 04ComunicarConvertir el resultado técnico en un informe útil.

Un proyecto de datos no termina cuando conseguimos consultar una API. El valor aparece cuando los datos se capturan de forma consistente, se pueden auditar, se comparan con resultados reales y llegan automáticamente a las personas que los necesitan.

Próximos pasos

  • Calcular el error medio de máximas y mínimaspendiente
  • Separar resultados por horizonte D-1, D-2 y D-3pendiente
  • Medir la precisión de la precipitación previstapendiente
  • Identificar sesgos persistentes y ampliar el históricosiguiente fase
En una frase

Elche Tiempo empezó como una forma de consultar el tiempo de mi ciudad. Ahora es también un laboratorio para estudiar la calidad de las previsiones y construir un sistema de datos pequeño, automatizado y reproducible.