Commit ae873c

2026-02-26 21:17:39 Manuel Weiser: Add BambuLab plugin documentation and integration details - Updated contents in German and English to include a new section for the BambuLab plugin. - Modified printer management documentation to reflect BambuLab printer specifics. - Enhanced admin area with device actions and auto-assign configuration for BambuLab integration. - Added detailed configuration and parameter management for BambuLab printers. - Included migration notes for users updating from older versions of the BambuLab plugin.
docs/de/00-inhalt.md ..
@@ 25,6 25,7 @@
| 11 | [Admin-Bereich](11-admin.md) | Benutzer, Rollen, Geräte, Zusatzfelder, System |
| 12 | [Farbverwaltung](12-farbverwaltung.md) | Farben für Filamente definieren |
| 13 | [Tipps & Häufige Fragen](13-faq.md) | FAQ und Empfehlungen |
+ | 14 | [Plugin: BambuLab](14-plugin-bambulab.md) | BambuLab-Druckertreiber-Plugin |
---
docs/de/09-drucker.md ..
@@ 10,10 10,10 @@
| Spalte | Beschreibung |
|--------|--------------|
- | **NAME** | Bezeichnung des Druckers (z. B. „Prusa MK4 #1") |
+ | **NAME** | Bezeichnung des Druckers (z. B. „Bambu Lab P1S #1") |
| **MODEL** | Modellbezeichnung des Druckers |
| **DRIVER** | Verwendeter Druckertreiber/Verbindungstyp |
- | **STATUS** | Aktueller Betriebsstatus des Druckers |
+ | **STATUS** | Aktueller Betriebsstatus des Druckers (Connected / Disconnected) |
| **ACTIONS** | Bearbeiten / Löschen |
## Funktionen
@@ 22,11 22,100 @@
Klicken Sie auf **„Add Printer"** oben rechts. Das Formular enthält:
- **Name** – Eindeutige Bezeichnung des Druckers
- **Model** – Modellbezeichnung
- - **Driver** – Treiber oder Verbindungstyp (z. B. OctoPrint, Moonraker/Klipper)
- - Weitere druckerspezifische Konfigurationsoptionen
+ - **Driver** – Treiber oder Verbindungstyp (z. B. BambuLab, OctoPrint, Moonraker/Klipper)
+ - Weitere druckerspezifische Konfigurationsoptionen (je nach Treiber)
### Druckerintegration
- Mit verbundenen Druckern kann FilaMan den Filamentverbrauch automatisch erfassen und Spulen-Füllstände aktualisieren, sofern der Drucker über eine kompatible API (z. B. OctoPrint oder Klipper/Moonraker) integriert ist.
+ Mit verbundenen Druckern kann FilaMan den Filamentverbrauch automatisch erfassen und Spulen-Füllstände aktualisieren, sofern der Drucker über eine kompatible API integriert ist.
+
+ ---
+
+ ## BambuLab-Integration
+
+ ### Unterstützte Modelle
+ FilaMan unterstützt alle BambuLab-Drucker mit MQTT-Schnittstelle:
+ - **P1P / P1S** – mit AMS (Automatic Material System)
+ - **X1 / X1C** – mit AMS
+ - **A1 / A1 Mini** – mit AMS Lite
+
+ ### Konfiguration
+ Beim Hinzufügen eines BambuLab-Druckers werden folgende Angaben benötigt:
+ - **Host** – IP-Adresse des Druckers im lokalen Netzwerk
+ - **Serial** – Seriennummer des Druckers (auf dem Drucker oder in der Bambu Handy App)
+ - **Access Code** – Zugriffscode (in den LAN-Einstellungen des Druckers)
+ - **Printer Model** – Modellbezeichnung (z. B. P1S, X1C, A1) — bestimmt ob AMS oder AMS Lite angezeigt wird
+
+ ### AMS-Slot-Anzeige
+ Nach erfolgreicher Verbindung zeigt FilaMan alle AMS-Slots und deren aktuellen Inhalt an:
+ - **AMS-Slots** – Pro AMS-Einheit bis zu 4 Slots (AMS) bzw. 4 Slots (AMS Lite)
+ - **External Tray** – Die externe Spulenzuführung des Druckers
+ - Angezeigt werden: Filamenttyp, Farbe, Temperaturbereich und Kalibrierungsstatus
+
+ ---
+
+ > **Detaillierte Informationen** zum BambuLab-Plugin (Drucker-Parameter, Befüllung, Import, Migration) finden Sie auf der separaten Plugin-Seite: → [Plugin: BambuLab](./14-plugin-bambulab.md)
+
+ ---
+
+ ## Spulen setzen — Übersicht
+
+ FilaMan bietet zwei Wege, um Filament-Einstellungen (Materialtyp, Farbe, Temperatur) an einen Drucker-Slot zu senden:
+
+ | Methode | Beschreibung |
+ |---------|-------------|
+ | **Manuell** | Der Benutzer wählt auf der Spulen-Seite einen Slot aus und sendet die Einstellungen direkt |
+ | **Automatisch** | Nach dem Wiegen auf einer ESP32-Waage erkennt FilaMan das Einlegen in einen AMS-Slot und sendet die Einstellungen automatisch |
+
+ ---
+
+ ### Manuelles Setzen (Spule → Drucker)
+
+ Über die **Spulen-Detailseite** kann eine Spule manuell an einen bestimmten Drucker-Slot gesendet werden.
+
+ **Voraussetzungen:**
+ - Die Spule muss einem Filament zugeordnet sein
+ - Mindestens ein BambuLab-Drucker muss verbunden sein (Status: Connected)
+
+ **Schritt-für-Schritt:**
+ 1. Navigieren Sie zur **Spulen-Seite** (`/spools`) und öffnen Sie die gewünschte Spule
+ 2. Im unteren Bereich der Spulen-Detailseite sehen Sie eine **Drucker-Slot-Übersicht** — für jeden verbundenen Drucker werden die AMS-Slots als farbige Punkte angezeigt:
+ - 🟢 **Farbiger Punkt** = Slot belegt (Farbe entspricht dem eingelegten Filament)
+ - ❌ **Grauer Punkt mit X** = Slot leer
+ 3. **Klicken Sie auf einen Slot-Punkt** — es öffnet sich ein Kontextmenü mit folgenden Aktionen:
+ - **„Spule zuweisen"** — Sendet die Filament-Einstellungen dieser Spule an den gewählten Slot
+ - **„In Spule importieren"** — Übernimmt die Drucker-Parameter (Tray-Index, Temperaturen) vom Slot in die Spule
+ - **„In Spule & Filament importieren"** — Übernimmt die Parameter sowohl in die Spule als auch ins zugehörige Filament
+ 4. Wählen Sie **„Spule zuweisen"** — FilaMan sammelt automatisch die passenden Parameter (Tray-Index, Temperaturbereiche, Materialtyp, Farbe) und sendet sie an den Drucker
+ 5. Bei Erfolg erscheint eine **Bestätigungsmeldung**, bei Fehler eine Fehlermeldung
+
+ > **Hinweis:** Die gesendeten Parameter werden aus den **Drucker-Parametern** der Spule und des Filaments zusammengeführt. Spulen-Parameter haben dabei Vorrang vor Filament-Parametern. Diese können unter den Einstellungen der jeweiligen Spule bzw. des Filaments angepasst werden.
+
+ > **Tipp:** Die Slot-Übersicht aktualisiert sich automatisch in Echtzeit über Server-Sent Events (SSE). Wenn eine Spule in einen AMS-Slot eingelegt oder entfernt wird, ändert sich die Anzeige sofort.
+
+ ---
+
+ ### Automatisches Setzen (Auto-Assignment)
+
+ Die automatische Spulenzuordnung ermöglicht es, nach dem Wiegen einer Spule auf der ESP32-Waage das Filament automatisch an den Drucker zu senden, sobald die Spule in einen AMS-Slot eingelegt wird.
+
+ **Voraussetzungen:**
+ 1. Ein ESP32-Gerät (Waage) muss in der Geräteverwaltung registriert sein
+ 2. **Auto-Assign** muss für das Gerät aktiviert sein (→ [Admin: Geräte](./11-admin.md#113-geräte-devices))
+ 3. Mindestens ein BambuLab-Drucker muss verbunden sein (Status: Connected)
+
+ **Ablauf:**
+ 1. **Wiegen** — Spule wird auf die ESP32-Waage gelegt → Gewicht wird erfasst und an FilaMan gesendet
+ 2. **Pending** — FilaMan erkennt die Spule (via RFID oder manuelle Zuordnung), cacht die Filament-Daten (Materialtyp, Farbe, Temperaturen) und setzt sie als „Pending" bei **allen** verbundenen Druckern
+ 3. **Einlegen** — Die Spule wird physisch in einen AMS-Slot eingelegt
+ 4. **Erkennung** — FilaMan erkennt die Änderung der Tray-Daten via MQTT und sendet automatisch die korrekten Filament-Einstellungen an genau diesen Slot
+ 5. **Abschluss** — Nach erfolgreichem Senden oder nach Ablauf des Timeouts wird der Pending-Status aufgehoben
+
+ **Wie funktioniert die Erkennung?**
+ FilaMan vergleicht bei jeder MQTT-Statusnachricht die Tray-Felder (Filament-Typ, Farbe, Kalibrierungs-ID, Setting-ID) gegen die zuletzt bekannten Werte. Sobald sich Felder in einem Slot ändern (= neue Spule eingelegt), wird das wartende Filament automatisch an diesen Slot gesendet.
+
+ > **Hinweis:** Das Auto-Assignment funktioniert sowohl für AMS-Slots als auch für die externe Spulenzuführung.
+
+ > **Wichtig:** Auto-Assign wird **pro Gerät** (Waage) konfiguriert, nicht pro Drucker. Wenn Auto-Assign aktiviert ist, werden alle verbundenen Drucker benachrichtigt — die Zuordnung erfolgt automatisch bei dem Drucker, in den die Spule tatsächlich eingelegt wird. Konfiguration: → [Admin: Geräte](./11-admin.md#113-geräte-devices)
---
docs/de/11-admin.md ..
@@ 67,10 67,27 @@
![Geräte-Verwaltung](../images/admin-devices.png)
- Hier werden **API-Tokens für Geräte** verwaltet. Diese werden benötigt, wenn externe Geräte (z. B. RFID-Scanner, automatisierte Systeme) über die FilaMan-API kommunizieren sollen.
+ Hier werden **externe Geräte** verwaltet, die über die FilaMan-API kommunizieren (z. B. ESP32-Waagen mit RFID-Scanner). Jedes Gerät erhält einen eigenen API-Token für die Authentifizierung.
- - **Token erstellen** – Neuen Geräte-Token generieren
+ ### Geräte-Aktionen
+
+ - **Gerät hinzufügen** – Neues Gerät mit Name und optionalem Gerätecode erstellen
+ - **Token erstellen** – Neuen API-Token für ein Gerät generieren
- **Token widerrufen** – Zugang eines Geräts deaktivieren
+ - **Bearbeiten** – Gerätename und Einstellungen ändern
+
+ ### Auto-Assign Konfiguration
+
+ Für jedes Gerät können folgende Einstellungen für die **automatische Spulenzuordnung** konfiguriert werden:
+
+ | Einstellung | Beschreibung |
+ |-------------|-------------|
+ | **Auto-Assign aktiviert** | Wenn aktiviert, wird nach dem Wiegen einer Spule auf diesem Gerät automatisch ein Pending-Auftrag an alle verbundenen Drucker gesendet. Sobald die Spule in einen AMS-Slot eingelegt wird, werden die Filament-Einstellungen automatisch übertragen. |
+ | **Auto-Assign Timeout** | Zeit in Sekunden, nach der ein ausstehender Zuordnungsauftrag automatisch verworfen wird (Standard: 60 Sekunden). Wenn innerhalb dieser Zeit keine Spule eingelegt wird, verfällt der Auftrag. |
+
+ > **Hinweis:** Auto-Assign wird pro Gerät konfiguriert, nicht pro Drucker. Wenn Auto-Assign für ein Gerät aktiviert ist, werden ALLE verbundenen Drucker benachrichtigt. Die Zuordnung erfolgt dann automatisch bei dem Drucker, in den die Spule tatsächlich eingelegt wird.
+
+ Weitere Informationen zum Ablauf: → [Drucker: Automatische Spulenzuordnung](./09-drucker.md#automatische-spulenzuordnung-auto-assignment)
---
@@ 100,15 117,82 @@
---
- ## 11.5 System
+ ## 11.5 System (Plugin-Verwaltung)
**URL:** `http(s)://url/admin/system`
![System-Einstellungen](../images/admin-system.png)
- Der Systembereich bietet Zugriff auf:
- - **Plugin-Verwaltung** – Erweiterungen installieren und verwalten
- - **Systemeinstellungen** – Globale Konfigurationsoptionen
+ Der System-Bereich ist die zentrale Stelle für die **Plugin-Verwaltung**. Hier werden alle installierten Plugins angezeigt und verwaltet.
+
+ ### Plugin-Übersicht
+
+ Die Plugin-Tabelle zeigt alle installierten Plugins mit folgenden Spalten:
+
+ | Spalte | Beschreibung |
+ |--------|-------------|
+ | **NAME** | Name und kurze Beschreibung des Plugins |
+ | **VERSION** | Installierte Version (z. B. 2.1.10) |
+ | **TYPE** | Art des Plugins: **Driver** (Druckertreiber), **Import** (Datenimport) oder **Integration** (Drittanbieter-Anbindung) |
+ | **AUTHOR** | Autor des Plugins |
+ | **STATUS** | Aktiviert/Deaktiviert — per Toggle-Schalter umschaltbar |
+ | **ACTIONS** | Details / Öffnen / Deinstallieren |
+
+ ### Plugin installieren
+
+ Klicken Sie auf **„Install Plugin"** oben rechts. Es öffnet sich ein Dialog mit zwei Installationsmöglichkeiten:
+
+ #### Option 1: Aus der Plugin-Registry installieren (empfohlen)
+
+ 1. Im Dropdown **„Install from Registry"** werden alle verfügbaren Plugins angezeigt
+ 2. Die Liste wird automatisch aus dem offiziellen Plugin-Repository ([Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins)) auf GitHub geladen
+ 3. Wählen Sie das gewünschte Plugin aus dem Dropdown — Name, Version und Beschreibung werden angezeigt
+ 4. Klicken Sie auf **„Install Plugin"** um die Installation zu starten
+ 5. FilaMan lädt das Plugin automatisch herunter, validiert es und installiert es
+
+ #### Option 2: ZIP-Datei manuell hochladen
+
+ 1. Unterhalb des Registry-Dropdowns befindet sich der Bereich **„Plugin ZIP File"**
+ 2. Ziehen Sie eine `.zip`-Datei per **Drag & Drop** in den markierten Bereich — oder klicken Sie darauf, um eine Datei auszuwählen
+ 3. Die Datei wird automatisch validiert (Struktur, Manifest, Sicherheit)
+ 4. Bei erfolgreicher Validierung erscheint eine Bestätigung mit Plugin-Details
+ 5. Klicken Sie auf **„Install Plugin"** um die Installation abzuschließen
+
+ > **Hinweis:** Manuelle ZIP-Uploads sind für Entwickler oder für Plugins gedacht, die noch nicht in der offiziellen Registry verfügbar sind.
+
+ ### Updates prüfen
+
+ Klicken Sie auf **„Check for Updates"** oben rechts neben dem Install-Button.
+
+ - FilaMan vergleicht die installierten Plugin-Versionen mit den neuesten Versionen in der Registry
+ - Wenn Updates verfügbar sind, wird eine Benachrichtigung mit der Anzahl der verfügbaren Updates angezeigt
+ - Jedes Plugin mit verfügbarem Update zeigt die neue Versionsnummer an
+ - Ein Update wird durch **erneutes Installieren** des Plugins aus der Registry durchgeführt — das bestehende Plugin wird dabei automatisch aktualisiert
+
+ ### Plugin aktivieren / deaktivieren
+
+ Jedes Plugin kann über den **Toggle-Schalter** in der Status-Spalte aktiviert oder deaktiviert werden:
+
+ - **Aktiviert** — Das Plugin ist aktiv und seine Funktionen stehen zur Verfügung (z. B. Druckertreiber werden geladen)
+ - **Deaktiviert** — Das Plugin bleibt installiert, ist aber inaktiv. Bereits verbundene Drucker werden getrennt
+
+ ### Plugin deinstallieren
+
+ 1. Klicken Sie auf **„Uninstall"** in der Actions-Spalte des Plugins
+ 2. Bestätigen Sie die Deinstallation im Bestätigungsdialog
+ 3. Es erscheint eine zusätzliche Abfrage, ob auch die **Plugin-Daten** (z. B. Zusatzfelder, Drucker-Parameter) gelöscht werden sollen:
+ - **Ja** — Entfernt das Plugin und alle zugehörigen Daten (Zusatzfelder, gespeicherte Parameter)
+ - **Nein** — Entfernt nur das Plugin, die Daten bleiben erhalten (nützlich bei Neuinstallation)
+
+ ### Plugin-Details
+
+ Klicken Sie auf **„Details"** um ausführliche Informationen zu einem Plugin anzuzeigen:
+
+ - Plugin-Name, Version und Beschreibung
+ - Plugin-Typ (Driver / Import / Integration)
+ - Autor und Homepage
+ - Unterstützte Fähigkeiten (z. B. AMS-Unterstützung, RFID, Auto-Match)
+ - Liste der vom Plugin erstellten Drucker-Parameter
---
docs/de/13-faq.md ..
@@ 49,7 49,7 @@
---
- ← [Zurück: Farbverwaltung](./12-farbverwaltung.md) | [Zum Inhaltsverzeichnis →](./README.md)
+ ← [Zurück: Farbverwaltung](./12-farbverwaltung.md) | [Weiter: Plugin: BambuLab →](./14-plugin-bambulab.md)
---
/dev/null .. docs/de/14-plugin-bambulab.md
@@ 0,0 1,153 @@
+ # Plugin: BambuLab
+
+ Das **BambuLab-Plugin** ist ein Driver-Plugin, das FilaMan um die vollständige Integration von BambuLab 3D-Druckern erweitert. Es ermöglicht die Kommunikation über MQTT, die Verwaltung von AMS-Slots und das automatische Setzen von Filament-Einstellungen.
+
+ **Installation:** → [Admin: Plugin-Verwaltung](./11-admin.md#115-system-plugin-verwaltung)
+
+ ---
+
+ ## Übersicht
+
+ | Eigenschaft | Wert |
+ |-------------|------|
+ | **Plugin-Typ** | Driver (Druckertreiber) |
+ | **Autor** | FilaMan |
+ | **Quelle** | [Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) (Registry) |
+ | **Verbindung** | MQTT über lokales Netzwerk |
+ | **Fähigkeiten** | AMS-Unterstützung, RFID-Erkennung, Automatisches Filament-Matching |
+
+ ---
+
+ ## Unterstützte Druckermodelle
+
+ | Modell | AMS-Typ |
+ |--------|---------|
+ | **P1P / P1S** | AMS (Automatic Material System) |
+ | **X1 / X1C / X1E** | AMS |
+ | **A1 / A1 Mini** | AMS Lite |
+
+ ---
+
+ ## Konfiguration
+
+ Beim Hinzufügen oder Bearbeiten eines BambuLab-Druckers zeigt das Plugin folgende Konfigurationsfelder:
+
+ | Feld | Pflicht | Beschreibung |
+ |------|---------|-------------|
+ | **Printer Model** | Ja | Druckermodell (P1S, P1P, X1C, X1E, A1, A1 Mini) — bestimmt die AMS-Datenstruktur und Anzahl der Slots |
+ | **IP/Hostname** | Ja | IP-Adresse oder Hostname des Druckers im lokalen Netzwerk |
+ | **Serial Number** | Ja | Seriennummer des Druckers (auf dem Gerät oder in der Bambu Handy App) |
+ | **Access Code** | Ja | Zugriffscode aus den LAN-Einstellungen des Druckers |
+ | **Reconnect Interval** | Nein | Intervall in Minuten für automatische Neuverbindung bei Verbindungsverlust (Standard: 5, Bereich: 1–60) |
+
+ > **Tipp:** Die Seriennummer und den Zugriffscode finden Sie in der **Bambu Handy App** unter den Druckereinstellungen oder direkt auf dem Drucker unter **Einstellungen → Netzwerk → LAN-Modus**.
+
+ ---
+
+ ## Was wird bei der Installation erstellt?
+
+ Bei der Installation des Plugins und beim erstmaligen Start eines BambuLab-Druckers werden automatisch folgende Komponenten eingerichtet:
+
+ ### Drucker-Parameter (Printer Parameters)
+
+ Das Plugin erstellt **10 Zusatzfelder** (sogenannte „Drucker-Parameter"), die speziell für BambuLab-Drucker benötigt werden. Diese Felder werden automatisch als **System Extra Fields** angelegt (sichtbar unter [Admin: Zusatzfelder](./11-admin.md#114-zusatzfelder-extra-fields)).
+
+ | Parameter | Beschreibung | Feldtyp |
+ |-----------|-------------|---------|
+ | **Bambu Material Index** (`bambu_idx`) | Material-Index aus der BambuLab-Filamentliste — wählen Sie aus einem Dropdown das passende BambuLab-Material aus | Dropdown |
+ | **Tray Info Index** (`bambu_tray_idx`) | Index, der den Tray-Eintrag im BambuLab-System identifiziert | Text |
+ | **Setting ID** (`bambu_setting_id`) | Druckprofil-ID, die BambuLab intern für die Druckeinstellungen verwendet | Text |
+ | **Calibration Index** (`bambu_cali_idx`) | Kalibrierungs-Index für die Druckkalibrierung | Text |
+ | **K Value** (`bambu_k_value`) | K-Wert (Pressure Advance) für die Extrusionssteuerung | Zahl |
+ | **Flow Ratio** (`bambu_flow_ratio`) | Flussrate / Extrusionsmultiplikator | Zahl |
+ | **Bed Temperature** (`bambu_bed_temp`) | Druckbett-Temperatur in °C | Zahl |
+ | **Nozzle Temp Min** (`bambu_nozzle_temp_min`) | Minimale Düsentemperatur in °C | Zahl |
+ | **Nozzle Temp Max** (`bambu_nozzle_temp_max`) | Maximale Düsentemperatur in °C | Zahl |
+ | **Max Volumetric Speed** (`bambu_max_volumetric_speed`) | Maximale Volumenstrom-Geschwindigkeit in mm³/s | Zahl |
+
+ ---
+
+ ## Wo erscheinen die Drucker-Parameter?
+
+ Die Drucker-Parameter erscheinen an zwei Stellen in der Benutzeroberfläche:
+
+ ### 1. Filament-Bearbeitung
+
+ Unter dem Abschnitt **„Printer Parameters"** auf der Filament-Bearbeitungsseite.
+
+ - Hier werden die **Standard-Werte** für ein Filament hinterlegt (z. B. „PLA generell bei 210–220°C")
+ - Diese Werte gelten als **Basis** für alle Spulen dieses Filaments
+ - Wenn Sie z. B. ein neues PLA-Filament anlegen, tragen Sie hier die BambuLab-Parameter ein, die für dieses Filament typisch sind
+
+ ### 2. Spulen-Bearbeitung
+
+ Unter dem Abschnitt **„Printer Parameters"** auf der Spulen-Bearbeitungsseite.
+
+ - Hier können **spulenspezifische Werte** hinterlegt werden, die von den Filament-Standardwerten abweichen
+ - Spulen-Parameter haben **Vorrang** vor Filament-Parametern beim Senden an den Drucker
+ - Nützlich, wenn eine bestimmte Spule andere Kalibrierungswerte oder Temperaturen benötigt
+
+ > **Prioritätsregel:** Beim Senden von Filament-Einstellungen an den Drucker werden Spulen-Parameter und Filament-Parameter zusammengeführt. Wenn für einen Parameter sowohl auf Spulen- als auch auf Filament-Ebene ein Wert existiert, wird der **Spulen-Wert** verwendet.
+
+ ---
+
+ ## Drucker-Parameter befüllen
+
+ Es gibt drei Wege, die Parameter zu befüllen:
+
+ ### 1. Manuell eingeben
+
+ Öffnen Sie die Filament- oder Spulen-Bearbeitung und tragen Sie die Werte im Abschnitt „Printer Parameters" ein.
+
+ - Den **Bambu Material Index** können Sie bequem aus einem Dropdown auswählen — die Liste enthält alle von BambuLab unterstützten Materialtypen
+ - Die übrigen Felder (Temperaturen, K-Wert etc.) können Sie direkt als Zahlen oder Text eingeben
+ - Diese Methode eignet sich besonders für Filamente, die Sie zum ersten Mal einrichten
+
+ ### 2. Aus AMS-Slot importieren
+
+ Auf der **Spulen-Detailseite** können Sie Parameter direkt aus einem AMS-Slot übernehmen:
+
+ 1. Klicken Sie auf einen AMS-Slot-Punkt in der Drucker-Slot-Übersicht
+ 2. Wählen Sie im Kontextmenü:
+ - **„In Spule importieren"** — Übernimmt die Werte (Tray-Index, Temperaturen, Kalibrierungs-ID etc.) in die Drucker-Parameter der Spule
+ - **„In Spule & Filament importieren"** — Übernimmt die Werte sowohl in die Spule als auch ins zugehörige Filament
+
+ > **Tipp:** Diese Methode ist besonders praktisch, wenn Sie BambuLab-Original-Filament verwenden — alle Parameter werden automatisch vom AMS ausgelesen und übernommen.
+
+ ### 3. Automatisch beim Hinzufügen eines Druckers
+
+ Wenn ein neuer BambuLab-Drucker hinzugefügt wird und bereits ein anderer BambuLab-Drucker existiert, kopiert FilaMan automatisch die Drucker-Parameter vom bestehenden Drucker. So müssen Sie die Parameter nicht erneut eintragen.
+
+ ---
+
+ ## AMS-Slot-Anzeige
+
+ Nach erfolgreicher Verbindung zeigt FilaMan auf der **Druckerseite** und auf der **Spulen-Detailseite** alle AMS-Slots und deren aktuellen Inhalt an:
+
+ - **AMS-Slots** — Pro AMS-Einheit bis zu 4 Slots
+ - **External Tray** — Die externe Spulenzuführung des Druckers
+ - Angezeigt werden: Filamenttyp, Farbe, Temperaturbereich und Kalibrierungsstatus
+ - Die Anzeige aktualisiert sich in **Echtzeit** über Server-Sent Events (SSE)
+
+ Weitere Details zum Zuweisen von Spulen an Slots: → [Drucker: Spulen setzen](./09-drucker.md#spulen-setzen--übersicht)
+
+ ---
+
+ ## Migration älterer Versionen
+
+ Falls Sie das BambuLab-Plugin von einer älteren Version aktualisieren, werden bestehende Parameter automatisch umbenannt:
+
+ | Alter Name | Neuer Name |
+ |-----------|-----------|
+ | `bambu_cali_id` | `bambu_cali_idx` |
+ | `bambu_k` | `bambu_k_value` |
+ | `bambu_max_volspeed` | `bambu_max_volumetric_speed` |
+ | `bambu_nozzle_temp` | `bambu_nozzle_temp_min` |
+
+ Ihre vorhandenen Daten bleiben dabei erhalten — die Umbenennung erfolgt automatisch bei der ersten Druckerverbindung nach dem Update.
+
+ > **Hinweis:** Falls Sie zuvor Spoolman mit BambuLab-Feldern verwendet haben, migriert FilaMan auch diese Daten automatisch in das neue Drucker-Parameter-Format.
+
+ ---
+
+ ← [Zurück: Tipps & FAQ](./13-faq.md) | [Weiter: Weitere Plugins →](#)
docs/en/00-contents.md ..
@@ 25,6 25,7 @@
| 11 | [Admin Area](11-admin.md) | Users, roles, devices, extra fields, system |
| 12 | [Color Management](12-colors.md) | Defining colors for filaments |
| 13 | [Tips & FAQ](13-faq.md) | Frequently asked questions |
+ | 14 | [Plugin: BambuLab](14-plugin-bambulab.md) | BambuLab printer driver plugin |
---
docs/en/09-printers.md ..
@@ 10,10 10,10 @@
| Column | Description |
|--------|-------------|
- | **NAME** | Name of the printer (e.g. "Prusa MK4 #1") |
+ | **NAME** | Name of the printer (e.g. "Bambu Lab P1S #1") |
| **MODEL** | Printer model designation |
| **DRIVER** | Printer driver / connection type |
- | **STATUS** | Current operational status of the printer |
+ | **STATUS** | Current operational status of the printer (Connected / Disconnected) |
| **ACTIONS** | Edit / Delete |
## Features
@@ 22,11 22,100 @@
Click **"Add Printer"** in the top right. The form contains:
- **Name** – Unique name for the printer
- **Model** – Model designation
- - **Driver** – Driver or connection type (e.g. OctoPrint, Moonraker/Klipper)
- - Additional printer-specific configuration options
+ - **Driver** – Driver or connection type (e.g. BambuLab, OctoPrint, Moonraker/Klipper)
+ - Additional printer-specific configuration options (depending on the driver)
### Printer Integration
- When a printer is connected, FilaMan can automatically track filament consumption and update spool fill levels, provided the printer is integrated via a compatible API (e.g. OctoPrint or Klipper/Moonraker).
+ When a printer is connected, FilaMan can automatically track filament consumption and update spool fill levels, provided the printer is integrated via a compatible API.
+
+ ---
+
+ ## BambuLab Integration
+
+ ### Supported Models
+ FilaMan supports all BambuLab printers with an MQTT interface:
+ - **P1P / P1S** – with AMS (Automatic Material System)
+ - **X1 / X1C** – with AMS
+ - **A1 / A1 Mini** – with AMS Lite
+
+ ### Configuration
+ When adding a BambuLab printer, the following information is required:
+ - **Host** – IP address of the printer on your local network
+ - **Serial** – Serial number of the printer (found on the printer or in the Bambu Handy app)
+ - **Access Code** – Access code (found in the printer's LAN settings)
+ - **Printer Model** – Model designation (e.g. P1S, X1C, A1) — determines whether AMS or AMS Lite is displayed
+
+ ### AMS Slot Display
+ After a successful connection, FilaMan shows all AMS slots and their current contents:
+ - **AMS Slots** – Up to 4 slots per AMS unit (AMS) or 4 slots (AMS Lite)
+ - **External Tray** – The printer's external spool feeder
+ - Displayed information includes: filament type, color, temperature range, and calibration status
+
+ ---
+
+ > **Detailed information** about the BambuLab plugin (printer parameters, how to populate them, import, migration) can be found on the dedicated plugin page: → [Plugin: BambuLab](./14-plugin-bambulab.md)
+
+ ---
+
+ ## Setting Spools — Overview
+
+ FilaMan offers two ways to send filament settings (material type, color, temperature) to a printer slot:
+
+ | Method | Description |
+ |--------|-------------|
+ | **Manual** | The user selects a slot on the spool page and sends the settings directly |
+ | **Automatic** | After weighing on an ESP32 scale, FilaMan detects insertion into an AMS slot and sends the settings automatically |
+
+ ---
+
+ ### Manual Assignment (Spool → Printer)
+
+ A spool can be manually assigned to a specific printer slot via the **spool detail page**.
+
+ **Prerequisites:**
+ - The spool must be linked to a filament
+ - At least one BambuLab printer must be connected (Status: Connected)
+
+ **Step by Step:**
+ 1. Navigate to the **Spools page** (`/spools`) and open the desired spool
+ 2. In the lower section of the spool detail page, you will see a **printer slot overview** — for each connected printer, the AMS slots are shown as colored dots:
+ - 🟢 **Colored dot** = Slot occupied (color matches the inserted filament)
+ - ❌ **Grey dot with X** = Slot empty
+ 3. **Click on a slot dot** — a context menu opens with the following actions:
+ - **"Assign spool"** — Sends this spool's filament settings to the selected slot
+ - **"Import to spool"** — Imports the printer parameters (tray index, temperatures) from the slot into the spool
+ - **"Import to spool & filament"** — Imports the parameters into both the spool and its associated filament
+ 4. Select **"Assign spool"** — FilaMan automatically gathers the appropriate parameters (tray index, temperature ranges, material type, color) and sends them to the printer
+ 5. On success, a **confirmation message** appears; on failure, an error message is shown
+
+ > **Note:** The sent parameters are merged from the **printer parameters** of both the spool and the filament. Spool parameters take priority over filament parameters. These can be adjusted in the respective spool or filament settings.
+
+ > **Tip:** The slot overview updates automatically in real time via Server-Sent Events (SSE). When a spool is inserted into or removed from an AMS slot, the display changes immediately.
+
+ ---
+
+ ### Automatic Assignment (Auto-Assignment)
+
+ Automatic spool assignment allows you to automatically send filament settings to the printer after weighing a spool on the ESP32 scale, as soon as the spool is inserted into an AMS slot.
+
+ **Prerequisites:**
+ 1. An ESP32 device (scale) must be registered in Device Management
+ 2. **Auto-Assign** must be enabled for the device (→ [Admin: Devices](11-admin.md#113-devices))
+ 3. At least one BambuLab printer must be connected (Status: Connected)
+
+ **Workflow:**
+ 1. **Weighing** — A spool is placed on the ESP32 scale → weight is measured and sent to FilaMan
+ 2. **Pending** — FilaMan identifies the spool (via RFID or manual assignment), caches the filament data (material type, color, temperatures), and sets it as "Pending" on **all** connected printers
+ 3. **Insertion** — The spool is physically inserted into an AMS slot
+ 4. **Detection** — FilaMan detects the tray data change via MQTT and automatically sends the correct filament settings to that specific slot
+ 5. **Completion** — After successful transmission or timeout expiry, the pending status is cleared
+
+ **How does detection work?**
+ FilaMan compares tray fields (filament type, color, calibration ID, setting ID) against the last known values with every MQTT status message. As soon as fields in a slot change (= new spool inserted), the pending filament is automatically sent to that slot.
+
+ > **Note:** Auto-assignment works for both AMS slots and the external spool feeder.
+
+ > **Important:** Auto-Assign is configured **per device** (scale), not per printer. When Auto-Assign is enabled, all connected printers are notified — the assignment happens automatically on whichever printer the spool is actually inserted into. Configuration: → [Admin: Devices](11-admin.md#113-devices)
---
docs/en/11-admin.md ..
@@ 67,10 67,27 @@
![Device Management](../images/admin-devices.png)
- This section manages **API tokens for devices**. These are required when external devices (e.g. RFID scanners, automated systems) need to communicate with the FilaMan API.
+ This section manages **external devices** that communicate with the FilaMan API (e.g. ESP32 scales with RFID scanners). Each device receives its own API token for authentication.
- - **Create token** – Generate a new device token
+ ### Device Actions
+
+ - **Add device** – Create a new device with a name and optional device code
+ - **Create token** – Generate a new API token for a device
- **Revoke token** – Disable access for a device
+ - **Edit** – Change device name and settings
+
+ ### Auto-Assign Configuration
+
+ For each device, the following settings for **automatic spool assignment** can be configured:
+
+ | Setting | Description |
+ |---------|-------------|
+ | **Auto-Assign enabled** | When enabled, weighing a spool on this device will automatically send a pending assignment to all connected printers. As soon as the spool is inserted into an AMS slot, the filament settings are automatically transmitted. |
+ | **Auto-Assign Timeout** | Time in seconds after which a pending assignment is automatically discarded (default: 60 seconds). If no spool is inserted within this time, the assignment expires. |
+
+ > **Note:** Auto-Assign is configured per device, not per printer. When Auto-Assign is enabled for a device, ALL connected printers are notified. The assignment then happens automatically on whichever printer the spool is actually inserted into.
+
+ For more details on the workflow: → [Printers: Automatic Spool Assignment](09-printers.md#automatic-spool-assignment-auto-assignment)
---
@@ 100,15 117,82 @@
---
- ## 11.5 System
+ ## 11.5 System (Plugin Management)
**URL:** `http(s)://url/admin/system`
![System Settings](../images/admin-system.png)
- The System section provides access to:
- - **Plugin management** – Install and manage extensions
- - **System settings** – Global configuration options
+ The System section is the central place for **plugin management**. All installed plugins are displayed and managed here.
+
+ ### Plugin Overview
+
+ The plugin table shows all installed plugins with the following columns:
+
+ | Column | Description |
+ |--------|-------------|
+ | **NAME** | Plugin name and short description |
+ | **VERSION** | Installed version (e.g. 2.1.10) |
+ | **TYPE** | Plugin type: **Driver** (printer driver), **Import** (data import), or **Integration** (third-party connection) |
+ | **AUTHOR** | Plugin author |
+ | **STATUS** | Enabled/Disabled — toggleable via switch |
+ | **ACTIONS** | Details / Open / Uninstall |
+
+ ### Installing a Plugin
+
+ Click **"Install Plugin"** in the top right. A dialog opens with two installation options:
+
+ #### Option 1: Install from Plugin Registry (recommended)
+
+ 1. The **"Install from Registry"** dropdown shows all available plugins
+ 2. The list is automatically loaded from the official plugin repository ([Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins)) on GitHub
+ 3. Select the desired plugin from the dropdown — name, version, and description are displayed
+ 4. Click **"Install Plugin"** to start the installation
+ 5. FilaMan automatically downloads, validates, and installs the plugin
+
+ #### Option 2: Upload ZIP file manually
+
+ 1. Below the registry dropdown, you'll find the **"Plugin ZIP File"** section
+ 2. Drag and drop a `.zip` file into the marked area — or click to select a file
+ 3. The file is automatically validated (structure, manifest, security)
+ 4. On successful validation, a confirmation with plugin details appears
+ 5. Click **"Install Plugin"** to complete the installation
+
+ > **Note:** Manual ZIP uploads are intended for developers or for plugins that are not yet available in the official registry.
+
+ ### Checking for Updates
+
+ Click **"Check for Updates"** in the top right, next to the Install button.
+
+ - FilaMan compares installed plugin versions with the latest versions in the registry
+ - If updates are available, a notification shows the number of available updates
+ - Each plugin with an available update displays the new version number
+ - An update is performed by **re-installing** the plugin from the registry — the existing plugin is automatically upgraded
+
+ ### Enabling / Disabling a Plugin
+
+ Each plugin can be enabled or disabled via the **toggle switch** in the Status column:
+
+ - **Enabled** — The plugin is active and its features are available (e.g. printer drivers are loaded)
+ - **Disabled** — The plugin remains installed but is inactive. Already connected printers will be disconnected
+
+ ### Uninstalling a Plugin
+
+ 1. Click **"Uninstall"** in the Actions column of the plugin
+ 2. Confirm the uninstallation in the confirmation dialog
+ 3. An additional prompt asks whether to also delete the **plugin data** (e.g. extra fields, printer parameters):
+ - **Yes** — Removes the plugin and all associated data (extra fields, saved parameters)
+ - **No** — Removes only the plugin; data is preserved (useful when reinstalling)
+
+ ### Plugin Details
+
+ Click **"Details"** to view detailed information about a plugin:
+
+ - Plugin name, version, and description
+ - Plugin type (Driver / Import / Integration)
+ - Author and homepage
+ - Supported capabilities (e.g. AMS support, RFID, Auto-Match)
+ - List of printer parameters created by the plugin
---
docs/en/13-faq.md ..
@@ 49,7 49,7 @@
---
- ← [Back: Color Management](12-colors.md) | [Back to Table of Contents →](00-contents.md)
+ ← [Back: Color Management](12-colors.md) | [Next: Plugin: BambuLab →](14-plugin-bambulab.md)
---
/dev/null .. docs/en/14-plugin-bambulab.md
@@ 0,0 1,153 @@
+ # Plugin: BambuLab
+
+ The **BambuLab Plugin** is a Driver plugin that extends FilaMan with full BambuLab 3D printer integration. It enables communication via MQTT, AMS slot management, and automatic filament setting assignment.
+
+ **Installation:** → [Admin: Plugin Management](./11-admin.md#115-system-plugin-management)
+
+ ---
+
+ ## Overview
+
+ | Property | Value |
+ |----------|-------|
+ | **Plugin Type** | Driver (Printer Driver) |
+ | **Author** | FilaMan |
+ | **Source** | [Fire-Devils/filaman-plugins](https://github.com/Fire-Devils/filaman-plugins) (Registry) |
+ | **Connection** | MQTT over local network |
+ | **Capabilities** | AMS support, RFID detection, Automatic filament matching |
+
+ ---
+
+ ## Supported Printer Models
+
+ | Model | AMS Type |
+ |-------|----------|
+ | **P1P / P1S** | AMS (Automatic Material System) |
+ | **X1 / X1C / X1E** | AMS |
+ | **A1 / A1 Mini** | AMS Lite |
+
+ ---
+
+ ## Configuration
+
+ When adding or editing a BambuLab printer, the plugin shows the following configuration fields:
+
+ | Field | Required | Description |
+ |-------|----------|-------------|
+ | **Printer Model** | Yes | Printer model (P1S, P1P, X1C, X1E, A1, A1 Mini) — determines the AMS data structure and number of slots |
+ | **IP/Hostname** | Yes | IP address or hostname of the printer on your local network |
+ | **Serial Number** | Yes | Serial number of the printer (found on the device or in the Bambu Handy app) |
+ | **Access Code** | Yes | Access code from the printer's LAN settings |
+ | **Reconnect Interval** | No | Interval in minutes for automatic reconnection on connection loss (default: 5, range: 1–60) |
+
+ > **Tip:** You can find the serial number and access code in the **Bambu Handy App** under the printer settings, or directly on the printer under **Settings → Network → LAN Mode**.
+
+ ---
+
+ ## What Gets Installed?
+
+ Upon installation of the plugin and when a BambuLab printer is first started, the following components are automatically set up:
+
+ ### Printer Parameters
+
+ The plugin creates **10 extra fields** (called "Printer Parameters") specifically needed for BambuLab printers. These fields are automatically created as **System Extra Fields** (visible under [Admin: Extra Fields](./11-admin.md#114-extra-fields)).
+
+ | Parameter | Description | Field Type |
+ |-----------|-------------|------------|
+ | **Bambu Material Index** (`bambu_idx`) | Material index from the BambuLab filament list — select the matching BambuLab material from a dropdown | Dropdown |
+ | **Tray Info Index** (`bambu_tray_idx`) | Index identifying the tray entry in the BambuLab system | Text |
+ | **Setting ID** (`bambu_setting_id`) | Print profile ID used internally by BambuLab for print settings | Text |
+ | **Calibration Index** (`bambu_cali_idx`) | Calibration index for print calibration | Text |
+ | **K Value** (`bambu_k_value`) | K value (Pressure Advance) for extrusion control | Number |
+ | **Flow Ratio** (`bambu_flow_ratio`) | Flow rate / extrusion multiplier | Number |
+ | **Bed Temperature** (`bambu_bed_temp`) | Print bed temperature in °C | Number |
+ | **Nozzle Temp Min** (`bambu_nozzle_temp_min`) | Minimum nozzle temperature in °C | Number |
+ | **Nozzle Temp Max** (`bambu_nozzle_temp_max`) | Maximum nozzle temperature in °C | Number |
+ | **Max Volumetric Speed** (`bambu_max_volumetric_speed`) | Maximum volumetric flow speed in mm³/s | Number |
+
+ ---
+
+ ## Where Do Printer Parameters Appear?
+
+ Printer parameters appear in two places in the user interface:
+
+ ### 1. Filament Edit Page
+
+ Under the **"Printer Parameters"** section on the filament edit page.
+
+ - This is where you set **default values** for a filament (e.g. "PLA generally at 210–220°C")
+ - These values serve as the **base** for all spools of this filament
+ - When creating a new PLA filament, for example, enter the BambuLab parameters that are typical for this filament here
+
+ ### 2. Spool Edit Page
+
+ Under the **"Printer Parameters"** section on the spool edit page.
+
+ - This is where you can set **spool-specific values** that differ from the filament defaults
+ - Spool parameters take **priority** over filament parameters when sending to the printer
+ - Useful when a specific spool requires different calibration values or temperatures
+
+ > **Priority rule:** When sending filament settings to the printer, spool parameters and filament parameters are merged. If a value exists for a parameter at both spool and filament level, the **spool value** is used.
+
+ ---
+
+ ## Populating Printer Parameters
+
+ There are three ways to populate the parameters:
+
+ ### 1. Enter Manually
+
+ Open the filament or spool edit form and fill in the values in the "Printer Parameters" section.
+
+ - The **Bambu Material Index** can be conveniently selected from a dropdown — the list contains all material types supported by BambuLab
+ - The remaining fields (temperatures, K value, etc.) can be entered directly as numbers or text
+ - This method is especially suitable for filaments you are setting up for the first time
+
+ ### 2. Import from AMS Slot
+
+ On the **spool detail page**, you can import parameters directly from an AMS slot:
+
+ 1. Click on an AMS slot dot in the printer slot overview
+ 2. Select from the context menu:
+ - **"Import to spool"** — Imports the values (tray index, temperatures, calibration ID, etc.) into the spool's printer parameters
+ - **"Import to spool & filament"** — Imports the values into both the spool and its associated filament
+
+ > **Tip:** This method is especially convenient when using BambuLab original filament — all parameters are automatically read from the AMS and imported.
+
+ ### 3. Automatically When Adding a Printer
+
+ When a new BambuLab printer is added and another BambuLab printer already exists, FilaMan automatically copies the printer parameters from the existing printer. This saves you from entering the parameters again.
+
+ ---
+
+ ## AMS Slot Display
+
+ After a successful connection, FilaMan shows all AMS slots and their current contents on the **printer page** and the **spool detail page**:
+
+ - **AMS Slots** — Up to 4 slots per AMS unit
+ - **External Tray** — The printer's external spool feeder
+ - Displayed information includes: filament type, color, temperature range, and calibration status
+ - The display updates in **real time** via Server-Sent Events (SSE)
+
+ For more details on assigning spools to slots: → [Printers: Setting Spools](./09-printers.md#setting-spools--overview)
+
+ ---
+
+ ## Migration from Older Versions
+
+ If you are updating the BambuLab plugin from an older version, existing parameters are automatically renamed:
+
+ | Old Name | New Name |
+ |----------|----------|
+ | `bambu_cali_id` | `bambu_cali_idx` |
+ | `bambu_k` | `bambu_k_value` |
+ | `bambu_max_volspeed` | `bambu_max_volumetric_speed` |
+ | `bambu_nozzle_temp` | `bambu_nozzle_temp_min` |
+
+ Your existing data is preserved — the renaming happens automatically on the first printer connection after the update.
+
+ > **Note:** If you previously used Spoolman with BambuLab fields, FilaMan also automatically migrates this data into the new printer parameter format.
+
+ ---
+
+ ← [Back: Tips & FAQ](./13-faq.md) | [Next: More Plugins →](#)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9