For the complete documentation index, see llms.txt. This page is also available as Markdown.

Kodi

Connect Kodi through HTTP JSON-RPC for library sync and playback scrobbling.

Connect CW to a Kodi media client through HTTP JSON-RPC.

Kodi manages media in local or network libraries. CrossWatch connects directly to Kodi’s HTTP JSON-RPC interface.

CW is tested with a default Kodi 21+ installation. No additional add-ons are required.

  • Kodi supports extensive customization, third-party add-ons, skins, and modified configurations. CrossWatch cannot support every possible Kodi setup. Disable or isolate customizations when troubleshooting a connection or sync issue.

  • Kodi provides limited detailed information. CW applies additional intelligence where possible, but this remains limited by the data Kodi provides.

  • Disable other Kodi scrobble/tracking add-ons before syncing with CW

What it supports

  • History: movies and episodes.

  • Ratings: movies and episodes.

  • Progress: movies and episodes.

  • Watcher scrobbling: movies and episodes.

Kodi ratings use the 1–10 user rating scale.

Watchlists and playlists are not supported. Series and seasons do not synchronize separately.

Prepare Kodi

  1. Open Kodi.

  2. Open SettingsServicesControl.

  3. Enable Allow remote control via HTTP.

  4. Note the configured port.

  5. Keep Require authentication enabled. Configure a username and password.

  6. Confirm the CW host can reach the Kodi address and port.

Allow remote control from applications on other systems is not required. That setting controls WebSocket, TCP, and EventServer access. CW uses authenticated HTTP.

Connect Kodi

  1. Open SettingsConnectionsMedia clientsKodi.

  2. Enter the Kodi server URL, such as http://192.168.1.50:8080.

  3. Enter the Kodi username and password when authentication is enabled.

  4. Enable Verify SSL only for HTTPS with certificate validation.

  5. Click Connect Kodi.

  6. Confirm the detected Kodi version.

  7. Click Save.

CW verifies JSON-RPC, confirms the server is Kodi, and checks both required versions.

Whitelisting

Open the Whitelisting tab after connecting Kodi. Click Load libraries to retrieve Kodi video source paths.

Configure separate source paths for History, Ratings, Progress, and Scrobbling. An empty selection includes every Kodi video source.

Whitelisting uses the full Kodi source path. Files below a selected path are included automatically.

Multiple Kodi clients

Use Profiles to connect more than one Kodi client.

Each profile has its own server URL, credentials, SSL setting, and feature whitelists. Pairs and Watcher routes can target a specific profile.

Kodi's built-in user profiles are not supported. They are separate from CrossWatch Profiles.

Start with the default profile. Add profiles after the first connection works correctly.

Troubleshooting

Kodi server is unreachable

Confirm the server URL and port. The address must be reachable from the CW host or container.

Do not use localhost unless Kodi shares the same container or network namespace. Check firewall rules for the Kodi HTTP port.

Kodi rejected the credentials

Confirm the configured username and password under SettingsServicesControl in Kodi.

Server is not Kodi

The address responded, but CW could not identify Kodi. Confirm that the URL points directly to Kodi’s HTTP server.

Kodi or JSON-RPC version is too old

CW requires Kodi 21 Omega and JSON-RPC 13.5.0 or newer.

Libraries are not shown

Add video sources in Kodi, then click Load libraries again. An empty whitelist includes every source. CW does not support any thid-party plugins.

Items remain unresolved

The movie or episode must already be in Kodi’s library. Add accurate IMDb, TMDb, or TVDb identifiers.

Provider capabilities

The Kodi module supports bidirectional history, ratings, and progress synchronization. It also supplies playback data to Watcher.

History

Supported content: movies and episodes.

Supported operations: read, add, and remove watched state.

Writes apply only to matched movies and episodes already indexed by Kodi.

Ratings

Supported content: movies and episodes.

Supported operations: read, add or update, and remove.

Kodi user ratings use an integer scale from 1 to 10.

Progress

Supported content: movies and episodes.

Supported operations: read, add or update, and remove.

Standalone series and season progress records are unsupported.

Watcher scrobbling

Kodi is a Watcher source for movies and episodes. CrossWatch polls active playback through HTTP JSON-RPC.

Live TV playback is ignored. Routes can use separate Kodi profiles and scrobble whitelists.

Matching and library requirements

CrossWatch primarily matches Kodi movies and episodes with IMDb, TMDb, and TVDb identifiers.

Writes require an existing, uniquely matched Kodi library item. CrossWatch does not create media files or library entries.

Items without a safe match remain unresolved. Correct external identifiers in Kodi before retrying.

Whitelisting behavior

Kodi retrieves video source paths from its library. Configure independent path allowlists for History, Ratings, Progress, and Scrobbling.

A blank allowlist includes every source. A selected source includes all files below its full Kodi path.

Profiles and instances

The default Kodi profile stores configuration under kodi.*.

Additional profiles are stored under kodi.instances.<profile>.*. Each profile stores its server URL, credentials, SSL setting, and separate feature allowlists.

Pairs and Watcher routes select a specific Kodi profile. Start with the default profile before creating additional connections.

Config keys

Common keys are stored under kodi.*:

  • kodi.server

  • kodi.username

  • kodi.password

  • kodi.verify_ssl

  • kodi.history.libraries

  • kodi.ratings.libraries

  • kodi.progress.libraries

  • kodi.scrobble.libraries

Additional profiles use kodi.instances.<profile>.*.

Connection validation

CrossWatch uses JSON-RPC to validate the configured endpoint. It confirms the server identity and checks Kodi and JSON-RPC versions.

Kodi can require HTTP Basic Auth for each request. Keep authentication enabled whenever possible.

Current limitations

  • The adapter is experimental.

  • Kodi 21 Omega and JSON-RPC 13.5.0 are minimum requirements.

  • Watchlists and playlists are unsupported.

  • Series and seasons are not standalone sync items.

  • Live TV playback is not scrobbled.

  • CrossWatch never creates Kodi library entries.

  • Kodi's built-in user profiles are unsupported.

Last updated

Was this helpful?