37 lines
2.3 KiB
Markdown
37 lines
2.3 KiB
Markdown
# Parches para htracker (rama `feature/test500unidades`)
|
|
|
|
Parches propuestos al backend que **no** se aplican desde aquí: Gibran es el dueño de `htracker`.
|
|
Se generan contra la última `origin/feature/test500unidades` (`retranslator.py` no cambió entre
|
|
`d8dc4cf` y `2cdcb5e`) y se prueban con el parser real antes de proponerlos.
|
|
|
|
## 2026-09-18 — `retranslator_phlg-v5-extra_phev_alertas.patch` (fw 0.5.1-fm)
|
|
|
|
Aplicar en el clon del servidor o en el Mac:
|
|
|
|
```bash
|
|
cd htracker && git checkout feature/test500unidades && git pull --ff-only
|
|
git apply --check ../../02-Architecture-Software/htracker-patches/2026-09-18_retranslator_phlg-v5-extra_phev_alertas.patch
|
|
git apply ../../02-Architecture-Software/htracker-patches/2026-09-18_retranslator_phlg-v5-extra_phev_alertas.patch
|
|
python3 -m py_compile retranslator.py
|
|
```
|
|
|
|
Qué hace (solo `retranslator.py`, 152 líneas; `web_monitor.py` queda para Gibran):
|
|
|
|
1. **`$PHLG` de 29 campos** (`_PHLG_FIELDS_V5_EXTRA = up_s, pwr, v5min, vbat_min, bkp_n`). Append-only:
|
|
las tramas de 21 (v2.x) y 25 (v3.x) campos siguen parseando igual.
|
|
2. **`$PHEV,<up_s>,<CODIGO>,<detalle>*CS`** — eventos en banda (STACK_ON/OFF, BACKUP_START/END, RECOVERY,
|
|
LIMP, TEMP_CUT/REARM, V5_LOW/LOST/OK, IGN_ON/OFF, SLEEP, MODOB_ON/OFF, BOOT). Se guardan los últimos 200 por
|
|
unidad (`DEVICE_EVENTS`) y salen en el status JSON como `events` (últimos 20, con `age_s`).
|
|
3. **Reglas de diagnóstico** en `_note_health` (van al log como WARNING → Loki/Grafana):
|
|
- `reset_cause=IWDG` → el MCU se colgó.
|
|
- `up_s` bajó → reinicio; ≥ 2 en una hora → «¿BUCLE DE ARRANQUE?». `reboots_1h` sale en el snapshot.
|
|
- `recoveries` subió → la unidad cicló la etapa RTK.
|
|
- `v5min < 4.60 V` con el riel presente → zona PFI del LTC4040: ajustar la fuente del gabinete a ~5.3 V.
|
|
- `pwr=BATT` → en respaldo (cargador OFF en 0.x: el paquete es de un solo uso); regreso a `VEH` en INFO.
|
|
|
|
Probado con el parser real: tramas de 24 y 29 campos, `$PHEV`, checksum malo rechazado, y las cinco reglas disparan.
|
|
|
|
Sugerencias para `web_monitor.py` (Gibran): columna «Eventos» (últimos `events`), badge `reboots_1h`,
|
|
`v5min` junto a `v5v` en el medidor de riel, `pwr=BATT` en amarillo, y graficar el RSSI que ya viene en
|
|
`$GPTXT,NET,H00xx,TELCEL,<rssi>,…`.
|