# Kit validado: LSN50 v2 + XKC-Y25-V para drenaje ## Qué es Este kit documenta la combinación validada entre: - nodo LoRaWAN `Dragino LSN50 v2.x` - sensor capacitivo `XKC-Y25-V` - circuito de adaptación para leer el estado del sensor sobre `PA12` - codec de ChirpStack con `decodeUplink()` y `encodeDownlink()` - lógica de operación orientada a drenaje en invernadero hidropónico NGS ## Qué problema resuelve Permite: 1. alimentar el `XKC-Y25-V` desde el propio nodo, sin fuente externa 2. leer el estado del sensor por entrada digital 3. transportar ese estado por LoRaWAN hasta ChirpStack 4. cambiar remotamente por downlink: - `TDC` - `5VT` 5. dejar una base técnica válida para una vertical de drenaje controlable desde el stack MESAVAULT ## Qué queda validado en este kit - el circuito funcional con `pull-up + diodo` - el pin correcto de entrada digital: `PA12` - el mapeo correcto del payload: `byte6 & 0x02` - el uso de downlinks: - `set_tdc` - `set_5vt` - el comportamiento de `5VT` como ventana real de alimentación del sensor - el uso de `TDC` para controlar la frecuencia de muestreo ## Qué no pertenece a este kit Este kit **no** contiene todavía toda la vertical reusable. No deben vivir aquí: - scheduler multi-sensor - SQL de `mv_control.*` - `pg_sink.py` - dashboards finales de Grafana - routing de OVH - tenant de cliente - integración final con `/control/ui` Eso pertenece a: - `30-verticals/climate-drainage-ngs/` - `10-platforms/homelab/platform-40/` - `10-platforms/ovh-cloud/` ## Resultado real El resultado de este trabajo no es solo “hacer que un sensor mande 0/1”. Lo que queda validado aquí es una combinación técnica reusable y replicable que sirve como base de un pequeño sistema productizable dentro de MESAVAULT. ## Referencias cruzadas - activo base del nodo: `20-assets/models/dragino/lsn50-v2/` - vertical asociada: `30-verticals/climate-drainage-ngs/` - referencia humana en BookStack: `pendiente_de_crear` - referencia de secretos en Vaultwarden: `pendiente_de_crear`