1.4 KiB
Druckbericht und Statistik
Stand 17.10.2026.
Tabellen
runs: zusätzlichweight_planned_g,weight_used_g,weight_source,filament_used_mm/filament_total_mm,progress_last,estimated_s,chargen_nr,message,objectsrun_spools: Abzug je Spule (is_estimatebei Mehrfarb)run_segments: Abschnitte bei Rollenwechsel (Einlegen während Druck/Pause)run_samples: Temperatur/Fortschritt ca. alle 30 s (Watcher)run_labels: Objekt-ChargenD-…-01events.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/Charge (adopt_live_run, nicht auf ältere fertige Jobs derselben Datei) und setzt bei Bedarf needs_clear.
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.