Vamos a controlar la opción de apertura de puerta de un telefonillo de portero automático con Home Assistant.
Para ello, haremos uso de la configuración basada en Wemos D1 mini que indicamos en un artículo previo.
Elementos necesarios
Para llevar a cabo nuestro montaje, necesitaremos los siguientes componentes:
- Wemos D1 mini
- Módulo relé para Wemos D1 mini
- Peines de pines
- Telefonillo de portero automático universal tipo 4+N
Asimismo, necesitaremos un servidor Home Assistant, sobre el que realizaremos el control del sistema.
Montaje del circuito
Montaremos el módulo relé sobre el dispositivo Wemos. Luego, conectaremos los cables del telefonillo 1 y 3 (apertura y tierra, respectivamente) a los terminales NO (normalmente abierto) y común.
En este caso, hemos utilizado un telefonillo universal cuyos bloques terminales están numerados a la inversa (del 6 al 1).
Configuración de ESPHome
Vamos a plantear un código YAML que permite controlar el relé desde Home Assistant. Nótese que el pin que lo activa es el D1. Hemos añadido código que limita el tiempo de pulsación a 3 segundos (puede ser ajustado con la variable «tiempo_pulsado»).
substitutions:
devname: 'telefonillo'
ssid: 'red'
password: 'clave'
tiempo_pulsado: '3s'
esphome:
name: ${hostname}
esp8266:
board: d1_mini
wifi:
ssid: ${ssid}
password: ${password}
fast_connect: True
api:
logger:
sensor:
- platform: wifi_signal
name: "${devname}: WiFi Signal"
update_interval: 60s
time:
- platform: homeassistant
switch:
- platform: gpio
name: "${devname} Rele"
pin: D1
id: rele
internal: true
- platform: template
name: "${devname} Boton"
icon: mdi:button-pointer
lambda: |-
if (id(rele).state) {
return true;
} else {
return false;
}
turn_on_action:
- switch.turn_on: rele
- delay: "${tiempo_pulsado}"
- switch.turn_off: rele
turn_off_action:
switch.turn_off: rele
Podemos subir el código a nuestro Wemos D1 mini con esphome.
$ esphome run telefonillo.yaml --device /dev/ttyUSB0
Instalación
Podemos crear una caja en 3D para el conjunto Wemos y relé. Para ello, podemos utilizar la siguiente pieza disponible en Thingiverse.
Usaremos PLA a una resolución de 0,2 milímetros y un relleno al 20% de tipo cúbico. El diseño se reparte entre tres archivos STL.
Una vez realizada la impresión, solo queda montar el conjunto en la caja, situarla junto al telefonillo y darle alimentación.
Integración en Home Assistant
Por lo general, el dispositivo será automáticamente detectado por Home Assistant. En todo caso, siempre se puede añadir mediante el menú de Ajustes -> Integraciones -> [+ AÑADIR INTEGRACIÓN].
Podemos añadir un botón en nuestro panel de control con el siguiente YAML:
show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.telefonillo_boton
show_state: false
hold_action:
action: none
Se visualizará como la siguiente imagen: