Taxel / PlexTraktSync

A python script that syncs the movies, shows and ratings between trakt and Plex (without needing a PlexPass or Trakt VIP subscription)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Trakt to Plex watch status update not working

SawkeeReemo opened this issue · comments

Confirmation

  • I have read the README.md on the project homepage
  • I have checked if identical issue already exists
  • I have tried downgrading to find version that can be used as a workaround

The problem

I noticed starting today that watch status from Trakt to Plex are no longer syncing. There are no errors in the logs, it's just not seeing the watch status update anymore. Yesterday it worked, nothing has changed.

Error trace / logs

No response

Expected behavior

watch status from Trakt to be updated in Plex as per usual.

Steps to reproduce the behavior

Nothing to reproduce, it is persistent.

Inspect of problematic items

No response

Workarounds

No response

Install method

pipx

Config file contents

cache:
  path: $PTS_CACHE_DIR/trakt_cache

excluded-libraries:
  - Music Videos
  - PreRolls
  - zzTesters

config:
  dotenv_override: true

plex:
  timeout: 30

logging:
  append: false
  # Whether to show timestamps in console messages
  console_time: false
  debug: false
  filename: plextraktsync.log
  # Additional logger names to apply filtering
  filter_loggers:
#    - plexapi
#    - requests_cache.backends
#    - requests_cache.backends.base
#    - requests_cache.backends.sqlite
#    - requests_cache.policy.actions
#    - requests_cache.session
#    - trakt.core
#    - urllib3.connectionpool
  filter:
#    # Filter out all messages with level WARNING
#    - level: WARNING
#    # Filter out message with level WARNING and containing a text
   - level: WARNING
#      message: "not found on Trakt"
   - message: "because provider local has no external Id"
#    - message: "because provider none has no external Id"
#    - message: "Retry using search for specific Plex Episode"
#    # Filter out messages by requests_cache
#    - name: requests_cache.backends
#    - name: requests_cache.backends.base
#    - name: requests_cache.backends.sqlite
#    - name: requests_cache.policy.actions
#    - name: requests_cache.session

# settings for 'sync' command (default)
sync:
  plex_to_trakt:
    collection: false
    # Clear collected state of items not present in Plex
    clear_collected: false
    ratings: false
    watched_status: false
    # If plex_to_trakt watchlist=false and trakt_to_plex watchlist=true
    # the Plex watchlist will be overwritten by Trakt watchlist
    watchlist: false
  trakt_to_plex:
    liked_lists: false
    ratings: false
    watched_status: true
    # If trakt_to_plex watchlist=false and plex_to_trakt watchlist=true
    # the Trakt watchlist will be overwritten by Plex watchlist
    watchlist: false
    # If you prefer to fetch trakt watchlist as a playlist instead of
    # plex watchlist, toggle this to true (is read only if watchlist=true)
    watchlist_as_playlist: false
  # Setting for whether ratings from one platform should have priority.
  # Valid values are trakt, plex or none. (default: plex)
  # none - No rating priority. Existing ratings are not overwritten.
  # trakt - Trakt ratings have priority. Existing Plex ratings are overwritten.
  # plex - Plex ratings have priority. Existing Trakt ratings are overwritten.
  rating_priority: plex

# settings for 'watch' command
watch:
  add_collection: false
  remove_collection: false
  # what video watched percentage (0 to 100) triggers the watched status
  scrobble_threshold: 90
  # true to scrobble only what's watched by you, false for all your PMS users
  username_filter: true
  # Show the progress bar of played media in terminal
  media_progressbar: true

xbmc-providers:
  movies: imdb
  shows: tvdb

##### Advanced settings below this line, don't edit unless you know what you're doing #####
#http_cache:
  # https://requests-cache.readthedocs.io/en/main/user_guide/expiration.html#url-patterns
  # https://requests-cache.readthedocs.io/en/main/user_guide/expiration.html#expiration-values
  #
  # The value is seconds to cache.
  # Or one of the following special values:
  # - DO_NOT_CACHE: Skip both reading from and writing to the cache
  # - EXPIRE_IMMEDIATELY: Consider the response already expired, but potentially usable
  # - NEVER_EXPIRE: Store responses indefinitely
  #
  # The value can be also suffixed with a time unit:
  # - 5m, 1h, 3d
  # See full documentation at:
  # - https://github.com/wroberts/pytimeparse#pytimeparse-time-expression-parser
  #
  # NOTE: If there is more than one match, the first match will be used in the order they are defined
#  policy:
#    "*.trakt.tv/users/me": 1d
#    "*.trakt.tv/users/likes/lists": DO_NOT_CACHE

# vim:ts=2:sw=2:et

Version

0.27.11

Python Version

3.12.0

Operating System and Version

Synology DSM 7.2 / Docker 20.10.23, build 876964a

There are no errors in the logs

Remove log filters before saying so.
Starting today ? How many movies/episodes are concerned ? Are those perfectly matched in Plex ?

There are no errors in the logs

Ah good call, forgot I had those on. And yes, for some reason I'm getting the because provider local has no external Id error on those in question, but not sure how to resolve that. They are matched in Plex. Do I just need to "fix match" on everything and try again? Wondering why it would only be for a couple episodes out of an entire series though. 🤔

EDIT: Just checked the troubleshooting section on the main page, looking into external Ids on TMDB right now, hoping to figure out how to resolve on my own.

Ok, so I'm not sure I know how to resolve this myself. The series in question is Firefly. The last three episodes are considered "specials" for some reason, and the external ID is different than the rest of the season. Could this just be a special case that's tripping things up? Or do you know of a way I could fix this in the future?

There is multiple ways to count season 1 episodes of Firefly.
TheMovieDatabase has 11 episodes in season 1 standard order or 14 episodes in the DVD order.
TheTVDatabase has 14 episodes.

You need to go to show settings in Plex and set Season order to TheTVDB or TMDB DVD order. This is explained in troubleshooting section.

Got it. Thank you. I missed the part about changing the Plex agent. Read the first part in “good practices” about using the latest Plex scanner, and equated that to agent in my stupid brain. Appreciate the info. Thank you.