A simple Python server to display a basic HTML page optimized for eInk displays.
I wrote more about it here.
- Docker
- Docker Compose (V2)
- Python 3.9+ and uv (for local development)
- Clone or download this repository
- Provide your configuration (Home Assistant IP, port, token, and the sensor names you want to use) as environment variables. See
.env.examplefor the full list of variables.- Docker / production: set these as environment variables wherever you run
docker compose(the compose file passes them through to the container). - Local development: copy
.env.exampleto.env, fill it in, and runmake run— onlymake runloads.env.
- Docker / production: set these as environment variables wherever you run
Sensor integrations used:
- For the weather I used Met.no
- For the ETA to work I used Waze
- The other sensors are custom helpers set up in HA that you can customize by reading the code
make docker-up # Build and start the container
make docker-down # Stop the containermake setup # Install dependencies
make run # Start Flask dev server on 0.0.0.0:6123 (loads .env)make test # Run the test suite
make lint # Check code style
make format # Auto-fix lint issues and format code