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 +111 -73
- package/dist/build-info.json +7 -0
- package/dist/index.js +3490 -357
- package/dist/mapafondeo.html +3539 -141
- package/dist/sources/coastline.js +341 -0
- package/dist/sources/ihm.js +97 -66
- package/dist/sources/openmeteo.js +446 -0
- package/package.json +3 -3
- package/public/assets/{index-B-XGPf9g.js → index-kT_SYLTG.js} +2 -2
- package/public/boat-cenital.svg +865 -0
- package/public/icon.svg +15 -0
- package/public/index.html +1 -1
- package/public/mapafondeo.html +5389 -0
package/README.md
CHANGED
|
@@ -6,46 +6,65 @@
|
|
|
6
6
|
|
|
7
7
|
## Español
|
|
8
8
|
|
|
9
|
-
Plugin de Signal K
|
|
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
|
|
15
|
-
- **Curvas de marea interactivas** con HAT/LAT anuales, cursor
|
|
16
|
-
- **Coeficientes oficiales IHM** con descarga automática
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
####
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
|
|
27
|
-
####
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
- **
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
104
|
-
- **Interactive tide curves** with annual HAT/LAT,
|
|
105
|
-
- **Official IHM coefficients** with automatic download
|
|
106
|
-
- **
|
|
107
|
-
- **
|
|
108
|
-
|
|
109
|
-
####
|
|
110
|
-
- **
|
|
111
|
-
- **
|
|
112
|
-
- **
|
|
113
|
-
- **
|
|
114
|
-
- **
|
|
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 >
|
|
120
|
-
- **Anchor estimation** for other boats via track analysis (centroid + max radius)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
- **
|
|
125
|
-
- **
|
|
126
|
-
- **
|
|
127
|
-
- **
|
|
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
|
-
-
|
|
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
|
|
209
|
+
npm install signalk-mareas-ihm@latest --save
|
|
172
210
|
sudo systemctl restart signalk
|
|
173
211
|
```
|
|
174
212
|
|
|
175
213
|
---
|
|
176
214
|
|
|
177
|
-
© IHM —
|
|
215
|
+
© IHM — Official data from Spain's Instituto Hidrográfico de la Marina
|