A Home Assistant Addon for managing complex layouts across multiple eInk displays using the OpenDisplay integration.
This addon is distributed via the stuart-c/ha-addons repository.
You can add the repository to your Home Assistant instance using the button below:
Alternatively, add it manually:
- Navigate in your Home Assistant frontend to Settings -> Add-ons -> Add-on store.
- Click the three vertical dots (⋮) in the upper right corner and select Repositories.
- Add
https://github.com/stuart-c/ha-addonsand click Add. - The add-on will now be available for configuration and installation.
For developers, you can clone the repository and manage issues/PRs using the GitHub CLI (gh):
gh repo clone stuart-c/addon-einkThe recommended way to develop for this repository is using VS Code Dev Containers. This ensures a consistent environment with all dependencies and tools pre-configured.
- Open the repository in VS Code.
- Click "Reopen in Container" when prompted.
For detailed development processes, architectural overview, and mandatory agent workflows, see:
Warning
Running multiple instances of the application or its test suites concurrently on the same machine can cause port conflicts and data corruption. By default, the application and E2E tests target port 8099 and a shared .data directory.
To ensure isolation and prevent system overload, it is recommended to use ./scripts/verify_all.sh or consult the E2E Testing Guide for instructions on using custom ports and data directories.
Local testing is mandatory for all contributions. We provide several scripts in the scripts/ directory to facilitate development and verification:
./scripts/run_tests.sh: Runs Python lints, unit tests, and frontend tests../scripts/run_e2e.sh: Runs end-to-end integration tests using Playwright../scripts/verify_all.sh: Runs the full verification pipeline (build, unit tests, and E2E tests) in an isolated environment../scripts/run_app.sh: Runs the backend application locally in a virtual environment../scripts/run_dev.sh: Pulls the latest development Docker image and runs the full addon environment.
These scripts will automatically provision their own environments if necessary. For more details on available scripts and data persistence, see scripts/README.md.