Emby for Homey
Integrate your Emby media server with Homey Pro. Monitor what’s playing across every device on your network, control playback from Flow, get notified when new content is added to your libraries, and surface live playback information on your dashboard with three custom widgets.
And… it’s my first ever app build of any kind!
Why this app
Emby has been on the long-tail of “media servers I wish Homey supported natively” for a while, and the only existing integrations have either been abandoned or were tied to specific use cases. This app aims to be a complete, polished integration that fits Homey’s ergonomics — Flows that just work, widgets that look like they belong, and a settings page that gets out of the way.
Features
9 Flow triggers:
- Playback started / stopped / paused / resumed (per-device and any-device)
- Media finished (fires when an item is watched ≥90% to completion)
- Playback idle on a device for seconds/minutes — with a configurable duration so you can build flows like “if Lounge TV has been idle for 30 minutes, turn off the lights”
- Any playback idle for seconds/minutes
- Emby became available / unavailable
- New content added to a monitored library
11 Flow conditions covering “is playing”, “anyone watching”, filters for media type / user / library, transcoding active, device online, season/episode number checks, and Emby availability.
5 Flow actions: pause, resume, stop, next, previous — sent over Emby’s session API to whichever device you target.
Three dashboard widgets:
- Now Playing — shows what’s currently playing on a chosen device, with album art, episode info, a live progress bar that interpolates between server updates, and play/pause/stop controls
- What’s On — all currently-active sessions across all devices in one list
- Recently Added — horizontally scrolling artwork cards for the latest additions to your libraries
Speaker device — every paired Emby device shows up as a speaker tile in Homey with album art, play/pause/skip controls, and volume.
Insights logs for people watching, anyone watching, and transcoding active — useful for graphing your household’s viewing habits over time.
Setup
- Install the app
- In Emby Server: Dashboard → Advanced → API Keys → New API Key
- In Homey: open the Emby app settings, enter your host, port, “Use HTTPS” if applicable, and the API key
- Optionally configure the “New Content Notifications” section with which libraries to monitor
- Add an Emby Player device through Homey’s “Add a device” flow — you’ll see every device known to your Emby server, even ones not currently active
Server requirements
Works with any Emby Server reachable from your Homey Pro over HTTP or HTTPS. For HTTPS you can use either Emby’s built-in HTTPS port (typically 8920) or a reverse proxy with a valid certificate (Caddy, Traefik, nginx).
Tested against Emby Server 4.9 on Windows with Caddy as a reverse proxy, and Homey Pro 2023.
Known limitations
- Polling-based, not WebSocket — playback events have up to 2 seconds of latency. WebSocket support is planned for 1.1.
- Position information from Emby is reported every 5-10 seconds by most clients; the progress bar interpolates locally between updates to feel smooth, but expect minor timing variance.
- The seek bar is display-only — no scrubbing yet.
- No
play_mediaFlow action yet (i.e. “play [title] on [device]”) — planned for a future release.
Bug reports and feature requests
Please raise them at: Issues · Cordsplitter/homey-emby · GitHub
Or reply in this thread for general discussion, ideas, or questions.
Source code
The app is open source under the MIT license: GitHub - Cordsplitter/homey-emby: Homey integration for the Emby media server · GitHub
Roadmap
Likely candidates for upcoming releases, in rough order:
- WebSocket support for instant updates
play_mediaFlow action for “play [title] on [device]”- Per-user device assignment (so flows can target “when [user] watches anything”)
- UDP auto-discovery during pairing
The app is currently in test/beta. You can install it now: Emby | Homey
Feedback welcome