DevOps & CloudDocumentedScanned
snapmaker
Monitor and control Snapmaker 3D printers (U1.
Share:
Installation
npx clawhub@latest install snapmakerView the full skill documentation and source below.
Documentation
Snapmaker Printer Control
Control Snapmaker U1 printers via the Moonraker API.
Configuration
Create a config file at ~/clawd/config/snapmaker.json:
{
"ip": "192.168.x.x",
"port": 80
}
Or use environment variables:
export SNAPMAKER_IP=192.168.x.x
export SNAPMAKER_PORT=80 # optional, defaults to 80
Config search order:
SNAPMAKER_IP environment variable (highest priority)~/clawd/config/snapmaker.json~/.config/clawdbot/snapmaker.jsonQuick Commands
Check Status
scripts/snapmaker.py status
Filament Info
scripts/snapmaker.py filament
Shows RFID tag data for each slot: material type, color (hex), temp ranges, and sensor status.
Monitor Print (Live)
scripts/snapmaker.py monitor
Print Control
scripts/snapmaker.py pause
scripts/snapmaker.py resume
scripts/snapmaker.py cancel
Temperature
scripts/snapmaker.py temps
API Reference
The U1 uses Moonraker REST API on port 80:
| Endpoint | Description |
/server/info | Server status |
/printer/info | Printer info |
/printer/objects/query?heater_bed&extruder&print_stats | Status |
/printer/print/pause | Pause print |
/printer/print/resume | Resume print |
/printer/print/cancel | Cancel print |
Status Response Fields
print_stats.state:standby,printing,paused,complete,errorprint_stats.filename: Current fileprint_stats.print_duration: Seconds elapsedvirtual_sdcard.progress: 0.0 to 1.0heater_bed.temperature/heater_bed.target: Bed tempsextruder.temperature/extruder.target: Nozzle temps
Filament & Sensor Data
Query filament RFID and sensors:
/printer/objects/query?filament_detect&filament_motion_sensor%20e0_filament&filament_motion_sensor%20e1_filament&filament_motion_sensor%20e2_filament&filament_motion_sensor%20e3_filament
filament_detect.info[]
Array of 4 slots with RFID tag data (or defaults if no tag):
| Field | Description |
VENDOR | "Snapmaker" or "NONE" if no RFID |
MANUFACTURER | e.g. "Polymaker" |
MAIN_TYPE | Material: "PLA", "PETG", "ABS", etc. |
SUB_TYPE | Variant: "SnapSpeed", "generic", etc. |
RGB_1 | Color as decimal int (convert: #${(rgb>>16&0xFF).toString(16)}...) |
ARGB_COLOR | Color with alpha (decimal) |
WEIGHT | Spool weight in grams |
HOTEND_MIN_TEMP / HOTEND_MAX_TEMP | Nozzle temp range |
BED_TEMP | Recommended bed temp |
OFFICIAL | true if official Snapmaker filament |
filament_motion_sensor e{0-3}_filament
| Field | Description |
filament_detected | Boolean - filament present in slot |
enabled | Boolean - sensor active |
filament_detected: true but VENDOR: NONE — this means third-party filament without RFID tag.