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, password, and the ZenLocalPoller download are provided with your service — check your welcome email, or ask support@clearstreamer.com. It runs as a single static binary (no dependencies) on Linux.

What do I need to connect to the broker?

Setting Value
Broker zdstore-mqtt.zenterprise.org
Port 443 (WSS / TLS) — or 1883 for plain TCP
Topic ceph (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: zdstore-mqtt.zenterprise.org
  port: "443"
  client_id: my-unique-poller-id
  username: your-mqtt-username
  password: your-mqtt-password
  topic: ceph
  tls:
    enabled: true

Then point it at your rclone remote (and any media servers) so it knows what to refresh when events arrive. A full annotated reference 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, email support@clearstreamer.com 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.