
Este artículo puede contener enlaces de afiliado. Si compras desde estos enlaces, el precio para ti es el mismo y la tienda me paga una pequeña comisión que ayuda a mantener Tecnoyfoto.
Actualizado el 27 de agosto de 2026 · Pull-up, lógica invertida, cableado largo, rebotes y estados seguros revisados.
Un contacto magnético de puerta es una de las entradas más simples y fiables que puedes conectar a ESPHome. Está formado por un imán y un interruptor reed: al acercarlos o separarlos, el contacto cambia de estado. No necesita alimentación propia y Home Assistant recibe una entidad de puerta abierta o cerrada.
La dificultad no está en el YAML, sino en elegir la lógica correcta, evitar una entrada flotante y prever qué ocurre si se corta un cable o se reinicia el microcontrolador.
NO, NC y la posición del imán
Las siglas NO y NC describen el contacto en una condición de referencia, pero los vendedores no siempre explican si se refieren al imán presente o ausente. Antes de instalarlo, comprueba continuidad con un multímetro en las dos posiciones.
- Con el contacto entre GPIO y GND y una pull-up, circuito cerrado = nivel bajo.
- Circuito abierto = la resistencia lleva el GPIO a nivel alto.
- Home Assistant interpreta una entidad
device_class: dooren ON como puerta abierta y OFF como cerrada.
Si el reed se cierra cuando la puerta está cerrada, el cableado anterior funciona sin invertir: puerta cerrada → LOW → OFF; puerta abierta → HIGH → ON. Si tu contacto actúa al revés, utiliza inverted: true o cambia de terminal en un sensor con contacto conmutado.
Cableado recomendado
- Un hilo del contacto → GPIO4 (D2) en ESP8266.
- El otro hilo → GND.
- Activar la resistencia pull-up interna del GPIO.
- En ESP32, utilizar por ejemplo GPIO27 o un pin libre seguro de tu placa.
GPIO4 y GPIO5 son opciones cómodas en ESP8266. Evita GPIO0, GPIO2 y GPIO15 porque condicionan el arranque. Mantén este circuito de baja tensión separado del cableado de red.
ESPHome con pull-up y antirrebote
binary_sensor:
- platform: gpio
name: "Puerta entrada"
device_class: door
pin:
number: GPIO4
mode:
input: true
pullup: true
inverted: false
filters:
- delayed_on: 50ms
- delayed_off: 50msLos filtros eliminan rebotes mecánicos muy breves. No pongas varios segundos de retardo salvo que lo necesites: una puerta de seguridad debe reflejar el cambio con rapidez. inverted: false puede omitirse, pero lo dejamos visible para documentar la lógica.
Cuándo utilizar inverted: true
| Puerta | Nivel leído | Estado deseado | Inversión |
|---|---|---|---|
| Cerrada | LOW | OFF / cerrada | false |
| Abierta | HIGH | ON / abierta | false |
| Cerrada | HIGH | OFF / cerrada | true |
| Abierta | LOW | ON / abierta | true |
No decidas la inversión mirando únicamente si el contacto se llama NO o NC. Observa en los registros qué nivel produce con la puerta abierta y cerrada, y comprueba que la interfaz muestra el estado físico correcto.
Cableado largo y entornos con ruido
La pull-up interna suele bastar para un cable corto. En recorridos largos, la impedancia alta facilita que el cable actúe como antena. Utiliza par trenzado, un hilo para señal y otro para GND, y mantenlo lejos de motores, relés y cables de 230 V.
- Añade una pull-up externa de 4,7 a 10 kΩ a 3,3 V cerca del microcontrolador.
- Un condensador de 100 nF entre entrada y GND puede filtrar impulsos breves.
- Reduce primero el ruido físico antes de aumentar mucho los retardos de software.
- Para recorridos exteriores o edificios distintos, utiliza aislamiento y protección contra sobretensiones diseñados para ello.
Una resistencia externa de menor valor hace la entrada menos sensible al ruido, a costa de consumir una pequeña corriente adicional cuando el contacto está cerrado; con los valores indicados, menos de 1 mA. No conectes protección improvisada a una línea expuesta a descargas o red eléctrica.
Diseño seguro ante un cable cortado
En una instalación orientada a seguridad interesa que cortar el cable no parezca una puerta cerrada. Con un lazo cerrado cuando la puerta está cerrada, una rotura abre el circuito y el sistema muestra puerta abierta. Es un comportamiento más seguro, aunque no distingue entre apertura real y avería.
Para distinguir sabotaje se necesitan resistencias de fin de línea y una entrada analógica o un módulo de alarma diseñado para supervisarlas. Un GPIO digital con un reed simple no puede diferenciar todos los fallos.
Qué ocurre al reiniciar o perder conexión
- Al arrancar, ESPHome publica el estado que lee en el GPIO.
- Si el nodo queda desconectado, Home Assistant debe mostrar la entidad como no disponible.
- Una automatización de alarma debe tratar “no disponible” como una condición a revisar, no como “cerrada”.
- Conserva una forma de acceder por USB si el nodo está instalado en un lugar crítico.
Montaje físico
- Presenta las dos piezas con cinta provisional.
- Comprueba el estado con la puerta abierta, cerrada y ligeramente entreabierta.
- Deja margen para holguras, dilatación y movimiento de la puerta.
- Fija el contacto sin deformar su carcasa.
- Sujeta el cable para que no tire de los terminales.
El imán y el reed no necesitan tocarse. Una separación excesiva provoca cambios intermitentes; una posición demasiado justa puede fallar cuando la puerta se descuelga unos milímetros.
Solución de problemas
| Síntoma | Qué revisar |
|---|---|
| Estado siempre abierto | Continuidad, distancia del imán, GND y pull-up |
| Estado al revés | Cambiar inverted tras medir los dos estados |
| Falsas aperturas | Par trenzado, pull-up externa, separación de red y filtro corto |
| No arranca el ESP8266 | Mover la entrada fuera de GPIO0/GPIO2/GPIO15 |
| Home Assistant dice cerrada sin conexión | Revisar disponibilidad y lógica de la automatización |
Si prefieres conectar el contacto a un relé comercial, consulta también el sensor de puerta magnético con Shelly.
Fuentes comprobadas
- ESPHome: GPIO Binary Sensor.
- ESPHome: plataforma ESP8266.
- ESPHome: configuración de pines e inversión.
Continúa leyendo
Siguiente guía relacionada · 11 min de lectura
Alfombrilla Sensor de Presión: Guía DIY para Home Assistant
Actualizado el 29 de enero de 2026 En el vertiginoso mundo de la domótica de 2026, donde los sensores de radar y presencia con…
Continuar con este artículo

