3D Drucker automatisch ausschalten mit Home Assistant

Gerade bei längeren Drucken lasse ich meine Drucker oft unbeaufsichtigt und beobachte den Fortschritt sporadisch mittels der App und des Webcam Streams. Meist bin ich dann direkt nach Fertigstellung nicht sofort Vorort und komme erst später dazu das Objekt vom Druckbett zu lösen.
Hier habe ich schon lange den Komfort vermisst, dass der Drucker sich automatisch abschaltet wenn er fertig ist. Da ich Home Assistant benutze sollte sich da doch was machen lassen!
Kommen wir erst einmal dazu was “mit dem Drucken fertig” im Detail bedeutet: Der Drucker hat den GCODE Komplett ausgeführt und den Auftrag somit beendet. Wenn man den Drucker jetzt einfach abschaltet würde das Hotend noch über 200 °C heiß sein. Dann würde die aktive Kühlung sich auch abschalten und das Gerät könnte Schaden nehmen. Daher sollte man mit dem Abschalten warten bis das Hotend mindestens auf 50 °C heruntergekühlt ist (zumindest schaltet mein Prusa dann die Lüfter ab).
Was benötigen wir nun:
- eine lauffähige Home Assistant Installation
- einen 3D Drucker, dessen Daten in Home Assistant verfügbar sind (Integration oder MQTT)
- eine smarte Steckdose (z.B. via Zigbee gekoppelt), in der der Drucker steckt
Es ist theoretisch absolut egal was für einen 3D Drucker ihr habt: Hauptsache man kann per LAN oder WLAN seine Sensordaten abfragen. Das ist bei jedem Drucker, der Klipper als Basis nutzt der Fall oder wenn der Hersteller eine App bereit stellt gibt es sicherlich jemanden, der eine inoffizielle Integration für Home Assistant entwickelt hat.
Wir benötigen folgende Sensor-Daten:
- Drucker Status (z.B. “Druckt”, “Leerlauf”, “Fertig”)
- Hotend Temperatur

Anleitung
Die Automatisierungen
Automatisierung A (“3D Drucker auf fertig setzen”)
alias: 3D Drucker auf fertig setzen
description: ""
triggers:
- trigger: state
entity_id:
- sensor.prusaprinter
from: busy
to: idle
- trigger: state
entity_id:
- sensor.prusaprinter
from: printing
to: finished
- trigger: state
entity_id:
- sensor.prusaprinter
from: busy
to: finished
- trigger: state
entity_id:
- sensor.prusaprinter
from: printing
to: idle
conditions: []
actions:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.3d_drucker_fertig_mit_drucken
mode: single
Automatisierung B (“Reset 3D Drucker fertig mit Drucken”)
alias: Reset 3D Drucker fertig mit Drucken
description: ""
triggers:
- type: turned_on
device_id: ae03228b62525453690ad1b13f9d2846
entity_id: af25ab19273db4ec614a612cb968fc33
domain: switch
trigger: device
conditions: []
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.3d_drucker_fertig_mit_drucken
mode: single
Automatisierung C (“3D Drucker automatisch Abschalten”)
alias: 3D Drucker automatisch Abschalten
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.prusaprinter_nozzle_temperature
for:
hours: 0
minutes: 0
seconds: 10
below: 50
conditions:
- condition: state
entity_id: sensor.prusaprinter
state: idle
- condition: state
entity_id: input_boolean.3d_drucker_automatisch_abschalten
state: "on"
- condition: state
entity_id: input_boolean.3d_drucker_fertig_mit_drucken
state: "on"
actions:
- type: turn_off
device_id: ae03228b62525453690ad1b13f9d2846
entity_id: af25ab19273db4ec614a612cb968fc33
domain: switch
- action: notify.mobile_app_redmi_note_9_pro
metadata: {}
data:
message: Der 3D-Drucker wurde automatisch ausgeschaltet.
mode: single
Ihr musst natürlich die Sensoren auf eure eigene Anpassen.