3 KiB
E-Ink Frame/Dashboard for ESPHome
A simple dashboard with weather data, current playing music & data from Home Assistant for ESPHome.
Required hardware
- Waveshare 7.5" E-Ink Screen 480x800px
- Waveshare e-Paper ESP32 Driver Board
- IKEA RÖDALM, Black, 13x18cm
Software
- ESPHome
- Home Assistant
Installation
- No soldering is required since the e-Paper driver board was integrated into the ESP32 board. All you need to do was to connect the e-Paper screen to the driver board, and then connect the driver board to the USB socket on my light switch.
- Copy
/fontsandweatherman.yamlto your /.config/esphome folder and adjust it your needs. - Flash the configuration to your ESP32 driver board via ESPHome Web
- Enjoy!
Features
Weather, music & sensor information
The dashboard shows the current outdoor temperature based on a weather service of choice you added to your Home Assistant. The icon next to it shows you the weather state.
In the center of the screen the current playing media of one or more speakers can be displayed.
At the bottom you find some stats of your Home Assistant instance that you can adjust.
Intelligent Screen Refreshing
To reduce the frequency of screen refreshes and to prolong the life of the e-ink screen, the screen will now only refresh when presence is detected.
Last Refreshed Timestamp
The last update timestamp can be displayed on the screen itself. No more wondering when the screen was last refreshed!
Remote Control and Monitoring
The screen can now be controlled and monitored remotely. The screen can be either refreshed manually, restarted, or safely shut down through buttons in your HA. The number of screen refreshes in its lifetime as well as its last update timestamp and wifi signal strength can also be monitored.
Easy adjustable
The placing can easly be adjusted via the variables inside of the display block.
// General settings
uint multi_info_base_x = 80;
uint text_offset_x = 48;
uint tab_offset_x = 170;
uint multi_info_base_y = music_base_y + 220;
uint text_offset_y = 4;
uint linebreak_offset_y = 60;
References
Here are some other repos that I referenced from: