Save_config section 'heater_bed' option 'control' conflicts with included value

Basic Information:

Printer Model: Prusa i3MK3S+
MCU / Printerboard: Einsy
Host / SBC RPi 5
klippy.log
klippy.log (857.5 KB)

Describe your issue:

I performed a PID calibration on the E3D 0.4mm High Flow nozzle using:

PID_CALIBRATE HEATER=extruder TARGET=230
SAVE_CONFIG

Then I performed a PID calibration of the heat bed of the Prusa i3MK3S+ using:

PID_CALIBRATE HEATER=heater_bed TARGET=70

When I issued a: SAVE_CONFIG

I got the following error in red:

SAVE_CONFIG section 'heater_bed' option 'control' conflicts with included value

What is the best way to resolve this issue? I read over about 1.5 years ago some people edited some files but others advised against doing it.

While waiting for a solution, I performed a probe_calibrate but when I typed save_config, the Console showed the same error:

SAVE_CONFIG section 'heater_bed' option 'control' conflicts with included value

Looks like until the saving of heat bed is resolved, Klipper does not allow me to perform other tasks that requre me to save the configurations.

Hi @printeruser ,

This typically happens when there’s a line like this in your SAVE_CONFIG section.

#*# [heater_bed]
#*# ...
#*# control = watermark

Can you try replacing the last line with:

#*# control = pid

See SAVE_CONFIG section 'bltouch' option 'z_offset' conflicts with included value

1 Like

Which file is that? In my printer.cfg, under the SAVE_CONFIG section at the bottom, I only have:
There is no heater_bed section.

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 25.489
#*# pid_ki = 2.427
#*# pid_kd = 66.908
#*#
#*# [bed_mesh default1]
#*# version = 1
#*# points =
#*# 	-0.081667, -0.047500, -0.030000, -0.062778, -0.110833, -0.198333, -0.307917
#*# 	0.032500, 0.057500, 0.035833, -0.005208, -0.034167, -0.140833, -0.361667
#*# 	0.028333, 0.044167, 0.030833, -0.004792, -0.010833, -0.095000, -0.310000
#*# 	0.049444, 0.055833, 0.038125, -0.000833, -0.040833, -0.063333, -0.307500
#*# 	0.073333, 0.118333, 0.073333, -0.020000, -0.030000, -0.100000, -0.328333
#*# 	0.021667, 0.035833, -0.009167, -0.068125, -0.141667, -0.245000, -0.397500
#*# 	-0.064167, -0.052500, -0.071667, -0.082500, -0.192500, -0.323611, -0.452500
#*# x_count = 7
#*# y_count = 7
#*# mesh_x_pps = 3
#*# mesh_y_pps = 3
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 24.0
#*# max_x = 228.0
#*# min_y = 6.0
#*# max_y = 210.0
#*#
#*# [probe]
#*# z_offset = 2.031
#*#
#*# [input_shaper]
#*# shaper_type_x = ei
#*# shaper_freq_x = 40.8
#*# shaper_type_y = mzv
#*# shaper_freq_y = 35.2

There is no separate file where the config_block is stored.

For this error, not heater_bed section is stored in the config_block.

It has been stored before:

The SAVE_CONFIG command will update the printer config file
with these parameters and restart the printer.
save_config: set [heater_bed] control = pid
save_config: set [heater_bed] pid_Kp = 57.535
save_config: set [heater_bed] pid_Ki = 0.864
save_config: set [heater_bed] pid_Kd = 957.954

So maybe something has been changed in the printer.cfg.

Please attach the complete printer.cfg as a file to your next post.

1 Like

Enclosed is the printer.cfg file under printer_data/config/. Thank you

printer.cfg (7.1 KB)

And again. See the description in the link. You have relevant parameters (in this case, regarding the heated bed) in an included file, and Klipper cannot update them on a SAVE_CONFIG command.

1 Like

How to revert the change properly? Is there a command on the Console that can do that?
Heatbed PID is not so important to me so I don’t have to do it.

What is the reason that Klipper cannot update them on a SAVE_CONFIG command?

Anyway, thanks for your direction. I found a block of heater_bed related code in:
klipper-prusa-nk3s/mk3s/einsy-rambo.cfg which is included in printer.cfg

[heater_bed]
heater_pin: PG5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PF2
control: pid
pid_Kp: 52.924
pid_Ki: 0.661
pid_Kd: 1059.794
min_temp: 0
max_temp: 125

but at the top of the file, there is a message:

# WARNING. DO NOT EDIT THIS FILE.
# To override settings from this file, you can copy and paste the relevant
# sections into your printer.cfg and change it there.

Under mainsail, this file is (read-only) even in the past, I chmod 777 it on a terminal. I did that again to enable write. However, under Console, executing

save_config

still produced that error.

No, the error is caused by the way the configuration is structured and set up. How should a “console command” fix this?

It should be. A stable bed temperature has a significant impact on the print quality

In my not-so-humble opinion, the configuration is a mess:

  • Logical errors like the ones leading to this issue. Other fine-tuning commands might run into the same issue, depending on the entire “modularity mess.”
  • A lot of questionable settings, including but not limited to max_extrude_cross_section = 50.0, which are typically set by users who may not fully understand their implications.
  • Very intensive TMC tuning that I cannot comment on, but based on what I see, I would have some doubts about their validity (though I cannot prove them wrong). Just be aware that such settings need to be 120% correct, or their effects are likely detrimental.
  • The whole configuration setup seems opaque and obfuscated.

As I will not rewrite your configuration, the easiest approach is probably to add the following somewhere below the einsy-rambo.cfg include:

[heater_bed]
control = pid
pid_kp = 52.924
pid_ki = 0.661
pid_kd = 1059.794

This should at least resolve this error.

3 Likes

Thanks for checking.

In regard to those messy configurations you mentioned, they were all made by the developers of:
dz0ny/klipper-prusa-mk3s: Structured Klipper config for Prusa MK3s 3D printer

Before I installed Klipper, I asked around and some Prusa users recommended that site probably because it is for those Prusa users with an Einsy board.

Is there a better procedure to install Klipper on Prusa i3MK3S+? Perhaps I should start everything all over again using another approach. Another possibility is to get another board and follow the steps of a better supported site for that board.

My impression is that some github codes may have issues. By using codes from different github sites to add features, it may lead to more issues. That is why I disabled FLAP, KAMP, etc.

1 Like

Well, it takes some experience and a lot of reading to fine-tune a Klipper configuration. As such, starting with a pre-made one absolutely makes sense. Some are better than others, and some decisions depend on personal preferences.

Personally, I loathe the almost neurotic usage of includes, as they tend to obfuscate the configurations and make it hard for users to grasp the big picture.

If the configuration is working for you, learn from it, gain some experience, and then start optimizing to your own liking.