openInk banner

openInk

9 devlogs
10h 43m 8s

Smart e-Ink dashboard with a TRMNL-like web platform system.
It fetches data from whatever sources you want in the form of “screens”, and then allows you to cycle between them however you want. You can set conditions, display order, randomization, schedules, overrides…
It also supports the use of a web server (openInk Cloud) that you can self host on your own or use the free hosted instance by me, in order to show device online status, auto fetch settings and edit them on-the-go, and a bunch of more features.

Loading README...

Zoe

Fixed errors and finally completed the condition support. Now you can also add a condition for calendar events existing and/or being in the next x minutes, so I also made a new Home Assistant dashboard to leverage this.

Attachment
1

Comments

Magic
Magic 25 days ago

uwu :3

Zoe

Successfully built on Appwrite pages with server-side rendering and implemented custom subdomain on my domain name (openink.isitzoe.dev).

Attachment
0
Zoe

Rebrand! Updated name. logos, description, README… Check out the new name, logo and banner! Designed in Figma :D

Attachment
0
Zoe

Conditions are here! You can now restrict screens to only show when certain conditions are true/false, and also override the other screens to make the screenshot with a condition the only one shown. Current conditions are “is x person in y zone” and “is it x day of the week”. You can also change start of week day, and the conditions refresh interval.

Attachment
0
Zoe

I really went TRMNL mode here, and made a whole web UI for the device. It allows users to create an account/log in, and get a device.json url together with a health url for their device. This way they can easily see if their device is online or not, change the screens (and their order), set “dev mode” (makes device.json be fetched every 2 minutes instead of every 15 minutes), and more. I also plan on adding conditions to the screens in order to show/hide them soon.

Attachment
0
Zoe

Made a new system that allows creating a device.json file hosted online to tell the display what to show and when. This way I can add screens that are shown every x minutes and cycle between each other, or set a screen to show during a specific time range.
This is making the project get closer to a full on TRMNL-like platform lol 🤣

Attachment
0
Zoe

Added some improvements in music assistant and the dashboard to support multiple sound outputs on the display. Now it has a list of sources and only shows the ones currently playing. There’s also a fake “Paused” source that only shows when no source is playing anything.

Attachment
0
Zoe

I created and printed a nice 3D design to be able to house the e-Ink display and my raspberry Pi, and also removed the borders around the items on the display to improve looks.

Attachment
0
Zoe

I made a simple version of the system. It uses JS to fetch my home assistant instance, load a specific dashboard, take a screenshot of it and then convert it to e-Ink format. Then, a python script takes that image and renders it on the display.
The Home Assistant dashboard uses custom e-Ink stylings to make everything look nice and clean, and shows my music status, pending tasks (synced from Notion) and the weather.

Attachment
0