Skip to content

spoolscan-v1.1.4

Latest

Choose a tag to compare

@CASAI77 CASAI77 released this 24 Apr 08:59

🐛 Fix: Slot assignment now properly marks "Aktive Rolle" in Spoolman

When you tapped a slot button (T0–T3) on the DetailScreen, the spool was registered in Spoolman but the per-slot "Aktive Rolle" radio button in the Spoolman web UI stayed empty.

Root cause

The app sent only SET_ACTIVE_SPOOL ID=<id> — a generic command without slot information. The Snapmaker U1 (with the Davo1624 spoolman setup) needs three commands to fully assign and activate a spool on a specific slot. Console-log analysis showed Spoolman itself sends them as three separate API calls — packing them into one multi-line script tripped Klipper's parser in some setups ('T3' is not valid for MACRO).

Fix

The app now sends the three commands as separate /printer/gcode/script POSTs, in the same order Spoolman uses:

  1. SET_GCODE_VARIABLE MACRO=T<slot> VARIABLE=spool_id VALUE=<id> — drives the Spoolman UI
  2. SAVE_VARIABLE VARIABLE=t<slot>__spool_id VALUE=<id> — persists across Klipper restarts
  3. SET_CHANNEL_SPOOL CHANNEL=<slot> ID=<id> — Davo1624 channel state for consumption tracking

Result

  • ✅ "Aktive Rolle" radio button updates correctly under the right tool
  • ✅ Per-slot consumption tracking maps to the right slot during prints
  • ✅ Slot assignment survives Klipper restarts
  • ✅ Klipper errors now show as a short, readable snackbar instead of a 100-line Python stack trace

Requirements (printer side)

Install

Download spoolscan-v1.1.4.apk below and install over your existing v1.1.1 — settings are preserved.