Control OctoPrint 3D printer — monitor status, capture webcam snapshots, manage prints, analyze gcode, and detect errors. Use when the user asks about their...
---
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 <skill-dir>/scripts/octoprint.py <command> [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 <filename>` — Start a print
- `control <pause|resume|cancel>` — Control active print
- `temp <tool0|bed> <temperature>` — Set temperature
### Files
- `list-files` — List uploaded files
- `upload <local-path> [remote-name]` — Upload gcode
- `analyze <filepath>` — 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 <file>`
**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
don't have the plugin yet? install it then click "run inline in claude" again.