r/Addons4Kodi • u/nightah • 44m ago
Announcement I built Encore, a self-hosted Alexa skill for Kodi (a successor to Kanzi)
Since Kanzi was archived, there hasn't been a maintained way to control Kodi with an Echo, so I've built one. Encore is a self-hosted Alexa skill server for Kodi. It runs on your own network, talks to Kodi over JSON-RPC, and deploys a private Alexa skill into your own Amazon developer account, so nothing goes through anyone else's servers. A big thank you to m0ngr31 for Kanzi, which this picks up from: Encore keeps its voice commands and replaces the setup.
Say "Alexa, ask encore to play the next episode of Severance" and Alexa sends the request to Encore, which finds the episode in your library and tells the right Kodi to play it.
What's different from Kanzi
- Set up in a web interface. A first-run wizard walks through the admin account, the public address, Kodi, your Amazon developer account and the first deploy. No hand-made skill in the developer console, no pasting interaction models, no Lambda or Heroku.
- One-click skill deploys through Amazon's Skill Management API.
- Your library in the skill. Titles, rooms and playlists become slot values when you deploy, and Encore's own matcher finds the ones Alexa mishears ("rocky two", "endgame"). When two titles are close, it asks which one you meant.
- New titles are findable straight away. Kodi's live notifications keep Encore's index up to date, so no redeploy is needed.
- Rooms and several Kodi instances. Link each Echo to a Kodi instance, or name a room: "play Dune in the bedroom". Instances sharing a MySQL/MariaDB library are detected automatically.
- Wake-on-LAN for a sleeping Kodi.
- A live request log and match tester, showing what Alexa heard, how it was matched and which Kodi calls were made.
- Nine locales in five languages: English (AU, CA, IN, UK, US), German, French, Spanish and Italian.
What you can say
Everything Kanzi understood, and a few more: movies, specific or next episodes, music by song/album/artist/genre, playlists (including smart playlists), random picks and recommendations, playback and volume control, subtitles and audio tracks, navigating Kodi like a remote, "what's playing?", "how long is left?", add-ons, library updates, and shutdown/reboot with a confirmation. The full list is in the voice commands reference.
The screenshots above show the web interface; there's a tour of the whole thing in the docs.
What you need
- Kodi 21 (Omega) or 22 (Piers) with remote control via HTTP and from other systems turned on (Settings → Services → Control)
- A free Amazon developer account, the same account your Echo uses. The skill stays private and never needs certifying.
- A public HTTPS address for Alexa. Only
/api/v1/alexahas to be exposed, through a reverse proxy or a tunnel (Cloudflare Tunnel, Tailscale Funnel). - A container image (amd64, arm64, armv7) or a single binary for Linux, macOS and Windows.
Getting started
docker run -d --name encore \
-e PUID=1000 -e PGID=1000 \
-p 8080:8080 \
-v /path/to/encore:/config \
ghcr.io/nightah/encore
Then open http://<your-server>:8080, paste the setup token from the log and follow the wizard. The first run guide covers each step.
Status
It's early (v0.1.2), so expect rough edges until 1.0. Everything works end to end with a real Echo in English (Australia); the other locales haven't been tried on real devices yet, so if you use German, French, Spanish, Italian or another English locale, I'd love to hear how it goes. Translations are on Crowdin.
Happy to answer questions here; bugs are best as GitHub issues. It's open source (Apache-2.0), and donations are gratefully accepted.