<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Filamentmanager]]></title><description><![CDATA[<p dir="auto">Hallo zusammen.</p>
<p dir="auto">Ich möchte euch mein neustes Projekt vorstellen.</p>
<p dir="auto">Seit einem Jahr habe ich nun einen 3d Drucker, Prusa MK4s.<br />
Mittlerweile die 20te Spule verdruckt und es nimmt kein Ende ;)<br />
Auch die Spulen in Regalen und Schränken werden immer mehr... ihr kennt das sicherlich :)<br />
Da ich vor ein paar Wochen auf Claude Code gestoßen bin, hatte ich mich an ein Verwaltungstool für meine Spulensammlung gemacht.<br />
Natürlich hat es auch eine MQTT Schnittstelle und iobroker bekommt den Status meines Prusas mitgeteilt. Hier starte ich dann automatisch meine Gehäuse Lüftung und internen Filter.</p>
<p dir="auto"><strong>So schließt sich auch der Kreis und der Bezug zu iobroker.</strong></p>
<p dir="auto">Hier einmal die Readme des Projektes:</p>
<pre><code># FilamentManager

Lokale Web-App zur Verwaltung von 3D-Drucker-Filamentspulen. Läuft auf Debian Linux.

## Funktionen

- Spulen anlegen, bearbeiten, löschen (Hersteller, Material, Farbe, Foto, Shop-Link)
- Restmenge tracken mit Verbrauchsprotokoll
- Lagerorte verwalten (Regal, Lager)
- QR-Code-Etiketten generieren und auf Zweckform L4744 REV drucken
- Ersatzspulen-Anzeige: zeigt passende ungeöffnete Spulen pro offener Spule
- **PrusaLink-Monitor:** automatische Verbrauchserfassung per Druckeranbindung
- **Mehrfarben-Druck:** bis zu 5 Filament-Slots pro Drucker, Verbrauch wird pro Tool separat abgezogen
- **MQTT-Integration:** Druckerstatus und Spulendaten live an ioBroker oder andere Broker senden

## Installation

### 1. MariaDB-Datenbank einrichten

```sql
CREATE DATABASE filamentmanager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'filament_user'@'%' IDENTIFIED BY 'sicheres-passwort';
GRANT ALL PRIVILEGES ON filamentmanager.* TO 'filament_user'@'%';
FLUSH PRIVILEGES;
</code></pre>
<h3>2. Konfiguration</h3>
<pre><code class="language-bash">cp .env.example .env
nano .env
</code></pre>
<p dir="auto">Folgende Werte eintragen:</p>
<pre><code>DB_HOST=192.168.x.x      # IP deines MariaDB-Servers
DB_PORT=3306
DB_NAME=filamentmanager
DB_USER=filament_user
DB_PASSWORD=sicheres-passwort
SECRET_KEY=zufaelliger-langer-string
</code></pre>
<h3>3. Starten</h3>
<pre><code class="language-bash">bash start.sh
</code></pre>
<p dir="auto">Beim ersten Start wird automatisch ein Python-Virtualenv erstellt und alle Abhängigkeiten installiert.</p>
<p dir="auto">Die App ist dann erreichbar unter:</p>
<ul>
<li>Lokal: <a href="http://localhost:5000" rel="nofollow ugc">http://localhost:5000</a></li>
<li>Im Heimnetz: http://&lt;deine-IP&gt;:5000</li>
</ul>
<h2>Dauerhaft als Systemdienst einrichten (optional)</h2>
<pre><code class="language-bash">sudo nano /etc/systemd/system/filamentmanager.service
</code></pre>
<pre><code class="language-ini">[Unit]
Description=FilamentManager
After=network.target

[Service]
Type=simple
User=DEIN_USER
WorkingDirectory=/pfad/zu/filamentmanager
ExecStart=/pfad/zu/filamentmanager/.venv/bin/python app.py
Restart=on-failure
EnvironmentFile=/pfad/zu/filamentmanager/.env

[Install]
WantedBy=multi-user.target
</code></pre>
<pre><code class="language-bash">sudo systemctl daemon-reload
sudo systemctl enable --now filamentmanager
</code></pre>
<h2>PrusaLink-Monitor</h2>
<p dir="auto">Unter <strong>Drucker</strong> kann jeder PrusaLink-Drucker mit IP-Adresse und API-Key eingetragen werden. Ein Hintergrundthread pro Drucker pollt die PrusaLink-API und:</p>
<ul>
<li>aktualisiert den Druckerstatus in Echtzeit (IDLE, PRINTING, FINISHED, …)</li>
<li>liest Filamentverbrauch aus der GCode/BGcode-Datei (inkl. komprimierter BGcode-Dateien des PrusaSlicer)</li>
<li>zieht nach Druckende den verbrauchten Wert automatisch von der zugewiesenen Spule ab</li>
</ul>
<p dir="auto">Nach dem Hinzufügen oder Ändern eines Druckers muss die App neu gestartet werden, damit der Monitor-Thread aktiv wird.</p>
<h2>Mehrfarben-Druck</h2>
<p dir="auto">Der FilamentManager unterstützt Drucker mit manuellem Farbwechsel (M600) sowie MMU/AMS-Setups.</p>
<p dir="auto">Jedem Drucker können bis zu 5 Filament-Slots zugewiesen werden:</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Slot</th>
<th>Bedeutung</th>
</tr>
</thead>
<tbody>
<tr>
<td>Farbe 1 (Slot 0)</td>
<td>Erstes eingelegtes Filament</td>
</tr>
<tr>
<td>Farbe 2–5 (Slot 1–4)</td>
<td>Weitere Farben nach manuellem Farbwechsel</td>
</tr>
</tbody>
</table>
<p dir="auto">Bei Druckende wird der Verbrauch pro Tool aus der BGcode/GCode-Datei gelesen und separat von der jeweils zugewiesenen Spule abgezogen. Bei MMU-Druckern werden die kommaseparierten Verbrauchswerte (<code>filament used [g]=10.5, 5.2, 0.0</code>) automatisch auf die Slots verteilt.</p>
<h2>MQTT-Integration</h2>
<p dir="auto">Die MQTT-Verbindung wird vollständig über die Web-Oberfläche konfiguriert — kein Editieren von Konfigurationsdateien nötig.</p>
<p dir="auto"><strong>Einstellungen → MQTT-Verbindung:</strong></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Feld</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td>Broker-Adresse</td>
<td>IP oder Hostname des MQTT-Brokers</td>
</tr>
<tr>
<td>Port</td>
<td>Standard: 1883</td>
</tr>
<tr>
<td>Benutzername / Passwort</td>
<td>Optional, für authentifizierte Broker</td>
</tr>
<tr>
<td>Topic-Prefix</td>
<td>Präfix für alle Topics, Standard: <code>filamentmanager</code></td>
</tr>
<tr>
<td>TLS/SSL</td>
<td>Verschlüsselte Verbindung aktivieren</td>
</tr>
</tbody>
</table>
<p dir="auto">Der Button <strong>Verbindung testen</strong> prüft die Erreichbarkeit des Brokers, ohne die laufende Verbindung zu unterbrechen.</p>
<h3>Veröffentlichte Topics</h3>
<pre><code>filamentmanager/printer/1/state              → IDLE | PRINTING | PAUSED | FINISHED | STOPPED | ERROR
filamentmanager/printer/1/progress           → 0–100
filamentmanager/printer/1/event              → print_started | print_finished
filamentmanager/printer/1/spool/material     → z.B. PETG
filamentmanager/printer/1/spool/color        → z.B. Orange
filamentmanager/printer/1/spool/remaining_g  → z.B. 187
</code></pre>
<p dir="auto">Alle State- und Spulen-Topics werden mit <code>retain=true</code> veröffentlicht, sodass ioBroker und andere Clients den letzten Wert sofort nach dem Abonnieren erhalten.</p>
<p dir="auto">Ist MQTT deaktiviert oder kein Host eingetragen, ist die Integration komplett inaktiv — der Monitor-Thread läuft ohne MQTT-Overhead weiter.</p>
<h2>QR-Code-Etiketten</h2>
<p dir="auto">Die QR-Codes kodieren die LAN-URL der Spule (z.B. <code>http://192.168.1.50:5000/spools/7</code>).<br />
Jedes Handy im Heimnetz kann den Code scannen und landet direkt auf der Detailseite.</p>
<h3>Zweckform L4744 REV</h3>
<p dir="auto">Der Etikett-Druck ist auf das Format <strong>Zweckform L4744 REV</strong> ausgelegt (A4, 10 Etiketten pro Bogen, 96 × 50,8 mm):</p>
<ol>
<li>Spule öffnen → <strong>QR-Etikett drucken</strong></li>
<li>Im Browser-Dialog den gewünschten <strong>Steckplatz</strong> auf dem Bogen anklicken (1–10)</li>
<li><strong>Drucken</strong> — nur das gewählte Etikett wird an der exakten Position ausgegeben</li>
</ol>
<p dir="auto">So kann ein Bogen mehrfach verwendet werden, indem nacheinander verschiedene Steckplätze belegt werden.</p>
<p dir="auto">Empfohlen: Drucken in Chrome/Chromium, Seitenränder auf „Keine" stellen.</p>
<pre><code></code></pre>
]]></description><link>https://forum.iobroker.net/topic/84519/filamentmanager</link><generator>RSS for Node</generator><lastBuildDate>Fri, 22 May 2026 13:16:07 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/84519.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 May 2026 16:57:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Filamentmanager on Sun, 10 May 2026 16:59:16 GMT]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1778432353447-filamentmanager.jpg" alt="Filamentmanager.jpg" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1338961</link><guid isPermaLink="true">https://forum.iobroker.net/post/1338961</guid><dc:creator><![CDATA[SuFra]]></dc:creator><pubDate>Sun, 10 May 2026 16:59:16 GMT</pubDate></item></channel></rss>