Blame

fd7ef8 Manuel Weiser 2026-03-13 09:07:24
docs: Add Bambuddy plugin documentation and update table of contents
1
# Plugin: Bambuddy
2
3
The **Bambuddy Plugin** is a Driver plugin that connects FilaMan with [Bambuddy](https://github.com/your-org/bambuddy) — an alternative management interface for BambuLab printers. It synchronizes the FilaMan spool inventory bidirectionally with the Bambuddy inventory and automatically reports filament consumption after each print.
4
5
**Installation:** → [Admin: Plugin Management](/Docs/En/11-Admin#115-system-plugin-management)
6
7
---
8
9
## Overview
10
11
| Property | Value |
12
|----------|-------|
13
| **Plugin Type** | Driver (Printer Driver) |
14
| **Author** | FilaMan |
15
| **Connection** | HTTP REST API + WebSocket |
16
| **Capabilities** | Inventory sync, AMS slot display, consumption reporting, online/offline detection |
17
18
---
19
20
## Prerequisites
21
22
- A running **Bambuddy server** accessible over the network
23
- A valid **API key** from the Bambuddy settings
24
- The **Printer ID** of the Bambu printer in Bambuddy (found in the Bambuddy web interface)
25
26
---
27
28
## Configuration
29
30
When adding or editing a Bambuddy printer, the plugin shows the following configuration fields:
31
32
| Field | Required | Description |
33
|-------|----------|-------------|
34
| **Bambuddy URL** | Yes | Full URL of the Bambuddy server (e.g. `http://192.168.1.100:8080`) |
35
| **API Key** | Yes | API key from the Bambuddy settings (Bambuddy → Settings → API) |
36
| **Printer ID** | Yes | Printer ID in Bambuddy (numeric, visible in the Bambuddy printer overview) |
37
| **Sync Interval** | No | Interval in seconds for automatic inventory sync (default: 300 = 5 minutes) |
38
| **Reconnect Interval** | No | Wait time in seconds before reconnecting after a connection loss (default: 30) |
39
40
---
41
42
## How Does Synchronization Work?
43
44
The plugin keeps the **Bambuddy inventory** up to date automatically — FilaMan is the single source of truth.
45
46
### When Is a Sync Triggered?
47
48
| Trigger | Behavior |
49
|---------|----------|
50
| **On plugin start** | Full inventory sync of all active FilaMan spools |
51
| **Periodically** | Automatically every `Sync Interval` seconds (default: every 5 minutes) |
52
| **On FilaMan changes** | Immediate sync within 3 seconds of any data change (spool created, weight updated, filament changed, etc.) |
53
54
### How Are Spools Linked?
55
56
Every spool created in Bambuddy receives the value `filaman:{id}` (e.g. `filaman:42`) in its **"Note"** field. This key is the unique link between a FilaMan spool and a Bambuddy inventory entry. When the same FilaMan spool is synced again, the plugin updates the existing Bambuddy entry instead of creating a new one.
57
58
---
59
60
## What Gets Synchronized?
61
62
On every sync, the plugin transfers the following information from FilaMan to Bambuddy:
63
64
| FilaMan Field | Bambuddy Field | Description |
65
|---|---|---|
66
| `filament.material_type` | Material | Material type (PLA, PETG, ABS …) |
67
| `filament.manufacturer.name` | Brand | Manufacturer |
68
| `filament.colors[0].hex_code` | Color (RGBA) | Primary color of the spool |
69
| `initial_total_weight_g` | Label weight | Original total weight |
70
| `initial – remaining` | Weight used | Filament already consumed |
71
| `rfid_uid` | RFID tag | Transferred if present |
72
| `bambu_nozzle_temp_min/max` | Nozzle temperatures | From printer parameters |
73
74
---
75
76
## Consumption Reporting After Printing
77
78
The plugin maintains a **WebSocket connection** to the Bambuddy server. When a print job completes, Bambuddy sends a `print_complete` event containing filament consumption per AMS slot. The plugin automatically deducts this consumption from the corresponding FilaMan spool — no manual input required.
79
80
> **Prerequisite:** The spool must be assigned to an AMS slot before the print (see [AMS Slot Assignment](#ams-slot-display-and-assignment)).
81
82
---
83
84
## AMS Slot Display and Assignment
85
86
After a successful connection, FilaMan shows all AMS slots and their current contents on the **printer page** and the **spool detail page**. The display updates in **real time** via WebSocket.
87
88
### Online/Offline Status
89
90
If the Bambu printer is **unreachable** (reported as offline by Bambuddy), **no trays** are shown for this printer on the spool detail page. As soon as the printer comes back online, the slots appear automatically.
91
92
### Assigning a Spool to a Slot
93
94
On the **spool detail page**, you can assign a spool directly to an AMS slot in Bambuddy:
95
96
1. Click on a slot dot in the printer slot overview
97
2. Select **"Assign spool to this slot"** from the context menu
98
3. Bambuddy assigns the spool to the slot and automatically configures material, color, and temperatures
99
100
---
101
102
## Sync Actions
103
104
Two manual sync actions are available on the **printer detail page**:
105
106
| Action | Description |
107
|--------|-------------|
108
| **Sync Now** | Triggers an immediate inventory sync (FilaMan → Bambuddy) |
109
| **Full Resync** | Deletes **all** Bambuddy inventory spools and re-syncs the entire FilaMan stock from scratch. Useful when the Bambuddy inventory has become inconsistent due to external changes. ⚠️ Do not run during active print jobs. |
110
111
---
112
113
← [Back: Plugin: Spoolman API](/Docs/En/16-Plugin-Spoolmanapi)