OpenDisplay
opendisplay
The OpenDisplay integration lets you use OpenDisplay e-paper displays with Home Assistant over Bluetooth Low Energy. You can upload images to the display from automations and scripts.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature) |
What people report
OpenDisplay BLE e-paper displays work locally with caveats on grayscale and deep-sleep availability.
- Partly works2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| OpenDisplay deep-sleep BLE display | Partly works Local | Entities flap unavailable each sleep cycleSaved copyThe problem OpenDisplay BLE devices configured for deep sleep cause all their entities (battery, voltage) to flap between available and unavailable on every sleep cycle. With deep_sleep_time_seconds: 600 and sleep_timeout_ms: 40000, entities are available for ~6 minutes after each wake, then unavailable for ~4 minutes until the next wake, indefinitely. Over 24 hours of observation the pattern is constant, the bluetooth integration's learned advertising interval does not converge on the device's actual 10-minute duty cycle. Restarting Home Assistant causes entities to go unavailable almost … Excerpt saved from GitHub on 2026-10-23. | Issue #170971 · 2026-05 | |
| TRMNL OG DIY kit 4-gray e-paper | Partly works Local | 4-gray panels render garbled because library is outdatedSaved copyThe problem ### Issue My 4-gray e-paper panel (TRMNL OG DIY kit) renders corrupted (dark, low-contrast, scrambled planes) when pushed via opendisplay.upload_image. This surfaced after I changed the IC type from 59 (1-bit mono) to 60 (2 bit 4-gray), through opendisplay web toolbox advanced configuration. https://opendisplay.org/firmware/toolbox/index.html?config=3wEBAA... _Full disclosure: bug was found and fixed by claude AI._ ### Root cause - In py-opendisplay 7.2.3, encoding/images.py::encode_image() encodes GRAYSCALE_4 via encode_2bpp(), a packed 2-bits-per-pixel layout. - Current … Excerpt saved from GitHub on 2026-10-23. | Issue #176293 · 2026-07 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Found automatically over
- Bluetooth
Details
| Installs (analytics) | 88 (0.01%) |
|---|---|
| Quality scale | Silver |
| Added in | Home Assistant 2026.4 |
| Set up in the UI | Yes |
| Maintainers | @g4bri3lDev |
Limitations from the docs
- Bluetooth Low Energy range is limited. Displays far from a Bluetooth adapter can have unreliable transfers.
- Starting a new image upload cancels an upload that is already in progress for the same integration entry.
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.