signalk-mareas-ihm 2.1.5 → 2.1.7
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 +241 -154
- package/dist/README.md +241 -154
- package/dist/build-info.json +3 -3
- package/dist/index.js +12 -2
- package/dist/mobile.html +562 -160
- package/dist/sources/openmeteo.js +6 -0
- package/package.json +2 -2
- package/public/assets/{index-CoLpTGJ6.js → index-1ERHeRNt.js} +4 -4
- package/public/assets/index-DFV7-uKW.css +1 -0
- package/public/index.html +23 -7
- package/public/mobile.html +562 -160
- package/public/assets/index-D_EIVUWR.css +0 -1
package/README.md
CHANGED
|
@@ -1,108 +1,129 @@
|
|
|
1
1
|
# signalk-mareas-ihm
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**A complete anchor watch and marine safety webapp for Signal K.**
|
|
4
|
+
Voice alarms, shelter forecasting, on-board wave measurement, multi-source charts and official Spanish IHM tide predictions — running on your OpenPlotter / Raspberry Pi.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Español
|
|
6
|
+
🇬🇧 [English](#english) · 🇪🇸 [Español](#espanol)
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
---
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
## English
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
12
|
+
### What you get
|
|
13
|
+
|
|
14
|
+
A single Signal K plugin that turns your boat computer into a serious **anchor watch** with everything a cruiser actually needs:
|
|
15
|
+
|
|
16
|
+
- 🗺️ **Marine charts** — customizable transparencies and multilayer viewer with highly detailed worldwide **Bathymetry** + **Esri Satellite** + **IHM ENC S-52** + **MBTiles charts for offline use** + **OpenStreetMap** + **OpenSeaMap** + **SK Charts plugin integration**
|
|
17
|
+
- ⚓ **Smart anchor watch** with predictive swing radius based on tide and weather
|
|
18
|
+
- 🌐 **Real-time multi-device sync** via SSE — phone, tablet and chartplotter all show the same state
|
|
19
|
+
- 🚢 **AIS anchoring potential collision watch** — drag detection on neighbouring boats with voice alarm and per-target ACK
|
|
20
|
+
- 🎙️ **Voice alarms** for anchor drag, AIS collision and grounding (in your language, not synth voices)
|
|
21
|
+
- 🏔️ **Shelter forecast** — when anchoring, auto-detection of which sectors are open vs sheltered depending on the current conditions and a 12 h hour-by-hour forecast
|
|
22
|
+
- 🌅 **Tide predictions** — official IHM Spain for >70 stations, FES2014 global fallback for anywhere else; open to suggestions for other countries' free official or just reliable tide APIs
|
|
23
|
+
- 🌊 **On-board wave measurement** from your IMU (no extra sensor needed)
|
|
24
|
+
- 📊 **Sounder calculator** — chain, scope, depth, swing prediction
|
|
25
|
+
- 🌤️ **Weather forecast** with Open-Meteo (multiple models, sea temperature, wave height & period)
|
|
26
|
+
- 🌀 **Windy integration**: access to Windy map and forecast directly from your viewer
|
|
27
|
+
- ⛵ **Windregatta.com integration**: a new and promising cutting-edge free sailing route planner — a great discovery!
|
|
28
|
+
- 🚀 **Shortcuts to KIP and SK Freeboard** directly from your viewer
|
|
29
|
+
- 🇬🇧 🇪🇸 **Fully bilingual UI** (English / Spanish) — switch from the menu
|
|
30
|
+
|
|
31
|
+
Runs on **Raspberry Pi** (OpenPlotter), **any Linux box** or **macOS / Windows** with Signal K Server.
|
|
32
|
+
|
|
33
|
+
### ⭐ Why this plugin
|
|
34
|
+
|
|
35
|
+
Most anchor watch apps are paid, closed source, single-device and tied to a vendor's hardware. This one:
|
|
36
|
+
|
|
37
|
+
- Is **free and open source** (Apache 2.0).
|
|
38
|
+
- Runs **on your existing Signal K server** — no extra hardware.
|
|
39
|
+
- Shows the **same alarm on every device** (phone, tablet, chartplotter, Pi screen).
|
|
40
|
+
- Uses your **boat's real sensors** (anemometer, depth, IMU) when available; falls back to forecast when not.
|
|
41
|
+
- Has **mobile-first UI** that works on phone screens, big monitors and the Pi browser.
|
|
42
|
+
- Handles **edge cases** real cruisers hit: AudioContext suspended after backgrounding, browser autoplay blocks, multiple AIS targets in zone, snooze + un-snooze, etc.
|
|
43
|
+
|
|
44
|
+
### Key features in detail
|
|
45
|
+
|
|
46
|
+
#### Anchor watch
|
|
47
|
+
- **Predictive swing radius**: combines depth, chain deployed and tide cycle to predict the actual swing area over the next 12 h — not just a static circle.
|
|
48
|
+
- **Two chain calculation methods**: classic ratio and the Vicente method (15 + 2 × depth).
|
|
49
|
+
- **Drag detection** with audible siren that bypasses user mute for safety.
|
|
50
|
+
- **GPS track** with time-gradient colouring so you can see exactly where the boat has been.
|
|
51
|
+
- **Favourite anchorages** saved with a custom name (or auto-named from geolocation).
|
|
52
|
+
|
|
53
|
+
#### AIS collision watch
|
|
54
|
+
- **Voice alarm** when an AIS target enters your swing zone.
|
|
55
|
+
- **30 s grace window** before voice starts — see the modal first, hit ACK if it's a false positive.
|
|
56
|
+
- **Per-target ACK** with timestamp, so silencing one boat doesn't disable the alarm for others.
|
|
57
|
+
- **Drag detection on neighbours** — if an ACKed boat starts approaching >5 m/min, the alarm re-engages.
|
|
58
|
+
- **Anchor estimation** for other boats via track centroid analysis.
|
|
59
|
+
|
|
60
|
+
#### Shelter forecasting
|
|
61
|
+
- **16-sector wind rose** with automatic open/sheltered detection from OpenStreetMap coastline.
|
|
62
|
+
- **A–F grade** + **0–100 % protection score** computed from forecast wind in exposed sectors.
|
|
63
|
+
- **12 h strip** with per-hour grade and peak wind.
|
|
64
|
+
- **24 h wave history** from on-board IMU (acceleration RMS by intensity band).
|
|
65
|
+
- **Real-time degrade**: if measured wind on the anemometer is higher than the forecast in an exposed sector, the grade is downgraded automatically.
|
|
19
66
|
|
|
20
|
-
####
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
|
|
32
|
-
####
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- **
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- **
|
|
48
|
-
-
|
|
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.).
|
|
58
|
-
|
|
59
|
-
#### Domótica / KIP
|
|
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.
|
|
63
|
-
|
|
64
|
-
#### Bilingüe completo
|
|
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.
|
|
67
|
+
#### Tides
|
|
68
|
+
- **Official IHM Spain predictions** for >70 stations with annual HAT/LAT and constituent coefficients.
|
|
69
|
+
- **Worldwide fallback** via Open-Meteo / FES2014 (USA, UK, Australia, Japan, etc.).
|
|
70
|
+
- **Interactive tide curve** with cursor, peaks and 2-month offline cache.
|
|
71
|
+
- **No API key required** for any tide source.
|
|
72
|
+
|
|
73
|
+
#### Weather forecast
|
|
74
|
+
- **Open-Meteo** integrated (free, no API key, no rate limit issues).
|
|
75
|
+
- **Multiple models**: ICON (DWD), GFS (NOAA), ECMWF, Météo-France Arome, GEM, JMA.
|
|
76
|
+
- **Sea temperature, wave height, period and direction** when available.
|
|
77
|
+
- **48 h hourly table** + collapsible plain-language summary.
|
|
78
|
+
|
|
79
|
+
#### Audio & alarms
|
|
80
|
+
- **Per-language voice clips (OGG)** — natural, no robotic synth.
|
|
81
|
+
- **Snooze 5 min** for AIS (anchor drag is never snoozable for safety).
|
|
82
|
+
- **60 s user-mute window** — if you mute manually, even garreo cannot override for 60 s.
|
|
83
|
+
- **Visibility-aware**: when phone screen wakes from sleep, AudioContext is resumed automatically.
|
|
84
|
+
- **Vibration fallback** on Android when autoplay policy blocks audio.
|
|
85
|
+
|
|
86
|
+
#### Charts & layers
|
|
87
|
+
- **Esri Satellite**, **IHM ENC S-52** (Spain official charts), **Bathymetry overlay**, **OpenStreetMap**, **OpenSeaMap** seamarks, **Bing Hybrid**, **Esri Clarity**, **Google Satellite**.
|
|
88
|
+
- **MBTiles offline** — drop your `.mbtiles` files in a folder and they show up automatically.
|
|
89
|
+
- **Signal K registered charts** — any chart you've registered with Signal K appears as a layer.
|
|
90
|
+
- **Per-layer opacity slider** with default values you can tweak.
|
|
91
|
+
|
|
92
|
+
#### Home Automation / KIP / Freeboard
|
|
93
|
+
- **KIP buttons** for drop/lift and toggle alarms — open Freeboard-SK with one tap from the side bar.
|
|
94
|
+
- **REST endpoints** for Alexa, Google Home, Node-RED, MQTT bridges, custom dashboards.
|
|
95
|
+
- **`/toggle` endpoint** for single-button remote controls.
|
|
68
96
|
|
|
69
97
|
### URLs
|
|
70
98
|
|
|
71
|
-
| URL |
|
|
72
|
-
|
|
73
|
-
| `/signalk-mareas-ihm/` | Landing —
|
|
74
|
-
| `/signalk-mareas-ihm/mareas` |
|
|
75
|
-
| `/signalk-mareas-ihm/visorfondeo` |
|
|
99
|
+
| URL | What it does |
|
|
100
|
+
|-----|----------|
|
|
101
|
+
| `/signalk-mareas-ihm/` | Landing — choose Tides or Anchor Watch |
|
|
102
|
+
| `/signalk-mareas-ihm/mareas` | Tides view (direct) |
|
|
103
|
+
| `/signalk-mareas-ihm/visorfondeo` | Anchor Watch viewer (direct) |
|
|
104
|
+
| `/signalk-mareas-ihm/mobile` | Mobile-first viewer (recommended on phones) |
|
|
76
105
|
|
|
77
|
-
###
|
|
106
|
+
### Home Automation — REST endpoints
|
|
78
107
|
|
|
79
108
|
```bash
|
|
80
|
-
#
|
|
109
|
+
# One-button drop or lift (auto detects current anchor state)
|
|
81
110
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/toggle
|
|
82
111
|
|
|
83
|
-
#
|
|
112
|
+
# Drop anchor at current GPS
|
|
84
113
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/drop
|
|
85
114
|
|
|
86
|
-
#
|
|
115
|
+
# Lift anchor
|
|
87
116
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/lift
|
|
88
117
|
|
|
89
|
-
#
|
|
118
|
+
# Simple JSON status (for monitoring / dashboards)
|
|
90
119
|
curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
|
|
91
120
|
```
|
|
92
121
|
|
|
93
|
-
###
|
|
122
|
+
### Quick install
|
|
94
123
|
|
|
95
|
-
|
|
96
|
-
|------|---------|
|
|
97
|
-
| `environment.anchor.mareasIhm.anchorCommand` | Fondear (true) / Levar (false) |
|
|
98
|
-
| `environment.anchor.mareasIhm.garreoAlarmCommand` | Alarma garreo ON/OFF |
|
|
99
|
-
| `environment.anchor.mareasIhm.aisAlarmCommand` | Alarma AIS ON/OFF |
|
|
124
|
+
From the **Signal K Appstore**: search `signalk-mareas-ihm` and click install.
|
|
100
125
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Desde el **Signal K Appstore**: buscar `signalk-mareas-ihm` e instalar.
|
|
104
|
-
|
|
105
|
-
O por línea de comandos:
|
|
126
|
+
Or from the command line:
|
|
106
127
|
|
|
107
128
|
```bash
|
|
108
129
|
cd ~/.signalk
|
|
@@ -110,99 +131,149 @@ npm install signalk-mareas-ihm@latest --save
|
|
|
110
131
|
sudo systemctl restart signalk
|
|
111
132
|
```
|
|
112
133
|
|
|
134
|
+
Then open: `http://your-pi.local:3000/signalk-mareas-ihm/`
|
|
135
|
+
|
|
136
|
+
### Tested on
|
|
137
|
+
|
|
138
|
+
- Raspberry Pi 4 (OpenPlotter V4) — primary target.
|
|
139
|
+
- Linux x64, macOS, Windows 11.
|
|
140
|
+
- Firefox, Chrome, Safari on iOS / Android.
|
|
141
|
+
|
|
142
|
+
### Disclaimer
|
|
143
|
+
|
|
144
|
+
This is a navigation aid, **not** a replacement for proper anchor watch with eyes on the boat. The author takes no responsibility for dragging, collision, grounding or any other incident. Use at your own risk.
|
|
145
|
+
|
|
146
|
+
### Contributing & support
|
|
147
|
+
|
|
148
|
+
Issues, PRs and feature requests welcome at the [GitHub repo](https://github.com/Aitonos/signalk-mareas-ihm).
|
|
149
|
+
|
|
150
|
+
### License
|
|
151
|
+
|
|
152
|
+
Apache 2.0. Derived from `signalk-tides` (Brandon Keepers, Joachim Bakke, Scott Bender and contributors).
|
|
153
|
+
|
|
113
154
|
---
|
|
114
155
|
|
|
115
|
-
|
|
156
|
+
<a id="espanol"></a>
|
|
116
157
|
|
|
117
|
-
|
|
158
|
+
## Español
|
|
118
159
|
|
|
119
|
-
|
|
160
|
+
Plugin de Signal K que convierte tu OpenPlotter / Raspberry Pi en una **webapp completa de anchor watch y seguridad marina**: alarmas de voz, previsión de abrigo, medición de olas a bordo, cartas náuticas multi-fuente y mareas oficiales del IHM (Instituto Hidrográfico de la Marina) de España.
|
|
120
161
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- **
|
|
126
|
-
- **
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
- **
|
|
130
|
-
- **
|
|
131
|
-
- **
|
|
132
|
-
- **
|
|
133
|
-
- **
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- **
|
|
137
|
-
- **
|
|
138
|
-
- **
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
- **
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
-
|
|
150
|
-
- **
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
- **
|
|
157
|
-
- **
|
|
158
|
-
- **
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
- **
|
|
164
|
-
- **
|
|
165
|
-
- **
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
- **
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
|
|
162
|
+
### Qué te llevas
|
|
163
|
+
|
|
164
|
+
Un único plugin de Signal K que convierte el ordenador del barco en un **anchor watch serio** con todo lo que un navegante de verdad necesita:
|
|
165
|
+
|
|
166
|
+
- 🗺️ **Cartas náuticas** — transparencias configurables y visor multicapa con **Batimetría mundial de alto detalle** + **Satélite Esri** + **IHM ENC S-52** + **MBTiles para uso offline** + **OpenStreetMap** + **OpenSeaMap** + **integración con plugin SK Charts**
|
|
167
|
+
- ⚓ **Anchor watch inteligente** con radio de borneo predictivo según marea y meteo
|
|
168
|
+
- 🌐 **Sincronización multi-dispositivo en tiempo real** vía SSE — móvil, tablet y chartplotter muestran el mismo estado
|
|
169
|
+
- 🚢 **Vigilancia de colisión AIS al fondear** — detección de garreo en barcos vecinos con alarma de voz y ACK por target
|
|
170
|
+
- 🎙️ **Alarmas de voz** para garreo, colisión AIS y varada (en tu idioma, no voz sintética)
|
|
171
|
+
- 🏔️ **Previsión de abrigo** — al fondear, autodetección de qué sectores están abiertos vs abrigados según las condiciones actuales y previsión hora a hora durante 12 h
|
|
172
|
+
- 🌅 **Mareas oficiales** — IHM España para >70 estaciones, fallback global FES2014 para el resto del mundo; abierto a sugerencias de otras APIs oficiales gratuitas o fiables
|
|
173
|
+
- 🌊 **Medición de olas a bordo** desde tu IMU (sin sensor extra)
|
|
174
|
+
- 📊 **Calculadora de fondeo** — cadena, scope, sonda, predicción de borneo
|
|
175
|
+
- 🌤️ **Previsión meteo** con Open-Meteo (varios modelos, temperatura del mar, altura y período de ola)
|
|
176
|
+
- 🌀 **Integración Windy**: acceso al mapa y previsión de Windy directamente desde el visor
|
|
177
|
+
- ⛵ **Integración Windregatta.com**: un nuevo y prometedor planificador de rutas a vela libre y muy puntero — ¡un gran descubrimiento!
|
|
178
|
+
- 🚀 **Accesos directos a KIP y SK Freeboard** desde el propio visor
|
|
179
|
+
- 🇬🇧 🇪🇸 **UI bilingüe completa** (Inglés / Español) — cambio desde el menú
|
|
180
|
+
|
|
181
|
+
Funciona en **Raspberry Pi** (OpenPlotter), **cualquier Linux** o **macOS / Windows** con Signal K Server.
|
|
182
|
+
|
|
183
|
+
### ⭐ Por qué este plugin
|
|
184
|
+
|
|
185
|
+
La mayoría de apps de anchor watch son de pago, código cerrado, un solo dispositivo y atadas al hardware del fabricante. Esta:
|
|
186
|
+
|
|
187
|
+
- Es **libre y open source** (Apache 2.0).
|
|
188
|
+
- Corre en tu **Signal K Server existente** — sin hardware extra.
|
|
189
|
+
- Muestra la **misma alarma en todos los dispositivos** (móvil, tablet, plotter, pantalla del Pi).
|
|
190
|
+
- Usa los **sensores reales del barco** (veleta, sonda, IMU) cuando están; cae a previsión si no.
|
|
191
|
+
- Tiene **UI mobile-first** que funciona en móvil, monitor grande y el navegador del Pi.
|
|
192
|
+
- Maneja los **casos límite** que sufre el navegante real: AudioContext suspendido tras background, bloqueo de autoplay del navegador, múltiples targets AIS en zona, snooze + un-snooze, etc.
|
|
193
|
+
|
|
194
|
+
### Funcionalidades en detalle
|
|
195
|
+
|
|
196
|
+
#### Anchor watch
|
|
197
|
+
- **Radio de borneo predictivo**: combina sonda, cadena largada y ciclo de marea para predecir el área real de borneo en las próximas 12 h — no un círculo estático.
|
|
198
|
+
- **Dos métodos de cálculo de cadena**: ratio clásico y método Vicente (15 + 2 × sonda).
|
|
199
|
+
- **Detección de garreo** con sirena audible que bypassa el mute del usuario por seguridad.
|
|
200
|
+
- **Track GPS** con coloreado por gradiente temporal para ver exactamente por dónde ha pasado el barco.
|
|
201
|
+
- **Fondeos favoritos** guardados con nombre personalizado (o auto-nombrados por geolocalización).
|
|
202
|
+
|
|
203
|
+
#### Vigilancia de colisión AIS
|
|
204
|
+
- **Alarma de voz** cuando un target AIS entra en tu zona de borneo.
|
|
205
|
+
- **30 s de gracia** antes de que arranque la voz — ves el modal primero, ACK si es falso positivo.
|
|
206
|
+
- **ACK por target** con timestamp, así silenciar un barco no desactiva la alarma para otros.
|
|
207
|
+
- **Detección de garreo en vecinos** — si un barco ya ACKeado empieza a acercarse >5 m/min, la alarma se reactiva.
|
|
208
|
+
- **Estimación del ancla** de otros barcos vía análisis de centroide del track.
|
|
209
|
+
|
|
210
|
+
#### Previsión de abrigo
|
|
211
|
+
- **Rosa de 16 sectores** con detección automática abierto/abrigado desde la línea de costa de OpenStreetMap.
|
|
212
|
+
- **Grado A-F** + **% de protección 0-100** calculado desde el viento previsto en sectores expuestos.
|
|
213
|
+
- **Strip de 12 h** con grado por hora y viento pico.
|
|
214
|
+
- **Historial de olas 24 h** desde el IMU a bordo (RMS de aceleración por banda de intensidad).
|
|
215
|
+
- **Degradación en tiempo real**: si el viento medido por la veleta es mayor que el previsto en un sector expuesto, el grado baja automáticamente.
|
|
216
|
+
|
|
217
|
+
#### Mareas
|
|
218
|
+
- **Predicciones oficiales IHM España** para >70 estaciones con HAT/LAT anual y coeficientes de constituyentes.
|
|
219
|
+
- **Fallback mundial** vía Open-Meteo / FES2014 (USA, UK, Australia, Japón, etc.).
|
|
220
|
+
- **Curva de marea interactiva** con cursor, picos y caché offline de 2 meses.
|
|
221
|
+
- **Sin API key** para ninguna fuente de mareas.
|
|
222
|
+
|
|
223
|
+
#### Previsión meteo
|
|
224
|
+
- **Open-Meteo** integrado (gratis, sin API key, sin problemas de rate limit).
|
|
225
|
+
- **Múltiples modelos**: ICON (DWD), GFS (NOAA), ECMWF, Météo-France Arome, GEM, JMA.
|
|
226
|
+
- **Temperatura del mar, altura, período y dirección de ola** cuando están disponibles.
|
|
227
|
+
- **Tabla horaria 48 h** + resumen colapsable en lenguaje claro.
|
|
228
|
+
|
|
229
|
+
#### Audio y alarmas
|
|
230
|
+
- **Clips de voz por idioma (OGG)** — naturales, no síntesis robótica.
|
|
231
|
+
- **Snooze 5 min** para AIS (garreo nunca es snoozable por seguridad).
|
|
232
|
+
- **Ventana mute-usuario 60 s** — si silencias manualmente, ni el garreo crítico puede reactivar el audio durante 60 s.
|
|
233
|
+
- **Consciente de visibilidad**: cuando la pantalla del móvil despierta, el AudioContext se reanuda automáticamente.
|
|
234
|
+
- **Vibración fallback** en Android cuando la política de autoplay bloquea el audio.
|
|
235
|
+
|
|
236
|
+
#### Cartas y capas
|
|
237
|
+
- **Satélite Esri**, **IHM ENC S-52** (cartas oficiales España), **Batimetría**, **OpenStreetMap**, **OpenSeaMap** señalización marítima, **Bing Hybrid**, **Esri Clarity**, **Google Satélite**.
|
|
238
|
+
- **MBTiles offline** — pon tus archivos `.mbtiles` en una carpeta y aparecen automáticamente.
|
|
239
|
+
- **Cartas registradas en Signal K** — cualquier carta registrada con Signal K aparece como capa.
|
|
240
|
+
- **Slider de opacidad por capa** con valores por defecto editables.
|
|
241
|
+
|
|
242
|
+
#### Domótica / KIP / Freeboard
|
|
243
|
+
- **Botones KIP** para echar/levar y conmutar alarmas — abre Freeboard-SK con un toque desde la sidebar.
|
|
244
|
+
- **Endpoints REST** para Alexa, Google Home, Node-RED, puentes MQTT, dashboards a medida.
|
|
245
|
+
- **Endpoint `/toggle`** para mandos remotos de un solo botón.
|
|
176
246
|
|
|
177
247
|
### URLs
|
|
178
248
|
|
|
179
|
-
| URL |
|
|
180
|
-
|
|
181
|
-
| `/signalk-mareas-ihm/` | Landing —
|
|
182
|
-
| `/signalk-mareas-ihm/mareas` |
|
|
183
|
-
| `/signalk-mareas-ihm/visorfondeo` | Anchor Watch
|
|
249
|
+
| URL | Función |
|
|
250
|
+
|-----|---------|
|
|
251
|
+
| `/signalk-mareas-ihm/` | Landing — Mareas o Anchor Watch |
|
|
252
|
+
| `/signalk-mareas-ihm/mareas` | Vista mareas (directo) |
|
|
253
|
+
| `/signalk-mareas-ihm/visorfondeo` | Anchor Watch viewer (directo) |
|
|
254
|
+
| `/signalk-mareas-ihm/mobile` | Vista mobile-first (recomendada en móviles) |
|
|
184
255
|
|
|
185
|
-
###
|
|
256
|
+
### Domótica — endpoints REST
|
|
186
257
|
|
|
187
258
|
```bash
|
|
188
|
-
#
|
|
259
|
+
# Echar o levar con un botón (auto-detecta el estado actual)
|
|
189
260
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/toggle
|
|
190
261
|
|
|
191
|
-
#
|
|
262
|
+
# Echar ancla en GPS actual
|
|
192
263
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/drop
|
|
193
264
|
|
|
194
|
-
#
|
|
265
|
+
# Levar ancla
|
|
195
266
|
curl -X POST http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/lift
|
|
196
267
|
|
|
197
|
-
#
|
|
268
|
+
# Estado JSON simple (para monitorización / dashboards)
|
|
198
269
|
curl http://openplotter.local:3000/signalk-mareas-ihm/api/anchor-watch/simple
|
|
199
270
|
```
|
|
200
271
|
|
|
201
|
-
###
|
|
272
|
+
### Instalación rápida
|
|
202
273
|
|
|
203
|
-
|
|
274
|
+
Desde el **Appstore de Signal K**: busca `signalk-mareas-ihm` y pulsa instalar.
|
|
204
275
|
|
|
205
|
-
|
|
276
|
+
O desde la línea de comandos:
|
|
206
277
|
|
|
207
278
|
```bash
|
|
208
279
|
cd ~/.signalk
|
|
@@ -210,6 +281,22 @@ npm install signalk-mareas-ihm@latest --save
|
|
|
210
281
|
sudo systemctl restart signalk
|
|
211
282
|
```
|
|
212
283
|
|
|
213
|
-
|
|
284
|
+
Después abre: `http://tu-pi.local:3000/signalk-mareas-ihm/`
|
|
285
|
+
|
|
286
|
+
### Probado en
|
|
287
|
+
|
|
288
|
+
- Raspberry Pi 4 (OpenPlotter V4) — objetivo principal.
|
|
289
|
+
- Linux x64, macOS, Windows 11.
|
|
290
|
+
- Firefox, Chrome, Safari en iOS / Android.
|
|
291
|
+
|
|
292
|
+
### Aviso legal
|
|
293
|
+
|
|
294
|
+
Es una **ayuda a la navegación**, NO un sustituto del anchor watch con vigilancia humana. El autor no se responsabiliza de garreos, colisiones, varadas ni ningún otro incidente. Uso bajo tu propia responsabilidad.
|
|
295
|
+
|
|
296
|
+
### Contribuir y soporte
|
|
297
|
+
|
|
298
|
+
Issues, PRs y peticiones de funcionalidad en el [repo de GitHub](https://github.com/Aitonos/signalk-mareas-ihm).
|
|
299
|
+
|
|
300
|
+
### Licencia
|
|
214
301
|
|
|
215
|
-
|
|
302
|
+
Apache 2.0. Derivado de `signalk-tides` (Brandon Keepers, Joachim Bakke, Scott Bender y contribuidores).
|