Mein eigenes Bambu-Lab-Dashboard für Home Assistant
Wer einen Bambu-Lab-Drucker besitzt, kommt mit Bambu Studio und der Bambu Handy App grundsätzlich schon ziemlich weit. Bei mehreren Druckern wird die Sache aber schnell unübersichtlicher. Dazu kommt, dass bei mir Home Assistant sowieso rund um die Uhr läuft und dort bereits jede Menge Geräte zusammenlaufen.
Irgendwann stellte sich deshalb die Frage: Warum eigentlich nicht auch meine Bambu-Lab-Drucker vernünftig über Home Assistant verwalten?
Genau daraus ist mein eigenes Bambu Lab Dashboard für Home Assistant entstanden. Was zunächst als übersichtlichere Anzeige für meine Drucker gedacht war, ist inzwischen ein ziemlich umfangreiches Dashboard geworden. Neben Druckstatus und Temperaturen sind unter anderem Kamera, AMS und Filamente, Druckersteuerung, Stromverbrauch sowie eine modellabhängige Wartungsverwaltung integriert.
Das Projekt ist Open Source und steht auf GitHub zur Verfügung:
Bambu Lab Dashboard für Home Assistant auf GitHub
Die Grundlage: ha-bambulab für Home Assistant
Das Dashboard kommuniziert nicht selbst direkt mit den Druckern. Als Grundlage dient die bekannte Home-Assistant-Integration ha-bambulab von greghesp. Mein Dashboard verwendet die Geräte, Entities und Services, die diese Integration in Home Assistant bereitstellt.
Das hat einen entscheidenden Vorteil: Es muss keine zweite parallele Verbindung zu den Druckern aufgebaut werden. Wer seine Bambu-Drucker bereits über ha-bambulab in Home Assistant eingebunden hat, besitzt damit praktisch schon die technische Grundlage für das Dashboard.
Zusätzliche Bambu-Lovelace-Karten werden nicht benötigt. Mein Ziel war gerade, nicht erst zahlreiche einzelne Karten installieren und anschließend für jeden Drucker selbst zusammenbauen zu müssen.
Wichtig: Cloud, Hybrid und LAN Mode
Bevor es um die eigentlichen Funktionen geht, muss man eine wichtige Besonderheit bei Bambu Lab kennen. Welche Steuerfunktionen in Home Assistant tatsächlich verfügbar sind, hängt nicht nur vom Dashboard ab, sondern auch vom Druckermodell, der Firmware und der verwendeten Verbindungsart.
Im Cloud- beziehungsweise Hybridbetrieb können durch Einschränkungen von Bambu Lab bestimmte Schreibzugriffe fehlen. Das bedeutet: Home Assistant kann weiterhin viele Daten vom Drucker empfangen, beispielsweise Temperaturen, Status, Fortschritt oder AMS-Informationen, aber einzelne Steuerbefehle können blockiert sein.
In bestimmten Konfigurationen kann es sogar vorkommen, dass von den eigentlichen Steuerfunktionen praktisch nur noch das Kammerlicht schaltbar ist.
Das ist keine Einschränkung meines Dashboards. Das Dashboard nutzt ausschließlich die Funktionen, die ha-bambulab tatsächlich bereitstellt, und kann Sperren der Firmware oder der Bambu-Cloud-Anbindung nicht umgehen.
Für vollständige lokale Schreibzugriffe kann bei entsprechend betroffenen Geräten LAN Mode zusammen mit Developer LAN Mode erforderlich sein. Wer die Bambu-Cloud weiterhin nutzen möchte, kann das Dashboard trotzdem verwenden. Man muss dann allerdings damit rechnen, dass einige Steuerfunktionen nicht zur Verfügung stehen.
Das Dashboard versucht solche Situationen transparent darzustellen und weist im Steuerbereich auf mögliche Einschränkungen hin, statt Funktionen vorzutäuschen, die vom Drucker aktuell gar nicht angenommen werden.
Warum überhaupt ein eigenes Dashboard?
Natürlich kann man sich mit den normalen Möglichkeiten von Home Assistant selbst eine Ansicht für einen 3D-Drucker erstellen. Ein Sensor für die Düsentemperatur, daneben das Heizbett, eine Kamera-Karte, Fortschritt, Restzeit und anschließend noch einige Buttons für die Steuerung.
Bei einem Drucker mag das noch funktionieren. Spätestens mit mehreren Geräten entsteht daraus aber schnell eine ziemlich große Sammlung einzelner Karten und Entities.
Ich wollte stattdessen eine zentrale Oberfläche haben, die selbst erkennt, welche unterstützten Bambu-Drucker vorhanden sind, und die relevanten Informationen sinnvoll zusammenfasst. Gleichzeitig sollte man von der Übersicht aus direkt zu den Details und zur Steuerung des jeweiligen Druckers gelangen.
Aus dieser Idee ist nach und nach ein richtiges kleines Control Center für Bambu Lab in Home Assistant geworden.
Mehrere Bambu-Drucker automatisch erkennen
Eine der grundlegenden Funktionen ist die automatische Erkennung der vorhandenen Drucker. Das Dashboard durchsucht die über ha-bambulab eingebundenen Geräte und stellt die gefundenen Bambu-Drucker gemeinsam in einer Übersicht dar.
Dort sehe ich auf einen Blick den aktuellen Zustand, den Fortschritt eines laufenden Drucks, die verbleibende Druckzeit, wichtige Temperaturen, vorhandene AMS-Systeme und die Gesamtlaufzeit des jeweiligen Druckers.
Gerade wenn mehrere Geräte gleichzeitig laufen, ist das wesentlich angenehmer, als sich durch verschiedene Home-Assistant-Geräteansichten zu klicken.
Die Gesamtlaufzeit wird dabei nicht aus vergangenen Druckaufträgen geschätzt oder selbst berechnet. Das Dashboard verwendet dafür ausschließlich den von der Bambu-Integration gelieferten Wert total_usage_hours. Wird ein Drucker vorübergehend als nicht verfügbar gemeldet, kann der zuletzt tatsächlich übermittelte Wert aus dem lokalen Cache angezeigt werden und wird entsprechend gekennzeichnet.
Eine ausführliche Detailansicht pro Drucker
Von der Übersicht aus lässt sich jeder Drucker einzeln öffnen. Dort stehen wesentlich mehr Informationen zur Verfügung als in der kompakten Gesamtübersicht.
Bei einem laufenden Druck wird beispielsweise das Druckbild beziehungsweise Cover groß dargestellt. Dazu kommen die aktuellen Druckinformationen und die verschiedenen Bereiche für Kamera, AMS, Steuerung, Energie und Wartung.
Auch auf Kleinigkeiten habe ich dabei Wert gelegt. Die Bilder der verschiedenen Druckermodelle werden beispielsweise proportional skaliert. Ein Drucker wird also nicht in eine fest vorgegebene Breite und Höhe gequetscht und dadurch verzerrt.
Das Dashboard unterstützt außerdem den hellen und dunklen Darstellungsmodus. Auf Wunsch richtet sich die Darstellung automatisch nach dem aktuell verwendeten Home-Assistant-Theme.
Die Druckerkamera direkt im Dashboard
Natürlich gehört für mich auch das Kamerabild des Druckers in eine solche Oberfläche. Das Dashboard verwendet dafür die camera.*-Entity, die ha-bambulab für den jeweiligen Drucker in Home Assistant bereitstellt.
Bei RTSP-fähigen Modellen kann der Home-Assistant-Kamera-Proxy verwendet werden, während bei anderen Modellen die von der Integration bereitgestellte Kameraquelle zum Einsatz kommt.
Zusätzlich gibt es Diagnoseinformationen. Man kann beispielsweise sehen, welche Kamera-Entity tatsächlich verwendet wird und welchen Zustand Home Assistant dafür meldet. Über eine entsprechende Funktion lässt sich dieselbe Kamera auch direkt in Home Assistant öffnen.
Das ist insbesondere bei der Fehlersuche hilfreich, denn eine wichtige Einschränkung bleibt bestehen: Liefert bereits die zugrunde liegende Bambu-Integration kein funktionierendes Kamerabild, kann auch das Dashboard daraus keinen funktionierenden Livestream erzeugen.
AMS und Filamente im Blick behalten
Auch vorhandene AMS-Systeme werden automatisch berücksichtigt. Die einzelnen Slots beziehungsweise Spulen lassen sich anzeigen und genauer betrachten.
Das Dashboard versucht außerdem zu ermitteln, welches Filament aktuell verwendet wird. Dafür werden die Informationen zum aktiven Tray beziehungsweise zur externen Spule ausgewertet, die von ha-bambulab geliefert werden.
Wenn die Integration entsprechende Daten zur Verfügung stellt, können unter anderem Filamentfarbe und Restwert angezeigt werden. Natürlich gilt auch hier: Das Dashboard kann nur Informationen darstellen, die vom Drucker beziehungsweise von der Home-Assistant-Integration tatsächlich geliefert werden.
Für Smartphones wurde die AMS-Ansicht ebenfalls angepasst. Die Detailinformationen eines Slots öffnen sich auf kleineren Displays in einer eigenen responsiven Ansicht, statt irgendwo weit unten unter der AMS-Liste aufzutauchen.
Drucker direkt aus Home Assistant steuern
Neben der reinen Anzeige kann das Dashboard auch die Steuerfunktionen nutzen, die von ha-bambulab für den jeweiligen Drucker in Home Assistant bereitgestellt werden.
Dazu gehören abhängig vom Druckermodell und der aktuellen Konfiguration unter anderem Pause, Fortsetzen und Stoppen eines Drucks, Änderung der Druckgeschwindigkeit, Solltemperaturen von Düse und Heizbett sowie bei unterstützten Geräten auch die Kammertemperatur.
Auch verschiedene Lüfter können angesprochen werden, darunter Bauteil-, Aux- und Kammerlüfter. Das Kammerlicht und weitere modellabhängige Funktionen können ebenfalls eingebunden sein.
Dabei sucht das Dashboard nicht einfach nach irgendwelchen ähnlich klingenden Entity-Namen. Die Zuordnung erfolgt anhand der Domain sowie der von der Integration gelieferten Kennungen beziehungsweise Translation Keys. Dadurch soll verhindert werden, dass versehentlich eine falsche Entity als Steuerung verwendet wird.
Wichtig bleibt aber: Nur weil das Dashboard einen Drucker erkennt, bedeutet das nicht automatisch, dass alle Steuerfunktionen verfügbar sind. Gerade im Cloud- oder Hybridbetrieb können Schreibzugriffe von Bambu Lab eingeschränkt sein.
Wenn eine bestimmte Entity aufgrund von Firmware- oder Berechtigungsbeschränkungen von ha-bambulab gar nicht erzeugt wird, kann das Dashboard diese Funktion ebenfalls nicht schalten.
Warum manchmal nur das Licht funktioniert
Dieser Punkt sorgt verständlicherweise schnell für Verwirrung. Der Drucker wird korrekt erkannt, Temperaturen und Druckstatus werden angezeigt, aber Pause, Stop oder Lüfter funktionieren nicht.
In einem solchen Fall liegt das Problem häufig nicht beim Dashboard, sondern an der Art, wie der Drucker mit Home Assistant verbunden ist.
Die Bambu-Integration dokumentiert selbst, dass es bei bestimmten Firmware- und Hybrid-Konfigurationen zu eingeschränkten Schreibzugriffen kommen kann. Lesefunktionen bleiben dabei oft erhalten, während Steuerfunktionen teilweise blockiert werden.
Das Dashboard kann eine solche Sperre nicht umgehen. Stattdessen werden entsprechende Diagnosehinweise angezeigt, beispielsweise zu möglichen Problemen mit Hybridbetrieb, Developer LAN Mode oder MQTT-Verschlüsselung.
Wer maximale lokale Steuerungsmöglichkeiten benötigt, sollte deshalb prüfen, ob LAN Mode und Developer LAN Mode für das eigene Gerät und die verwendete Firmware notwendig beziehungsweise sinnvoll sind.
Wer dagegen bewusst die Bambu-Cloud weiterverwenden möchte, kann das Dashboard trotzdem einsetzen. Dann stehen unter Umständen weniger Steuerfunktionen zur Verfügung, während die Überwachung und Anzeige vieler Daten weiterhin funktioniert.
Smart-Steckdose für jeden Drucker
Zusätzlich zur eigentlichen Bambu-Steuerung kann jedem Drucker eine externe Smart-Steckdose aus Home Assistant zugeordnet werden. Damit lässt sich der Drucker direkt aus derselben Oberfläche vollständig ein- und ausschalten.
Dabei wollte ich allerdings nicht, dass ein versehentlicher Klick einen mehrstündigen Druck beendet. Erkennt das Dashboard einen laufenden Druck und die Steckdose soll ausgeschaltet werden, erscheint deshalb zunächst eine zusätzliche Sicherheitsabfrage.
Die Smart-Steckdose ist vollkommen optional. Wer seine Drucker dauerhaft eingeschaltet lässt oder keine schaltbare Steckdose verwendet, braucht diese Funktion einfach nicht zu konfigurieren.
Leistung und Stromverbrauch anzeigen
Viele Smart-Steckdosen besitzen zusätzlich eine Leistungsmessung. Deshalb können jedem Drucker auch entsprechende Home-Assistant-Sensoren für die aktuelle Leistung und den Energieverbrauch zugeordnet werden.
So sehe ich in derselben Oberfläche nicht nur, was der Drucker gerade macht, sondern kann auch dessen Stromverbrauch im Blick behalten. Die Sensoren sind dabei frei zuordenbar und müssen nicht von einem bestimmten Hersteller stammen.
Gerade bei mehreren Druckern finde ich diese Kombination praktisch, weil die Energiedaten direkt beim dazugehörigen Gerät landen und nicht irgendwo getrennt in einer anderen Home-Assistant-Ansicht gesucht werden müssen.
Modellabhängige Wartung statt pauschaler Erinnerungen
Eine Funktion, die im Laufe der Entwicklung immer umfangreicher geworden ist, ist die Wartungsverwaltung.
Ich wollte dabei bewusst keine simplen Erinnerungen nach dem Motto „Alle 30 Tage Drucker reinigen“ einbauen. Die verschiedenen Bambu-Modelle unterscheiden sich und auch Bambu Lab selbst gibt längst nicht für jede Wartungsarbeit ein festes Zeitintervall vor.
Das Dashboard erkennt deshalb das von ha-bambulab gemeldete Druckermodell und wählt automatisch ein passendes Wartungsprofil aus.
Aktuell werden unter anderem A1, A1 mini, A2L, P1P, P1S, P2S, H2C, H2D, H2D Pro, H2S, X1, X1C, X1E und X2D berücksichtigt.
Wartungsintervalle werden dabei nicht einfach von einem Modell auf ein anderes übertragen. Gibt es für eine bestimmte Aufgabe ein eindeutig belegtes Herstellerintervall, kann das Dashboard daraus eine Fälligkeit berechnen.
Gibt Bambu dagegen lediglich Hinweise wie „regelmäßig“, „nach Zustand“ oder eine Erinnerung über Firmware beziehungsweise HMS vor, wird keine erfundene Anzahl von Tagen eingesetzt.
Bei einem neuen oder bisher unbekannten Modell greift stattdessen ein allgemeiner Fallback, bis ein entsprechend geprüftes Wartungsprofil vorhanden ist.
Offizielle Wartungsinformationen direkt aufrufen
Zu den einzelnen Wartungsaufgaben können die entsprechenden Quellen aufgerufen werden. Dabei habe ich mich bewusst an den offiziellen Wartungsunterlagen von Bambu Lab orientiert.
Man kann also direkt aus dem Dashboard heraus nachvollziehen, worauf sich eine Wartungsempfehlung bezieht und bei Bedarf die Originalinformationen des Herstellers öffnen.
Das ist mir wesentlich lieber, als irgendwelche Wartungsintervalle aus Foren oder anderen Webseiten zu übernehmen und sie anschließend als feste Vorgabe darzustellen.
Ein eigenes Wartungsbuch pro Drucker
Erledigte Wartungsarbeiten lassen sich direkt im Dashboard quittieren. Daraus entsteht für jeden Drucker ein eigenes Wartungsbuch, in dem später nachvollzogen werden kann, wann eine bestimmte Arbeit zuletzt durchgeführt wurde.
Das Wartungsbuch lässt sich nach Wartungsart filtern und auf die letzten 30 Tage begrenzen. Eine kleine Auswertung zeigt außerdem die Gesamtzahl der gespeicherten Wartungen, die Anzahl innerhalb der letzten 30 Tage sowie die am häufigsten quittierte Aufgabe.
Einzelne Einträge können wieder entfernt werden. Auch das komplette Logbuch lässt sich nach einer Sicherheitsabfrage löschen.
Das sichtbare Wartungsbuch und die für die Berechnung verwendeten letzten Wartungszeitpunkte werden dabei bewusst getrennt behandelt. Wer das Logbuch löscht, setzt dadurch also nicht automatisch die gespeicherten Wartungszeitpunkte und die daraus resultierenden Fälligkeiten zurück.
Deutsche und englische Oberfläche
Das Dashboard übernimmt automatisch die Spracheinstellung von Home Assistant. Wird Home Assistant auf Deutsch verwendet, erscheint auch die Oberfläche des Dashboards auf Deutsch. Bei englischer Sprache wird entsprechend die englische Übersetzung verwendet.
Übersetzt werden nicht nur die wichtigsten Überschriften, sondern auch Navigation, Druckerdetails, Steuerung, Kamera und AMS, Energieanzeige, Wartungsprofile und Hinweise, Wartungsbuch, Popups, Sicherheitsabfragen und der Karteneditor.
Auch die Datumsdarstellung wird entsprechend angepasst. Für Home-Assistant-Sprachen, für die momentan keine eigene Übersetzung vorhanden ist, dient Englisch als Fallback.
Installation über HACS
Voraussetzung ist zunächst eine funktionierende Installation von greghesp/ha-bambulab, denn ohne die von dieser Integration bereitgestellten Geräte und Entities hat das Dashboard keine Datenquelle.
Das Bambu Lab Dashboard für Home Assistant selbst findet ihr mit Quellcode, aktueller Dokumentation und weiteren Hinweisen in meinem GitHub-Repository:
https://github.com/theonix77/Bambulab-Dashboard
Für die Installation öffnet ihr HACS und fügt unter den benutzerdefinierten Repositories folgende Adresse hinzu:
https://github.com/theonix77/Bambulab-Dashboard
Als Typ wird Dashboard ausgewählt.
Anschließend kann das Dashboard über HACS installiert werden. Danach sollte der Browser einmal vollständig neu geladen werden, unter Windows beispielsweise mit Strg + F5.
Die Karte lässt sich anschließend in Home Assistant hinzufügen. Wer sie per YAML einbindet, benötigt lediglich:
type: custom:bambu-lab-dashboard
Die eigentliche Konfiguration kann anschließend über den Karteneditor erfolgen.
Zusätzliche Bambu-Lovelace-Karten sind nicht erforderlich
Ein wichtiger Punkt des Projekts ist, dass nicht erst eine ganze Sammlung weiterer Bambu-Karten installiert werden muss.
Das Dashboard ist als eigenständiges Mehrdrucker-Control-Center gedacht und verwendet direkt die Geräte, Entities und Services aus ha-bambulab.
Damit bleibt die Installation vergleichsweise übersichtlich: Die eigentliche Bambu-Integration stellt die Verbindung und Daten bereit, mein Dashboard kümmert sich um die gemeinsame Oberfläche.
Auch für Smartphone und Tablet
Home Assistant nutze ich natürlich nicht ausschließlich am PC. Deshalb musste das Dashboard auch auf Smartphone und Tablet vernünftig funktionieren.
Unter anderem werden laufende Statusaktualisierungen während eines aktiven Touch- oder Scrollvorgangs kurz zurückgestellt. Dadurch soll verhindert werden, dass die Ansicht auf einem iPhone oder Android-Gerät während der Bedienung plötzlich springt.
Auch größere Detailfenster wie die AMS-Slot-Ansicht passen sich an kleinere Displays an. Das Dashboard soll damit nicht nur eine große Kontrolloberfläche für einen Wandmonitor sein, sondern auch innerhalb der Home-Assistant-App sinnvoll bedienbar bleiben.
Open Source und weiterhin in Entwicklung
Das Dashboard ist ein privates Community-Projekt und steht unter der MIT-Lizenz. Es besteht keine offizielle Verbindung zu Bambu Lab.
Und natürlich ist das Ganze weiterhin in Entwicklung. Neue Bambu-Drucker kommen auf den Markt, Firmware wird geändert und auch die zugrunde liegende Home-Assistant-Integration entwickelt sich weiter. Entsprechend wird es auch am Dashboard immer wieder etwas anzupassen und zu verbessern geben.
Den jeweils aktuellen Stand, die Installationsanleitung und den Quellcode findet ihr auf GitHub:
Bambu Lab Dashboard für Home Assistant auf GitHub
Für mich ist daraus inzwischen ziemlich genau das geworden, was mir ursprünglich in Home Assistant gefehlt hat: eine zentrale Oberfläche für meine Bambu-Lab-Drucker, in der ich nicht nur sehe, was gerade gedruckt wird, sondern auch AMS, Kamera, Steuerung, Stromverbrauch und Wartung an einer Stelle zusammenhabe.

