Bambu Lab
লোকাল MQTT-এর মাধ্যমে আপনার Lock Screen-এ লেয়ার সংখ্যা, নোজল তাপমাত্রা এবং ETA সহ 3D প্রিন্ট অগ্রগতি ট্র্যাক করুন।

How It Works
The pushward-bambulab bridge connects directly to your printer over local MQTT (no cloud dependency) and streams print progress to PushWard.
- MQTT connection -- connects to printer on port 8883 using TLS with the printer's access code
- State tracking -- subscribes to printer reports and merges delta updates into a full state
- Progress updates -- sends layer count, nozzle temperature, and progress bar to PushWard every 5s (configurable)
- Lifecycle management -- automatically starts tracking when a print begins and ends when it finishes, fails, or is cancelled
Setup
1. Enable Developer Mode
On your Bambu Lab printer, enable Developer Mode (or LAN-only mode) in the printer settings. This allows local MQTT connections.
2. Get the Access Code
Navigate to Settings > WLAN on the printer to find the 8-character access code.
3. Get Your Integration Key
আপনার ডিফল্ট hlk_ কী খুঁজে পেতে PushWard অ্যাপ খুলুন → Settings → Integration Key।
এই ইন্টিগ্রেশনের জন্য একটি ডেডিকেটেড কী তৈরি করতে:
- Settings → Manage Keys-এ যান
- + ট্যাপ করুন
- নাম সেট করুন (যেমন "Bambu Lab"), নির্বাচন করুন , স্কোপ, এবং ঐচ্ছিকভাবে সীমাবদ্ধ করুন
bambu-* - তৈরি করা
hlk_কী কপি করুন
4. Deploy the Bridge
services:
pushward-bambulab:
image: ghcr.io/mac-lucky/pushward-bambulab:latest
environment:
PUSHWARD_URL: https://api.pushward.app
PUSHWARD_API_KEY: hlk_YOUR_INTEGRATION_KEY
PUSHWARD_BAMBULAB_HOST: 192.168.1.100
PUSHWARD_BAMBULAB_ACCESS_CODE: 12345678
PUSHWARD_BAMBULAB_SERIAL: 01S00A123456789
restart: unless-stoppedNo ports need to be exposed -- the bridge connects outbound to both the printer (MQTT) and PushWard API.
Configuration
| এনভায়রনমেন্ট ভেরিয়েবল | বিবরণ | ডিফল্ট |
|---|---|---|
PUSHWARD_URL | PushWard server URL | -- |
PUSHWARD_API_KEY | Integration key (hlk_ prefix) | -- |
PUSHWARD_BAMBULAB_HOST | Printer IP address or hostname | -- |
PUSHWARD_BAMBULAB_ACCESS_CODE | 8-character access code from printer Settings > WLAN | -- |
PUSHWARD_BAMBULAB_SERIAL | Printer serial number (15 characters) | -- |
PUSHWARD_BAMBULAB_CERT_FINGERPRINT | Optional SHA-256 fingerprint of the printer cert (hex, with or without : separators). Pins TLS to that exact cert. When unset, the bridge auto-pins on first connect (TOFU). | -- |
PUSHWARD_POLL_INTERVAL | How often to send progress updates | 5s |
PUSHWARD_PRIORITY | Activity priority (0-10) | 1 |
PUSHWARD_CLEANUP_DELAY | How long the activity stays after ending | 15m |
PUSHWARD_STALE_TIMEOUT | Ends activity if no updates received | 60m |
To pin explicitly up front (recommended for hardened setups), extract the printer's SHA-256
fingerprint from a trusted network and set PUSHWARD_BAMBULAB_CERT_FINGERPRINT:
openssl s_client -connect <printer-ip>:8883 -servername <printer-ip> </dev/null \
| openssl x509 -fingerprint -sha256 -nooutRun this on a network you trust — TOFU (auto-pin on first connect) and ad-hoc fingerprint
extraction are both only as trustworthy as the network at extraction time. openssl will print "verify error" lines for the printer's self-signed cert; those are expected and the
fingerprint output below is still valid. The fingerprint changes any time the printer regenerates
its cert (e.g. after a factory reset).
Print States
| Printer State | Live Activity | Color |
|---|---|---|
PREPARE | Preparing... | Blue |
RUNNING | Layer N/M | Blue |
PAUSE | Paused | Orange |
FINISH | Complete | Green |
FAILED | Failed | Red |
The bridge automatically resumes tracking if it starts while a print is already in progress, so it recovers gracefully from restarts.
Activity Slug Format
Uses the format bambu-<serial> (serial lowercased), e.g. bambu-01s00a123456789. One activity per printer.