Use ESPHome with e-ink Displays to blend in with your home decor!

@Spl4sh, Look at the calendar.get_events action in Home Assistant to pull more than the next event from the calendar.

Thank you for your response. What changes should I make, please? I’m not sure I fully understand the article :frowning:

Right now, you’re showing just the next event using the default calendar entity, which only exposes one upcoming event at a time. To display the next 3 events, you’ll need to take a slightly different approach using a built-in Home Assistant service called calendar.get_events.

This service lets you fetch a list of upcoming events (e.g. next 3) within a time range, like the next 7 days. The idea is to call this service regularly, store the top 3 events in some helper entities like input_text, and then read those values from your ESPHome display.

Here’s a general breakdown of the steps you’d need to follow:

  1. Create a script in Home Assistant that calls the calendar.get_events service and saves the results (like event title and time) into helper entities. These can be input_text entities that act as placeholders for each event.
  2. Set up a way to regularly update them. You can automate this by running the script every 15 minutes or so, using a simple time-based automation.
  3. Update your ESPHome display so it reads from the three new input_text entities, instead of just one calendar sensor.

This approach gives you a lot of flexibility, you can format the event details however you want (date/time, summary, description) and decide how often to update them.

Hello!
I’m experiencing an issue with my Waveshare 7.5" e-ink display connected to an ESP32 Waveshare board mentioned here.
For a while I had zero issue, but tonight I ran quite a few refreshes for debug purpose (roughly a 100) and adding more stuff to it.
When displaying minimal content (text over half of the screen), the blacks appear deep and proper. However, as I add more content to the screen, the blacks become increasingly washed out and gray. Interestingly, during the refresh cycle when the screen flickers, I can see proper deep blacks momentarily. I would think to either a power distribution limitation in the e-ink display when handling larger amounts of black content, or potentially a physical connection issue with the ribbon cable (which I double checked). I’ve checked my configuration but haven’t been able to resolve the problem. Also this morning having the same text displayed on 2/3rd of the screen didn’t seem to be an issue, but tonight, its washed out. If I go back to half of the screen (top part or bottom, makes no difference), deep blacks are back.

I’ve got the ā€œv3 stickerā€ screen.

 - platform: waveshare_epaper
    id: eink_display
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    reset_duration: 2ms
    model: 7.50in-bV3
    update_interval: never
    rotation: 90°
    lambda: |-

Has anyone experienced similar issues or have suggestions for improving black levels when displaying more content? Have I messed up my screen?