Migrate to routes mode
Move from legacy Watcher config (provider + sink) to routes.
Routes mode replaces the legacy provider + sink Watcher config.
Before v0.9.0, Watcher used the legacy fields.
Starting with v0.9.0, Watcher uses routes mode.
As of v0.9.15, CrossWatch no longer auto-migrates legacy Watcher config.
If you upgrade from an old config, you must create routes yourself.
Starting with a clean config.json is usually the best option.
It lets you scrobble:
multiple media servers in parallel
to multiple trackers
with per-route filters
Legacy config (pre-v0.9.0)
Legacy Watcher config used:
scrobble.watch.providerscrobble.watch.sink(sometimes CSV)scrobble.watch.filters
Routes config (v0.9.0+)
Routes mode uses:
scrobble.watch.routes[]
Each route is one mapping:
provider(profile) → sink(profile)
Each route can also have its own Filters and Options.
Global Watcher settings still exist.
They act as the defaults for every route.
If one route needs different behavior, override it in that route instead of changing the global default for everything.
What to do in v0.9.15+
There is no automatic conversion anymore.
If your old config still uses the legacy Watcher fields, rebuild the Watcher routes manually.
Preferred path:
start with a clean
config.jsonreconnect the providers you need
recreate your routes in the UI
If you keep an existing config:
treat the old Watcher fields as legacy only
recreate each route by hand
re-check filters, profiles, and route options carefully
Checklist
Decide whether to start clean or keep the old
config.json.Prefer a clean
config.jsonif you want the least confusing setup.Open Settings → Scrobble → Watcher.
Confirm you see a Routes section.
Recreate each route with the right provider and sink.
Leave the global Watcher settings alone unless you want a different default for all routes.
If you use profiles:
create the needed provider profiles
update each route’s
provider_instance/sink_instance
Set route Filters so the route only matches the users or server you want.
Use route Options only when one route should behave differently.
Start Watcher.
Check status in the UI.
Common issues
Routes duplicated
A route is identified by:
provider + provider_instance + sink + sink_instance
If you duplicate that tuple, you will double-scrobble.
Keep the filters and options in mind too.
Two near-identical routes can still create confusing results.
Watcher runs but nothing scrobbles
Check auth for the selected sink profile.
Check that your routes were recreated correctly.
Tighten filters. Empty filters are safest to validate first.
Related
Last updated
Was this helpful?