--- name: octoclaw description: Control OctoPrint 3D printer — monitor status, capture webcam snapshots, manage prints, analyze gcode, and detect errors. Use when the user asks about their 3D printer, print status, filament, temperatures, or wants to start/pause/cancel a print. metadata: { "openclaw": { "emoji": "🐙", "requires": { "bins": ["python3"] } } } --- # OctoClaw — OctoPrint Control Helper script: `scripts/octoprint.py` (relative to this skill directory). Config: `config.json` (same directory) with `octoprint_url` and `api_key`. Resolve all paths relative to this skill's directory. ## Commands All commands: `python3 /scripts/octoprint.py [args]` ### Status - `status-pretty` — Formatted status with temps, progress bar, ETA (show this to users) - `status` — Raw JSON - `check-errors` — Returns JSON with errors/warnings (temp anomalies, stalls, connection issues) ### Print Control - `print ` — Start a print - `control ` — Control active print - `temp ` — Set temperature ### Files - `list-files` — List uploaded files - `upload [remote-name]` — Upload gcode - `analyze ` — Extract gcode metadata (layers, time, filament, temps, dimensions) ### Webcam - `snapshot [output-path]` — Capture webcam image (default: /tmp with timestamp) ### Telegram (if configured) - `telegram-status` — Send formatted status to Telegram - `telegram-snapshot` — Send webcam snapshot with progress caption - `telegram-msg "message"` — Send custom message ## Workflows **Check on a print:** `status-pretty` → optionally `snapshot` → `check-errors` **Start a print:** `status-pretty` (verify Operational) → `list-files` or `upload` → optionally `analyze` → `print ` **Error detection:** `check-errors` returns critical errors (>15°C deviation, connection lost) and warnings (5-15°C deviation, stalled prints). Recommend pausing on temp issues, cancelling on critical errors. ## Formatting - Use `status-pretty` output for user display - Always show progress %, time remaining, ETA for active prints - Include temperature actual/target