Skip to content

Configuration

All settings live under Settings → PandaBreath in OctoPrint. This page documents every setting, its default, and what it does. Safety-related settings are cross-referenced to the Safety page.

Connection

The plugin talks to the Panda Breath over a WebSocket. You only enter the device address — the scheme (ws:// vs wss://) and the /ws suffix are derived from the TLS toggle automatically.

Setting Default Description
transport client client connects to the device's own WebSocket; server is only for Bambu-emulation (BIQU-Panda-Breath-Mod) setups
client_host (empty) Host/IP of the Panda Breath device (client mode)
bind_host 127.0.0.1 Local bind address (server mode)
bind_port 8765 Local bind port (server mode)
host_ip (empty) Device IP used in bind frames
serial_number (empty) Device serial, for Bambu-emulation bind
access_code (empty) Device access code, for Bambu-emulation bind
reconnect_delay 5.0 Seconds to wait before reconnecting after a drop

Server mode is niche

Most users run client mode. Server mode exists for the Bambu-emulation style setups and needs the serial/access-code credentials so the device accepts the bind frame.

TLS

Only relevant if your device or network policy requires wss://.

Setting Default Description
tls_enabled false Use wss:// for the WebSocket
tls_ca_file (empty) CA bundle path
tls_cert_file (empty) Client certificate path
tls_key_file (empty) Client key path
tls_insecure false Skip certificate verification (testing only)

Safety settings

See Safety for how these are enforced.

Setting Default Description
observe_only true Suppress all write frames; read-only. Keep enabled until validated.
max_temp 70.0 Hard chamber limit; caps targets and triggers the over-temp lock
timeout_seconds 15.0 Watchdog stale-data threshold
navbar_estop_enabled true Show the emergency-stop button in the navbar

Automation

Setting Default Description
gcode_integration true Honour M141/M191 from the G-code stream (see below)
auto_on_print_start false Turn the chamber on when a print starts
auto_off_print_end true Cool down when a print ends
print_start_target 40.0 Target applied on print start (when auto-on is enabled)

Diagnostics

Setting Default Description
debug_panel_enabled false Show the frame-history debug panel in the sidebar
frame_log_enabled false Persist the WebSocket frame log to disk
frame_log_retention_days 7 Days of frame-log files to keep

Frame log is for reverse-engineering

The in-memory ring buffer is enough for live inspection. Turn on the persistent frame log only when you need a longer capture to debug protocol behaviour — it adds disk I/O and noise.

G-code integration (M141 / M191)

When gcode_integration is enabled, PandaBreath intercepts chamber temperature commands from the G-code stream and re-targets the Panda Breath chamber instead of forwarding them to the printer firmware (which usually cannot handle them):

G-code Meaning Plugin behaviour
M141 S<temp> Set chamber temperature Switches to auto mode, sets the target to <temp>
M191 S<temp> Set chamber temperature and wait Same re-targeting; the wait semantics are handled by the slicer/printer side

Both commands are swallowed after handling, so they are not forwarded to the printer. The S value is parsed as a float; the resulting target is still subject to max_temp and the device limits.

Subject to safety gates

A G-code-driven target is applied through the same controller path as the UI. If the safety lock is engaged or the printer link is not bound, the re-target is refused exactly as a manual change would be.

API commands

The plugin exposes a SimpleApiPlugin interface. Commands that mutate state require the Control (or Administer) permission and are subject to the safety lock and observe-only mode.

Command Parameters Notes
set_target value Chamber target (°C)
set_mode mode auto / manual / dry / standby
set_heater on Power on/off; on is gated by the printer-link barrier
set_custom_dry value, hours Dry target + timer in one transaction
preset_pla / preset_petg Apply a built-in dry preset
start_drying / stop_drying Control the dry cycle
set_filter_threshold value Filter-fan activation threshold
set_heater_threshold value Heater activation threshold
scan_printers Trigger a printer scan
refresh_settings Re-read device settings
lock / unlock Engage/release the safety lock (Administer permission)
emergency_stop Hard stop (bypasses observe-only)

Mutating commands return 409 under observe-only and 423 when locked.

See also: Safety · MQTT · Troubleshooting