🖨️ 3D-Drucker - Automationen¶
Kategorie: Centauri Carbon Druckstatus, Obico-Integration, Benachrichtigungen\ Anzahl Automationen: 9\ Status: ✅ Aktiv – Obico optimiert (2026-02-20)
🔧 Version 4.0 (2026-02-20) - Obico Verbesserungen¶
Änderungen¶
Anlass: Drucker pausierte um 00:12 Uhr – Fehlerursache aus DB-Analyse: Obico Fehlalarm (22.82% Konfidenz, Schwelle war 10%)
1. Konfidenz-Schwelle erhöht ✅
- sensor.obico_ml_failure_detection_confidence above: 10 → above: 30
- Begründung: 22.82% war ein Fehlalarm (Druck war bei 75%, alles normal)
- Automatik: Druck wird erst bei ≥30% pausiert
2. Benachrichtigung: Foto im Vollbild öffnen ✅
- Vorher: Antippen der Benachrichtigung → Foto verschwindet
- Jetzt: clickAction: /local/centauri_obico_alert.jpg → HA-App öffnet Vollbild
- Buttons (Weiterdrucken / Druck abbrechen) bleiben unverändert
3. Alert-Foto nach 48h automatisch löschen ✅
- Neue Automation: 3D-Druck – Obico Alert Foto nach 48h löschen (ID: 1740000001000)
- Trigger: binary_sensor.obico_ml_failure_detected → on
- Aktion: 48h warten, dann shell_command.delete_obico_alert (rm -f /config/www/centauri_obico_alert.jpg)
- Mode: restart – Timer resettet sich bei neuem Alert
- Neuer shell_command in configuration.yaml: delete_obico_alert: rm -f /config/www/centauri_obico_alert.jpg
Geänderte Dateien¶
| Datei | Änderung |
| automations.yaml | Schwelle 10→30, clickAction ergänzt, neue Automation |
| configuration.yaml | Neuer shell_command: delete_obico_alert |
🎯 Version 3.0 (2026-01-09) - Netto-Druckzeit¶
Durchgeführte Änderungen¶
Status: ✅ Umstellung auf Netto-Druckzeit abgeschlossen
Changelog gegenüber Version 2.0¶
1. Neuer Netto-Druckzeit Counter ✅
- Neuer Input Helper: input_number.centauri_netto_print_time
- Unit: Minuten
- Icon: mdi:timer
- Initial: 0 (wird bei jedem Druck hochgezählt)
- Nutzen: Nur TATSÄCHLICHE Druckzeit (ohne Pausen, Aufheizen, Wartung)
2. Utility Meter umgestellt ✅
- Vorher: Source = sensor.centauri_carbon_total_print_time (Brutto vom Drucker)
- Jetzt: Source = input_number.centauri_netto_print_time (Netto - manuell gezählt)
- Betrifft:
1. sensor.centauri_daily_print_time (Tägliche Druckzeit)
1. sensor.centauri_monthly_print_time (Monatliche Druckzeit)
- Nutzen: Genauere Statistiken - nur echte Druckzeit
3. Automationen aktualisiert ✅
- "3D-Drucker – Druck fertig" (ID: 1764193856743)
1. Addiert duration_min zum Netto-Counter
1. Zeilen: 1799-1804 in automations.yaml
- "3D-Drucker – Fehler oder abgebrochen" (ID: 1764193877378)
1. Addiert ebenfalls duration_min zum Netto-Counter (auch fehlerhafte Drucke zählen!)
1. Zeilen: 1836-1841 in automations.yaml
Technische Details¶
Brutto vs. Netto:
| Metrik | Brutto (alt) | Netto (neu) |
| Quelle | sensor.centauri_carbon_total_print_time | input_number.centauri_netto_print_time |
| Gemessen | Drucker-intern | Berechnet (end_time - begin_time) |
| Enthält | Pausen, Aufheizen, Wartung | Nur aktive Druckzeit |
| Genauigkeit | Drucker-abhängig | Template-berechnet |
| Beispiel | 120 min (inkl. 15 min Pause) | 105 min (nur Druck) |
Berechnungslogik (duration_min):
variables:
begin: " )"
end: " )"
duration_min: >
{% if begin not in ['unknown','unavailable','']
and end not in ['unknown','unavailable',''] %}
 - as_timestamp(begin)) / 60) )
{% else %}
 )
{% endif %}
Input Number Konfiguration:
input_number:
centauri_netto_print_time:
name: Centauri Netto-Druckzeit (Counter)
min: 0
max: 1000000
step: 0.01
initial: 0
unit_of_measurement: "min"
mode: box
icon: mdi:timer
Utility Meter Konfiguration:
utility_meter:
centauri_daily_print_time:
source: input_number.centauri_netto_print_time
cycle: daily
centauri_monthly_print_time:
source: input_number.centauri_netto_print_time
cycle: monthly
Vorteile der Netto-Druckzeit¶
✅ Genauere Statistiken: - Nur tatsächliche Druckzeit wird gezählt - Pausen, Aufheizen, Wartung werden nicht mitgezählt
✅ Bessere Vergleichbarkeit: - Drucke mit/ohne Pausen vergleichbar - Realistische Zeitschätzung für zukünftige Drucke
✅ Filament-Kalkulation: - Genauere Berechnung des Filamentverbrauchs pro Stunde - Pausenzeiten verfälschen nicht die Statistik
Datenmigration / Hinweise¶
⚠️ Counter startet bei 0:
- Der neue Netto-Counter beginnt bei 0
- Historische Brutto-Daten bleiben erhalten (sensor.centauri_carbon_total_print_time)
- Kann bei Bedarf manuell auf Startwert gesetzt werden (z.B. geschätzte Netto-Stunden)
Optional: Startwert setzen
- Home Assistant UI → Entwicklerwerkzeuge → Dienste
- Service: input_number.set_value
- Entity: input_number.centauri_netto_print_time
- Value: [geschätzte bisherige Netto-Minuten]
Statistik¶
| Metrik | Version 2.0 | Version 3.0 | Änderung | | Automationen | 9 | 9 | Unverändert | | Zeilen | 1963 | 1963 | Unverändert | | Zeiterfassung | Brutto (Drucker) | Netto (berechnet) | ✅ Umgestellt | | Genauigkeit | Mittel | Hoch | ✅ Verbessert |
🎉 Version 2.0 (2025-12-16) - PROJEKT ABGESCHLOSSEN¶
Durchgeführte Optimierungen¶
Status: ✅ Alle 5 identifizierten Probleme behoben (100%)
Changelog gegenüber Version 1.0¶
1. Action-Buttons hinzugefügt ✅ - Automationen "Status-Notification starten" & "aktualisieren" - Buttons: Pausieren, Weiterdrucken, Abbrechen - Nutzen: Direkte Steuerung aus Push-Notification - Code: +14 Zeilen
2. Redundante Automation gelöscht ✅ - "Obico Spaghetti-Alarm Aktionen" entfernt - Grund: Automation #3 behandelt bereits alle Actions - Code: -28 Zeilen
3. User-Umsetzung (2025-12-15) ✅ - Case-Sensitivity behoben (Zeile 1797: "Printing" → "printing") - Fehlertext korrigiert (Zeile 1775: "clear_notification") - BACKUP-Automation gelöscht (-25 Zeilen)
Statistik¶
| Metrik | Vorher (Original) | Nachher (Final) | Verbesserung | | Zeilen | 1984 | 1963 | -21 Zeilen | | Probleme | 5 | 0 | 100% behoben | | Risiko | MITTEL-HOCH | NIEDRIG | 2 Stufen | | Automationen | 10 | 9 | -1 Redundanz |
Testing-Empfehlung¶
Bei nächstem 3D-Druck prüfen: - [ ] Push-Notification mit Buttons wird angezeigt - [ ] Buttons funktionieren (Pausieren, Weiterdrucken, Abbrechen) - [ ] Fortschrittsanzeige aktualisiert sich alle 5 Minuten - [ ] Obico-Alarm funktioniert bei Druckfehler - [ ] Keine Duplikate oder Fehler in Logs
Behobene Probleme (Übersicht)¶
| # | Problem | Priorität | Status | Behoben am | | 1 | Case-Sensitivity Fehler ("Printing" → "printing") | HOCH | ✅ | 15.12. User | | 2 | Fehlertext ("Kein Fehler" → "clear_notification") | MITTEL | ✅ | 15.12. User | | 3 | BACKUP-Automation gelöscht | MITTEL | ✅ | 15.12. User | | 4 | Fehlende Action-Buttons (Status-Notifications) | NIEDRIG-MITTEL | ✅ | 16.12. Claude | | 5 | Redundante Automation #7 (Obico Aktionen) | NIEDRIG | ✅ | 16.12. Claude |
📜 Version 1.0 (2025-12-15) - Analyse & Empfehlungen¶
Hinweis: Diese Version wurde durch Version 2.0 (siehe oben) abgelöst.\ Nachfolgend die ursprüngliche Analyse und Empfehlungen.
Automationen¶
3D-Drucker – Status-Notification starten¶
ID: 1764193701128\
Beschreibung: Dauernachricht mit Fortschritt und ETA starten
Trigger¶
Actions¶
actions:
target:
entity_id: camera.centauri_carbon_chamber_camera
data:
filename: /config/www/centauri_snapshot.jpg
action: camera.snapshot
data:
title: {% set prog = states('sensor.centauri_carbon_percent_complete')|int(0) %} {% set eta = states('sensor.centauri_carbon_end_time') %} 3D-Druck läuft:  % · ETA {% if eta not in ['unknown','unavailable',''] %}
 )
{% else %}
?
{% endif %}
message:  ) {% set rem = states('sensor.centauri_carbon_remaining_print_time')|float(0) %} {% if rem > 0 %}
· Rest: )h )min
{% endif %}
data:
image: /local/centauri_snapshot.jpg
sticky: True
tag: centauri_print
channel: printer
progress: )
progress_max: 100
alert_once: True
action: notify.mobile_app_z_fold_7
3D-Drucker – Status-Notification aktualisieren¶
ID: 1764193755112\
Beschreibung: Aktualisiert Fortschritt und ETA
Trigger¶
Conditions¶
Actions¶
actions:
target:
entity_id: camera.centauri_carbon_chamber_camera
data:
filename: /config/www/centauri_snapshot.jpg
action: camera.snapshot
data:
title: {% set prog = states('sensor.centauri_carbon_percent_complete')|int(0) %} {% set eta = states('sensor.centauri_carbon_end_time') %} 3D-Druck läuft:  % · ETA {% if eta not in ['unknown','unavailable',''] %}
 )
{% else %}
?
{% endif %}
message:  ) {% set rem = states('sensor.centauri_carbon_remaining_print_time')|float(0) %} {% if rem > 0 %}
· Rest: )h )min
{% endif %}
data:
image: /local/centauri_snapshot.jpg
sticky: True
tag: centauri_print
channel: printer
progress: )
progress_max: 100
alert_once: True
action: notify.mobile_app_z_fold_7
3D-Drucker – Notification-Buttons ausführen¶
ID: 1764193803561\
Beschreibung: Reagiert auf Pause/Weiter/Stop aus der Push-Nachricht
Trigger¶
Conditions¶
conditions:
condition: template
value_template: 
Actions¶
actions:
choose:
-
conditions:
-
condition: template
value_template: 
sequence:
-
action: button.press
target:
entity_id: button.centauri_carbon_pause_print
-
conditions:
-
condition: template
value_template: 
sequence:
-
action: button.press
target:
entity_id: button.centauri_carbon_resume_print
-
conditions:
-
condition: template
value_template: 
sequence:
-
action: button.press
target:
entity_id: button.centauri_carbon_stop_print
3D-Drucker – Druck fertig¶
ID: 1764193856743\
Beschreibung: Sticky-Notification löschen und Fertigmeldung schicken
Trigger¶
triggers:
# 1. Trigger
entity_id: sensor.centauri_carbon_print_status
from: printing
to:
1. idle
1. complete
1. stopped
1. stopping
trigger: state
Actions¶
actions:
variables:
begin:  )
end:  )
duration_min: {% if begin not in ['unknown','unavailable','']
and end not in ['unknown','unavailable',''] %}
 - as_timestamp(begin)) / 60) )
{% else %}
 )
{% endif %}
data:
message: clear_notification
data:
tag: centauri_print
action: notify.mobile_app_z_fold_7
data:
title: 3D-Druck fertig ✅
message: Druck ist fertig. Gesamtdauer:  )h  )min.
action: notify.mobile_app_z_fold_7
3D-Drucker – Fehler oder abgebrochen¶
ID: 1764193877378\
Beschreibung: Fehlerzustand melden und Status-Notification schließen
Trigger¶
Conditions¶
conditions:
condition: template
value_template: ![ lower in ['error','failed','cancelling','cancelled'] ]( trigger.to_state.state )
Actions¶
actions:
action: notify.mobile_app_z_fold_7
data:
message: Kein Fehler
data:
tag: centauri_print
dismiss: True
variables:
status: 
file:  )
action: notify.mobile_app_z_fold_7
data:
title: 3D-Drucker Problem ⚠️
message: Job  hat einen Fehlerzustand erreicht: .
3D-Druck – Obico Spaghetti-Alarm¶
ID: 1764196572938\
Trigger¶
Conditions¶
conditions:
condition: state
entity_id: sensor.centauri_carbon_print_status
state: Printing
condition: state
entity_id: switch.obico_ml_communication
state: on
condition: numeric_state
entity_id: sensor.obico_ml_failure_detection_confidence
above: 10
Actions¶
actions:
target:
entity_id: button.centauri_carbon_pause_print
action: button.press
data:
entity_id: camera.obico_ml_detection_camera
filename: /config/www/centauri_obico_alert.jpg
action: camera.snapshot
delay: 00:00:02
data:
title: Centauri – möglicher Druckfehler
message: Obico meldet einen möglichen Fehler. Druck ist pausiert. Was möchtest du tun?
data:
image: /local/centauri_obico_alert.jpg
actions:
-
action: CENTAURI_RESUME
title: Weiterdrucken
-
action: CENTAURI_STOP
title: Druck abbrechen
action: notify.mobile_app_z_fold_7
3D-Druck – Obico Spaghetti-Alarm Aktionen¶
ID: 1764196596256\
Trigger¶
Conditions¶
conditions:
condition: template
value_template: 
Actions¶
actions:
choose:
-
conditions:
-
condition: template
value_template: 
sequence:
-
target:
entity_id: button.centauri_carbon_resume_print
action: button.press
-
conditions:
-
condition: template
value_template: 
sequence:
-
target:
entity_id: button.centauri_carbon_stop_print
action: button.press
3D-Druck – Obico ML Kommunikation¶
ID: 1764285219124\
Beschreibung: Schaltet Obico-ML nur ein, wenn der Centauri wirklich druckt.
Trigger¶
Actions¶
actions:
choose:
-
conditions:
-
condition: template
value_template: 
sequence:
-
target:
entity_id: switch.obico_ml_communication
action: switch.turn_on
-
conditions:
-
condition: template
value_template: 
sequence:
-
target:
entity_id: switch.obico_ml_communication
action: switch.turn_off
3D-Drucker – Pause / Filament leer¶
ID: 1764344456398\
Beschreibung: Meldung wenn Druck pausiert
Trigger¶
Actions¶
actions:
data:
title: 3D-Druck pausiert ⏸️
message: Der Druck wurde pausiert (z.B. Filament leer?). Status:  ).
action: notify.mobile_app_z_fold_7
3D-Drucker – Status-Notification aktualisierenBACKUP¶
ID: 1764351932391\
Beschreibung: Aktualisiert Fortschritt, Bild und Text
Trigger¶
Conditions¶
Actions¶
actions:
action: camera.snapshot
target:
entity_id: camera.centauri_carbon_chamber_camera
data:
filename: /config/www/centauri_snapshot.jpg
variables:
file:  )
progress:  )
remaining:  )
eta_raw:  )
data:
title: 3D-Druck läuft
message:  –  % {% set rem = remaining | float(0) %} {% if rem > 0 %}
· Rest:  )h  )min
{% else %}
· Rest: unbekannt
{% endif %} {% if eta_raw not in ['unknown','unavailable',''] %}
· ETA:  )
{% else %}
· ETA: unbekannt
{% endif %}
data:
image: /local/centauri_snapshot.jpg
sticky: True
tag: centauri_print
channel: printer
progress: 
progress_max: 100
alert_once: True
action: notify.mobile_app_z_fold_7
📊 Analyse & gefundene Probleme¶
Analysedatum: 2025-12-15\ Status: 7 von 10 Automationen funktionieren gut, 3 kritische/größere Probleme gefunden
Übersicht der Probleme¶
| Priorität | Problem | Automation | Zeile | Status | | 🔴 KRITISCH | Case-Sensitivity Fehler | Obico Spaghetti-Alarm | 1797 | ⚠️ Muss behoben werden | | ⚠️ HOCH | Fehlertext irreführend | Fehler oder abgebrochen | 1775 | ⚠️ Muss behoben werden | | ⚠️ HOCH | Fehlende Action-Buttons | Status-Notification starten/aktualisieren | 1625, 1658 | ⚠️ Funktionalität fehlt | | 🟡 MITTEL | BACKUP-Automation redundant | Status-Notification aktualisierenBACKUP | 1898-1936 | 🗑️ Kann gelöscht werden | | 🟡 MITTEL | Redundante Button-Handler | Obico Spaghetti-Alarm Aktionen | 1828-1855 | 🗑️ Kann mit #3 zusammengeführt werden |
🔴 Kritisches Problem: Case-Sensitivity¶
Automation: 3D-Druck – Obico Spaghetti-Alarm (ID: 1764196572938)\ Zeile: 1797 in automations.yaml
Problem:
conditions:
1. condition: state
entity_id: sensor.centauri_carbon_print_status
state: Printing # ❌ FALSCH - Großes P!
Überall sonst wird verwendet:
Auswirkung: Die Obico-Fehlerüberwachung triggert eventuell nicht, weil die Condition nie erfüllt wird!
Lösung:
conditions:
1. condition: state
entity_id: sensor.centauri_carbon_print_status
state: printing # ✅ KORRIGIERT
⚠️ Problem: Irreführender Fehlertext¶
Automation: 3D-Drucker – Fehler oder abgebrochen (ID: 1764193877378)\ Zeile: 1775 in automations.yaml
Problem:
actions:
1. action: notify.mobile_app_z_fold_7
data:
message: Kein Fehler # ❌ IRREFÜHREND!
data:
tag: centauri_print
dismiss: true
Sollte sein:
actions:
1. action: notify.mobile_app_z_fold_7
data:
message: clear_notification # ✅ KORREKT
data:
tag: centauri_print
Erklärung: Dieser Schritt löscht die Sticky-Notification. "Kein Fehler" ist irreführend - korrekt ist "clear_notification" (wie bei Automation #4).
⚠️ Problem: Fehlende Action-Buttons¶
Betrifft: - Automation #1: 3D-Drucker – Status-Notification starten (Zeile 1625) - Automation #2: 3D-Drucker – Status-Notification aktualisieren (Zeile 1658)
Problem: Die Notifications haben keine Pause/Resume/Stop Buttons, obwohl Automation #3 diese behandeln könnte!
Aktuell:
data:
image: /local/centauri_snapshot.jpg
sticky: true
tag: centauri_print
channel: printer
progress: ')'
progress_max: 100
alert_once: true
action: notify.mobile_app_z_fold_7
# ❌ KEINE BUTTONS!
Sollte sein:
data:
image: /local/centauri_snapshot.jpg
sticky: true
tag: centauri_print
channel: printer
progress: ')'
progress_max: 100
alert_once: true
actions: # ✅ NEU HINZUFÜGEN
1. action: CENTAURI_PAUSE
title: Pause
1. action: CENTAURI_RESUME
title: Weiter
1. action: CENTAURI_STOP
title: Stop
action: notify.mobile_app_z_fold_7
Auswirkung: Aktuell kannst du den Drucker nicht aus der Notification heraus steuern - musst immer ins Dashboard wechseln.
🟡 Redundanzen¶
1. BACKUP-Automation (ID: 1764351932391) - Fast identisch mit Automation #2 - Wahrscheinlich vergessen zu löschen nach einem Test - Empfehlung: Deaktivieren oder löschen (Zeilen 1898-1936)
2. Obico Spaghetti-Alarm Aktionen (ID: 1764196596256) - Behandelt nur CENTAURI_RESUME und CENTAURI_STOP - Automation #3 behandelt bereits ALLE drei Actions (inkl. PAUSE) - Empfehlung: Kann gelöscht werden, da Automation #3 diese Funktionalität bereits abdeckt
🔧 Verbesserungsvorschläge¶
Phase 1: Kritische Fehler (SOFORT)¶
1.1 Case-Sensitivity korrigieren¶
Datei: automations.yaml\
Zeile: 1797
1.2 Fehlertext korrigieren¶
Datei: automations.yaml\
Zeile: 1775
Phase 2: Funktions-Erweiterung¶
2.1 Action-Buttons hinzufügen (Automation #1)¶
Datei: automations.yaml\
Zeile: ~1650 (in der data-Sektion)
# Nach alert_once: true hinzufügen:
actions:
1. action: CENTAURI_PAUSE
title: Pause
1. action: CENTAURI_RESUME
title: Weiter
1. action: CENTAURI_STOP
title: Stop
2.2 Action-Buttons hinzufügen (Automation #2)¶
Datei: automations.yaml\
Zeile: ~1687 (in der data-Sektion)
# Identisch wie bei #1 - gleiche Actions hinzufügen
actions:
1. action: CENTAURI_PAUSE
title: Pause
1. action: CENTAURI_RESUME
title: Weiter
1. action: CENTAURI_STOP
title: Stop
Phase 3: Aufräumen¶
3.1 BACKUP-Automation deaktivieren¶
Option A (empfohlen): - In Home Assistant UI: Einstellungen → Automationen & Szenen - Automation "3D-Drucker – Status-Notification aktualisierenBACKUP" suchen - Deaktivieren (Toggle ausschalten)
Option B: - Automation komplett aus automations.yaml entfernen (Zeilen 1898-1936)
3.2 Redundante Automation #7 löschen¶
Datei: automations.yaml\
Zeilen: 1828-1855
Automation "3D-Druck – Obico Spaghetti-Alarm Aktionen" kann gelöscht werden, da Automation #3 bereits alle Actions behandelt.
Phase 4: Optional¶
4.1 Start-Notification hinzufügen¶
Neue Automation erstellen:
- id: 'neue_id_generieren'
alias: 3D-Drucker – Druck gestartet
description: Einfache Startmeldung mit Dateiname
triggers:
1. trigger: state
entity_id: sensor.centauri_carbon_print_status
to: printing
conditions: []
actions:
1. data:
title: 3D-Druck gestartet 🚀
message: ' )'
action: notify.mobile_app_z_fold_7
mode: single
Einfügen: Vor Automation #1 (vor Zeile 1624)
Erwartete Verbesserungen¶
Nach Umsetzung aller Phasen:
✅ Funktionssicherheit: - Obico-Alarm funktioniert zuverlässig (Case-Sensitivity behoben) - Fehler-Handling korrekt (Fehlertext korrigiert)
✅ Benutzerfreundlichkeit: - Steuerung direkt aus Notification möglich (Buttons hinzugefügt) - Klarere Information über Druckstart
✅ Code-Qualität: - Keine redundanten Automationen mehr - Weniger Wartungsaufwand - Übersichtlichere Struktur
✅ Performance: - Keine doppelten Notifications mehr (BACKUP entfernt)
📋 Checkliste zur Umsetzung¶
Kritische Fehler (SOFORT)¶
- [ ] Case-Sensitivity korrigieren (Zeile 1797)
- [ ] Fehlertext korrigieren (Zeile 1775)
Funktions-Erweiterung¶
- [ ] Action-Buttons zu Automation #1 hinzufügen
- [ ] Action-Buttons zu Automation #2 hinzufügen
Aufräumen¶
- [ ] BACKUP-Automation deaktivieren/löschen
- [ ] Redundante Automation #7 löschen
Optional¶
- [ ] Start-Notification hinzufügen
← Zurück zur Übersicht 100 18993 0 18993 0 0 241k 0 --:--:-- --:--:-- --:--:-- 244k