[Recommendation] User-friendly MQTT options

Problem Description:
While MQTT access is currently open on the local LAN, it is not presented in a user-friendly format, requiring JSON parsing and other methods to extract useful information. Bambu has indicated that “MQTT will change in future releases” without providing specifics.

Suggested Feature:

  1. Continue to allow end-user access to the printer’s MQTT feed. This could be an “advanced” and/or “unsupported” feature.
  2. Protect the MQTT feed via username/password (similar to FTP access today, possibly share same credentials)
  3. Enable clearer status topics to subscribe to. Example: Currently you can only subscribe to the default device/printer#/report feed, which is spit out as a large JSON blob of data every second. Said JSON needs to be parsed by an external service (such as Node-Red) to extract useful status information such as Printer status, temps, etc.). This is difficult for even more advanced users and inefficient; it also overwhelms small-footprint devices such as ESP8266 that do not have the memory/cpu to process it.

Instead, provide single topics that can be subscribed to i.e.:
/device/printer#/status/PrintStatus
/device/printer#/status/Nozzle_temp

Etc.

Benefits:

While an advanced feature many users likely won’t take advantage of, many others will, and it would go a long way towards making Bambu printers more “open” - one of the only valid (and consistent) criticisms of the company.

End users would be able to integrate their Printer status in to home automation systems such as Home Assistant. Most other 3D printers offer something similar (there are addons for Prusa, Ender series, Klipper-based printers, and more today).

Would allow for simple addons to be developed, such as turning on a DC relay when the printer begins to print to, for example, turn on external lights, or power fans (for the Bentobox filter, etc.) and other interesting use cases.

Better MQTT support would allow users to integrate their Bambu printers in to their environments (print farms, etc.) much more easily.

Hope you consider this, and of course I am happy to test. I am currently parsing MQTT information through Home Assistant/Node-Red and based on printer status am able to trigger a relay to turn on my recirculating carbon filter (the Bentobox for Bambu, on Printables).

Thanks for all your hard work devs! Much appreciated, I am a developer as well and I know how hard it really is to make devices easy to use and appear simple.

13 Likes

Screenshot of my X1C status card in Home Assistant:

Like to A) Be able to keep doing this and B) have it be a simpler process. Here’s a partial shot of my Node-Red flow required to make this work today:

Pretty complicated at the moment (I know this was never intended for end users, I don’t see this as a “bug” rather something I’d like as a feature).

2 Likes

In addtion it would be great to configure on the printer an existing MQTT broker. I use HomeAssistant also and have other MQTT devices in use. All of them are able to send there topics to my own (internal) MQTT broker.

Moonraker recently made just the change that is being requested here which is a major improvement. See this commit: mqtt: add option to publish states to individual mqtt topics · Arksine/moonraker@e3bcfb5 · GitHub

1 Like

Nice! That is pretty much exactly what I was asking for, yes. Hopefully something Bambu Engineering considers!

3 Likes

yes yes this needs to be implemented

I think the thing that would massively benefit everyone, is the ability to let us provide an MQTT server. Then Bambu Lab can just send the data to that server with a specific topic, and we can do as we please.

Right now, having to connect to another MQTT Broker running on the device is a bit…odd/. Not to mention, the P1P doesn’t seem to function properly at times, and causes MQTT libraries and tools to crash due to invalid streams

Just wanted to boost this thread, it would really help users who want to access the state of the printer efficiently via MQTT.

I opened it as a request on github here: Provide automation friendly MQTT topics · Issue #1504 · bambulab/BambuStudio · GitHub