La idea detrás de este proyecto es la que más me importa cuando hablo de smart home: tus datos se quedan en tu casa. Sin suscripciones, sin servidores de terceros, sin ningún sensor que envíe la temperatura de tu salón a saber dónde. Solo hardware que posees y software de código abierto. Así lo hice.

Hardware y montaje

La lista de la compra es deliberadamente mínima. No hace falta mucho para empezar:

  • Raspberry Pi 5 (4 GB): el cerebro del sistema. En ella corren n8n, la base de datos y Grafana, todo junto, sin esfuerzo. Una Pi 4 también va perfectamente bien.
  • Sensor DHT22: mide temperatura y humedad con buena precisión (±0,5 °C). Cuesta pocos euros y es el punto de partida clásico para el IoT casero.
  • Cables jumper y una resistencia de 10kΩ: para conectar el DHT22 a los pines GPIO. El sensor tiene tres cables — alimentación, datos y masa — y la resistencia pull-up en la línea de datos hace que las lecturas sean estables.
  • Fuente de alimentación oficial: con la Pi 5 conviene no escatimar en la alimentación, para evitar reinicios bajo carga.

Un detalle que aprecio: el consumo energético. Todo el montaje consume de media 4-6 vatios, incluso con todos los servicios activos. Manteniéndolo encendido 24/7 supone unos 1,50 € al mes en la factura — menos que un café, por un sistema siempre operativo.

Leer los datos con Python y n8n

El DHT22 se consulta fácilmente desde Python con la librería adafruit-circuitpython-dht. Mi script hace tres cosas: lee el sensor, construye un pequeño JSON con temperatura, humedad y timestamp, y lo envía a n8n.

El puente entre el sensor y la automatización es un webhook de n8n. El script de Python hace un simple POST a la URL del webhook cada 60 segundos (gestionado por un cron del sistema). El flujo es este:

  1. El script de Python lee el DHT22 y envía { "temp": 24.3, "hum": 48, "ts": "..." } al webhook.
  2. El nodo Webhook de n8n recibe los datos y los pasa al flujo.
  3. Un nodo de escritura guarda la lectura en una base de datos de series temporales (uso InfluxDB, pero una tabla SQLite también sirve perfectamente para empezar).
  4. El mismo flujo evalúa si la temperatura ha superado un umbral — y aquí entran en juego las alertas, de las que hablo más adelante.

La ventaja de pasar por n8n en lugar de escribirlo todo en Python es que cada cambio en la lógica — un nuevo umbral, un nuevo destino, una nueva alerta — lo hago arrastrando nodos, sin tocar código y sin reiniciar nada.

Dashboard en tiempo real con Grafana en la Pi

Los datos en bruto no dicen mucho: hacen falta gráficos. Grafana es la herramienta perfecta y corre tranquilamente en la misma Raspberry Pi.

La instalación es directa: se añade el repositorio oficial de Grafana, se instala el paquete y se activa el servicio. En pocos minutos tienes la interfaz web accesible desde la red local en el puerto 3000.

La configuración que importa es el datasource:

  • Añade InfluxDB (o la base de datos que hayas elegido) como fuente de datos, apuntando a localhost ya que corre en la misma máquina.
  • Crea un panel con la consulta de temperatura y configura el refresco automático a 30 segundos.
  • Añade un segundo panel para la humedad y, si quieres, un umbral visual que ponga el gráfico en rojo cuando se supere el límite.
Ver la curva de temperatura actualizarse en tiempo real en el móvil, cómodamente sentado en el sofá, da una pequeña pero real satisfacción de maker.

Alertas automáticas en Telegram

Un dashboard solo es útil si lo miras. Para que me avisen incluso cuando no estoy pendiente, añadí alertas en Telegram directamente dentro de n8n.

La lógica es sencilla y vive en el mismo flujo que recibe los datos del sensor:

  1. Un nodo IF comprueba en cada lectura si la temperatura supera el umbral (para mí, 28 °C en verano, por debajo de 16 °C en invierno).
  2. Si se supera el umbral, un nodo Telegram me envía un mensaje del tipo "Despacho a 29,1 °C — ¿enciendo el aire acondicionado?".
  3. Un control antispam: guardo la hora de la última alerta y solo envío una nueva si ha pasado al menos una hora, así no recibo veinte notificaciones por la misma ola de calor.

Con algún nodo más, el mismo mecanismo podría incluso accionar un enchufe inteligente para encender un ventilador — pero eso es material para un próximo artículo.

Conclusión

Con menos de cien euros de hardware y unas horas de trasteo, tengo un sistema de monitorización ambiental que es completamente mío: sin suscripciones, sin datos que salgan de casa, total libertad para modificarlo. Es el proyecto pequeño perfecto para entender cómo se comunican sensores, automatización y visualización.

El IoT hecho en casa no es solo un hobby: es la mejor forma de recuperar el control de la tecnología que nos rodea. Si estos temas te apasionan, suscríbete a la newsletter — el próximo artículo lo dedico precisamente a la automatización de un enchufe inteligente.