Integrar M5Stack StopWatch en HA

En esta entrada vamos a integrar M5Stack StopWatch en HA, un dispositivo que destaca tanto por su atractivo como por su utilidad.

M5Stack StopWatch

El StopWatch es otro de los nuevos dispositivos de M5Stack, que cuenta con las siguientes características:

  • El dispositivo corre sobre una placa ESP32-S3R8, con 16 MB de memoria Flash y 8 MB de PSRAM. Potencia suficiente para aplicaciones complejas.
  • Destaca su pantalla táctil AMOLED redonda de 1,75″ (466×466 píxeles).
  • Incorpora dos botones físicos programables (además del botón de encendido), motor de vibración y un acelerómetro de 6 ejes.
  • También dispone de altavoz y micrófono incorporado, que nos permite usarlo como asistente de voz.
  • Tiene una batería integrada de 450 mAh, y su parte posterior está imantada.

Sin duda alguna, es un dispositivo superútil y versátil. La única pega que tiene es que, a día de hoy, no existe integración «oficial» con Home Assistant, ya que sus componentes son bastante modernos. No obstante, he conseguido crear unos componentes ‘custom’ que me han permitido crear este proyecto! (si quieres saber cómo, no te pierdas el taller de Codex).

Requisitos previos

Para poder integrar M5Stack StopWatch en HA previamente necesitas:

  • Tu M5Stack StopWatch.
  • Haber instalado ESPHome en Home Assistant.
  • Un cable USB-C para alimentar la placa de DATOS (con un cable de carga no vas a poder instalar el software).
StopWatch -14%
M5STACK

StopWatch

5,0

StopWatch es una placa de desarrollo táctil AMOLED redonda diseñada para escenarios portátiles e interactivos. Incorpora un controlador principal ESP32-S3R8 con 16 MB de memoria Flash y 8 MB de PSRAM, y admite comunicación inalámbrica Wi-Fi de 2,4 GHz.

*Algún precio puede haber cambiado desde la ultima revision

Configuración en ESPHome

Sigue estos pasos para integrar M5Stack StopWatch en HA:

  1. En Home Assistant, accede al complemento de ESPHome desde el menú lateral y pulsa en + Create Device > Create new project. Busca la placa «Generic ESP32-S3» y pulsa en «Select».
  2. A continuación, asigna un nombre a tu dispositivo (por ejemplo, «StopWatch») y pulsa en «Finish setup». Verás que se ha creado un nuevo dispositivo con el código base. Copia este código y consérvalo, ya que utilizaremos algún fragmento a continuación.
  3. Reemplázalo por el código de nuestro repositorio de GitHub y actualiza tus credenciales, utilizando el código que copiaste en el paso anterior. En concreto, me refiero a esta parte del código:

M5Stack-StopWatch

# Enable Home Assistant API
api:
  encryption:
    key: "bg6hash6sjdjsdjk02hh0qnQeYVwm123vdfKE8BP5"

ota:
  - platform: esphome
    password: "asddasda27aab65a48484502b332f"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Assist Fallback Hotspot"
    password: "ZsasdasdHGP2234"
  1. Ahora sí, pulsa en “Save” e “Install”. En el popup emergente, pulsa sobre «Advanced options» y elige la opción «Download firmware binary». Espera a que termine y elige la opción «Factory image» para descargar el fichero ‘.bin’ correspondiente.
  2. Ahora ve a la página de ESPHome y pulsa en «Connect». En la ventana emergente, selecciona tu placa y pulsa en «Conectar».
  3. Ahora pulsa en «Install» y selecciona el fichero ‘.bin’ obtenido en el paso 4. De nuevo, pulsa en «Install».
  4. Vuelve a Home Assistant y ve a Configuración > Dispositivos y servicios. Lo normal es que tu dispositivo haya sido descubierto y aparezca en la parte superior, esperando únicamente a que pulses el botón de «Añadir». De lo contrario, pulsa en el botón de «Añadir integración», busca «ESPHome» e introduce la IP de tu placa en el campo ‘Host’. Como siempre, te recomiendo que asignes una IP fija en tu router para evitar fallos en el futuro si esta cambia.
  5. Para terminar, ve a Configuración > Dispositivos y servicios > ESPHome. Pulsa sobre el enlace «Configurar» correspondiente a tu dispositivo. En la ventana emergente, marca la casilla «Permitir que el dispositivo realice acciones de Home Assistant» y pulsa en «Enviar». Esto va a permitir que podamos controlar nuestros dispositivos desde el dispositivo.