Bring your Elegoo 3D printers into Home Assistant! This integration allows you to monitor status, view live print thumbnails, and control your printers directly from your smart home dashboard.
- Features
- Local Proxy Server
- Supported Printers
- Installation
- Configuration
- Entities
- Automation Blueprints
- Contributing
- Broad Printer Support: Designed for the ever-expanding lineup of Elegoo resin and FDM printers.
- Comprehensive Sensor Data: Exposes a wide range of printer attributes and real-time status sensors.
- Live Camera: Monitor your print from anywhere.
- Print Thumbnails: See an image of what you are currently printing directly in Home Assistant.
- Direct Printer Control: Stop and pause prints, control temperatures, and adjust speeds.
- Local Proxy Server: An optional built-in proxy to bypass printer connection limits.
- Automation Blueprints: Includes a ready-to-use blueprint for print progress notifications.
Modern Elegoo printers often have a built-in limit of 4 simultaneous connections. Since the video stream consumes one of these by itself, users can easily hit this limit.
The optional proxy server acts as a single gateway, routing all commands and the video stream through one stable connection, effectively bypassing these limits.
➡️ Read more and join the discussion here
Elegoo releases new models frequently, and this integration is designed to be as "future-proof" as possible. Instead of worrying about specific version numbers, look at the Protocol your printer uses.
Don't see your specific model? Try it anyway! If your printer uses the SDCP protocol (which almost all modern networked Elegoo printers do), there is a very high chance it will work perfectly. This list is non-exhaustive and grows with the community.
Most newer models utilize WebSockets for communication. This integration offers full support for:
- Mars Range (e.g., Mars 5, 5 Ultra)
- Saturn Range (e.g., Saturn 4, 4 Ultra)
- Centauri Range (e.g., Centauri Carbon)
Older networked models typically use MQTT. These are supported in Beta, meaning most features work, though some metadata (like start/end times or cover images) may be missing due to the limitations of the older protocol.
- Saturn Range (e.g., Saturn 2, 3 Ultra)
- Mars Range (e.g., Mars 3, 4 Ultra)
- Jupiter Range
Known Limitations for MQTT:
Begin Time,End Time, andCover Imagesensors will show "Unknown."- Standard sensors (status, layers, temps, progress) function normally.
CC2 (Centauri Carbon 2) printers use an inverted MQTT architecture where the printer runs its own broker. This integration supports LOCAL network connections only.
Supported Models:
- Centauri Carbon 2
- Elegoo Cura (some models)
CC2 printers MUST be configured for LAN-Only mode:
- On your printer: Settings → Network → LAN Only Mode
- Enable LAN Only Mode
- Save and restart if prompted
- Ensure printer and Home Assistant are on the same network/subnet
Cloud mode is NOT supported. Cloud connectivity requires Elegoo's OAuth2 authentication and cloud relay services, which are not currently implemented. This integration connects directly to your printer over your local network only.
Network Requirements:
- Printer and Home Assistant must be on the same network/VLAN/subnet
- For containerized Home Assistant (Docker/Kubernetes): Use host networking or proper network bridging
- Port 1883 (MQTT) must be accessible between HA and printer
Optional GCode capture proxy:
The printers report only a total filament usage value over their normal telemetry (MQTT for CC2, SDCP for CC1) — the per-slot breakdown (how much each Canvas spool contributed) exists only inside the G-code file, and there is no way to retrieve a file from the printer after it has been sent.
The elegoo-printer-proxy sits between ElegooSlicer and the printer, transparently capturing every G-code file at upload time and parsing out per-slot filament data. It supports both the CC2 and the CC1 (Centauri Carbon). Configure the proxy URL in the integration options (Settings → Integrations → Elegoo → Configure).
With the proxy configured, additional sensors are created: per-slot A1–A4 grams, volume, length, and color, plus total filament cost and change count when the slicer provides them. See SPOOLMAN.md for automations that push this data to Spoolman for spool weight tracking.
See CC2 Protocol Documentation for technical details.
The recommended way to install this integration is through the Home Assistant Community Store (HACS).
- In HACS, go to Integrations and click the "+" button.
- Search for "Elegoo Printers" and select it.
- Click "Download" and restart Home Assistant.
- Go to Settings > Devices & Services.
- Click "Add Integration" and search for "Elegoo Printers".
- The integration will attempt to auto-discover printers on your network.
- If no printer is found, select "Configure manually" and enter your printer's IP address or hostname.
Note: If auto-discovery didn't work, you may need some advanced network setup.
Elegoo firmware v1.1.29 contains a bug preventing remote control of lights and temperatures while a print is in progress. This is a firmware limitation; if you require these features during prints, consider using v1.1.25 if available for your model.
The integration provides a comprehensive set of entities including Live Camera, Print Thumbnails, Control Buttons (Stop/Pause/Resume), and a full suite of Sensors (Progress, Temps, Layers, Z-Height, etc.).
Filament / Canvas A1–A4 sensors (CC1 and CC2): Gcode file-detail and optional proxy sensors are created at setup time (proxy extras are only added when a proxy URL is configured). They stay available between prints; when there is no current job data they report unknown rather than becoming unavailable, so automations and history are not disrupted each time a print ends.
Includes a blueprint for mobile notifications. Import it here.
Compatible with Spoolman Home Assistant. Some approaches are available depending on your printer and firmware: automated per-slot tracking for CC2 via the gcode capture proxy, live extrusion tracking for CC1 with OpenCentauri firmware, or a filename-template workaround for CC1 on stock firmware. See SPOOLMAN.md for setup and example automations.
If you've tested a new model not mentioned here, or if you've found a way to improve MQTT support, please open an issue or a PR!
Want to contribute code or help debug printer protocols? See the Development Guide for detailed setup instructions covering:
- Linux/macOS setup
- Windows setup (with troubleshooting for common issues)
- Dev Container setup (VS Code + Docker)
- Running the debug script to capture printer data