Der Bambu Lab P2S 3D-Drucker lässt sich nahtlos in Home Assistant (HOAS) einbinden. Mit der Bambu Lab Integration (Custom via HACS) plus go2rtc und WebRTC bekommst du Status, Temperatur und stabilen Live-Stream. Gerade da die reine HOAS Integration den Videostream des P2S nicht flüssig wiedergeben kann.
Bambu Lab HOAS-Integration installieren
HACS > Integrationen > „Bambu Lab“ (greghesp/ha-bambulab) installieren. Konfiguriere: LAN Mode, IP, Access Code. Erzeugt Entities wie sensor.p2s1_druckstatus – welche essenziell für die Automatisierung ist. Ein paar Beispiel:
- Benachrichtung, wenn Druck abgeschlossen wurde oder ein Fehler aufgetreten ist.
- Beim öffnen und schließen der Tür geht das Licht automatisch an, gerade kein Druck stattfindet.
- Schaltet den Drucker über eine steuerbare Steckdose aus, wenn der Druck abgeschlossen und und die Nozzle abkühlen konnte.
LAN Mode & Access Code aktivieren
Über den P2S-Touchscreen die folgende Einstellung vornehmen und anschließend den Drucker neustarten:
Einstellungen > Network > LAN Only Mode. Aktiviere Video Stream und Entwicklermode, notiere Access Code („xxxxxxxx“).
Ich empfehle eine dem Drucker feste IP via Router-Reservierung (MAC) zuzuweisen: Vermeidet Das verhindert Verbindungsabbrüche bei IP-Wechsel. Der Entwicklermodus ist wichtig, damit über HOAS der Drucker zusätzlich gesteuert werden kann. Über Bambu Lab Studio kann der Drucker darüber hinaus auch bedient werden. Er muss lediglich einmal manuell hinzugefügt und der Freischaltcode eingegeben werden.
go2rtc einrichten (integriert seit 2024.11)
Falls nicht bereits vorhanden installiere das Add-on: go2rtc
Alternativ findest du es hier https://github.com/AlexxIT/go2rtc
Nach der Installation das Add-on aktivieren und zur Seitenleiste hinzufügen. Dort unter Config das folgende eingeben. Die xxxxxx muss durch den Access Code ersetzt werden.
streams:
p2s-kamera:
- rtsps://bblp:xxxxxx@10.0.5.xx:322/streaming/live/1
WebRTC Camera Card installieren
Im nächsten Schritt brauchen wir noch die Card, damit wir den Live Feed ins Dashboard einbinden können. Dazu unter HACS > Frontend > „WebRTC Camera“ installieren.
Nachdem dies installiert ist und HomeAssistant neu gestartet wurde, öffne das Dasboard und editiere es. Über rechts oben die drei Punkte kannst du die Ressourcen verwalten. Dort musst du das folgende einfügen.
/hacsfiles/webrtc-camera/webrtc-camera.js.
Speichern und HomeAssistant einmal neustarten.
Dashboard-Einbindung (mit Druckerstatus-Check)
Über den folgenden Code kannst du nun manuell eine Card hinzufügen und das Live Bild des Druckers einbetten.
type: conditional
conditions:
- condition: state
entity: sensor.p2s1_druckstatus
state_not: offline
- condition: state
entity: sensor.p2s1_druckstatus
state_not: unavailable
card:
type: custom:webrtc-camera
url: p2s-kamera
muted: true
aspect_ratio: "16:9"
Meine Dashboard Konfiguration
views:
- title: Home
sections:
- type: grid
cards:
- type: custom:ha-bambulab-ams-card
entity: ''
header: ''
subtitle: ''
style: graphic
ams: d401457e7788
show_info_bar: true
custom_humidity: sensor.p2s1_ams_1_luftfeuchtigkeit
custom_temperature: sensor.p2s1_ams_1_temperatur
- type: custom:ha-bambulab-print_status-card
printer: 746a7b9c4038116390c18
style: graphic
custom_light: light.p2s1_druckraumbeleuchtung
custom_camera: camera.p2s1_kamera
- type: grid
cards:
- type: entities
entities:
- entity: sensor.p2s1_startzeit
name: Startzeit des Drucks
- entity: sensor.p2s1_endzeit
name: Zielzeit des Drucks
secondary_info: none
- entity: sensor.p2s1_aktuelle_schicht
name: Aktuelle Schicht
- entity: sensor.p2s1_gesamtzahl_der_schichten
name: Gesamtanzahl Schichten
- entity: sensor.p2s1_aktueller_arbeitsschritt
name: Aktueller Arbeitsschritt
- entity: sensor.p2s1_gewicht_des_drucks
name: Gewicht des Drucks
- entity: binary_sensor.p2s1_druckfehler
name: Druckfehler
- entity: sensor.p2s1_bauteillufterdrehzahl
name: Bauteillüfterdrehzahl
- entity: sensor.p2s1_druckbetttemperatur
name: Druckbetttemperatur
- entity: sensor.p2s1_druckkopflufterdrehzahl
name: Druckkopflüfterdrehzahl
- entity: sensor.p2s1_hotendlufterdrehzahl
name: Hotendlüfterdrehzahl
- entity: sensor.p2s1_temperatur_der_duse
name: Temperatur der Düse
secondary_info: last-changed
- entity: sensor.p2s1_zieltemperatur_der_duse
name: Zieltemperatur der Düse
- entity: sensor.p2s1_temperatur_im_druckraum
name: Temperatur des Druckraum
- entity: sensor.p2s1_druckbett_typ
name: Druckbett Typ
- entity: sensor.p2s1_dusentyp
name: Düsentyp
- entity: sensor.p2s1_dusengrosse
name: Düsengröße
- entity: update.p2s1_firmware_status
name: Firmware Status
state_color: false
title: Status P2S
- type: grid
cards:
- type: entities
entities:
- entity: binary_sensor.p2s1_ams_1_aktiv
name: Status
- entity: sensor.p2s1_ams_1_index_der_luftfeuchtigkeit
name: Index Luftfeuchtigkeit
- entity: sensor.p2s1_ams_1_luftfeuchtigkeit
name: Luftfeuchtigkeit
secondary_info: last-changed
- entity: sensor.p2s1_ams_1_temperatur
name: Temperatur
secondary_info: last-changed
- entity: binary_sensor.p2s1_ams_1_trocknen
name: Status Filament trocknen
- entity: sensor.p2s1_ams_1_verbleibende_trocknungszeit
name: Verbleibende Trocknungszeit
title: Status AMS
header:
card:
type: markdown
content: '# 3D-Printing World'
text_only: true
badges:
- type: entity
show_name: true
show_state: true
show_icon: true
entity: sensor.p2s1_druckstatus
name: Druckerstatus
show_entity_picture: false
state_content: state
visibility:
- condition: screen
media_query: '(min-width: 1024px)'
- type: entity
show_name: true
show_state: true
show_icon: true
entity: sensor.p2s1_druckfortschritt
name: Druckerfortschritt
state_content: state
- type: entity
show_name: true
show_state: true
show_icon: true
entity: sensor.p2s1_verbleibende_zeit
name: Verbleibende Druckzeit
- type: entity
show_name: true
show_state: true
show_icon: true
entity: binary_sensor.p2s1_gehausetur
name: Gehäusetür
- type: sections
title: LiveView
path: liveview
cards: []
sections:
- type: grid
cards:
- type: conditional
conditions:
- condition: state
entity: sensor.p2s1_druckstatus
state_not: offline
- condition: state
entity: sensor.p2s1_druckstatus
state_not: unavailable
card:
type: custom:webrtc-camera
url: p2s-kamera
muted: true
aspect_ratio: '16:9'
column_span: 1


