Spoolman Updater – Automate Filament Tracking

So openspoolman isnt working for me dont know why but it takes less time to enhance spoolman updater.

@Roving-Ronin the enhancements i have in mind will fix your issue :slight_smile:

The new version adds support to set the active tray where the spool is in:
You need to change the rest command tho:

update_spool:
  url: "http://192.168.2.186:8088/spools"
  method: POST
  headers:
    Content-Type: "application/json"
  payload: >
    {
      "name": "{{ filament_name }}",
      "material": "{{ filament_material }}",
      "tag_uid": "{{ filament_tag_uid }}",
      "used_weight": {{ filament_used_weight | int }},
      "color": "{{ filament_color }}"
      "active_tray_id": "{{ filament_active_tray_id }}"
    }

And if you visit the UI of spoolman updater you now will get the following:

Here you can set which spool is in which tray. You will need to add an “active_tray” field tho in spoolman on spools.

Indeed, it’s not working on Raspberry Pi4

ERROR: for spoolman-updater no matching manifest for linux/arm64/v8 in the manifest list entries
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries

@marcokreeft87 Thanks for the development. Can you create an ARM64-build or how can we make it working on a Raspberry Pi?

Someone got it working on Mac. Dont know where this use was tho, here or on github.

Isnt there a way to get it to work? I wont have the time to do this till next week

Had a slight mare getting this working, but seem to have it working now!

Things I had to do:

  1. Download the latest release of the code to my machine (wget)
    a. I used release Release 202504281416
  2. set the values in the Application/appsettings.json file
    a. needed to set "ExternalSpoolEntity": "x1c_XXX_externalspool_external_spool" to get it to start returning values, note this is not in the file by default at time of writing
  3. Copied the Application/Dockerfile to the root of the project
  4. built the project sudo docker build -t spoolman-updater-local .
  5. ran the code sudo docker run -d -p 8088:8080 --name spoolman-updater-local spoolman-updater-local

for debugging you can view the logs with sudo docker logs --follow spoolman-updater-local

also really good for debugging is the API swagger page, found at http://<host-IP>:8088/swagger/index.html - can call the endpoints directly in the way that the UI and homeassistant will.

I tried with getting docker to pull the image from their servers but that failed with logging errors in the code, and I tried cloning the repo directly but had similar problems. Am still getting to grips with C# so attempted at debugging those problems directly were failing.

Next step is to make sure that things are being updated correctly!

1 Like

Tbf I only added the docker install guide so people would use that and not need the code.

The default appsettings.json is empty because the variables are different for everyone.

The docker image should work btw, I use it myself

There now is an ARM64 build of the image :slight_smile:

I can’t tell if I am doing or have done something wrong with this. Should I be able to visit 192.168.0.180:8088 and see something, like the updater UI?

Everytime I try this URL, I get errors. Also cannot access 192.168.0.180:8088/swagger.

I saw earlier about visiting 192.168.0.180:7912/api/v1/info to see if the API exists and has good info. When I do so, I get this response:

{
  "version": "0.22.1",
  "debug_mode": false,
  "automatic_backups": true,
  "data_dir": "/home/app/.local/share/spoolman",
  "logs_dir": "/home/app/.local/share/spoolman",
  "backups_dir": "/home/app/.local/share/spoolman/backups",
  "db_type": "sqlite",
  "git_commit": "1888240",
  "build_date": "2025-03-18T20:55:07Z"
}

This would indicate to me that something is working correctly.

Can someone help me to sort out what I need to do next to verify the spoolman-updater API is working correctly before I continue with the Home Assistant part of things.

I have spoolman lxc on proxmox, and another VM where I installed homeassistant, can I run the docker on the same lxc of spoolan? which are the commands to use ?

/swagger should work. You probably forgot some environment variables so the api wont start up

I did this on a fresh Raspberry Pi, so I may just wipe the whole image and start over since It would be difficult to tell where I went wrong. I’ll advise the result.

Working now!

Looks like there was something I missed that I didn’t see as a part of the documentation anywhere - could be that I just missed it:

This is the command pasted above:

docker run -d -p 8088:8080 \
  -e APPLICATION__HOMEASSISTANT__URL=http://homeassistant.local \
  -e APPLICATION__HOMEASSISTANT__TOKEN=your-token \
  -e APPLICATION__SPOOLMAN__URL=http://spoolman.local \
  --name spoolman-updater marcokreeft/spoolman-updater
  • for the Home Assistant URL, the :8123 seems necessary
  • for the Spoolman URL:
    • spoolman.local doesn’t work for me to access spoolman, for some reason. So the IP address gets entered here.
    • also, the :7912 seems necessary

I hope this helps others who are as new to this as I am.

1 Like

Glad its working :slight_smile:

Those things are kinda implicated, since I cant know the urls/ips your run things on thats why its not in the commands

Is AMS Lite supported?.
In GUI i can only see the external spool but doesnt the AMS

It should work. Whats are the entity ids that the integration provides for the 4 trays/spool holders?

For AMS only:


For External:

I meant like sensor.x1c_xxxxxx, Those are the friendly names. If you click on one and go to the gear icon it will tell you the entity id

sensor.a1_ams_slot_1
sensor.a1_ams_slot_2
sensor.a1_ams_slot_3
sensor.a1_ams_slot_4
sensor.a1_externalspool

sensor.a1_aktiver_slot
sensor.a1_aktiver_slotindex

1 Like

Thnx, can you try the latest version?

I can’t get it to work even with the latest version.
Here’s my stack for Portainer:

version: '3.8'

services:
  spoolman-updater:
    image: marcokreeft/spoolman-updater:202505230851
    container_name: spoolman-updater-stack
    ports:
      - "8088:8080"
    environment:
      APPLICATION__HOMEASSISTANT__URL: http://172.16.2.2:8123
      APPLICATION__HOMEASSISTANT__TOKEN: XXX
      APPLICATION__SPOOLMAN__URL: http://172.16.2.1:7912
      APPLICATION__HOMEASSISTANT__AMSENTITIES: sensor.a1_ams_1
      APPLICATION__HOMEASSISTANT__AMSEXTERNALSPOOL: sensor.a1_externalspool
    restart: unless-stopped

I’ve already tried all possible variations for APPLICATION__HOMEASSISTANT__AMSENTITIES:, but the AMS does not show up in the GUI.
The external spool is displayed, but I can’t select anything from the dropdown.

Could there be something wrong in the automation?

1 Like