I’ve built Spoolman Updater, an API that integrates Spoolman with Home Assistant, making it easy to track filament usage automatically. If you’re using a Bambu Lab AMS or any other setup that tracks filament consumption, this tool will help keep your spool database up-to-date.
Features:
Automatic filament tracking – updates spool usage when a print finishes or an AMS tray switches Home Assistant integration via REST commands Works with Bambu Lab AMS (requires ha-bambulab integration) Requires Spoolman (GitHub) to manage filament spools Lightweight Docker-based API Fetch spools by brand and color for easy tracking
Hey, that looks awesome!
I get the error message
Error in describing action: e.services[t] is undefined
on the action - any chance you have an idea?
Nevermind - Restarting Home Assist fixes it!
But one more question
The Active Tray number is not working for me
{{ trigger.to_state.state if trigger.entity_id ==
'sensor.p1s_01p00c482000314_aktiver_slotindex' else
states('sensor.p1s_01p00c482000314_aktiver_slotindex') }}
(german variables)
The active slotindex is unknow after finishing a print
I’m using a AMS on my P1S and the issue is that on every spool change the whole weight is being used in the used_weight attribute. When i have a print wit a lot of spool changes the print had used far more weight than actually used as every time the whole print weight is used.
To change this i’ve used a utility_meter to track the weight on after every change and reset it to 0 when a new spool is used.
I am using the Spoolman Updater API, as described in the documentation. I understand that the API receives data such as name, material, tagUid, usedWeight, and color to update spool information.
Based on the integration examples with Bambu Lab AMS, the tagUid seems to play a role … However, for users who do not use Bambu Lab filament and thus might not have a tagUid, what fields are primarily used for matching? Is the spool name the key identifier, or are other fields like material also considered important for associating the update with the correct spool in Spoolman?
Hi,I would love to use your updater but I can’t get it to run on my raspi, probably because it has an ARM chip and your image is built for amd64.
Could you add an ARM Image so the spoolman updater becomes available on raspi, too? I would really appreciate it
OK got it to work, but now it seems that everytime the automation fires, a New spool gets created. Including Filament and vendor. I dont have spools with an taguid, ist that a Problem?
This is how my automation calls the API. As you can see I also dont have tag_uids As long as the color, name and material are unique it should get the same spool every time
Ahh ok, then i got my error: I got SUNLU PLA+ and this is also represented in the Filament in the AMS. A “+” doesn’t go so well URL-wise, always problematic with encodings. So the call to the spoolman API doesn’t really translates the actual name of the filament but always creates a new one.
I changed 2 lines in your code to accomodate this issue and could file a pull request if you like
Now it works and I only have to work out how to use the utility meter
I will definitely try your Spoolman Updater in the next days, after my holidays , but I have already a question
How does it work in case in Spoolman there are two different Spools that have the same color, material and name, if there is no id linked to the spool?
For me is the case where I have in spoolman a spool already used and a spare spool brand new of the same color, material and name.