Files
grotti/docs/internal/Druckbericht-Statistik.md
T
Dominic Gundel 9e22cebb81 Grotti 2.10.0: Orca-Senden, Slice-Ordner, ED-Strom, Hygiene.
Slice-Watch mit Ordnern/Filtern, Orca-Nachbearbeitung, Cockpit-Verlauf
mit ED, Zeitzone im Browser. Tasten-Grenze und README-API angeglichen,
toter Code entfernt, Requirements gepinnt.
2026-10-18 00:41:15 +02:00

1.7 KiB
Raw Permalink Blame History

Druckbericht und Statistik

Stand 17.10.2026.

Tabellen

  • runs: zusätzlich weight_planned_g, weight_used_g, weight_source, filament_used_mm/filament_total_mm, progress_last, estimated_s, chargen_nr, message, objects
  • run_spools: Abzug je Spule (is_estimate bei Mehrfarb)
  • run_segments: Abschnitte bei Rollenwechsel (Einlegen während Druck/Pause)
  • run_samples: Temperatur/Soll/ED (nozzle_power/bed_power) — alle ~30 s, beim Aufheizen ~10 s; Proben schon vor printing, wenn Targets gesetzt und Auftrag/Live-Lauf bekannt
  • run_labels: Objekt-Chargen D-…-01
  • events.run_id: optionaler Bezug zum Lauf

Abzug

grotti/usage.py rechnet Ist-Gramm aus filament_used / filament_total × Soll. Abbruch ohne Extrusion: 0. Ohne Zähler: Fortschritt × Soll (Schätzwert). Fertig ohne Messgröße: Soll bleibt, Quelle estimate.

apply_deduction schreibt zuerst run_spools, dann deducted/remaining_g (auch unter 0); ensure_run_chargen oft schon während des Laufs. Ohne run_spools bleibt die Spulenakte leer.

Live

StateWatcher hängt am offenen History-Job oder legt live:… an, schreibt Proben, vergibt chargen_nr, merkt Objektnamen. Vor neuem Start: abandon_live_runs. sync_history übernimmt Proben/Segmente (adopt_live_run, nicht auf ältere fertige Jobs derselben Datei). Die Live-Charge geht nur auf einen fertigen Lauf ohne Nummer über; Objekt-Etiketten nur zusammen mit dieser Charge. Sonst werden sie neu vergeben, statt eine fremde D-…-01 zu blockieren.

Statistik-Filter

since inklusiv, reines until als Datum (YYYY-MM-DD) inklusiv (intern Folgetag exklusiv). Presets in der UI setzen Von/Bis. CSV nutzt dieselben Query-Parameter.