Home Assistant spaghetti/failure detection with an Elegoo Centauri Carbon-first setup, designed around danielcherubini/elegoo-homeassistant.
Other printers or workflows can also be used when they expose a Home Assistant camera entity, optional light entity, and user-defined automations, but they are not the primary target.
The integration turns camera snapshots into Home Assistant entities and events. Printer actions such as pause, stop, resume, and notifications stay in your own automations, so the same detector can be used with different printer setups.
- Run the ML server. See ML server and logs.
- Install the custom integration through HACS or manually. See Installation.
- Add
Elegoo Spaghetti Detectionfrom Home Assistant integrations. - Select the camera and optional print status sensor. See Configuration.
- Press
Test Spaghetti Detection. - Add one of the automation examples.
- Add one of the dashboard examples.
- Installation
- Configuration
- Automation examples
- Dashboard examples
- ML server and logs
- Troubleshooting
- HACS publishing notes
camera snapshot -> ML server -> confidence/result sensors -> Home Assistant events
The integration detects possible print failures and exposes Home Assistant entities/events. It does not directly control the printer.
When a print status sensor is configured, scheduled detection only runs during
the configured active print states. Elegoo print_status sensors are also
guarded by the companion current_status sensor when it exists, which avoids
scheduled checks during homing or idle states where print_status can remain
printing.
- Works with Home Assistant camera entities, including Elegoo chamber cameras.
- Uses an Obico/TSD FDM failure model running in a local Docker/HA add-on server.
- Validates ML server health and camera image reachability during setup.
- Optional print status sensor gates scheduled detection to active print states.
- Optional chamber light control can leave the light alone, turn it on and keep it on, or temporarily turn it on and restore the previous state after each snapshot.
- Manual
Test Spaghetti Detectionbutton. - Confidence, raw score, detection count, status, last run, next run, and last error sensors.
binary_sensor.<prefix>_spaghetti_detected.- Events for every result and for detected failures.
- ML server web dashboard, JSON status, recent request logs, and image debug endpoint.
- CPU-first ML startup by default to avoid CUDA timeout failures on systems without a working GPU runtime.
Integration setup:
Enhanced dashboard in idle state:
Enhanced dashboard after a detected failure:
Your entity IDs depend on the printer/device name in Home Assistant. With a default-ish Elegoo Centauri Carbon 2 setup they often look like:
camera.elegoo_centauri_carbon2_chamber_camera
sensor.elegoo_centauri_carbon2_print_status
light.elegoo_centauri_carbon2_chamber_light
button.elegoo_centauri_carbon2_pause_print
button.elegoo_centauri_carbon2_resume_print
button.elegoo_centauri_carbon2_stop_print
The integration setup uses only camera, optional print status, and optional light. Pause/stop/resume are shown only in automation examples.
Every detection result fires:
elegoo_spaghetti_detection_result
Detected failures fire:
elegoo_spaghetti_detection_detected
When a print status sensor is configured, scheduled detected events are emitted once per active print window. If the printer leaves the configured active states and later returns to an active state, a new detected failure can emit one new event.
Use this event for notification, pause, and stop automations.
elegoo_spaghetti_detection_result still fires for every completed check. Use
that event for logging, dashboards, or advanced automations only; notification
automations based on the result event can repeat every detection interval.
Event data includes:
config_entry
detector
name
camera
manual
printer_state
confidence
raw_score
detected
detections
image_url
last_error
last_run
next_run
status
Use these fields in notifications and advanced automations.
This project started as an Elegoo-focused adaptation of
nberktumer/ha-bambu-lab-p1-spaghetti-detection.
The original project provided the Obico ML workflow and Home Assistant
integration foundation.



