# Plugin: Spoolman API Das **Spoolman API-Plugin** stellt eine vollständig Spoolman-kompatible REST-API bereit, die auf das interne Datenmodell von FilaMan abgebildet wird. Externe Tools wie **Moonraker**, **OctoPrint** und andere können FilaMan damit als **Drop-in-Ersatz für Spoolman** nutzen. Im Gegensatz zu Spoolman selbst enthält dieses Plugin eine **IP-basierte Zugriffskontrolle** — eine Sicherheitsebene, die in Spoolman fehlt. **Installation:** → [Admin: Plugin-Verwaltung](/Docs/De/11-Admin#115-system-plugin-verwaltung) --- ## Übersicht | Eigenschaft | Wert | |-------------|------| | **Plugin-Typ** | Integration | | **Autor** | FilaMan | | **Quelle** | [Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) (Registry) | | **API-Pfad** | `/spoolman/api/v1/` | | **Fähigkeiten** | Spoolman API v1-Kompatibilität, CRUD-Operationen, CSV/JSON-Export, IP-Zugriffskontrolle | --- ## Was ist Spoolman? [Spoolman](https://github.com/Donkie/Spoolman) ist eine verbreitete Open-Source-Software zur Verwaltung von 3D-Drucker-Filamenten. Viele Tools im 3D-Druck-Ökosystem (z. B. Moonraker, OctoPrint) unterstützen die Spoolman-API, um Filament-Verbrauch zu tracken und Spulen zu verwalten. Mit diesem Plugin kann FilaMan anstelle von Spoolman eingesetzt werden, ohne dass externe Tools umkonfiguriert werden müssen — sie sprechen einfach die gleiche API. --- ## Konfiguration externer Tools ### Moonraker (Klipper) Tragen Sie in Ihrer `moonraker.conf` folgendes ein: ```ini [spoolman] server: http://<filaman-host>:8000/spoolman ``` Ersetzen Sie `<filaman-host>` durch die IP-Adresse oder den Hostnamen Ihrer FilaMan-Installation. ### OctoPrint Verwenden Sie in den Spoolman-Plugin-Einstellungen von OctoPrint die URL: ``` http://<filaman-host>:8000/spoolman ``` ### Andere Tools Jedes Tool, das die Spoolman-API unterstützt, kann mit der gleichen URL konfiguriert werden: ``` http://<filaman-host>:8000/spoolman/api/v1/ ``` --- ## IP-Zugriffskontrolle Das Plugin bietet eine **IP-basierte Zugriffskontrolle**, mit der Sie einschränken können, welche Geräte auf die Spoolman-API zugreifen dürfen. ### Einstellungen Die Einstellungen finden Sie auf der Plugin-Seite im Admin-Bereich unter **Spoolman API**. | Einstellung | Beschreibung | |-------------|-------------| | **IP-Filter aktiviert** | Schaltet die IP-Zugriffskontrolle ein/aus. Standardmäßig **deaktiviert** (alle IPs erlaubt). | | **Erlaubte IPs** | Liste der erlaubten IP-Adressen oder Bereiche | ### Unterstützte IP-Formate | Format | Beispiel | Beschreibung | |--------|---------|-------------| | **Wildcard** | `*` | Alle IPs erlauben | | **Einzelne IP** | `192.168.1.5` | Exakte IP-Adresse | | **CIDR-Bereich** | `192.168.1.0/24` | Gesamtes Subnetz | | **Großer Bereich** | `10.0.0.0/8` | Großer Netzwerkbereich | > **Hinweis:** Wenn der IP-Filter aktiviert ist und eine nicht erlaubte IP zugreift, wird der Zugriff mit HTTP 403 (Forbidden) abgelehnt. --- ## API-Endpunkte Alle Spoolman-Endpunkte sind unter dem Pfad `/spoolman/api/v1/` verfügbar: ### System | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/info` | API-Informationen | | GET | `/health` | Health-Check | ### Hersteller (Vendors) | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/vendor` | Alle Hersteller auflisten | | POST | `/vendor` | Neuen Hersteller erstellen | | GET | `/vendor/{id}` | Hersteller abrufen | | PATCH | `/vendor/{id}` | Hersteller aktualisieren | | DELETE | `/vendor/{id}` | Hersteller löschen | ### Filamente | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/filament` | Alle Filamente auflisten | | POST | `/filament` | Neues Filament erstellen | | GET | `/filament/{id}` | Filament abrufen | | PATCH | `/filament/{id}` | Filament aktualisieren | | DELETE | `/filament/{id}` | Filament löschen | ### Spulen (Spools) | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/spool` | Alle Spulen auflisten | | POST | `/spool` | Neue Spule erstellen | | GET | `/spool/{id}` | Spule abrufen | | PATCH | `/spool/{id}` | Spule aktualisieren | | DELETE | `/spool/{id}` | Spule löschen | | PUT | `/spool/{id}/use` | Filament von Spule verbrauchen | | PUT | `/spool/{id}/measure` | Spulengewicht messen | ### Weitere Endpunkte | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/material` | Materialtypen auflisten | | GET | `/location` | Lagerorte auflisten | | PATCH | `/location/{name}` | Lagerort umbenennen | | GET | `/setting/{key}` | Einstellung abrufen | | POST | `/setting/{key}` | Einstellung setzen | ### Export | Methode | Pfad | Beschreibung | |---------|------|-------------| | GET | `/export/spools` | Spulen exportieren (CSV/JSON) | | GET | `/export/filaments` | Filamente exportieren (CSV/JSON) | | GET | `/export/vendors` | Hersteller exportieren (CSV/JSON) | | POST | `/backup` | Backup erstellen | --- ## Daten-Mapping Die Spoolman-API-Begriffe werden intern auf das FilaMan-Datenmodell abgebildet: | Spoolman-Begriff | FilaMan-Entsprechung | |-----------------|---------------------| | Vendor | Hersteller (Manufacturer) | | Filament | Filament | | Spool | Spule (Spool) | | Location | Lagerort (Location) | | Extra Fields | Zusatzfelder (Custom Fields) | --- ← [Zurück: Plugin: SpoolmanDB Import](/Docs/De/15-Plugin-Spoolmandb) | [Weiter: Weitere Plugins →](#)