This plugin integrates Scrypted camera devices with the Prusa Connect platform, allowing you to monitor your 3D printers with your existing camera setup.
- Camera Mixin Integration - Extends existing cameras with Prusa Connect functionality
- Automatic Snapshot Uploads - Configurable interval-based uploads (default: 10 seconds)
- Manual Sync - "Sync Now" button for on-demand snapshots
- Multiple Camera Support - Configure each camera independently
- Auto-Population - Automatically populates camera details (name, model, resolution) on first setup
- Rate Limit Handling - Gracefully handles Prusa Connect API rate limits
- Persistent Configuration - Settings are saved per-camera
- Open Scrypted Management Console
- Navigate to Plugins
- Click "Install Plugin"
- Search for "Prusa Connect" or install from local development
- Navigate to the Prusa Connect plugin
- Configure global settings:
- Prusa Connect URL: Default is
https://connect.prusa3d.com - Upload Interval: How often to upload snapshots in seconds (0 to disable automatic uploads)
- Prusa Connect URL: Default is
- Go to any camera device
- Enable the Prusa Connect mixin
- In the camera settings, you'll see a new "Prusa Connect" section with:
- Camera Token: Get this from Prusa Connect (see below)
- Camera Name: Display name in Prusa Connect
- Last Sync: Shows when the last upload occurred
- Sync Now: Button to manually trigger an upload
Important: You need to manually register your camera in Prusa Connect first.
- Log in to Prusa Connect
- Go to your printer settings
- Add a new camera manually
- Copy the generated Camera Token
- Paste it into the Scrypted camera's "Camera Token" field
This plugin uses Scrypted's MixinProvider pattern to extend camera devices:
- Mixin Integration - Adds Prusa Connect functionality to existing cameras without replacing them
- Token-Based Authentication - Each camera uses its own token + persistent fingerprint for security
- Automatic Info Population - On first token setup, automatically sends camera details (name, model, resolution) to Prusa Connect
- Background Uploads - Runs automatic uploads at the configured interval for all cameras with valid tokens
- Error Handling - Rate limit errors are handled gracefully without stopping other cameras
- PrusaConnectProvider - Main plugin that manages global settings and automatic upload timers
- PrusaConnectMixin - Per-camera mixin that handles individual camera configuration and uploads
- PrusaConnectClient - API client for communicating with Prusa Connect
- CameraManager - Handles camera operations and snapshot uploads
Prusa Connect enforces rate limits (~10 second minimum between uploads). The plugin handles this by:
- Logging friendly warnings instead of verbose errors
- Continuing automatic uploads for other cameras when one gets rate limited
- Using a default 10-second interval to align with API limits
- Check that the camera token is valid in Prusa Connect
- Verify the camera can take snapshots in Scrypted
- Look for rate limiting messages in logs
- Try the "Sync Now" button for manual testing
- Ensure the Prusa Connect mixin is enabled on the camera
- Check that the camera supports the Camera interface
- Look for the "Prusa Connect" section in camera settings (not under "General")
"Upload rate limited by Prusa Connect"- Normal, uploads will resume automatically"Camera token not set"- Configure the camera token in camera settings"Invalid fingerprint"- Token/fingerprint mismatch, try re-entering the token
npm install
npm run buildnpm run scrypted-deploy-debugsrc/
├── main.ts # Main plugin and mixin classes
├── prusa-connect-client.ts # API client
└── camera-manager.ts # Camera operations wrapper
- 0.1.5 - Initial release with camera mixin integration, automatic uploads, and camera info auto-population