Home-Assistant: Kindle Paperwhite ePaper Dashboard
June 5, 2021This project intersects with a lot of my interests. I saw on SlickDeals.net that Woot.com had a slick deal on refurbished first generation Amazon Kindle Paperwhite ereaders… for only $20. Like a digital garage sale, I couldn’t resist. Woot is actually owned by Amazon, so it ships free for Amazon Prime members lol.
Once I had the kindle, I read some books and then that was it. It sat on my nightstand, just sitting there, making me feel guilty about the books I wasn’t reading. These devices debuted in 2012, but the battery life was pretty great. The battery lasts for months if you don’t actually use it!
I was searching for something else I could do with the device, so I saw that you could jailbreak it. The devices stopped receiving updates, so you don’t have to worry about new updates bricking it -- worst case, you can just restore it with the latest firmware.
The MobileRead Forums feel like the last place on the internet with up-to-date information on the kindle jailbreak process -- so rather than outlining the process, I’ll encourage you to go there and find the right tutorial based on your device. Take a look at the stickied posts for the most helpful resources.
For my specific device, I had to downgrade it from the firmware that it shipped to me with. It was as simple as plugging in the kindle to my Mac and copying the zip file over to the internal device storage.
Jailbreaking a device means that you can install unauthorized software on it. I used to jailbreak my iPhones back in the day (3GS, 5, 6s) and once you jailbroke it, it was stuck on that firmware and updating it would remove the jailbreak. On the kindle, you can downgrade → jailbreak → and then upgrade again while keeping the jailbreak.
After it was jailbroken, I explored what “new” features I could add. Check out this post to see what apps you can add here.
There are some basic things like changing the font sizes or margins. The most interesting one was the “ScreenSavers Hack” when used in conjunction with the Online Screensaver Extension.
It allows you to set a different image as the screensaver on the lockscreen. There are some cool configurations like using the current book cover, a random file you’ve added, but the best thing is pointing it at a remote file.
A clever dude named Sebastian (github username: Sibbl) created a docker container that hosts an image that pulls in data from Home Assistant. hass-kindle-screensaver repo
I took his work and forked his repo to convert it from Celcius to Farenheit.
That was cool, but then after talking with Sebastian, he created another docker container that takes a screenshot of a Home Assistant Lovelace dashboard, generates an image, and serves it up on a local network address. You can point the Kindle Screensaver configuration to the url of the web server running in the docker container. It should be something similar to this format 192.168.x.xyz. GitHub hass-lovelace-kindle-screensaver repo
Currently, I’ve created a second Home-Assistant Dashboard that has a select few lovelace cards that I want to show up on the kindle.
I have the docker container running on my OpenMediaVault VM with a little help from the portainer plugin. It’d be cool to see these running as a Home Assistant Addon, but we’re not sure that the raspberry pi has the capabilities to run hass-lovelace-kindle-screensaver. For now, this works for me.
The best part about the project is that it’s an easy way to see high level information, like the weather, a graph of covid related deaths in the US, or a graph of my server processor load and free memory.
The screensaver updates automatically when it is plugged in or after you use it for a bit. There is an option to have it update every few minutes but often times I turn off the wifi to hold a library book longer -- don’t worry, the library takes back their digital copy after 3 weeks, but it is still cached locally on your kindle, so you can keep using reading it until you turn the wifi back on. Also, I don't want the battery to be depleted when I actually go to read a book.