Wrong Bed temperature during auto-leveling #96
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
When using OrcaSlicer with KX-Bridge, the printer's auto-leveling sequence forces the Cold Plate bed temperature to 35°C, even though the slicer's first-layer bed temperature is set to 30°C and the G-code correctly outputs
G9111 bedTemp=30.This override does not happen when sending prints via Anycubic Slicer Next (where it correctly stays at 30°C during leveling). This suggests KX-Bridge may be incorrectly parsing the temperature metadata to start the print, causing it to send a fallback of 35°C instead of the requested 30°C.
Steps to Reproduce
G9111 bedTemp=30.Expected Behavior
The printer should heat to and maintain exactly 30°C during the leveling sequence, matching the G-code and replicating the behavior of Anycubic Slicer Next.
Actual Behavior
The bed temperature is overridden to 35°C during the auto-leveling phase.
After the auto-leveling phase is done, the bed temperature is adjusted down to 30°C.
Environment
Logs
Thanks for the detailed report and logs, @Blaim.
I traced this through KX-Bridge's code (gcode upload path, MQTT print/start payload builder) and confirmed the bridge never touches bed temperature at all — it uploads the gcode file as sliced and doesn't parse or rewrite any temperature values. So this isn't a bridge bug.
The actual cause is in the OrcaSlicer-KX Kobra X machine profile: the
machine_start_gcodeusesG9111 bedTemp=[first_layer_bed_temperature] ..., a fused Anycubic macro that heats the bed and does auto-leveling in one step. OrcaSlicer resolves[first_layer_bed_temperature]using itsbed_temperature_formulasetting, which defaults to "highest temp across all filaments in the project" rather than the temp of the filament actually being printed — and the Kobra X profile never overrides this default. The laterM140command in the gcode body uses the correct per-filament value, which is why the bed corrects down after leveling finishes.I opened OrcaSlicer-KX#4 with the full root cause and a concrete one-line profile fix. Following up there — closing this one as "not a KX-Bridge issue" once the profile fix lands, but leaving it open for now for visibility/cross-reference.
Root cause identified and fixed in OrcaSlicer-KX v2.4.2-kx1 — this is not a KX-Bridge bug.
The issue is in the Kobra X machine profile in OrcaSlicer. The
machine_start_gcodeusesG9111 bedTemp=[first_layer_bed_temperature], but[first_layer_bed_temperature]was resolving to the highest bed temperature across all filaments in the project (the defaultby_highest_tempformula), not the temperature of the filament actually being printed.The fix: added
"bed_temperature_formula": "by_first_filament"to the Anycubic Kobra X machine profile. This makes[first_layer_bed_temperature]resolve to the active filament’s bed temperature, so G9111 and the subsequentM140command now agree.Fixed in: https://gitea.it-drui.de/viewit/OrcaSlicer-KX/releases/tag/v2.4.2-kx1
Tracked in: viewit/OrcaSlicer-KX#4