signalk-meteogalicia-weather-provider
v0.1.1
Published
Signal K Weather Provider para MeteoGalicia (WRF/WW3/SWAN) con mareas opcionales
Maintainers
Readme
MeteoGalicia Weather Provider (Signal K)
Este plugin añade a Signal K un proveedor de predicción meteorológica basado en MeteoGalicia MeteoSIX (API v5).
La idea es simple: en Freeboard-SK podrás seleccionar un punto del mapa (clic o cursor) y ver la predicción para ese punto (viento, lluvia, temperatura, oleaje, etc.).
1) Qué hace exactamente
- Consulta MeteoGalicia usando el endpoint getNumericForecastInfo (predicción por coordenadas lon,lat).
- Convierte la respuesta a un formato que Signal K entiende como “forecast por punto”.
- De este modo, un cliente como Freeboard-SK puede pedir la predicción de cualquier punto y mostrarla.
Opcionalmente puede:
- Consultar mareas con getTidesInfo.
2) Qué necesitas antes de instalar
2.1 Pedir acceso a la API (API_KEY)
Para que funcione, necesitas una API_KEY de MeteoGalicia.
Web del modelo MeteoSIX:
https://www.meteogalicia.gal/web/modelos-numericos/meteosixDocumentación oficial (PDF) API MeteoSIX v5:
https://meteo-estaticos.dev.xunta.local/datosred/infoweb/meteo/proxectos/meteosix/API_MeteoSIX_v5_gl.pdf
Sin esa API_KEY, el plugin no puede hacer llamadas y Signal K no tendrá datos.
3) Instalación en Signal K (desde la App Store)
Este plugin está publicado en npm y aparece como instalable desde Signal K.
- Entra en Signal K.
- Ve a Server → Appstore.
- Busca:
signalk-meteogalicia-weather-provider - Pulsa Install.
- Cuando termine, ve a Server → Plugin Config y actívalo/configúralo (siguiente sección).
Nota: si Signal K está en Docker u otro entorno “encapsulado”, la instalación desde la Appstore ya lo instala en el sitio correcto. Evita instalarlo “a mano” fuera del entorno del servidor porque no lo verá.
4) Activación y configuración del plugin
- Signal K → Server → Plugin Config
- Busca MeteoGalicia Weather Provider
- Configura:
- API_KEY de MeteoGalicia ✅ obligatorio
- Cache (min) (por defecto 10)
- evita llamar a MeteoGalicia continuamente si repites el mismo punto
- Incluir mareas (opcional)
- activa llamadas a
getTidesInfo
- activa llamadas a
- Debug (opcional)
- útil para ver en logs qué está pasando si algo falla
- Pulsa Save.
- Si tu instalación lo requiere, reinicia el servidor Signal K (algunas aplican cambios al vuelo, otras no).
5) Qué “expone” técnicamente (explicado para humanos)
Signal K funciona como un servidor que sirve datos mediante URLs (rutas) que devuelven JSON.
Este plugin registra la ruta estándar de predicción por punto.
En la práctica, cuando Freeboard necesita la previsión, hace una llamada como:
http://TU-SIGNALK:3000/signalk/v2/api/weather/forecasts/point?lat=42.24&lon=-8.80&count=24
Qué significa:
lat/lon: coordenadas del punto consultadocount: cuántas horas (o pasos) quieres que devuelva
Importante: normalmente no tienes que “usar esa URL a mano”. Freeboard la llama automáticamente cuando seleccionas un punto y abres el panel de previsión.
6) Cómo comprobar que funciona (sin Freeboard)
Abre en el navegador (cambiando TU-SIGNALK y las coordenadas):
http://TU-SIGNALK:3000/signalk/v2/api/weather/forecasts/point?lat=42.24&lon=-8.80&count=24
Qué esperar:
- ✅ Si funciona: devuelve un JSON con una lista de puntos horarios (viento, cielo, precipitación, temperatura, olas…).
- ❌ Si falla: devuelve error/HTML o un 404/500.
Esto confirma si:
- el plugin está instalado y cargado,
- la API_KEY funciona,
- Signal K está sirviendo correctamente el forecast.
7) Ver el forecast en Freeboard (clic en el mapa)
Cuando el endpoint anterior ya funciona:
- Abre Freeboard-SK.
- En el mapa, haz clic en un punto (o usa “Cursor Position” si tu setup lo expone).
- Abre el panel/acción Weather Forecast.
- Verás la predicción para ese punto (viento/dirección/lluvia/temperatura/olas…).
Por debajo, el flujo siempre es el mismo:
Freeboard pide forecast con lat/lon → Signal K lo solicita a MeteoGalicia → devuelve JSON → Freeboard lo muestra.
8) Datos que entrega (variables y unidades)
wind.speedTrue→ m/swind.directionTrue→ rad (dirección FROM)sky.state+sky.iconURLprecipitation.amount→ mmtemperature.air→ °Cwaves.significantHeight→ mwaves.meanDirection→ °waves.peakPeriod→ ssea.waterTemperature→ °C- (opcional)
tide.height→ m - (opcional)
tide.summary→ eventos pleamar/bajamar
9) Problemas típicos (y solución rápida)
El plugin no aparece en Plugin Config
- Comprueba que lo has instalado desde Server → Appstore y que la instalación terminó correctamente.
El endpoint devuelve “not valid JSON” o HTML
- Signal K está devolviendo un error (404/500) en vez de JSON.
- Activa Debug en el plugin y revisa logs del servidor.
Devuelve JSON pero vacío / sin datos
- API_KEY incorrecta o no autorizada.
- Punto fuera de cobertura o respuesta incompleta.
Con mareas activadas falla
- Prueba primero con mareas OFF para aislar.
- Luego activa mareas ON.
Dirección del viento “rara”
- Signal K espera
directionTrueen radianes y en formato FROM (desde donde viene el viento).
10) Referencias oficiales
- MeteoSIX: https://www.meteogalicia.gal/web/modelos-numericos/meteosix
- API MeteoSIX v5 (PDF): https://meteo-estaticos.dev.xunta.local/datosred/infoweb/meteo/proxectos/meteosix/API_MeteoSIX_v5_gl.pdf
Licencia
MIT
