Emby watchlist feature implementation (favorites/playlist modes and writes).
Emby does not have a first-class “account watchlist”. CrossWatch emulates one.
Related:
Engine semantics: Watchlist (engine-level)
Setup: Adapter: Emby
“Watchlist” is a plan-to-watch set.
In Emby it is implemented as one of:
favorites (default)
playlist (named playlist)
collections (named collection)
Movies: ✅
Shows: ✅
Seasons: usually ❌ (depends on IDs and mode)
Episodes: ❌
Reads: enumerate the chosen container (favorites / playlist / collection).
Writes:
add adds items to that container.
add
remove removes items from that container.
remove
These live under the Emby provider block.
emby.watchlist.mode: favorites | playlist | collections
emby.watchlist.mode
favorites
playlist
collections
emby.watchlist.playlist_name: used when mode = playlist
emby.watchlist.playlist_name
mode = playlist
emby.watchlist.watchlist_write_delay_ms: pacing between writes
emby.watchlist.watchlist_write_delay_ms
Config reference: Configuration (config.json).
Missing IMDb/TMDb/TVDb IDs makes matching noisy.
Playlist mode can churn if duplicates exist.
Watchlist adds repeat every run
Emby item lacks external IDs.
The destination write “sticks”, but the next read can’t match it.
Fix:
improve metadata IDs
add a small write delay
keep watchlist one-way until matching is stable
providers/emby/_watchlist.py
providers/emby/_common.py
emby_watchlist.unresolved.json
Unresolved items are written when:
an item can’t be matched to an Emby item id
a write fails after retries
Related: Unresolved.
Mode selection is part of your “data model”. Changing it changes what the index means.
Last updated 3 hours ago
Was this helpful?