Bambulab X1C Camera in Home Assistant

Bambu Lab Guides Published Aug 5, 2023
Updated Jan 15, 2024
💡
This guide is only applicable to X1 and X1C 3D printers with the webcam, on firmware 01.06.00.00 or newer.

The X1 & X1C camera is now available externally without the need of a middleman such as bambu studio or the cameratools plugin via OBS! This guide will help you set up its RTSPS camera in Home Assistant as easily as possible.


Printer Settings

Good news is, the printer does not need to be in LAN mode. But with the new firmware, you will need to toggle on the new "LAN Mode Liveview" option. This option does not require LAN Mode to be enabled at all.

LAN Mode Liveview option on the X1/X1C printer

Once enabled, I recommend restarting your printer. Myself and others have encountered issues if enabling it first while on the same boot after just updating the printer to the newest firmware, and while toggling it on. The issue is it was not able to be connected to many things (Restreamer, WebRTC, ffmpeg, etc) or it would connect but kick out after 1-3 seconds. To be safe, restart the printer.


Home Assistant Setup

In your Home Assistant, the easiest way to connect the printer's camera without the need of an addon or additional service is to use the Generic Camera Integration.

This integration is included by default in newer versions of HA. Head to your Settings, then Devices & Services to add the integration for a first time setup. If you already have some setup, simply skip to configuring a new entity.

For configuring the entity, set it up with the following:

  • Still Image: (leave blank)
  • Stream Source: rtsps://<printer-ip>/streaming/live/1
  • RTSP Protocol: TCP
  • Authentication: basic
  • Username: bblp
  • Password: <lan-access-code>
  • Verify SSL Cert: disabled
  • Frame Rate: 30

Let it attempt to connect. It should work - if it gives a timeout error, restart your printer once and wait a few minutes before trying again.

Lastly, go to the Generic Camera integration page to rename the camera. By default, it's named after the IP address. Name it whatever you wish. You can even rename the entity_id to something that is not the ip-address as well, just click on the "entity" first then its settings.

Don't be alarmed if it sometimes says it is unavailable, give it some time and when it pops up give it a live test - click on the entity to view it and wave your hand in front of the camera. A few seconds later, it should update with showing your hand moving.

0:00
/0:16

Home Assistant Dashboard

You can add the camera to an existing HA dashboard either by adding it via the UI, or copying the YAML below, after modifying with the entity id of your new generic camera.

For the UI setup, make sure you pick the right camera entity in both the "entity" and "camera entity" fields.

The "Live" or "Auto" option is based on your preference. "Auto" will have a frozen frame of the video feed shown at all times, even if the camera goes "unavailable" (which it may occaisionally do). In this case, to view the live feed, click on the UI card / camera image to see the live view.

"Live" will have the UI card live updating as if it were opened by clicking on it. The downside is if it goes unavailable, it does not save a still image to show, which may be jarring. Personally, I prefer "Auto" for this reason, as it's one click/tap away from a live view.

YAML - change "camera_view" to live or auto based on description above. Change the "name" to whatever you want, but definitely change the value of the entities to your actual entity names (if you didn't change it earlier, it is by default the ip address, dots replaced with underscores).

show_state: true
show_name: true
camera_view: live
type: picture-entity
entity: camera.<entity_name>
camera_image: camera.<entity_name>
name: X1C Camera

Notes

Some important notes and considerations.

  • This does not require LAN Only Mode to be enabled.
  • You should be able to still use the camera stream in bambu studio or the handy app while this is active - unless you are in LAN Only Mode. The printer "might" be limiting it to one rtsps / lan connection in total.
  • Whenever you update firmware, restart the printer again after. The liveview over LAN seems to be unstable on first boot after firmware updates.
  • Any pixellation is not due to the stream, but the X1C camera itself. In my testing it is the same quality exactly as what you would see in the handy app or bambu studio. But due to the local lan connection method, it may sometimes stutter. This is expected.
  • For connecting via other things that is not HA, you may need to specify to use port 322. Additionally, you can specify the user and password in the URL too, such as rtsps://bblp:<access_code>@<ip_addr>:322/streaming/live/1 - with WebRTC/go2rtc use rtspx.
  • Again, if it is timing out, or not connecting, or is unavailable - make sure the LAN Liveview setting is on and **restart the printer**.
If it remains unavailable after restarting the printer, please check the printer settings. On some newer firmwares (e.g., 01.06.05.01) it appears the option on the printer will sometimes get randomly disabled and unable to be re-enabled without restarting the printer!

And finally, check out my other Home-Assistant guides for integrating everything else about the printer into HA, as well as some advanced data collection and more!

Bambu Lab Guides - Wolf’s Armoury
All things related to Bambu Lab Printers, such as my Home Assistant integrations or mods!
0:00
/0:10

If you have any questions, feel free to leave a comment below or message me on discord (@wolfwithsword), at the contact form at the top of the page, or any link here.

Tags

WolfwithSword

A maker & hobbyist. Everything creative from the digital to the physical. I strive to make the world around me, rather than let it make me.