# Plugin: Bambuddy

Das **Bambuddy-Plugin** ist ein Driver-Plugin, das FilaMan mit [Bambuddy](https://github.com/your-org/bambuddy) – einer alternativen Verwaltungsoberfläche für BambuLab-Drucker – verbindet. Es synchronisiert den FilaMan-Spulenbestand bidirektional mit dem Bambuddy-Inventory und meldet Filamentverbrauch automatisch nach dem Druck zurück.

**Installation:** → [Admin: Plugin-Verwaltung](/Docs/De/11-Admin#115-system-plugin-verwaltung)

---

## Übersicht

| Eigenschaft | Wert |
|-------------|------|
| **Plugin-Typ** | Driver (Druckertreiber) |
| **Autor** | FilaMan |
| **Verbindung** | HTTP REST API + WebSocket |
| **Fähigkeiten** | Inventory-Sync, AMS-Slot-Anzeige, Verbrauchsmeldung, Online/Offline-Erkennung |

---

## Voraussetzungen

- Ein laufender **Bambuddy-Server**, der über das Netzwerk erreichbar ist
- Ein gültiger **API-Key** aus den Bambuddy-Einstellungen
- Die **Drucker-ID** des Bambudruckers in Bambuddy (zu finden in der Bambuddy-Weboberfläche)

---

## Konfiguration

Beim Hinzufügen oder Bearbeiten eines Bambuddy-Druckers zeigt das Plugin folgende Konfigurationsfelder:

| Feld | Pflicht | Beschreibung |
|------|---------|-------------|
| **Bambuddy URL** | Ja | Vollständige URL zum Bambuddy-Server (z. B. `http://192.168.1.100:8080`) |
| **API Key** | Ja | API-Key aus den Bambuddy-Einstellungen (unter Bambuddy → Settings → API) |
| **Printer ID** | Ja | ID des Druckers in Bambuddy (numerisch, sichtbar in der Bambuddy-Druckerübersicht) |
| **Sync Interval** | Nein | Intervall in Sekunden für den automatischen Inventory-Sync (Standard: 300 = 5 Minuten) |
| **Reconnect Interval** | Nein | Wartezeit in Sekunden bei Verbindungsverlust vor erneutem Verbindungsversuch (Standard: 30) |

---

## Wie funktioniert die Synchronisation?

Das Plugin hält das **Bambuddy-Inventory** automatisch aktuell – FilaMan ist dabei die Quelle der Wahrheit.

### Wann wird synchronisiert?

| Auslöser | Verhalten |
|---------|-----------|
| **Beim Start des Plugins** | Vollständiger Inventory-Sync aller aktiven FilaMan-Spulen |
| **Periodisch** | Automatisch alle `Sync Interval` Sekunden (Standard: alle 5 Minuten) |
| **Bei Änderungen in FilaMan** | Sofortiger Sync innerhalb von 3 Sekunden nach jeder Datenänderung (Spule erstellt, Gewicht aktualisiert, Filament geändert etc.) |

### Wie werden Spulen verknüpft?

Jede in Bambuddy erstellte Spule erhält im Feld **„Note"** den Wert `filaman:{id}` (z. B. `filaman:42`). Dieser Schlüssel ist die eindeutige Verknüpfung zwischen FilaMan-Spule und Bambuddy-Inventory-Eintrag. Wird die gleiche FilaMan-Spule erneut synchronisiert, aktualisiert das Plugin den bestehenden Bambuddy-Eintrag anstatt einen neuen zu erstellen.

---

## Was wird synchronisiert?

Bei jedem Sync überträgt das Plugin folgende Informationen aus FilaMan nach Bambuddy:

| FilaMan-Feld | Bambuddy-Feld | Beschreibung |
|---|---|---|
| `filament.material_type` | Material | Materialtyp (PLA, PETG, ABS …) |
| `filament.manufacturer.name` | Marke | Hersteller |
| `filament.colors[0].hex_code` | Farbe (RGBA) | Hauptfarbe der Spule |
| `initial_total_weight_g` | Nenngewicht | Ursprüngliches Gesamtgewicht |
| `initial – remaining` | Verbrauchtes Gewicht | Bereits verbrauchtes Gewicht |
| `rfid_uid` | RFID-Tag | Wird übertragen, wenn vorhanden |
| `bambu_nozzle_temp_min/max` | Düsentemperaturen | Aus den Drucker-Parametern |

---

## Verbrauchsmeldung nach dem Druck

Das Plugin hält eine **WebSocket-Verbindung** zum Bambuddy-Server. Wenn ein Druckauftrag abgeschlossen wird, sendet Bambuddy ein `print_complete`-Event mit dem Filamentverbrauch pro AMS-Slot. Das Plugin rechnet diesen Verbrauch automatisch auf die entsprechende FilaMan-Spule an – ohne manuelle Eingabe.

> **Voraussetzung:** Die Spule muss vor dem Druck einem AMS-Slot zugewiesen sein (siehe [AMS-Slot-Zuweisung](#ams-slot-anzeige-und-zuweisung)).

---

## AMS-Slot-Anzeige und Zuweisung

Nach erfolgreicher Verbindung zeigt FilaMan auf der **Drucker-Seite** und der **Spulen-Detailseite** alle AMS-Slots und deren aktuellen Inhalt an. Die Anzeige aktualisiert sich in **Echtzeit** über den WebSocket.

### Online/Offline-Status

Ist der Bambu-Drucker **nicht erreichbar** (laut Bambuddy offline), werden auf der Spulen-Detailseite **keine Trays** für diesen Drucker angezeigt. Sobald der Drucker wieder online ist, erscheinen die Slots automatisch.

### Spule einem Slot zuweisen

Auf der **Spulen-Detailseite** können Sie eine Spule direkt einem AMS-Slot in Bambuddy zuweisen:

1. Klicken Sie auf einen Slot-Punkt in der Drucker-Slot-Übersicht
2. Wählen Sie im Kontextmenü **„Spule diesem Slot zuweisen"**
3. Bambuddy weist die Spule dem Slot zu und konfiguriert Material, Farbe und Temperaturen automatisch

---

## Sync-Aktionen

Auf der **Drucker-Detailseite** stehen zwei manuelle Sync-Aktionen zur Verfügung:

| Aktion | Beschreibung |
|--------|-------------|
| **Jetzt synchronisieren** | Löst sofort einen Inventory-Sync aus (FilaMan → Bambuddy) |
| **Vollständiger Resync** | Löscht **alle** Bambuddy-Inventarspulen und synchronisiert den gesamten FilaMan-Bestand neu. Sinnvoll, wenn das Inventory in Bambuddy durch externe Änderungen inkonsistent geworden ist. ⚠️ Nicht während laufender Druckaufträge ausführen. |

---

← [Zurück: Plugin: Spoolman API](/Docs/De/16-Plugin-Spoolmanapi)
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