HectorziN - Domótica y Home Assistant
Blog de HectorziN
Volver a todas las entradas

CrowPanel ESP32-P4 con Home Assistant: pantalla, sensores, notificaciones, dashboard y asistente de voz

La CrowPanel ESP32-P4 es una de esas pantallas que, a primera vista, parece una tablet pequeña para hacer pruebas. Pero en realidad puede convertirse en algo mucho más interesante: un panel táctil para Home Assistant, una pantalla de sensores, un sistema de notificaciones, un dashboard domótico e incluso un punto de interacción por voz. En este artículo voy a enseñarte todo lo que he probado con esta pantalla: desde la conexión inicial del hardware hasta la integración con ESPHome, la visualización de sensores de Home Assistant, un panel de calidad del aire, notificaciones con texto en pantalla, dashboards completos tipo WallPanel y una prueba final usando la pantalla como Voice Assistant. La idea no es simplemente encender la pantalla. La idea es convertirla en un dispositivo útil dentro de una instalación real de domótica.

En YouTube comparto más tutoriales, pruebas y domótica real. Suscribirme

CrowPanel ESP32-P4 con Home Assistant: pantalla, sensores, notificaciones, dashboard y asistente de voz

Vídeo relacionado en YouTube

Video

1. Qué es la CrowPanel ESP32-P4

La pantalla que estoy probando en este proyecto es una CrowPanel basada en ESP32-P4, en formato de 10.1 pulgadas (1024x600 px). Es una pantalla táctil pensada para proyectos embebidos, desarrollo gráfico, interfaces HMI y pruebas avanzadas con ESP32.

Lo interesante es que no estamos ante una tablet Android tradicional. La CrowPanel no funciona como una tablet convencional, sino como una pantalla controlada por firmware que podemos personalizar con ESPHome y usar dentro de Home Assistant.

En el vídeo parto de la pantalla prácticamente desde cero: conectando el módulo WiFi, la antena, los altavoces y la alimentación antes de empezar a integrarla con Home Assistant.

2. Por qué esta pantalla es interesante para Home Assistant

Muchos usuarios de Home Assistant utilizan una tablet Android como panel de pared. Es una solución válida, pero también tiene algunos inconvenientes:

  • Dependes de Android.
  • Puede haber problemas de batería si está siempre enchufada.
  • El sistema operativo puede cerrar apps en segundo plano.
  • Puede tener más consumo.
  • No siempre queda bien integrada.
  • No está pensada específicamente para proyectos embebidos.

La CrowPanel plantea un enfoque distinto: una pantalla dedicada, basada en ESP32-P4, que podemos configurar para mostrar información concreta de Home Assistant, notificaciones, dashboards e incluso usar como interfaz de voz.

No es una solución para todos los usuarios, pero para quien disfruta con Home Assistant, ESPHome y ESP32, abre muchas posibilidades.

3. Montaje inicial del hardware

Lo primero que hay que hacer es preparar físicamente la pantalla.

En mi caso, el proceso inicial incluye:

  • Conectar el módulo WiFi.
  • Revisar la orientación del módulo.
  • Quitar las pegatinas que tapan algunos agujeros.
  • Conectar la antena WiFi.
  • Colocar los altavoces.
  • Conectar el cable de alimentación.
  • Encender la pantalla por primera vez.

La pantalla también incluye soporte para tarjeta microSD, algo que puede resultar útil en algunos proyectos. Tras encenderla, aparece una interfaz básica con algunas aplicaciones de prueba, incluyendo un pequeño juego y una app de música que sirve para comprobar que los altavoces funcionan.

4. Instalación de ESPHome Device Builder

Una vez comprobado que la pantalla enciende correctamente, el siguiente paso es integrarla con Home Assistant usando ESPHome.

Desde Home Assistant hay que ir a:

Configuración → Complementos / Add-ons → ESPHome Device Builder

En el vídeo utilizo la versión estable de ESPHome Device Builder, no la beta. Una vez instalado, se puede activar la vigilancia y decidir si queremos mostrar o no el panel lateral. No es obligatorio tenerlo siempre visible, porque ESPHome se puede abrir directamente desde su interfaz web.

Después se crea un nuevo dispositivo desde:

ESPHome → New Device

En mi caso le puse un nombre tipo “crowpanel”

Aquí hay que tener en cuenta un detalle: el ESP32-P4 no siempre aparece directamente como opción recomendada dentro de ESPHome, por lo que inicialmente podemos elegir una configuración aproximada y después sustituirla por el YAML correcto.

5. Primer firmware de prueba en la CrowPanel

Para la primera prueba utilizo uno de los ejemplos disponibles para esta pantalla (https://github.com/Elecrow-RD/CrowPanel-Advanced-10.1inch-ESP32-P4-HMI-AI-Display-1024x600-IPS-Touch-Screen/tree/master/example/V1.2/ESPHome). La idea inicial es comprobar que podemos compilar un firmware, cargarlo en la CrowPanel y verla aparecer como dispositivo online en ESPHome.

El proceso general es:

  1. Descargar los archivos del ejemplo.
  2. Copiar los iconos PNG necesarios.
  3. Abrir el YAML del ejemplo.
  4. Sustituir el contenido del YAML generado por ESPHome.
  5. Guardar.
  6. Compilar.
  7. Descargar el firmware.
  8. Flashear manualmente la pantalla usando ESPHome Web.

En el vídeo también aparece un error sencillo: el nombre del dispositivo tenía puntos, y ESPHome no permite usar puntos en ese nombre. La solución fue sustituirlos por guiones.

Después de compilar, se descarga el firmware en formato factory y se instala conectando la pantalla por USB al ordenador. La parte de instalación tarda un rato, especialmente durante el borrado y escritura de la memoria, así que es normal que durante uno o dos minutos parezca que no avanza.

Código utilizado para este ejemplo: https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-test-1-show-connected-sensors

6. Enviar sensores de Home Assistant a la CrowPanel

Una vez instalado el primer firmware, la pantalla aparece online en ESPHome y también como dispositivo dentro de Home Assistant.

El ejemplo inicial crea algunas entidades, como un interruptor virtual y sensores de temperatura y humedad. Pero esos sensores no tienen valores reales, porque el ejemplo asume que hay sensores físicos conectados directamente a la pantalla.

Como en mi caso no he conectado sensores físicos a la CrowPanel, lo que hago es sustituir esos sensores por entidades reales de Home Assistant. De esta forma, la pantalla muestra datos que ya existen en mi instalación domótica.

Por ejemplo:

  • Temperatura del salón.
  • Humedad.
  • Sensores ambientales.
  • Cualquier entidad compatible de Home Assistant.

La idea es usar sensores de tipo homeassistant dentro del YAML de ESPHome y asociarlos a las variables internas que se muestran en pantalla.

Código utilizado para este ejemplo: https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-test-2-show-home-assistant-sensors

Ejemplo de estructura

yaml
sensor:
  - platform: homeassistant
    id: room_temp
    entity_id: sensor.temperatura_salon

  - platform: homeassistant
    id: room_humidity
    entity_id: sensor.humedad_salon

Este bloque es solo un ejemplo orientativo. En el artículo final deberías enlazar el YAML exacto que uses en el vídeo.

7. Crear un monitor de calidad del aire

Después de mostrar temperatura y humedad, el siguiente paso es crear algo más útil: un pequeño monitor de calidad del aire.

En mi caso parto de un panel que ya tengo en Home Assistant y llevo esos datos a la pantalla. Para ello, cambio los sensores anteriores por entidades relacionadas con la calidad del aire.

Por ejemplo:

  • CO₂.
  • PM2.5.
  • PM10.
  • Temperatura.
  • Humedad.
  • VOC.
  • Estado general de calidad del aire.

En el vídeo explico que básicamente se sustituyen los sensores anteriores por cada una de las entidades reales de calidad del aire y se elimina el switch que ya no necesitamos.

El primer resultado es funcional, pero bastante simple: etiquetas con el nombre de cada sensor y su valor.

Calidad del aire en texto en CrowPanel Advanced 10 1inch ESP32 P4 HMI AI Display

8. Añadir iconos personalizados

Una vez que los sensores aparecen en pantalla, el siguiente paso es mejorar la parte visual.

Para ello se pueden usar iconos PNG personalizados. En mi caso, generé iconos para cada entidad y los copié en la carpeta de ESPHome dentro de Home Assistant. Después modifiqué el YAML para indicar qué icono se debe mostrar y en qué posición.

Esto cambia mucho la percepción del proyecto. Pasamos de una pantalla funcional pero bastante técnica a un panel mucho más visual.

Código utilizado para este ejemplo: https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-test-3-air-quality

Ruta habitual para los iconos

bash
/config/esphome/
Monitor de calidad del aire con iconos en la CrowPanel Advanced 10 1inch ESP32 P4 HMI AI Display

9. Mostrar notificaciones en la CrowPanel

Una vez que tenemos la pantalla mostrando sensores, surge una posibilidad muy interesante: usarla para mostrar notificaciones de Home Assistant.

Esto permite que la pantalla no sea solo un panel pasivo, sino también una forma de avisarnos de cosas importantes.

Ejemplos de notificaciones útiles:

  • Lavadora terminada.
  • Puerta abierta.
  • Ventana abierta.
  • Alarma activada.
  • Movimiento detectado.
  • Consumo eléctrico elevado.
  • Calidad del aire mala.
  • Recordatorio importante.

En el vídeo creo una segunda página en la pantalla para mostrar texto de notificación. La pantalla cambia temporalmente desde la vista de sensores a una vista de aviso.

10. Notificaciones con scroll y retorno automático

El siguiente paso es mejorar las notificaciones para que sean más útiles.

En el primer ejemplo, el texto aparece en pantalla, pero si el mensaje es largo puede no verse correctamente. Para solucionarlo, se puede hacer que el texto se desplace con scroll.

En el vídeo se muestra cómo, al escribir un mensaje nuevo en Home Assistant, aparece en la pantalla con scroll y, cuando termina, la pantalla vuelve automáticamente a la vista de sensores.

Esta parte me parece una de las más interesantes del proyecto porque convierte la CrowPanel en un pequeño centro de avisos para la vivienda.

Código utilizado para este ejemplo: https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-test-4-air-quality-and-notifications
Notificación con Scroll en la CrowPanel Advanced 10 1inch ESP32 P4 HMI AI Display

Ideas de uso real

Puedes usar este sistema para avisos como:

  • La puerta del garaje lleva 10 minutos abierta
  • La calidad del aire ha empeorado, abre una ventana
  • La lavadora ha terminado
  • Hay movimiento en la entrada
  • La alarma está activada

11. Convertir la CrowPanel en un dashboard completo de Home Assistant

Hasta este punto hemos usado la CrowPanel para mostrar pantallas diseñadas directamente en ESPHome.

Pero hay otra posibilidad más potente: mostrar dashboards completos de Home Assistant.

En el vídeo doy un paso más y utilizo un sistema tipo WallPanel para que la CrowPanel pueda visualizar paneles de Home Assistant. Esto requiere añadir un repositorio, instalar una app o complemento, descargar componentes específicos y copiar archivos dentro de la carpeta de ESPHome.

El proceso general es:

  1. Añadir el repositorio correspondiente en Home Assistant: https://github.com/fintros/RemoteWebViewServer/tree/main
  2. Instalar la aplicación
  3. Descargar el código de https://github.com/fintros/ESPHome-CrowPanel-ESP32-P4
  4. Extraer la carpeta components y archivo CrowPanelAdv10.yaml
  5. Ajustar credenciales WiFi.
  6. Ajustar la URL de Home Assistant.
  7. Adaptar el firmware a nuestro modelo concreto.
Código final corregido utilizado para este ejemplo: https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-wallpanel
Addon de home assistant corregido:
https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-config-yaml
https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-dockerfile
https://gist.github.com/hectorzin/25483aac4dc888cddab0302b8d19a039#file-run-sh

12. Ajustes importantes del firmware WallPanel

El firmware de ejemplo no siempre encaja perfectamente con nuestra pantalla concreta.

En mi caso tuve que ajustar varias cosas:

  • Credenciales WiFi.
  • URL de Home Assistant.
  • Claves OTA.
  • API encryption key.
  • Configuración del ESP32.
  • Configuración de la pantalla táctil.
  • Sección de touchscreen.
  • Frecuencia del bus I2C.
  • Parámetros concretos del hardware.

Uno de los problemas que aparece es que, si antes ya habíamos flasheado la pantalla con otro firmware, la nueva configuración debe mantener las claves necesarias para poder volver a grabar el dispositivo por OTA. Por eso copio la contraseña OTA y la API encryption key del YAML anterior al nuevo.

Nota importante

Si es la primera vez que cargas este firmware, puede que no necesites copiar claves anteriores.Si ya has flasheado otro firmware antes, revisa la contraseña OTA y la API encryption key.

13. Solución de errores habituales

Durante la configuración aparecen varios errores que conviene documentar, porque probablemente otros usuarios se los encontrarán.

Error de memoria al compilar

En el vídeo aparece un error al guardar o compilar que parece relacionado con falta de memoria. La solución que aplico es reiniciar la máquina completa y volver a intentarlo.

Solución:
Reiniciar Home Assistant o la máquina donde está corriendo ESPHome y volver a compilar.

Error por claves diferentes

Si el dispositivo ya tenía un firmware anterior con unas claves concretas, puede rechazar el nuevo firmware si no usamos las mismas claves OTA/API.

Solución:
Copiar la ota password y la api encryption key del YAML anterior al nuevo.

Error de puerto ocupado

En mi caso aparece un problema con el puerto 8081, porque ya estaba en uso. La solución fue cambiarlo por 8082, reiniciar la aplicación y modificar también el YAML de ESPHome para que el dispositivo apunte al mismo puerto.

Puerto original: 8081
Puerto alternativo usado: 8082

14. Acceso al dashboard de Home Assistant

Otro punto importante es el acceso al dashboard.

Cuando la CrowPanel intenta cargar Home Assistant, puede encontrarse con la pantalla de login. El problema es que no tenemos un teclado virtual cómodo en la pantalla para introducir usuario y contraseña.

En el vídeo la solución pasa por activar la opción correspondiente de proxy expuesto, reiniciar el servidor y usar Chrome con herramientas de inspección remota para completar el login una vez.

El proceso resumido es:

  1. Activar el proxy expuesto.
  2. Reiniciar el servidor.
  3. Abrir Chrome.
  4. Entrar en chrome://inspect.
  5. Configurar la IP de Home Assistant con el puerto correspondiente.
  6. Abrir el inspector remoto.
  7. Introducir manualmente la URL de Home Assistant.
  8. Hacer login.
  9. Reiniciar la integración.
  10. Comprobar que la CrowPanel ya carga el dashboard.

Después de esto, ya se pueden navegar pantallas completas de Home Assistant desde la CrowPanel.

15. Cómo funciona realmente este sistema de dashboard

Un punto importante: la CrowPanel no está ejecutando un navegador web completo como lo haría una tablet Android.

Lo que ocurre es que el servidor genera o envía imágenes del dashboard hacia el panel. La pantalla permite interactuar, pero el funcionamiento no es idéntico al de una tablet ejecutando Chrome o Fully Kiosk.

Esto tiene ventajas y limitaciones.

Ventajas

  • No dependemos de Android.
  • El dispositivo está mucho más controlado.
  • Es una solución más embebida.
  • Puede ser muy útil para dashboards sencillos.
  • Encaja bien con proyectos ESPHome.

Limitaciones

  • No es una tablet completa.
  • Puede haber algo más de latencia.
  • No todos los dashboards complejos serán igual de cómodos.
  • Hay que ajustar bien el tamaño y diseño de las tarjetas.
  • Puede requerir más trabajo inicial.

16. Usar la CrowPanel como reproductor multimedia

Una de las pruebas más curiosas es que la pantalla también aparece como reproductor multimedia compatible.

En el vídeo hago una prueba enviando texto a voz, de forma que la CrowPanel reproduce un mensaje de audio.

Esto abre posibilidades interesantes:

  • Avisos hablados.
  • Mensajes de estado.
  • Recordatorios.
  • Alertas de seguridad.
  • Confirmaciones de automatizaciones.

Ejemplo conceptual

yaml
service: tts.speak
target:
  entity_id: media_player.crowpanel
data:
  message: "La puerta del garaje está abierta"

17. Usar la CrowPanel como asistente de voz

La parte más llamativa del proyecto es utilizar la CrowPanel como asistente de voz para Home Assistant.

En la demo digo:

Okay Nabu, enciende luz sofá

y la luz se enciende. Después hago la prueba contraria:

Okay Nabu, apaga luz sofá

y la luz se apaga.

Aquí es importante ser honesto: en mi prueba tarda más de lo que me gustaría. Probablemente tengo que ajustar mejor la sensibilidad del micrófono o reducir el ruido ambiente para que la detección sea más rápida y fiable.

Pero lo interesante es que la integración funciona. La CrowPanel deja de ser solo una pantalla y pasa a convertirse también en un punto de interacción con Home Assistant.

Recomendación práctica

Para que esta función vaya mejor, conviene revisar:

  • Ganancia del micrófono.
  • Ruido ambiente.
  • Posición de la pantalla.
  • Distancia desde la que hablamos.
  • Sensibilidad de activación.
  • Tiempo de respuesta de Home Assistant.
  • Rendimiento del servidor que procesa la voz.

18. Marcos 3D para mejorar el aspecto final

Una de las pegas de este tipo de pantallas es que tienen aspecto de placa de desarrollo. Funcionan muy bien para pruebas, pero si queremos ponerlas en una pared, una cocina o una entrada, probablemente queramos algo más limpio.

Por eso una opción interesante es imprimir un marco en 3D.

Con un buen marco, la pantalla puede pasar de parecer un prototipo de laboratorio a parecer un panel domótico mucho más integrado.

Enlaces recomendados

https://www.printables.com/model/1159516-enclosure-for-elecrow-crowpanel-esp32-hmi-50-inch

https://cults3d.com/en/3d-model/gadget/crowpanel-7-desktop-display

Idea para futuros proyectos

Este tema da perfectamente para otro artículo o vídeo:

Cómo convertir una CrowPanel ESP32-P4 en un panel de pared profesional para Home Assistant

19. Precio y modelos más pequeños

Uno de los puntos fuertes de estas pantallas es el precio.

El modelo de 10.1 pulgadas ya es interesante por el tamaño y las posibilidades que ofrece, pero si bajamos a modelos de menos pulgadas, los precios pueden ser muy atractivos.

Esto permite pensar en varios usos:

  • Una pantalla pequeña para la entrada.
  • Otra para la cocina.
  • Una para el despacho.
  • Una para la habitación.
  • Una dedicada solo a calidad del aire.
  • Otra dedicada a alarmas o notificaciones.

No todas tienen que ser grandes. De hecho, para muchos usos una pantalla más pequeña puede ser suficiente y mucho más fácil de integrar.

20. Ventajas de usar una CrowPanel con Home Assistant

Después de probarla, estas son las ventajas que veo más claras:

Integración con ESPHome

Permite crear proyectos muy personalizados y conectados directamente con Home Assistant.

Pantalla dedicada

No dependemos de una tablet Android ni de sus limitaciones.

Posibilidad de mostrar sensores

Podemos visualizar datos reales de Home Assistant.

Notificaciones

La pantalla puede avisarnos de eventos importantes.

Dashboard completo

Con el firmware adecuado, puede mostrar paneles completos de Home Assistant.

Voice Assistant

Puede funcionar como punto de entrada para comandos de voz.

Precio

Especialmente en modelos más pequeños, puede ser una alternativa muy interesante.

21. Limitaciones que debes tener en cuenta

No todo es perfecto.

Estas son las limitaciones más importantes:

  • La configuración inicial requiere tiempo.
  • No es tan plug and play como una tablet.
  • Puede haber errores de compilación o dependencias.
  • El firmware debe adaptarse al modelo concreto.
  • El dashboard no funciona exactamente igual que en un navegador completo.
  • El asistente de voz puede requerir ajuste del micrófono.
  • El aspecto físico necesita un marco o carcasa para quedar profesional.

22. ¿Merece la pena?

Para un usuario que solo quiere colgar una pantalla en la pared sin complicarse, probablemente una tablet Android siga siendo más sencilla.

Pero para quien utiliza Home Assistant, ESPHome y disfruta creando soluciones a medida, la CrowPanel ESP32-P4 me parece una opción muy interesante.

No es simplemente una pantalla. Puede ser:

  • Panel de sensores.
  • Dashboard táctil.
  • Centro de notificaciones.
  • Reproductor multimedia.
  • Asistente de voz.
  • Interfaz física para Home Assistant.

Y eso la convierte en una alternativa muy potente para proyectos de domótica avanzada.

¿Dónde comprarlo?

Si te interesa el Elecrow CrowPanel Advanced 10.1 inch ESP32-P4 HMI AI Display, aquí tienes las opciones de compra disponibles:

  • Elecrow CrowPanel Advanced 10.1 inch ESP32-P4 HMI AI DisplayAnalizado en el vídeo: Página oficial

23. Conclusión

La CrowPanel ESP32-P4 me ha sorprendido porque no se limita a ser una pantalla táctil más. Con ESPHome y Home Assistant podemos llevarla bastante más lejos: sensores, notificaciones, dashboards completos, reproducción de audio y control por voz.

No es la opción más sencilla para todo el mundo, pero sí una de las más interesantes si te gusta crear tus propios dispositivos domóticos.

Lo mejor es que no estás comprando simplemente una pantalla: estás comprando una base para muchos proyectos diferentes.

Y eso, dentro del mundo Home Assistant, es justo donde empieza lo divertido.

Video relacionado