npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

signalk-meteogalicia-weather-provider

v0.1.1

Published

Signal K Weather Provider para MeteoGalicia (WRF/WW3/SWAN) con mareas opcionales

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/meteosix

  • Documentació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.

  1. Entra en Signal K.
  2. Ve a Server → Appstore.
  3. Busca: signalk-meteogalicia-weather-provider
  4. Pulsa Install.
  5. 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

  1. Signal K → Server → Plugin Config
  2. Busca MeteoGalicia Weather Provider
  3. 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
  • Debug (opcional)
    • útil para ver en logs qué está pasando si algo falla
  1. Pulsa Save.
  2. 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 consultado
  • count: 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:

  1. Abre Freeboard-SK.
  2. En el mapa, haz clic en un punto (o usa “Cursor Position” si tu setup lo expone).
  3. Abre el panel/acción Weather Forecast.
  4. 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/lonSignal K lo solicita a MeteoGalicia → devuelve JSON → Freeboard lo muestra.


8) Datos que entrega (variables y unidades)

  • wind.speedTruem/s
  • wind.directionTruerad (dirección FROM)
  • sky.state + sky.iconURL
  • precipitation.amountmm
  • temperature.air°C
  • waves.significantHeightm
  • waves.meanDirection°
  • waves.peakPeriods
  • sea.waterTemperature°C
  • (opcional) tide.heightm
  • (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 directionTrue en 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