signalk-mareas-ihm 1.3.0 → 2.0.0
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 +131 -236
- package/dist/build-info.json +7 -0
- package/dist/index.js +4100 -207
- package/dist/mapafondeo.html +4451 -505
- 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-kT_SYLTG.js +9 -0
- 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/public/assets/index-Cm--h3qP.js +0 -9
package/README.md
CHANGED
|
@@ -6,277 +6,172 @@
|
|
|
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)
|
|
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.
|
|
10
10
|
|
|
11
|
-
### Características
|
|
11
|
+
### Características principales
|
|
12
12
|
|
|
13
|
+
#### Mareas
|
|
13
14
|
- **Predicción de mareas** automática por GPS o selección manual de estación
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **Caché offline** de al menos 2 meses de predicciones
|
|
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
17
|
- **Consejo táctico** para las Rías Baixas (experimental)
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
### Modos de funcionamiento
|
|
18
|
+
- **Caché offline** de al menos 2 meses de predicciones
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
|
39
|
+
|
|
40
|
+
#### 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
|
|
44
|
+
|
|
45
|
+
#### 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
|
|
49
|
+
|
|
50
|
+
### URLs
|
|
51
|
+
|
|
52
|
+
| URL | Función |
|
|
53
|
+
|-----|---------|
|
|
54
|
+
| `/signalk-mareas-ihm/` | Landing — selector Mareas / Visor de Fondeo |
|
|
55
|
+
| `/signalk-mareas-ihm/mareas` | Vista de Mareas (directo) |
|
|
56
|
+
| `/signalk-mareas-ihm/visorfondeo` | Visor de Fondeo (directo) |
|
|
57
|
+
|
|
58
|
+
### Domótica — Endpoints REST
|
|
26
59
|
|
|
27
|
-
|
|
60
|
+
```bash
|
|
61
|
+
# Fondear/Levar con un solo botón
|
|
62
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/toggle
|
|
28
63
|
|
|
29
|
-
|
|
64
|
+
# Fondear en posición GPS actual
|
|
65
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/drop
|
|
30
66
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
| `environment.tide.heightNow` | Altura actual de la marea (m) |
|
|
34
|
-
| `environment.tide.heightNextHigh` | Próxima pleamar (m) |
|
|
35
|
-
| `environment.tide.heightNextLow` | Próxima bajamar (m) |
|
|
36
|
-
| `environment.tide.tendency` | Subiendo / Bajando |
|
|
37
|
-
| `environment.tide.percentage` | Porcentaje del ciclo (0–100) |
|
|
38
|
-
| `environment.tide.stationName` | Estación activa |
|
|
39
|
-
| `environment.tide.coef` | Coeficiente de marea |
|
|
40
|
-
| `environment.tide.vessel.draftEffective` | Calado efectivo (calado + margen × 1.15) |
|
|
41
|
-
| `environment.tide.vessel.groundingRisk` | Riesgo de varada (true/false) |
|
|
42
|
-
| `environment.tide.vessel.groundingStatus` | Estado físico |
|
|
43
|
-
| `environment.tide.vessel.finalExpctDepthBKeel` | Sonda mínima esperada |
|
|
67
|
+
# Levar ancla
|
|
68
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/lift
|
|
44
69
|
|
|
45
|
-
|
|
70
|
+
# Estado simple (para monitorización)
|
|
71
|
+
curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
|
|
72
|
+
```
|
|
46
73
|
|
|
47
|
-
###
|
|
74
|
+
### KIP — Paths para Boolean Control
|
|
48
75
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
76
|
+
| Path | Función |
|
|
77
|
+
|------|---------|
|
|
78
|
+
| `environment.anchor.mareasIhm.anchorCommand` | Fondear (true) / Levar (false) |
|
|
79
|
+
| `environment.anchor.mareasIhm.garreoAlarmCommand` | Alarma garreo ON/OFF |
|
|
80
|
+
| `environment.anchor.mareasIhm.aisAlarmCommand` | Alarma AIS ON/OFF |
|
|
52
81
|
|
|
53
82
|
### Instalación
|
|
54
83
|
|
|
55
|
-
**Desde la App Store de Signal K** (recomendado): busca "Mareas" o "IHM".
|
|
56
|
-
|
|
57
|
-
**Manual:**
|
|
58
|
-
|
|
59
84
|
```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
|
|
60
89
|
cd ~/.signalk
|
|
61
|
-
npm install signalk-mareas-ihm
|
|
62
|
-
|
|
90
|
+
npm install /home/pi/signalk-mareas-ihm/signalk-mareas-ihm-1.3.1.tgz --save
|
|
91
|
+
sudo systemctl restart signalk
|
|
63
92
|
```
|
|
64
93
|
|
|
65
|
-
### Configuración
|
|
66
|
-
|
|
67
|
-
En *Server → Plugin Config*:
|
|
68
|
-
|
|
69
|
-
- **IHM base URL**: URL del servicio IHM
|
|
70
|
-
- **Refresco caché (horas)**: por defecto 48 h
|
|
71
|
-
- **Frecuencia de actualización**: minutos entre actualizaciones
|
|
72
|
-
|
|
73
|
-
El calado del barco se lee automáticamente de Signal K (`design.draft`) o se puede configurar desde la WebApp (ventana ALARMA → margen de seguridad).
|
|
74
|
-
|
|
75
|
-
### Changelog
|
|
76
|
-
|
|
77
|
-
#### v1.3.0
|
|
78
|
-
- **Visor de Fondeo**: nueva página independiente `/mapafondeo` con mapa Leaflet a pantalla completa.
|
|
79
|
-
- Icono de barco SVG cenital con escala real según `design.length` / `design.beam` y rotación por heading/COG. A zoom bajo se sustituye por diana roja.
|
|
80
|
-
- Línea cadena proa→ancla con rumbo y distancia en tiempo real.
|
|
81
|
-
- Círculos dinámicos: borneo (azul) y alarma (rojo) con etiquetas de metros permanentes.
|
|
82
|
-
- Sliders de radio borneo y alarma ajustables en caliente.
|
|
83
|
-
- Marcador de ancla ⚓ arrastrable con actualización inmediata de círculos.
|
|
84
|
-
- Track GPS con historial de 3000 puntos.
|
|
85
|
-
- Targets AIS cercanos (diferencia estáticos vs dinámicos).
|
|
86
|
-
- Detección de `@signalk/tracks-plugin` con popup recomendación.
|
|
87
|
-
- Botón meteo → Open-Meteo con temperatura, viento, presión, precipitación.
|
|
88
|
-
- Capas: OSM, OpenSeaMap, MBTiles con slider de transparencia individual.
|
|
89
|
-
- Historial últimas 5 posiciones del ancla con fecha/hora.
|
|
90
|
-
- Favicon, botón volver a Mareas IHM, copyright OSM/OpenSeaMap.
|
|
91
|
-
- Escala gráfica dinámica (metros).
|
|
92
|
-
- **Cartas MBTiles**: servidor de tiles integrado (better-sqlite3) para cartas raster. Selector de carpeta (default `/home/pi/charts`), checkboxes + opacidad por carta.
|
|
93
|
-
- **Alarma de Garreo**: evaluación cada 5s distancia barco-ancla. Radio alarma = swingRadiusMax + margen ajustable (slider 1-50m). Notificación Signal K estándar.
|
|
94
|
-
- **Cadena editable**: clic en caja Cadena para introducir metros reales largados, persiste en backend, sincroniza con Visor.
|
|
95
|
-
- **Paths Signal K nuevos**: `watchEnabled`, `anchorLat`, `anchorLon`, `distanceToAnchor`, `alarmRadius`, `dragging`.
|
|
96
|
-
- **Layout mejorado**: grid auto-fill sin scroll, cajas expandidas al espacio disponible.
|
|
97
|
-
|
|
98
|
-
#### v1.2.1
|
|
99
|
-
- **UI Fondeo renovada**: cajas resultado con títulos uniformes 14px, Cadena y Profundidad en naranja, Estado Marea muestra resumen, Status Profundidad con estado varada, Publicar SK en barra verde.
|
|
100
|
-
- **Config overlay**: panel configuración se superpone sin scroll, con botón Calcular naranja.
|
|
101
|
-
- **Botones 170px**: todos los botones de la barra principal ampliados.
|
|
102
|
-
- **Fix alarma**: notificaciones OpenPlotter se limpian correctamente (state:normal).
|
|
103
|
-
- **Fix hBow**: corregido borrado de altura de roldana.
|
|
104
|
-
- **Fix Publicar SK**: estado persistente entre reinicios.
|
|
105
|
-
|
|
106
|
-
#### v1.2.0
|
|
107
|
-
- ⚓ **Calculadora de fondeo**: nueva pestaña FONDEO con modelo de scope náutico. Cadena recomendada, radio de borneo, publicación opcional en Signal K (`environment.anchor.mareasIhm.*`).
|
|
108
|
-
- 🔇 **Fix notificaciones**: la alarma de varada suena una sola vez (antes se repetía cada 60s).
|
|
109
|
-
- 📡 **Arranque sin GPS/Internet**: lista hardcoded de todas las estaciones IHM españolas. Siempre hay estaciones disponibles para elegir.
|
|
110
|
-
- 📋 **Nuevos paths FONDEO**: nuevos paths publicados en Signal K relacionados con la función FONDEO.
|
|
111
|
-
- 🔍 **Tamaño estable al Zoom**: la interfaz siempre llena la ventana al 100% por defecto, sin encogerse al reducir o ampliar el zoom del navegador.
|
|
112
|
-
|
|
113
|
-
#### v1.1.1
|
|
114
|
-
- Coeficientes IHM oficiales con auto-descarga del PDF. Elimina el "dato bailante".
|
|
115
|
-
- Fix zona horaria: coeficiente usa hora local española (no UTC).
|
|
116
|
-
- Fix ESM `__dirname` para módulos ES.
|
|
117
|
-
|
|
118
|
-
#### v1.1.0
|
|
119
|
-
- Alarma de varada: aviso 24h, anticipada, snooze, silenciar sonido.
|
|
120
|
-
- Curvas de marea interactivas (SVG).
|
|
121
|
-
- Bilingüe ES/EN completo.
|
|
122
|
-
- Salida/Puesta sol (integración Derived Data).
|
|
123
|
-
- Consejo táctico Rías Baixas (experimental).
|
|
124
|
-
|
|
125
|
-
#### v1.0.0
|
|
126
|
-
- Versión inicial: datos IHM, AUTO/MANUAL, paths Signal K.
|
|
127
|
-
|
|
128
|
-
### Créditos y licencia
|
|
129
|
-
|
|
130
|
-
Licencia Apache 2.0. Derivado originalmente de `signalk-tides` (Brandon Keepers, Joachim Bakke, Scott Bender y contribuidores). Véase `NOTICE` para detalles de atribución.
|
|
131
|
-
|
|
132
|
-
📧 Contacto: **tradesolutions@gmail.com** (indicar "MAREAS (IHM)" en el asunto)
|
|
133
|
-
|
|
134
94
|
---
|
|
135
95
|
|
|
136
96
|
## English
|
|
137
97
|
|
|
138
|
-
Signal K plugin for **tide predictions
|
|
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.
|
|
139
99
|
|
|
140
|
-
### Features
|
|
100
|
+
### Main Features
|
|
141
101
|
|
|
102
|
+
#### Tides
|
|
142
103
|
- **Automatic tide prediction** by GPS or manual station selection
|
|
143
|
-
- **
|
|
144
|
-
- **
|
|
145
|
-
- **Offline cache** of at least 2 months of predictions
|
|
104
|
+
- **Interactive tide curves** with annual HAT/LAT, interactive cursor and high/low tide labels
|
|
105
|
+
- **Official IHM coefficients** with automatic download
|
|
146
106
|
- **Tactical advice** for the Rías Baixas (experimental)
|
|
147
|
-
- **
|
|
148
|
-
|
|
149
|
-
### Operating modes
|
|
150
|
-
|
|
151
|
-
| Mode | Description |
|
|
152
|
-
|---|---|
|
|
153
|
-
| **AUTOMATIC** (default) | Picks the nearest IHM station by GPS. If no GPS is available at startup, defaults to **Vigo** until a fix arrives. |
|
|
154
|
-
| **MANUAL** | Freely pick any IHM station. |
|
|
155
|
-
|
|
156
|
-
### Published paths
|
|
107
|
+
- **Offline cache** of at least 2 months of predictions
|
|
157
108
|
|
|
158
|
-
|
|
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)
|
|
115
|
+
|
|
116
|
+
#### 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
|
|
128
|
+
|
|
129
|
+
#### 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
|
|
133
|
+
|
|
134
|
+
#### 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
|
|
138
|
+
|
|
139
|
+
### URLs
|
|
140
|
+
|
|
141
|
+
| URL | Function |
|
|
142
|
+
|-----|----------|
|
|
143
|
+
| `/signalk-mareas-ihm/` | Landing — Tides / Anchor Watch selector |
|
|
144
|
+
| `/signalk-mareas-ihm/mareas` | Tides view (direct) |
|
|
145
|
+
| `/signalk-mareas-ihm/visorfondeo` | Anchor Watch Viewer (direct) |
|
|
146
|
+
|
|
147
|
+
### Home Automation — REST Endpoints
|
|
159
148
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
| `environment.tide.heightNextHigh` | Next high water (m) |
|
|
164
|
-
| `environment.tide.heightNextLow` | Next low water (m) |
|
|
165
|
-
| `environment.tide.tendency` | Rising / Falling |
|
|
166
|
-
| `environment.tide.percentage` | Tide cycle percentage (0–100) |
|
|
167
|
-
| `environment.tide.stationName` | Active station |
|
|
168
|
-
| `environment.tide.coef` | Tidal coefficient |
|
|
169
|
-
| `environment.tide.vessel.draftEffective` | Effective draft (draft + margin × 1.15) |
|
|
170
|
-
| `environment.tide.vessel.groundingRisk` | Grounding risk (true/false) |
|
|
171
|
-
| `environment.tide.vessel.groundingStatus` | Physical state |
|
|
172
|
-
| `environment.tide.vessel.finalExpctDepthBKeel` | Expected minimum depth under keel |
|
|
149
|
+
```bash
|
|
150
|
+
# Drop/Lift with single button
|
|
151
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/toggle
|
|
173
152
|
|
|
174
|
-
|
|
153
|
+
# Drop anchor at current GPS
|
|
154
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/drop
|
|
175
155
|
|
|
176
|
-
|
|
156
|
+
# Lift anchor
|
|
157
|
+
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/lift
|
|
177
158
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
159
|
+
# Simple status (for monitoring)
|
|
160
|
+
curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
|
|
161
|
+
```
|
|
181
162
|
|
|
182
163
|
### Installation
|
|
183
164
|
|
|
184
|
-
**From the Signal K App Store** (recommended): search for "Mareas" or "IHM".
|
|
185
|
-
|
|
186
|
-
**Manual:**
|
|
187
|
-
|
|
188
165
|
```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
|
|
189
170
|
cd ~/.signalk
|
|
190
|
-
npm install signalk-mareas-ihm
|
|
191
|
-
|
|
171
|
+
npm install /home/pi/signalk-mareas-ihm/signalk-mareas-ihm-1.3.1.tgz --save
|
|
172
|
+
sudo systemctl restart signalk
|
|
192
173
|
```
|
|
193
174
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
- **IHM base URL**: IHM service URL
|
|
199
|
-
- **Cache refresh (hours)**: default 48 h
|
|
200
|
-
- **Update frequency**: minutes between updates
|
|
201
|
-
|
|
202
|
-
Vessel draft is read automatically from Signal K (`design.draft`) or can be configured from the WebApp (ALARM window → safety margin).
|
|
203
|
-
|
|
204
|
-
### Changelog
|
|
205
|
-
|
|
206
|
-
#### v1.3.0
|
|
207
|
-
- **Anchor Map Viewer**: new standalone `/mapafondeo` page with full-screen Leaflet map.
|
|
208
|
-
- Cenital sailboat SVG icon scaled to real `design.length`/`design.beam`, heading rotation. Falls back to red target at low zoom.
|
|
209
|
-
- Chain line bow→anchor with bearing and real-time distance.
|
|
210
|
-
- Dynamic circles: swing (blue) and alarm (red) with permanent meter labels.
|
|
211
|
-
- Adjustable sliders for swing and alarm radius.
|
|
212
|
-
- Draggable anchor ⚓ marker with instant circle update.
|
|
213
|
-
- GPS track (3000 points), AIS targets, OpenSeaMap overlay.
|
|
214
|
-
- Tracks-plugin detection with install recommendation popup.
|
|
215
|
-
- Meteo button → Open-Meteo (temperature, wind, pressure, rain).
|
|
216
|
-
- MBTiles charts with per-layer opacity slider.
|
|
217
|
-
- Last 5 anchor positions history with timestamps.
|
|
218
|
-
- **MBTiles Charts**: integrated tile server (better-sqlite3) for raster charts. Folder selector, per-chart opacity control.
|
|
219
|
-
- **Anchor Drag Alarm**: 5-second evaluation. Alarm radius = swingRadiusMax + adjustable margin (1-50m slider). Standard Signal K notification.
|
|
220
|
-
- **Editable Chain**: click chain box to enter actual deployed meters, persisted in backend, synced to Viewer.
|
|
221
|
-
- **New Signal K paths**: `watchEnabled`, `anchorLat`, `anchorLon`, `distanceToAnchor`, `alarmRadius`, `dragging`.
|
|
222
|
-
- **Improved layout**: auto-fill grid, no scroll, boxes expand to fill available space.
|
|
223
|
-
|
|
224
|
-
#### v1.2.1
|
|
225
|
-
- **UI Fondeo renovada**: cajas resultado con títulos uniformes 14px, Cadena y Profundidad en naranja, Estado Marea muestra resumen, Status Profundidad con estado varada, Publicar SK en barra verde.
|
|
226
|
-
- **Config overlay**: panel configuración se superpone sin scroll, con botón Calcular naranja.
|
|
227
|
-
- **Botones 170px**: todos los botones de la barra principal ampliados.
|
|
228
|
-
- **Fix alarma**: notificaciones OpenPlotter se limpian correctamente (state:normal).
|
|
229
|
-
- **Fix hBow**: corregido borrado de altura de roldana.
|
|
230
|
-
- **Fix Publicar SK**: estado persistente entre reinicios.
|
|
231
|
-
|
|
232
|
-
#### v1.2.0
|
|
233
|
-
- ⚓ **Anchoring calculator**: new ANCHOR tab with nautical scope model. Recommended chain, swing radius, optional Signal K publication (`environment.anchor.mareasIhm.*`).
|
|
234
|
-
- 🔇 **Notification fix**: grounding alarm sounds once (previously repeated every 60s).
|
|
235
|
-
- 📡 **Startup without GPS/Internet**: hardcoded list of all Spanish IHM stations. Stations always available for selection.
|
|
236
|
-
- 📋 **New ANCHOR paths**: new Signal K paths published for the ANCHOR function.
|
|
237
|
-
- 🔍 **Stable Zoom size**: UI always fills the window at 100% by default, no shrinking or growing when changing browser zoom.
|
|
238
|
-
|
|
239
|
-
#### v1.1.1
|
|
240
|
-
- Official IHM coefficients with PDF auto-download. Eliminates "dancing data".
|
|
241
|
-
- Timezone fix: coefficient uses Spanish local time (not UTC).
|
|
242
|
-
- ESM `__dirname` fix for ES modules.
|
|
243
|
-
|
|
244
|
-
#### v1.1.0
|
|
245
|
-
- Grounding alarm: 24h warning, advance alarm, snooze, mute sound.
|
|
246
|
-
- Interactive tide curves (SVG).
|
|
247
|
-
- Full ES/EN bilingual interface.
|
|
248
|
-
- Sunrise/Sunset (Derived Data integration).
|
|
249
|
-
- Rías Baixas tactical advice (experimental).
|
|
250
|
-
|
|
251
|
-
#### v1.0.0
|
|
252
|
-
- Initial release: IHM data, AUTO/MANUAL, Signal K paths.
|
|
253
|
-
|
|
254
|
-
### Credits and license
|
|
255
|
-
|
|
256
|
-
Apache 2.0 License. Originally derived from `signalk-tides` (Brandon Keepers, Joachim Bakke, Scott Bender and contributors). See `NOTICE` for attribution details.
|
|
257
|
-
|
|
258
|
-
📧 Contact: **tradesolutions@gmail.com** (include "MAREAS (IHM)" in the subject)
|
|
259
|
-
|
|
260
|
-
### v1.3.0 — Visor de Fondeo + Alarma de Garreo
|
|
261
|
-
|
|
262
|
-
**ES:**
|
|
263
|
-
- **Visor de Fondeo** (`/signalk-mareas-ihm/mapafondeo`): Página standalone Leaflet a pantalla completa.
|
|
264
|
-
- Icono SVG cenital velero escalado a `design.length`/`design.beam` con rotación heading. Diana roja a zoom bajo.
|
|
265
|
-
- Línea cadena proa→ancla, círculos borneo (azul) y alarma (rojo) con etiquetas metros.
|
|
266
|
-
- Sliders ajustables, ancla arrastrable, track GPS, targets AIS, OpenSeaMap.
|
|
267
|
-
- Cartas MBTiles con slider opacidad por capa. Botón meteo → Open-Meteo.
|
|
268
|
-
- Historial 5 últimas posiciones ancla. Favicon, botón volver, copyright.
|
|
269
|
-
- **Alarma de Garreo**: Detección cada 5s. Radio = swingRadiusMax + margen slider (1-50m). Notificación SK `notifications.signalk-mareas-ihm.anchorDrag`.
|
|
270
|
-
- **Servidor MBTiles** (better-sqlite3): Carga cartas `.mbtiles` desde `/home/pi/charts/` (configurable).
|
|
271
|
-
- **Cadena editable**: Clic caja Cadena → introducir metros reales largados, persiste backend.
|
|
272
|
-
- **Paths SK nuevos**: `watchEnabled`, `anchorLat`, `anchorLon`, `distanceToAnchor`, `alarmRadius`, `dragging`.
|
|
273
|
-
- **Layout**: Grid auto-fill sin scroll, cajas expandidas.
|
|
274
|
-
|
|
275
|
-
**EN:**
|
|
276
|
-
- **Anchor Map** (`/signalk-mareas-ihm/mapafondeo`): New standalone Leaflet page showing position, anchor, and swing radius. Mobile accessible.
|
|
277
|
-
- **Anchor Drag Alarm**: Continuous drag detection. Alarm radius = swingRadiusMax + 5m. Signal K notification `notifications.signalk-mareas-ihm.anchorDrag`.
|
|
278
|
-
- **MBTiles Server**: Auto-loads nautical chart `.mbtiles` files (SAS Planet) from `/home/pi/charts/` (configurable). Checkboxes to switch between charts without reloading.
|
|
279
|
-
- **Layers**: OpenSeaMap overlay, OSM CartoDB Dark fallback when no local MBTiles.
|
|
280
|
-
- **Map Button**: Box 9 in anchor grid (double width), opens map in new tab.
|
|
281
|
-
- **Search**: Search across Instructions and Changelog with highlighting and auto-scroll.
|
|
282
|
-
- **New Signal K paths**: `environment.anchor.mareasIhm.watchEnabled`, `.anchorLat`, `.anchorLon`, `.distanceToAnchor`, `.alarmRadius`, `.dragging`.
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
© IHM — Datos oficiales del Instituto Hidrográfico de la Marina de España
|