Automatische Filamentüberwachung für Klipper/Spoolman 🧵🖨️
Liest aktive Spulen aus Moonraker, holt Restmengen aus Spoolman (SSH/SQLite) und warnt per Telegram bei Knappheit oder Leerung. VIS-ready States + Ampel-Logik.
| Feature | Status |
|---|---|
| 🟢 Live Restmengen aller Spulen | ✅ |
| 🟢 Ampel-Status (OK/WARN/LEER/NONE) | ✅ |
| 🟢 Telegram-Warnungen Zeit-/Druckgesteuert | ✅ |
| 🟢 Automatische ioBroker States | ✅ |
| 🟢 Multi-Extruder Support T0-T3 | ✅ |
| 🔧 "Spule null" Fix (v2.0.0) | ✅ |
- Skript kopieren → ioBroker → Skripte → Neues Skript → "3D-Drucker.Spoolman_JS"
- CONFIG anpassen (SSH-IP, baseState Pfad)
- Telegram Adapter aktivieren
- Skript starten ✅
| Komponente | Version | Zweck |
|---|---|---|
| ioBroker | 5.x+ | Plattform |
| Klipper Moonraker Adapter | latest | Spool-ID lesen |
| Telegram Adapter | latest | Benachrichtigungen |
| SSH-Zugang | Spoolman Server | DB-Abfrage |
const CONFIG = {
spoolman: {
sshHost: 'root@10.0.1.148', // ← Deine IP!
dbPath: '/root/.local/share/spoolman/spoolman.db'
},
baseState: '0_userdata.0.3DDrucker.Spoolman', // ← Dein Pfad!
limits: { warn: 300, empty: 100 }, // Gramm
warnTimes: {
weekday: { start: 7, end: 22 },
weekend: { start: 10, end: 20 }
},
schedule: '*/5 * * * *' // Alle 5 Minuten
};
📊 States Struktur (automatisch)
0_userdata.0.3DDrucker.Spoolman/
├── warnzeit_aktiv (boolean)
├── druck_laeuft (boolean)
├── aktiv.1/ [T0]
│ ├── active (boolean)
│ ├── extruder → "T0"
│ ├── spool_id (number)
│ ├── name → "PLA Testspule"
│ ├── material → "PLA"
│ ├── remaining_weight → 280
│ ├── status → OK|WARN|LEER|NONE|MISSING
│ ├── warnung (boolean)
│ ├── alarm (boolean)
│ └── last_message → "WARN"
├── aktiv.2/ [T1]
├── aktiv.3/ [T2]
└── aktiv.4/ [T3]
🎨 VIS Farben
{
"datapath": "0_userdata.0.3DDrucker.Spoolman.aktiv.*.status",
"color": {
"OK": "#00ff00",
"WARN": "#ffff00",
"LEER": "#ff0000",
"NONE": "#808080",
"MISSING": "#ff8800"
}
}
🔔 Telegram Meldungen 🟡 WARN (unter 300g während Druck):
🟡 Filament wird knapp
🖨 Extruder: T0
🧵 PLA Testspule
🎨 PLA
📦 Rest: 280 g
🔴 ALARM (unter 100g während Druck):
🔴 Filament leer!
🖨 Extruder: T0
🧵 PLA Testspule
📦 Rest: 85 g
⚠️ Filament wechseln!
🔍 Troubleshooting
| Problem | Lösung |
|---|---|
| Spule null nicht gefunden | ✅ v2.0.0 Fix - Skript aktualisieren |
| Spoolman SSH Fehler | SSH-Key ohne Passwort einrichten |
| Keine States | baseState Pfad prüfen |
| Keine Telegram | Telegram Bot Token prüfen |
| Status bleibt NONE | klipper-moonraker.0.gcode_macro T0.spool_id prüfen |
📈 Changelog
| Version | Datum | Highlights |
|---|---|---|
| 2.0.0 | 2026-02-16 | "Spule null" Fix, String→Number, Status NONE/MISSING, Null-Safety |
| 1.0.0 | 2025 | Initial Release |
🤝 Contributing
- Fork Repository
- git checkout -b feature/xyz
- Commit & Push
- Pull Request
📄 License MIT License © 2026 Negalein (AT)
⭐ Star wenn hilfreich! 💬 Issues: github.com/Negalein/iobroker_spoolman/issues