signalk-mareas-ihm 1.3.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,46 +6,65 @@
6
6
 
7
7
  ## Español
8
8
 
9
- Plugin de Signal K para **predicción de mareas en España** usando datos oficiales del **IHM (Instituto Hidrográfico de la Marina)**, con **Visor de Fondeo** integrado, alarmas inteligentes y soporte para domótica.
9
+ Plugin de Signal K que convierte tu OpenPlotter / Raspberry Pi en un **visor completo de fondeo**: mareas oficiales del **IHM (Instituto Hidrográfico de la Marina)**, previsión de abrigo, medición de olas a bordo, alarmas inteligentes y soporte para domótica.
10
10
 
11
11
  ### Características principales
12
12
 
13
13
  #### Mareas
14
- - **Predicción de mareas** automática por GPS o selección manual de estación
15
- - **Curvas de marea interactivas** con HAT/LAT anuales, cursor interactivo y etiquetas de pleamar/bajamar
16
- - **Coeficientes oficiales IHM** con descarga automática
17
- - **Consejo táctico** para las Rías Baixas (experimental)
18
- - **Caché offline** de al menos 2 meses de predicciones
19
-
20
- #### Visor de Fondeo
21
- - **Mapa Leaflet** con posición GPS en tiempo real y capas múltiples (ESRI, Bing, Google, IHM S-52, SonarChart, MBTiles offline)
22
- - **Anchor Watch** con alarma de garreo visual y sonora
23
- - **Cadena largada** con slider bidireccional y cálculo automático
24
- - **Radio de borneo y alarma** con etiquetas en la carta
25
- - **Sincronización multi-dispositivo** en tiempo real (SSE)
26
-
27
- #### AIS Inteligente
28
- - **Detección de colisión** con targets AIS en zona de borneo
29
- - **ACK por target individual** silencia alarma de un barco sin desactivar la alarma general
30
- - **Detección de garreo ajeno** si un target ACKed se acerca >2m/min, la alarma se reactiva
31
- - **Estimación de ancla** de otros barcos mediante análisis de track (centroide + radio máximo)
32
- - **Anillos de colisión persistentes** en la carta
33
-
34
- #### Alarmas Inteligentes
35
- - **Alarma de varada** solo cuando el barco está parado (SOG < 0.5kn)
36
- - **Detección de sonda** congelada, inestable, fuera de rango
37
- - **Alarmas independientes** de garreo, AIS y sonda con control individual
38
- - **Previsión meteorológica** integrada (Open-Meteo) con múltiples modelos
14
+ - **Predicción de mareas** automática por GPS o selección manual entre 70 estaciones del IHM.
15
+ - **Curvas de marea interactivas** con HAT/LAT anuales, cursor y etiquetas de pleamar/bajamar.
16
+ - **Coeficientes oficiales IHM** con descarga automática.
17
+ - **Caché offline** de al menos 2 meses de predicciones.
18
+ - **Tendencia y coeficiente** visibles en la barra superior del visor.
19
+
20
+ #### Previsión de abrigo
21
+ - **Rosa de 16 sectores** con detección automática del abrigo según la costa (OpenStreetMap).
22
+ - **Grado A-F y porcentaje de protección** combinando viento y olas previstos.
23
+ - **Strip de exposición** próximas 12 h con previsión hora a hora.
24
+ - **Resumen "AHORA / PREDICCIÓN"** con datos en tiempo real de sensores y previsión.
25
+ - **Edición manual** de sectores cuando el detector automático no convence.
26
+
27
+ #### Medición de olas en fondeo
28
+ - **Dirección, período y altura** de ola calculados a bordo desde sensores de actitud y aceleración (pypilot IMU u otros compatibles).
29
+ - **Historial de las últimas 24 h** en barras de 15 minutos.
30
+ - **El grado de abrigo se ajusta automáticamente** cuando la ola medida supera la prevista.
31
+
32
+ #### Visor de fondeo
33
+ - **Mapa Leaflet** con posición GPS en tiempo real y capas múltiples (ESRI, Bing, Google, IHM S-52, SonarChart, MBTiles offline).
34
+ - **Anchor Watch** con alarma de garreo visual y sonora.
35
+ - **Cadena largada** con slider bidireccional y cálculo automático (métodos tradicional y Vicente).
36
+ - **Radio de borneo y alarma** con etiquetas en la carta y predicción según marea.
37
+ - **Sincronización multi-dispositivo** en tiempo real (SSE).
38
+ - **Cartas náuticas locales** vía servidor MBTiles integrado.
39
+
40
+ #### Sensores en tiempo real
41
+ - Lectura directa de **viento (veleta)**, **temperatura aire/agua** y **presión atmosférica** de Signal K.
42
+ - Etiquetas **"Veleta"** y **"Sensor"** distinguen datos reales de previsión.
43
+ - **Fallback automático a Open-Meteo** cuando un sensor falla.
44
+ - **Sonda inteligente**: detecta congelación / spikes / valores absurdos y deja de mostrar lecturas inventadas.
45
+
46
+ #### AIS inteligente
47
+ - **Detección de colisión** con targets AIS en zona de borneo.
48
+ - **ACK por target individual** — silencia alarma de un barco sin desactivar la alarma general.
49
+ - **Detección de garreo ajeno** — si un target ACKed se acerca >2 m/min, la alarma se reactiva.
50
+ - **Estimación de ancla** de otros barcos mediante análisis de track (centroide + radio máximo).
51
+
52
+ #### Alarmas y audio
53
+ - **Alarmas independientes**: garreo, varada, AIS y sonda con control individual.
54
+ - **Voces pregrabadas (OGG)** por idioma — más naturales que el sintetizador.
55
+ - **Detección automática** de la salida de audio del Raspberry Pi (USB → analog → HDMI).
56
+ - **Soporte móvil** fiable (audio funciona incluso con la pestaña en segundo plano).
57
+ - **Patrones distintos** por evento ("tuc tuc tuc" para AIS, sirena para garreo, etc.).
39
58
 
40
59
  #### Domótica / KIP
41
- - **Botones KIP** para fondear/levar y activar/desactivar alarmas
42
- - **Endpoints REST** para Alexa, Google Home, Node-RED, MQTT
43
- - **Endpoint toggle** para mandos a distancia con un solo botón
60
+ - **Botones KIP** para fondear/levar y activar/desactivar alarmas.
61
+ - **Endpoints REST** para Alexa, Google Home, Node-RED, MQTT.
62
+ - **Endpoint toggle** para mandos a distancia con un solo botón.
44
63
 
45
64
  #### Bilingüe completo
46
- - Interfaz en **español e inglés** en todas las vistas
47
- - Idioma sincronizado entre Landing, Mareas y Visor de Fondeo
48
- - Banderas de idioma en la barra inferior del visor
65
+ - Interfaz en **español e inglés** en todas las vistas.
66
+ - Compass cardinal en español correcto (N/NE/E/SE/S/SO/O/NO).
67
+ - Banderas de idioma en la barra inferior del visor.
49
68
 
50
69
  ### URLs
51
70
 
@@ -81,13 +100,13 @@ curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
81
100
 
82
101
  ### Instalación
83
102
 
103
+ Desde el **Signal K Appstore**: buscar `signalk-mareas-ihm` e instalar.
104
+
105
+ O por línea de comandos:
106
+
84
107
  ```bash
85
- cd /home/pi
86
- unzip -o signalk-mareas-ihm_v1.3.1_RevXX.zip
87
- cd signalk-mareas-ihm
88
- npm install && npm run build && npm pack
89
108
  cd ~/.signalk
90
- npm install /home/pi/signalk-mareas-ihm/signalk-mareas-ihm-1.3.1.tgz --save
109
+ npm install signalk-mareas-ihm@latest --save
91
110
  sudo systemctl restart signalk
92
111
  ```
93
112
 
@@ -95,46 +114,65 @@ sudo systemctl restart signalk
95
114
 
96
115
  ## English
97
116
 
98
- Signal K plugin for **Spanish tide predictions** using official data from **IHM (Instituto Hidrográfico de la Marina)**, with integrated **Anchor Watch Viewer**, smart alarms and home automation support.
117
+ Signal K plugin that turns your OpenPlotter / Raspberry Pi into a **complete anchor watch viewer**: official Spanish tides from **IHM (Instituto Hidrográfico de la Marina)**, shelter forecast, on-board wave measurement, smart alarms and home automation support.
99
118
 
100
119
  ### Main Features
101
120
 
102
121
  #### Tides
103
- - **Automatic tide prediction** by GPS or manual station selection
104
- - **Interactive tide curves** with annual HAT/LAT, interactive cursor and high/low tide labels
105
- - **Official IHM coefficients** with automatic download
106
- - **Tactical advice** for the Rías Baixas (experimental)
107
- - **Offline cache** of at least 2 months of predictions
108
-
109
- #### Anchor Watch Viewer
110
- - **Leaflet map** with real-time GPS position and multiple layers (ESRI, Bing, Google, IHM S-52, SonarChart, offline MBTiles)
111
- - **Anchor Watch** with visual and audible drag alarm
112
- - **Chain deployed** with bidirectional slider and automatic calculation
113
- - **Swing and alarm radius** with chart labels
114
- - **Multi-device real-time sync** (SSE)
122
+ - **Automatic tide prediction** by GPS or manual selection among 70 IHM stations.
123
+ - **Interactive tide curves** with annual HAT/LAT, cursor and high/low tide labels.
124
+ - **Official IHM coefficients** with automatic download.
125
+ - **Offline cache** of at least 2 months of predictions.
126
+ - **Tendency and coefficient** visible in the viewer's top bar.
127
+
128
+ #### Shelter forecast
129
+ - **16-sector rose** with automatic shelter detection from coastline (OpenStreetMap).
130
+ - **Grade A-F and protection percentage** combining forecast wind and waves.
131
+ - **12 h exposure strip** with hourly forecast.
132
+ - **"NOW / FORECAST" summary** with real-time sensor and forecast data.
133
+ - **Manual sector override** when the automatic detector is wrong.
134
+
135
+ #### On-board wave measurement
136
+ - **Direction, period and height** of waves computed on board from attitude and acceleration sensors (pypilot IMU or compatible).
137
+ - **24 h history** in 15-minute bars.
138
+ - **Shelter grade auto-adjusts** when measured wave exceeds forecast.
139
+
140
+ #### Anchor watch viewer
141
+ - **Leaflet map** with real-time GPS position and multiple layers (ESRI, Bing, Google, IHM S-52, SonarChart, offline MBTiles).
142
+ - **Anchor Watch** with visual and audible drag alarm.
143
+ - **Chain deployed** with bidirectional slider and automatic calculation (traditional and Vicente methods).
144
+ - **Swing and alarm radius** with chart labels and tide-aware prediction.
145
+ - **Multi-device real-time sync** (SSE).
146
+ - **Local nautical charts** via integrated MBTiles server.
147
+
148
+ #### Real-time sensors
149
+ - Direct reading of **wind (anemometer)**, **air/water temperature** and **atmospheric pressure** from Signal K.
150
+ - **"Veleta"** and **"Sensor"** badges distinguish real data from forecast.
151
+ - **Automatic Open-Meteo fallback** when a sensor drops.
152
+ - **Smart depth sounder**: detects frozen / spike / absurd values and stops showing made-up readings.
115
153
 
116
154
  #### Smart AIS
117
- - **Collision detection** with AIS targets in swing zone
118
- - **Per-target ACK** — silence alarm for one boat without disabling the general alarm
119
- - **External dragging detection** — if an ACKed target approaches >2m/min, alarm reactivates
120
- - **Anchor estimation** for other boats via track analysis (centroid + max radius)
121
- - **Persistent collision rings** on chart
122
-
123
- #### Smart Alarms
124
- - **Grounding alarm** only when boat is stopped (SOG < 0.5kn)
125
- - **Sounder detection** for frozen, unstable, out-of-range readings
126
- - **Independent alarms** for drag, AIS and depth with individual control
127
- - **Weather forecast** integrated (Open-Meteo) with multiple models
155
+ - **Collision detection** with AIS targets in swing zone.
156
+ - **Per-target ACK** — silence alarm for one boat without disabling the general alarm.
157
+ - **External dragging detection** — if an ACKed target approaches >2 m/min, alarm reactivates.
158
+ - **Anchor estimation** for other boats via track analysis (centroid + max radius).
159
+
160
+ #### Alarms and audio
161
+ - **Independent alarms**: drag, grounding, AIS and depth with individual control.
162
+ - **Pre-recorded voices (OGG)** per language more natural than synthesizer.
163
+ - **Automatic detection** of Raspberry Pi audio output (USB → analog → HDMI).
164
+ - **Reliable mobile support** (audio works even when the tab is in background).
165
+ - **Distinct patterns** per event (rapid beep for AIS, siren for drag, etc.).
128
166
 
129
167
  #### Home Automation / KIP
130
- - **KIP buttons** for drop/lift and alarm enable/disable
131
- - **REST endpoints** for Alexa, Google Home, Node-RED, MQTT
132
- - **Toggle endpoint** for single-button remote controls
168
+ - **KIP buttons** for drop/lift and alarm enable/disable.
169
+ - **REST endpoints** for Alexa, Google Home, Node-RED, MQTT.
170
+ - **Toggle endpoint** for single-button remote controls.
133
171
 
134
172
  #### Full Bilingual
135
- - Interface in **Spanish and English** across all views
136
- - Language synced between Landing, Tides and Anchor Watch Viewer
137
- - Language flags in the viewer's bottom bar
173
+ - Interface in **Spanish and English** across all views.
174
+ - Correct Spanish cardinal compass (N/NE/E/SE/S/SO/O/NO).
175
+ - Language flags in the viewer's bottom bar.
138
176
 
139
177
  ### URLs
140
178
 
@@ -162,16 +200,16 @@ curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
162
200
 
163
201
  ### Installation
164
202
 
203
+ From the **Signal K Appstore**: search `signalk-mareas-ihm` and install.
204
+
205
+ Or via command line:
206
+
165
207
  ```bash
166
- cd /home/pi
167
- unzip -o signalk-mareas-ihm_v1.3.1_RevXX.zip
168
- cd signalk-mareas-ihm
169
- npm install && npm run build && npm pack
170
208
  cd ~/.signalk
171
- npm install /home/pi/signalk-mareas-ihm/signalk-mareas-ihm-1.3.1.tgz --save
209
+ npm install signalk-mareas-ihm@latest --save
172
210
  sudo systemctl restart signalk
173
211
  ```
174
212
 
175
213
  ---
176
214
 
177
- © IHM — Datos oficiales del Instituto Hidrográfico de la Marina de España
215
+ © IHM — Official data from Spain's Instituto Hidrográfico de la Marina
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": "2.0.1",
3
+ "timestamp": "20260522-2344",
4
+ "gitHash": null,
5
+ "gitDirty": true,
6
+ "builtAt": "2026-05-22T21:44:05.250Z"
7
+ }