E1001 — Configuración esencial
Encabezado y base del proyecto
|
1 2 3 4 5 6 7 8 |
esphome: name: e1001_panel friendly_name: E1001 Panel Ambiental esp32: board: esp32dev framework: type: arduino |
Define el dispositivo y la placa. Nada especial aquí: ambas pantallas comparten esta base.
Conectividad
|
1 2 3 4 5 6 7 |
wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: true api: ota: |
El único detalle relevante es fast_connect, imprescindible en un dispositivo que, como ya veremos, solo está despierto un minuto.
Lectura de sensores desde Home Assistant
|
1 2 3 4 5 6 7 8 |
sensor: - platform: homeassistant id: temp_salon entity_id: sensor.salon_temperature - platform: homeassistant id: hum_salon entity_id: sensor.salon_humidity # ... hasta completar los 8 puntos de medida |
En nuestro proyecto la E1001 no mide nada por sí misma: todo viene de HA.
Display e‑ink (solo la parte clave)
|
1 2 3 4 5 6 7 8 9 |
display: - platform: waveshare_epaper id: epaper model: 7.50inv2 cs_pin: GPIO10 dc_pin: GPIO11 reset_pin: GPIO12 busy_pin: GPIO13 update_interval: never |
El refresco nunca es automático. Solo se actualiza cuando el dispositivo despierta.

ℹ️ ¿Por qué usamos fondo negro con texto blanco en la E1001?
La elección no tiene que ver con el consumo. En las pantallas e‑ink el gasto energético depende del refresco, no del color mostrado. Un fondo negro no consume más que un fondo blanco una vez dibujado.La razón real es visibilidad:
- El contraste blanco‑sobre‑negro en estas pantallas concretas es más estable.
- Las zonas negras tienden a “ensuciarse” menos con artefactos residuales.
- Los números grandes en blanco destacan mejor desde varios metros.
- En interiores con luz artificial, el negro profundo evita el efecto “gris lavado”.
Así que la decisión es puramente funcional: se lee mejor.
Inserción del logo en la parte inferior y control horario
El logo se coloca en la franja inferior de la pantalla porque es la zona más estable visualmente y no interfiere con los datos ambientales, que ocupan la parte superior y central. Además, al estar en un área que apenas cambia, se evita generar artefactos en cada refresco.
Además el LOGO aparece durante el día y desaparece por la noche para no “ensuciar” la pantalla en ciclos nocturnos.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
image: - file: "logo_pcdemano.png" id: logo type: BINARY resize: 280x75 time: - platform: homeassistant id: ha_time display: - platform: waveshare_epaper id: eink_display model: 2.13in update_interval: never lambda: |- auto hour = id(ha_time).now().hour; // Logo visible solo entre las 08:00 y las 22:00 if (hour >= 8 && hour < 22) { it.image(0, 240, id(logo_pcd)); // coordenadas inferiores } // … resto de la composición |
La razón para ocultar el logo por la noche tiene que ver con la calidad visual de la pantalla. En la E1001 cada refresco completo implica un barrido de tinta electrónica, y las zonas que contienen elementos estáticos son las que más tienden a acumular pequeños residuos con el paso de los ciclos. El logo, al no cambiar nunca, sería precisamente la parte que más se vería afectada si se redibujara en cada despertar nocturno. Al no dibujarlo durante esas horas, la franja inferior permanece estable, se evita generar artefactos innecesarios y el refresco se concentra únicamente en los datos ambientales, que sí tienen sentido actualizar. El resultado es una pantalla más limpia y un envejecimiento más uniforme sin añadir complejidad al código.
Deep sleep (al final del YAML)
|
1 2 3 |
deep_sleep: run_duration: 60s sleep_duration: 15min |
Este bloque define el comportamiento real del E1001: un minuto despierto, quince dormido.
3008
Cuando empezamos esta revisión no teníamos ni la más remota idea del trabajo que nos iba a dar. Eso sí lo que queríamos es investigar, aprender y compartir nuestras experiencias con todos y no simple hacer la típica revisión tipo copy/paste.
Aunque conocíamos ESPHome como «usuarios» de Home Assistant y no dábamos la importancia suficiente a esta integración… el tener que «picar el código» desde cero nos ha ayudado a valorar más el trabajo de otros. Por eso hemos querido detallar al máximo nuestros avances por loo que os dejamos los YAML completos de las dos pantallas lo que seguro os ayudará mucho a los que quieran «replicar» y MEJORAR nuestro trabajo.
También debemos confesar que ChatGPT nos ayudado a avanzar más rápido… y retroceder en más de una ocasión, todo hay que decirlo.
Una cosa que no hemos tenido ocasión de detallaros el «invento» que gracias a ChatGPT hemos conseguido hacer en HomeAssistant para «completar» los datos históricos de evolución del % de batería del E1001 que por despertarse «dormido» no son líneas continuas sino valores discontinuos como se ve en la imagen adjunta.
Desgraciadamente en los comentarios de WordPress no se mantiene la indentación del YAML por lo que os ponemos en su lugar un pantallazo de la parte de configuration.yaml con el procedimiento seguido para completar la curva en HA.
Teniendo en cuenta la veintena de interesantes productos que tenemos pendientes de revisar desde el pasado año no hemos tenido tiempo de incluir en esta ninguno de los vídeos que hemos ido haciendo.
En cualquier caso os dejamos uno para que veáis el «trabajo» que le cuesta al E1002 refrescar la pantalla y que explica que tarde algo más de 20 segundos para hacer un refresco total
Otra de las pruebas que hicimos inicialmente hasta comprobar que ESPHome no es infinito fue intentar usar unos fondos dia/noche más coloridos.
El problema es que el uso de un «bitmap» tan grande llenaba la memoria del ESP32 por lo que tuvimos que desistir… aparte del problema que habríamos tenido para visualizar correctamente los datos de los sensores que es lo más importante ¿no?
Al E1001 de Seeed Studio le ha salido competencia con el ESP32-S3-RLCD-4.2 de Waveshare que tan solo cuesta 26.99 $ aunque eso sí tu pantalla solo es de 4.2″ y su resolución de 300 × 400 pixels.
Seeedstudio acaba de sacar a la venta el nuevo E1004 que viene a ser el hermano mayor del E1002.