Emby history feature implementation (watched state indexing and writes).
Related:
Engine semantics: History (engine-level)
Setup: Adapter: Emby
This feature syncs watched state.
On Emby, that maps to “played” per user.
Commonly:
Movies: ✅
Episodes: ✅
Other types depend on how Emby reports IDs and user data.
Reads: build a present-state index of what Emby considers watched.
Writes:
add marks an item played.
add
remove unmarks an item played (when enabled for the pair).
remove
emby.history.libraries: optional library whitelist
emby.history.libraries
emby.history.history_query_limit: limits read size
emby.history.history_query_limit
emby.history.history_write_delay_ms: pacing between writes
emby.history.history_write_delay_ms
Config reference: Configuration (config.json).
Library scoping: Library Whitelisting.
Emby writes can take a moment to show up in reads.
Missing external IDs makes “same item” detection harder.
History updates repeat every run
Index matching is failing due to missing IDs.
Or Emby is slow to reflect recent writes.
Fix:
improve external IDs
add a small write delay
keep history remove disabled until stable
providers/emby/_history.py
providers/emby/_common.py
emby_history.shadow.json (write-through memory)
emby_history.shadow.json
emby_history.unresolved.json
emby_history.emby.blackbox.json (flap suppression)
emby_history.emby.blackbox.json
Blackbox
Unresolved
CW_EMBY_DEBUG=1 adds provider-level debug logs.
CW_EMBY_DEBUG=1
Last updated 31 minutes ago
Was this helpful?