Home Assistant #44: Integramos un teclado numérico con ESPHome de 2€

Home Assistant #44: Integramos un teclado numérico con ESPHome de 2€

Muchos tenemos sistemas de seguridad integrados en Home Assistant para poder tener una alarma, más o menos compleja, para poder tener nuestra casa controlada cuando no estamos en ella y en muchos casos necesitamos un teclado numérico, y, en este pequeño tutorial os explico como integrar uno.

Explicación de la integración

Para aquellos que estéis un poco perdidos, para este tutorial lo que haré será usar un teclado numérico económico junto a un ESP32 y controlaré e integraré todo con ESPHome. En Home Assistant cada tecla nos aparecerá como un sensor binario, por lo que podemos usarlos de diferentes formas los teclados, no solo como números.

Como he dicho, necesitaréis tener instalado ESPHome para poder integrar y por si lo necesitáis, os paso la lista de lo que he usado.

Lista de la compra para integrar un teclado numérico en Home Assistant

  • ESP32: Es el microcontrolador que he usado, pero, si queréis, podéis usar igualmente el ESP8266, aunque, por la diferencia de precio, yo me iría al ESP32 porque le podremos sacar más partido adelante. Si queréis el ESP32 podéis comprarlo aquí, si buscáis el ESP8266, podéis comprarlo aquí.
  • Teclado numérico MPR121 integrado por I2C. El que yo he usado es el que podéis comprar aquí.
  • Cables dupont que podéis comprar aquí

Conexión del teclado al ESP32

El teclado funciona con el protocolo I2C, por lo que necesitaremos conectar SDA y SCL de nuestro teclado a, en el caso del ESP32, SDA estará en el pin 21 y SCL en el 22, mientras que si trata del ESP8266, SDA será el GPIO4 y el SCL estará en GPIO5. Además, tendremos que alimentar con 3.3v el teclado, para eso, si usáis una placa de desarrollo como os he puesto, podréis sacar 3.3v del pin primero (al lado del botón BOOT) y gnd lo sacaremos del segundo pin de la otra fila (encima de Vin).

Haz click para ver el pase de diapositivas.

En el caso del ESP8266 para la alimentación, dependiendo de la placa que tendréis, podréis alimentar de los mismos 3.3v y gnd con que alimentéis la placa.

Una vez hecho esto, tenemos conexionado correctamente nuestro teclado y listo para ir a ESPHome para poder meter el código que necesitamos.

Integración del teclado MPR121 en ESPHome

Para poder empezar a trabajar, necesitaréis instalar ESPHome, que si venís siguiendo los tutoriales, ya lo tendréis instalado, por lo que podéis seguir leyendo para completar el tutorial.

Como he dicho, yo lo he implementado todo en un ESP32, por lo que el proyecto en ESPHome será sobre un ESP32 y, el código que necesitaréis será el siguiente:

esphome:
  name: teclado
  platform: ESP32
  board: esp-wrover-kit

wifi:
  ssid: "NOMBREWIFI"
  password: "clavewifi"

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: 'claveapi'

ota:
  password: 'claveapi'
  
i2c:
  sda: 21
  scl: 22
  scan: True
  
mpr121:
  id: mpr121_component
  address: 0x5A
  touch_debounce: 1
  release_debounce: 1
  touch_threshold: 10
  release_threshold: 7

binary_sensor:
  - platform: mpr121
    id: touch_key0
    channel: 0
    name: "Tecla 0"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key1
    channel: 1
    name: "Tecla 1"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key2
    channel: 2
    name: "Tecla 2"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key3
    channel: 3
    name: "Tecla 3"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key4
    channel: 4
    name: "Tecla 4"
    touch_threshold: 12
    release_threshold: 6

  - platform: mpr121
    id: touch_key5
    channel: 5
    name: "Tecla 5"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key6
    channel: 6
    name: "Tecla 6"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key7
    channel: 7
    name: "Tecla 7"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key8
    channel: 8
    name: "Tecla 8"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key9
    channel: 9
    name: "Tecla 9"
    touch_threshold: 12
    release_threshold: 6

  - platform: mpr121
    id: touch_key10
    channel: 10
    name: "Tecla 10"
    touch_threshold: 12
    release_threshold: 6
    
  - platform: mpr121
    id: touch_key11
    channel: 11
    name: "Tecla 11"
    touch_threshold: 12
    release_threshold: 6

Para explicar un poco el funcionamiento, se necesita configurar la parte de la WiFi, para que tenga conectividad y, para el teclado, es necesario declarar el I2C con los pines por donde viene, así como el módulo para soportar el teclado y, finalmente, hace falta declarar cada tecla como un sensor binario que, en Home Assistant, indicará si está o no pulsado.

Vista en Home Assistant del teclado numérico MPR121

Como hemos dicho antes, cada número pasa a ser un sensor binario en el que podemos ver si se ha pulsado o no a la hora de integrarlo en Home Assistant, por lo que ya es decisión nuestra la manera de usarla.

Se puede usar como numérico, pero realmente podríamos hacernos un mando a distancia para Home Assistant con 12 teclas para realizar las acciones más comunes, por lo que sería muy práctico y barato.

 

Ver esta publicación en Instagram

 

Teclado numérico en #homeassistant usando #esphome sobre #esp32 . Mañana #tutorial en la web! #iot #diy

Una publicación compartida de Domotica en Casa (@domoticaencasa) el

Para poder usar cualquier botón del teclado, tendríamos que usarlo como haríamos como con cualquier sensor binario:

- id: '9999990001'
  alias: Pulsación del 1
  trigger:
  - platform: state
    entity_id: binary_sensor.tecla_1
    from: 'off'
    to: 'on'
 action:
 - service: notify.telegramgrupo
   data:
     message: 'Pulsada la tecla 1'

De esta forma, mandaríamos un mensaje a nuestro Telegram (si lo tenéis configurado).

¿Os ha salido?

La entrada Home Assistant #44: Integramos un teclado numérico con ESPHome de 2€ se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .