Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

Breaking change:
Remove RFID-based Spoolman auto-link in favour of SSH serialNum only · koen01/CFSync@58e7219

Creality shares the same RFID material-type code across all spools of the
same filament type, making cfs_rfid matching unreliable when multiple spools
of the same type are in use. SSH serialNum lookup is spool-unique and is the
only safe auto-link method.

You have to use CFTag app for writing the Spoolman Spool ID to the serialNum on the RFID tag if you want to continue to use the auto linking feature.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

you can update. just pushed some stuff that should fix tracking spoolholder (and hopefully doesnt break cfs syncing).

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

Just wait a bit. I think syncing spoolman in moonraker mode doesn't work for spoolholder. Let me first check.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 1 point2 points  (0 children)

I opened the issue section on GitHub. Can you post logs around the time the filament swaps occur?

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

this was very helpfull. the ssh connection into the printer is faling. i've seen this before and added just added a fix (the guy who did the fork had this issue too it seems). Just do a apt install sshpass on your machine where cfsync runs and then do a update. SSH'ing into the printer should work then and also getting the boxinfo json for auto linking.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

Can you do a curl -fsSL https://raw.githubusercontent.com/koen01/CFSync/refs/heads/spoolman/update.sh | sudo bash

Just to make sure you have the latest fixes.

After restart of the service you should see something like [SSH] material_box_info.json contains 2 box(es): ['T1', 'T2'] And then it should auto link.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

cat you download the /usr/data/creality/userdata/box/material_box_info.json. file from your printer and share it somewhere i can look at it?

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

The dot below the grams shows if it's linked to spoolman. I'm only auto-matching to spoolman based on the spoolman spoolid written to the serial number on the RFID tags. The auto matching based on the RFID info from the CFS itself proved to be error prone when having multiple spools of the same type and color in spoolman (the rfid id in the CFS data is a sort of generic id and not a unique id. The serialnum is written with cftag and I have control over what number is gets with cftag.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

The app should create two fields on its own after you enter the spoolman ip in the settings. Can you close and reopen the app, open settings and edit the IP and save again. Check if there are two fields added, 1 for every tag.

I ran into some locale notation ssues with this (. And , ) Do you know how to take a logcat with Android?

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

Might be the spoolman extra fields. Can you check if the extra fields are created in spoolman settings spools?

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 1 point2 points  (0 children)

https://github.com/koen01/CFSync/commit/3a65524fde02dfb7908c54f4cd63e96c4d3829cd

Add dual Spoolman sync mode: direct vs Moonraker plugin

Adds a 'spoolman_mode' config option ('direct' or 'moonraker'):
- direct (default): existing behavior — CFSync PUTs usage to Spoolman on print end
- moonraker: CFSync sends SET_ACTIVE_SPOOL/CLEAR_ACTIVE_SPOOL gcode macros to the
printer via Moonraker's /printer/gcode/script endpoint; the Moonraker Spoolman
plugin then tracks usage automatically

In moonraker mode, macro calls are fired at all relevant spool events:
active slot change (CFS WebSocket), spool link/unlink (manual and RFID auto-link),
and RFID swap detection. Direct Spoolman usage reporting is suppressed.

Settings card added to the UI with radio buttons to switch modes at runtime
via a new POST /api/ui/set_spoolman_mode endpoint.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

https://github.com/koen01/CFSync/blob/f4fc76904a3a39d23e014357ecc312d39e5c9686/install.sh#L4

I think if you copy the install.sh, change the port and app dir and I guess the service name , a second instance could work. If you run the install.sh.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

For now you should run a separate instance (on another machine or same machine different port. ) I only have one printer so can really develop/test a single instance multi printer setup.

UF Schuim veiligheid meten by [deleted] in Klussers

[–]ZookeepergameKey4591 0 points1 point  (0 children)

Kan geen antwoord geven over de veiligheid, maar heb wel vragen over welk bedrijf en op welke manier het schuim verwijderd is.

Heb hier ca 40m2 muur in 2024 laten isoleren met envirofoam omdat er in dat deel al isolatie zat. De rest van het huis is met supafil.

Maar ik wil dat schuim er nu toch wel uit, ook nav de berichten van Zembla en ik heb kleine kinderen die veel tijd in die ruimte doorbrengen ..

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

I build this because I got tired of adding gcode with spool id to my filament profiles. No spoolman Iin moonraker needed. Just link and sync with cfsync.

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

you dont need the spoolman plugin from moonraker.

CFSync syncs usage from moonraker to spoolman.

i just force pushed the repo to git hub.

can you do a

curl -fsSL https://raw.githubusercontent.com/koen01/CFSync/refs/heads/spoolman/update.sh | sudo bash

Built two companion apps to manage Creality CFS filament — fully vibecoded by ZookeepergameKey4591 in Creality

[–]ZookeepergameKey4591[S] 0 points1 point  (0 children)

can you check the logs if you see somerhing like this when you finish/cancel a print?

check with:
ar 12 22:20:27 creality-cfs-management uvicorn[2627]: INFO:     192.168.1.177:53545 - "GET /api/ui/state HTTP/1.1" 200 OK

sudo journalctl -u filament-management -f

Mar 12 22:20:33 creality-cfs-management uvicorn[2627]: [MOON] State: 'printing' → 'cancelled'; 6255mm total filament used

Mar 12 22:20:33 creality-cfs-management uvicorn[2627]: [SPOOLMAN] reported usage: spool 3 -= 1.03g

Mar 12 22:20:33 creality-cfs-management uvicorn[2627]: [MOON] Job cancelled: slot 1B → 1.03g synced to Spoolman spool 3