E Ink Display

As I started my path of ESPhome for custom sensors, I saw that it also supported displays for sensors and, more importantly (and fun!!) – E Ink displays!! I’ve been a big fan of using Grafana as a set of curated tablet dashboards in kiosk mode. They’ve helped monitor home lab details and a handful of WeatherFlow dashboards. Those are great situations where having a tablet plugged into power for a full-color display makes sense. But E Ink provides many benefits for places where battery-powered options are wanted at a glance.

I went through a few phases as I got started with understanding how these displays worked. First was a set of WaveShare displays, both their 4.2-inch and 7.5-inch varieties. But I soon started seeing a few posts on Reddit and the ESPHome Github Feature Request showing interest in the LILYGO T5-4.7 inch E-Paper Ink Screen display. This seemed cool because it has the ESP32 and rechargeable battery built as an All-In-One instead of needing to assemble and build those components into an enclosure for the Waveshare.

I’ve used the 7.5-inch Waveshare primarily for its display size, although its resolution is less than the LILYGO. However, even with the smaller LILYGO display, it includes buttons, and I love the printable 3D cases available online.

Below are a handful of screens that I’ve built. Each of the ESPhome YAML files may be found on my Github. Note that each configuration is unique to my Home Assistant configuration, data sources, and sensors.

WeatherFlow 24-Hour Precipitation Forecast with 9-Room Temperature & Humidity

When my Mom said, “It would be great to see the temperature and humidity in each of our rooms…” I knew I had a fun project to build out. I picked up several Aqara Temperature and Humidity Zigbee sensors and started building their own Home Assistant platform.
  • Provides nine temperature and humidity readouts
  • Current WeatherFlow temperature including high, low, and chance of precipitation
  • At a glance, the next 24-hour-by-hour WeatheFlow forecast with temperature, hour (small clock), weather conditions, and the chance of precipitation (pie chart).
  • WIFI signal, battery level, and last updated timestamp
  • Uses my WeatherFlow Home Assistant Data Collector. Please read below for more details.

WeatherFlow 3-Day Overview with 24-Hour Precipitation Forecast

  • Three-day overview with current, high, and low temperatures plus the chance of precipitation
  • At a glance, the next 24 hour-by-hour WeatheFlow forecast with temperature, weather conditions, and the chance of precipitation.
  • Wi-Fi signal, battery level, and last updated timestamp
  • Uses my WeatherFlow Home Assistant Data Collector. Please read below for more details.

WeatherFlow 4-Day Overview

  • Four-day WeatherFlow forecast with current, high, and low temperatures
  • Month/Day and abbreviated Day of the Week
  • Wi-Fi signal, battery level, and last updated timestamp
  • Uses my WeatherFlow Home Assistant Data Collector. Please read below for more details.

Clock

Making these displays have been a fun project. When I shared some of these with my son, he mentioned, “Wouldn’t it just be easier to buy a clock?” LOL – and yes – depending on what you mean by “easier.” But that did get me thinking – could I make a cool-looking clock? So, this is a quick version in a very basic style. A few items:
  • Updates every 60 seconds
  • Wakes up, gets a text value from Home Assistant to determine if it should stay awake (for firmware updates), updates the screen, calculates how long it should sleep until the next minute and falls asleep.
  • It is configured to refresh the screen between 7 am and midnight.
  • Because it currently takes about 15 seconds to do all that, I only get about seven days of battery power before a required recharge. I wish to get on 30 days on this… (The option would be to skip the Home Assistant API in favor of MQTT to validate sleep status…) I will look to optimize this at some point.

WeatherFlow Home Assistant Data Collector

To display the WeatherFlow information on these displays, the ESPhome configurations use the Home Assistant sensor and text_sensor to update numeric and text data at each polling interval. WeatherFlow data is specific to your WeatherFlow device and requires an API key to be used in a set of scripts deployed on Home Assistant. Find additional details on downloading, configuring, and using that data on my Github.