Skip to content

Setting up ZenLocalPoller

ZenLocalPoller subscribes to the ZenDRIVE MQTT stream and reacts to new content — refreshing your rclone mount cache and (optionally) triggering your media servers to scan.

Where do I get ZenLocalPoller and my MQTT credentials?

Your MQTT username and password are provided with your service — check your welcome email, or open a support ticket. ZenLocalPoller itself is a single static binary (no dependencies) on Linux: download the current release (v0.1.0) from the releases page.

What do I need to connect to the broker?

Setting Value
Broker mqtt.clearstreamer.com
Port 443 (the broker is reached over WSS / TLS)
Topic s3 (default)
Client ID a unique ID you choose for this poller
Username / Password issued with your service
QoS 2 (default)

How do I configure it?

ZenLocalPoller reads a config.yml. A minimal MQTT section looks like:

mosquitto:
  broker: mqtt.clearstreamer.com
  port: "443"
  client_id: my-unique-poller-id
  username: your-mqtt-username
  password: your-mqtt-password
  topic: s3
  tls:
    enabled: true

Then point it at your rclone remote (and any media servers) so it knows what to refresh when events arrive. For every available option — defaults, filtering, and an AI-assisted setup prompt — see the Configuration reference. A copy of this reference also ships with the tool as sample.yml.

Pick a unique client ID

Each poller instance must use its own client_id. Two clients sharing an ID will repeatedly disconnect each other.

How do I run it?

./zenlocalpoller   # reads ./config.yml

Run it as a service (systemd, a container, etc.) so it stays connected and keeps your view in sync.

What does it actually do when an event arrives?

  • Invalidates the matching path in your rclone VFS cache (/vfs/refresh) so the new file is visible in your mount right away.
  • Optionally calls your autoscan-capable media servers (Sonarr, Radarr, Lidarr) to scan just the changed paths.

Do I need a media server to use it?

No. The rclone cache refresh is useful on its own for mounted streaming. Media-server triggers are optional extras.

It connects but nothing refreshes — what should I check?

  • Your client_id is unique (a duplicate causes constant reconnects).
  • The path filters in config.yml actually match the content you expect.
  • Your rclone remote settings in the config point at the right mount.

If it still doesn't behave, open a support ticket with your (credential-free) config and the poller's log output.

Can I use a different MQTT client instead?

Yes. Any standard MQTT client can subscribe to the broker and topic above with your credentials. ZenLocalPoller is just the turnkey option that already knows how to drive rclone and media-server scans.