Blame
|
1 | # Plugin: Spoolman API |
||||||
| 2 | ||||||||
| 3 | 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. |
|||||||
| 4 | ||||||||
|
5 | **Installation:** → [Admin: Plugin-Verwaltung](/Docs/De/11-Admin#115-system-plugin-verwaltung) |
||||||
|
6 | |||||||
| 7 | --- |
|||||||
| 8 | ||||||||
| 9 | ## Übersicht |
|||||||
| 10 | ||||||||
| 11 | | Eigenschaft | Wert | |
|||||||
| 12 | |-------------|------| |
|||||||
| 13 | | **Plugin-Typ** | Integration | |
|||||||
| 14 | | **Autor** | FilaMan | |
|||||||
| 15 | | **Quelle** | [Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) (Registry) | |
|||||||
| 16 | | **API-Pfad** | `/spoolman/api/v1/` | |
|||||||
| 17 | | **Fähigkeiten** | Spoolman API v1-Kompatibilität, CRUD-Operationen, CSV/JSON-Export, IP-Zugriffskontrolle | |
|||||||
| 18 | ||||||||
| 19 | --- |
|||||||
| 20 | ||||||||
| 21 | ## Was ist Spoolman? |
|||||||
| 22 | ||||||||
| 23 | [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. |
|||||||
| 24 | ||||||||
| 25 | Mit diesem Plugin kann FilaMan anstelle von Spoolman eingesetzt werden, ohne dass externe Tools umkonfiguriert werden müssen — sie sprechen einfach die gleiche API. |
|||||||
| 26 | ||||||||
| 27 | --- |
|||||||
| 28 | ||||||||
| 29 | ## Konfiguration externer Tools |
|||||||
| 30 | ||||||||
| 31 | ### Moonraker (Klipper) |
|||||||
| 32 | ||||||||
| 33 | Tragen Sie in Ihrer `moonraker.conf` folgendes ein: |
|||||||
| 34 | ||||||||
| 35 | ```ini |
|||||||
| 36 | [spoolman] |
|||||||
| 37 | server: http://<filaman-host>:8000/spoolman |
|||||||
| 38 | ``` |
|||||||
| 39 | ||||||||
| 40 | Ersetzen Sie `<filaman-host>` durch die IP-Adresse oder den Hostnamen Ihrer FilaMan-Installation. |
|||||||
| 41 | ||||||||
| 42 | ### OctoPrint |
|||||||
| 43 | ||||||||
| 44 | Verwenden Sie in den Spoolman-Plugin-Einstellungen von OctoPrint die URL: |
|||||||
| 45 | ||||||||
| 46 | ``` |
|||||||
| 47 | http://<filaman-host>:8000/spoolman |
|||||||
| 48 | ``` |
|||||||
| 49 | ||||||||
| 50 | ### Andere Tools |
|||||||
| 51 | ||||||||
| 52 | Jedes Tool, das die Spoolman-API unterstützt, kann mit der gleichen URL konfiguriert werden: |
|||||||
| 53 | ||||||||
| 54 | ``` |
|||||||
| 55 | http://<filaman-host>:8000/spoolman/api/v1/ |
|||||||
| 56 | ``` |
|||||||
| 57 | ||||||||
| 58 | --- |
|||||||
| 59 | ||||||||
| 60 | ## IP-Zugriffskontrolle |
|||||||
| 61 | ||||||||
| 62 | Das Plugin bietet eine **IP-basierte Zugriffskontrolle**, mit der Sie einschränken können, welche Geräte auf die Spoolman-API zugreifen dürfen. |
|||||||
| 63 | ||||||||
| 64 | ### Einstellungen |
|||||||
| 65 | ||||||||
| 66 | Die Einstellungen finden Sie auf der Plugin-Seite im Admin-Bereich unter **Spoolman API**. |
|||||||
| 67 | ||||||||
| 68 | | Einstellung | Beschreibung | |
|||||||
| 69 | |-------------|-------------| |
|||||||
| 70 | | **IP-Filter aktiviert** | Schaltet die IP-Zugriffskontrolle ein/aus. Standardmäßig **deaktiviert** (alle IPs erlaubt). | |
|||||||
| 71 | | **Erlaubte IPs** | Liste der erlaubten IP-Adressen oder Bereiche | |
|||||||
| 72 | ||||||||
| 73 | ### Unterstützte IP-Formate |
|||||||
| 74 | ||||||||
| 75 | | Format | Beispiel | Beschreibung | |
|||||||
| 76 | |--------|---------|-------------| |
|||||||
| 77 | | **Wildcard** | `*` | Alle IPs erlauben | |
|||||||
| 78 | | **Einzelne IP** | `192.168.1.5` | Exakte IP-Adresse | |
|||||||
| 79 | | **CIDR-Bereich** | `192.168.1.0/24` | Gesamtes Subnetz | |
|||||||
| 80 | | **Großer Bereich** | `10.0.0.0/8` | Großer Netzwerkbereich | |
|||||||
| 81 | ||||||||
| 82 | > **Hinweis:** Wenn der IP-Filter aktiviert ist und eine nicht erlaubte IP zugreift, wird der Zugriff mit HTTP 403 (Forbidden) abgelehnt. |
|||||||
| 83 | ||||||||
| 84 | --- |
|||||||
| 85 | ||||||||
| 86 | ## API-Endpunkte |
|||||||
| 87 | ||||||||
| 88 | Alle Spoolman-Endpunkte sind unter dem Pfad `/spoolman/api/v1/` verfügbar: |
|||||||
| 89 | ||||||||
| 90 | ### System |
|||||||
| 91 | ||||||||
| 92 | | Methode | Pfad | Beschreibung | |
|||||||
| 93 | |---------|------|-------------| |
|||||||
| 94 | | GET | `/info` | API-Informationen | |
|||||||
| 95 | | GET | `/health` | Health-Check | |
|||||||
| 96 | ||||||||
| 97 | ### Hersteller (Vendors) |
|||||||
| 98 | ||||||||
| 99 | | Methode | Pfad | Beschreibung | |
|||||||
| 100 | |---------|------|-------------| |
|||||||
| 101 | | GET | `/vendor` | Alle Hersteller auflisten | |
|||||||
| 102 | | POST | `/vendor` | Neuen Hersteller erstellen | |
|||||||
| 103 | | GET | `/vendor/{id}` | Hersteller abrufen | |
|||||||
| 104 | | PATCH | `/vendor/{id}` | Hersteller aktualisieren | |
|||||||
| 105 | | DELETE | `/vendor/{id}` | Hersteller löschen | |
|||||||
| 106 | ||||||||
| 107 | ### Filamente |
|||||||
| 108 | ||||||||
| 109 | | Methode | Pfad | Beschreibung | |
|||||||
| 110 | |---------|------|-------------| |
|||||||
| 111 | | GET | `/filament` | Alle Filamente auflisten | |
|||||||
| 112 | | POST | `/filament` | Neues Filament erstellen | |
|||||||
| 113 | | GET | `/filament/{id}` | Filament abrufen | |
|||||||
| 114 | | PATCH | `/filament/{id}` | Filament aktualisieren | |
|||||||
| 115 | | DELETE | `/filament/{id}` | Filament löschen | |
|||||||
| 116 | ||||||||
| 117 | ### Spulen (Spools) |
|||||||
| 118 | ||||||||
| 119 | | Methode | Pfad | Beschreibung | |
|||||||
| 120 | |---------|------|-------------| |
|||||||
| 121 | | GET | `/spool` | Alle Spulen auflisten | |
|||||||
| 122 | | POST | `/spool` | Neue Spule erstellen | |
|||||||
| 123 | | GET | `/spool/{id}` | Spule abrufen | |
|||||||
| 124 | | PATCH | `/spool/{id}` | Spule aktualisieren | |
|||||||
| 125 | | DELETE | `/spool/{id}` | Spule löschen | |
|||||||
| 126 | | PUT | `/spool/{id}/use` | Filament von Spule verbrauchen | |
|||||||
| 127 | | PUT | `/spool/{id}/measure` | Spulengewicht messen | |
|||||||
| 128 | ||||||||
| 129 | ### Weitere Endpunkte |
|||||||
| 130 | ||||||||
| 131 | | Methode | Pfad | Beschreibung | |
|||||||
| 132 | |---------|------|-------------| |
|||||||
| 133 | | GET | `/material` | Materialtypen auflisten | |
|||||||
| 134 | | GET | `/location` | Lagerorte auflisten | |
|||||||
| 135 | | PATCH | `/location/{name}` | Lagerort umbenennen | |
|||||||
| 136 | | GET | `/setting/{key}` | Einstellung abrufen | |
|||||||
| 137 | | POST | `/setting/{key}` | Einstellung setzen | |
|||||||
| 138 | ||||||||
| 139 | ### Export |
|||||||
| 140 | ||||||||
| 141 | | Methode | Pfad | Beschreibung | |
|||||||
| 142 | |---------|------|-------------| |
|||||||
| 143 | | GET | `/export/spools` | Spulen exportieren (CSV/JSON) | |
|||||||
| 144 | | GET | `/export/filaments` | Filamente exportieren (CSV/JSON) | |
|||||||
| 145 | | GET | `/export/vendors` | Hersteller exportieren (CSV/JSON) | |
|||||||
| 146 | | POST | `/backup` | Backup erstellen | |
|||||||
| 147 | ||||||||
| 148 | --- |
|||||||
| 149 | ||||||||
| 150 | ## Daten-Mapping |
|||||||
| 151 | ||||||||
| 152 | Die Spoolman-API-Begriffe werden intern auf das FilaMan-Datenmodell abgebildet: |
|||||||
| 153 | ||||||||
| 154 | | Spoolman-Begriff | FilaMan-Entsprechung | |
|||||||
| 155 | |-----------------|---------------------| |
|||||||
| 156 | | Vendor | Hersteller (Manufacturer) | |
|||||||
| 157 | | Filament | Filament | |
|||||||
| 158 | | Spool | Spule (Spool) | |
|||||||
| 159 | | Location | Lagerort (Location) | |
|||||||
| 160 | | Extra Fields | Zusatzfelder (Custom Fields) | |
|||||||
| 161 | ||||||||
| 162 | --- |
|||||||
| 163 | ||||||||
|
164 | ← [Zurück: Plugin: SpoolmanDB Import](/Docs/De/15-Plugin-Spoolmandb) | [Weiter: Weitere Plugins →](#) |
||||||