M5Paper E-Ink Home Assistant Remote - building an expandable framework!

I bought an M5Paper e-ink development kit (product page), and I wanted to turn it into a Home Assistant remote control / mini-dashbaord. I really like e-ink (my phone is even an e-ink phone), but e-ink presents a lot of development challenges.

I immediately realized that developing for the M5Paper can be a bit challenging. Even using the drag and drop editor M5stack offers, it doesn’t easily support multiple displays, navigation, buttons with text etc.

I figured others might want to take advantage of what the M5Paper device has to offer for Home Assistant, so I’ve started developing some python libraries that wrap the M5Paper “UIFlow” framework. This will hopefully make it easier to develop a quick dashboard with buttons that can control your smart home.

Currently I have the following working:

  • Create custom views (e.g. light remote, tv remote, music controller etc), with the ability to add buttons to the page (and any other elements supported by M5’s UIFlow framework).
  • Main menu to handle navigation to custom views
  • Custom square button styles (change the background color, text size, border color etc), to allow easily adding/editing multiple buttons of the same type
  • Assign “actions” to the buttons like…
      Publish an MQTT message to the specified topic
      mqtt_pub=<topic>,<message>
      Publish an MQTT message to the specified topic
      show_view=<view_name>

I assign a button action to like mqtt_pub=command/lights/living_room,on. With Mosquito MQTT running in in Home Assistant, I use Node Red to subscribe to the topic “command/lights/+” and then parse the entity id (in this case living_room) and message to send the appropriate command.

I am far from having everything working the way I would like, and I’m running into challenges, which is why I wanted to see if there is actually interest in something like this. Would you use it? Is anyone interested in helping with development? I’ll try to get the code up on Github soon, so people can take a look and help expand it further :slight_smile:. It’s not amazing code, and it’s fairly hacked together, but I think it has some potential.

12 Likes

Interesting project, do keep us posted! I have an M5paper that’s currently gathering dust. I’d love to use it as a Home Assistant dashboard or remote.

Wow, that looks like a nice device! Have you looked into ESPHome yet? There is some support for ESP32 and eInk.

Would love to have a look at the code and possibly contribute

I’m definitely interested. Have one doing nothing at this moment.

I’d love to use it as a simplified interface to start automations, see the state of various entities, … Basically a very lightweight companion app for the kids.

Not sure if I’ll find time to actually help with development, but I can for sure help validating, testing, …

Really cool! I’m currently working on something similar maybe we can work together? Let me know.

1 Like

This is definitely interesting. Post on Github!

There is a new github for M5Paper functionality with Home Assistant (or vice versa): GitHub - rosmo/m5paper-homeassistant: Home Assistant functionality with M5Paper

Is that related to this discussion?

That looks like someone is planning to create something there, but it appears it’s mostly “Hello World” code that they are planning to build on. Unrelated to what I started but haven’t worked on in a while.

Hi! Are you still working on this? Have a m5paper laying around for this exact purpose! Would love to try it out.

2 Likes