Sink
Scrobble sink modules that send playback events to trackers (Trakt, SIMKL, MDBList).
Last updated
Was this helpful?
Scrobble sink modules that send playback events to trackers (Trakt, SIMKL, MDBList).
These pages document scrobble sinks.
Sinks send normalized playback events to trackers.
If you want setup steps, use Watcher.
A watch provider emits a ScrobbleEvent.
The dispatcher filters and dedupes it.
Each sink gets send(event).
Sinks should stay policy-free.
The dispatcher owns filtering decisions.
User-facing config lives in Settings → Scrobble.
In config.json, selection typically uses:
scrobble.mode (watch or webhook)
scrobble.watch.sink (Watcher mode)
Reference: Configuration (config.json).
Auth failures
Fix auth in Settings → Authentication.
Then restart scrobbling.
Matching failures
Missing external IDs cause “skip” behavior.
Fix metadata on the media server.
Rate limits
You may see gaps during API outages.
Events resume on the next playback changes.
Sinks implement a small interface:
accept a ScrobbleEvent
translate it into tracker-specific API calls
return status and log details
Trakt: providers/scrobble/trakt/sink.py
SIMKL: providers/scrobble/simkl/sink.py
MDBList: providers/scrobble/mdblist/sink.py
Common keys:
scrobble.*
<sink>.* (trakt.*, simkl.*, mdblist.*)
Sinks are mostly stateless.
They may interact with:
/config/.cw_state/currently_watching.json
/config/.cw_state/watchlist_wl_autoremove.json
Last updated
Was this helpful?
Was this helpful?