This repository gives details about how I built my own Home Assistant dashboard using an old Kindle 4 non touch.
A lovelace UI panel of your Home Assistant instance is rendered to an image and polled from a jailbroken Kindle 4 on a regular basis.
I keep this short as I think this should be pretty straight forward.
Hints:
eink
HA theme inside the rendering software repository which you can configure for your newly created panel.Finally, You should end up with a URL pointing to the exposed port of the rendering docker container to configure this on your kindle as described in the following section.
This URL needs to be plain HTTP as no TLS or SSL is supported by the Kindle 4. If your server is HTTPS only (which is a good thing!), I recommend using a free CDN like Hostry.
While the software part should be the same for other Kindle models like the newer Paperwhites, the following section specifically addresses the Kindle 4 non touch. I've also primarily built it for an always powered device, but I assume it might be easily adapted to a battery powered use. PRs are welcome!
If you're using a Paperwhite, it's probably better to use the online screensaver extension. It uses features like rtcwake
and upscript
which are not available on the Kindle 4 NT out of the box.
Thus, a bit more work was necessary to get a reliable solution for a good Kindle 4 experience.
/mnt/us/documents
as described here.kite.sh
from the kite.gz
download.*.sh
files have LF line endings and NOT CRLF.extensions/homeassistant/config.sh
.
INTERVAL
(so that it suspends longer) and decrease DELAY_BEFORE_SUSPEND
so that the (artificial) delay between drawing the image and suspending is as low as possible. But please keep in mind that this wasn't what I've built the script for. E.g. the online screensaver extension supports configuring a scheduler to run less frequent at night and save battery.homeassistant
and kite
folders from this repository into /mnt/us/
on the device.There are two possibilities to SSH into your Kindle to change your config or debug if something didn't work as expected.
extensions/homeassistant/startup.sh
sleeps 2 minutes until it starts the daemon on boot. On boot, you have time to SSH into your kindle.extensions/homeassistant/script.sh
sleeps a short time until it suspends - see the DELAY_BEFORE_SUSPEND
config option. This gives you time to SSH into your device and stop the daemon using sh /mnt/us/extensions/homeassistant/daemon.sh stop
.For debugging purposes, LOGGING
can be configured to 1
so that an extended log is written to extensions/homeassistant/homeassistant.log
.
Similarly to this project, I've bought a 13x18 cm photo frame from an online store over here in Germany.
My wife and I removed the front cover of the Kindle 4 and also decided to remove the mainboard from the frame as there wasn't enough space to plug a Micro USB cable into the device's bottom while keeping it centered. A 90 degree adapter might be a better choice, also depending on the exact size of the frame.
The following photo should demonstrate it. The connectors beetween the battery and screen are the most important, the ones of the side buttons are not required. Of course, the photo also clearly indicates that we're both software developers...
extensions/homeassistant
was taken from this post from Stefan Strobel.The following two projects were my inspiration and I've also used them for quite some time. However, manually rebooting or charging the device was necessary too often and would've never gotten an approval by my parents.