Files
ha-elegoo-spaghetti-detection/README.md
T
2026-05-03 23:47:54 +03:00

5.3 KiB

Elegoo Spaghetti Detection

Home Assistant spaghetti/failure detection for Elegoo FDM printers. It is tested with Elegoo Centauri Carbon 2 through danielcherubini/elegoo-homeassistant, but the detector can use any Home Assistant camera entity.

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

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.

This repository is not affiliated with Elegoo, Home Assistant, HACS, Obico, or the original upstream author.

Scope

The integration detects possible print failures and exposes Home Assistant entities/events. It does not directly control the printer.

Detection flow:

camera snapshot -> ML server -> confidence/result sensors -> Home Assistant events

Printer-specific actions such as pause, resume, stop, and notifications belong in user automations. Ready-to-edit examples are included.

Features

  • 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.
  • Elegoo print_status sensors are guarded by the companion current_status sensor when it exists, avoiding scheduled checks during homing/idle states where print_status can remain printing.
  • 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 Detection button.
  • 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.

Documentation

Screenshots

Integration setup:

Elegoo Spaghetti Detection setup form

Enhanced dashboard in idle state:

Enhanced dashboard idle state

Enhanced dashboard after a detected failure:

Enhanced dashboard detected failure

Camera frame with an obvious spaghetti failure:

Camera frame with spaghetti failure

Quick Start

  1. Run the ML server. See ML server and logs.
  2. Install the custom integration through HACS or manually. See Installation.
  3. Add Elegoo Spaghetti Detection from Home Assistant integrations.
  4. Select the camera and optional print status sensor. See Configuration.
  5. Press Test Spaghetti Detection.
  6. Add one of the automation examples.
  7. Add one of the dashboard examples.

Typical Elegoo CC2 Entities

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.

Events

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.