Configuration file downlaod button

“you can throw the json file into the Marlin source code directory and it’ll automatically import it into the build”

Can you be more specific about where to place the file and explain in a little more detail about how to use the json file?

If I “throw” the json file in either Marlin or marlin/src it make no difference to the build.

Do we still need the configuration/adv.h files at all? Where is the use of a json file documented?

Thanks.

I found ConfigEmbedding.md in /docs.

However when I run the command “python buildroot/share/PlatformIO/scripts/mc-apply.py” with the json file in the Marlin root dir or in /src it says “No marlin_config.json found.” So why cant it find it?

The rather short instructions in ConfigEmbedding would seem to say that it is NOT automatically imported into the build. In fact the mc-apply.py actually goes and modifies the two configuration.h files. This would be good but it doesn’t work.

Can you please explain in detail how to do this? @CRCinAU

I’ve never actually used this functionality before - personally, I just use the custom builder on my site for my own firmware.

A few things I would check though:

  1. Make sure you’re on the bugfix-2.1.x branch; and
  2. Check which directory you have the json file in.

Looking at the code here:

It seems that the marlin_config.json file looked for in the current directory. As such, you probably have to call the script as its full path + filename from the root of the checked out git repo.

It also looks for Marlin/Configuration.h and Marlin/Configuration_adv.h as well, so they’re also relative paths to the root of the git repo.

Sigh more nightmares trying to make this work. As explained Ive tried the json in both the root and /src. It doesn’t find it. I dont know how to specify the parameters so that it does find it or why its not finding it in the two obvious locations.

Remember this is all so folks can use the dailies as a starting point.

Ive tried the custom builder. Its good, but if you haven’t used it before its very difficult to get a good result from a blank start. And this circles me back to how to get the config from the dailies and then tweak what we want - theres apparently no (simple) way to do this? Folks have been asking and asking and all we get are throw away comments about how it might be done.

What we really need @CRCinAU is some documentation explaining exactly how to do this. Or it would be awesome if the custom builder would allow selection of the dailies config as a starting point.

Can you help us understand what it is about the daily configs that makes them so difficult to reuse in anything other than the daily builds? Somewhere there must be either header files, config.ini or marlin_config.json for each daily machine build?

Hmmm - you’re right - it doesn’t seem to work.

Lets get it fixed for everyone in the Marlin ecosystem:

Thank you! This would be a really good fix for everyone :heart_eyes:

Im revisiting this but hit by more frustration.

mc-apply got fixed but the M503 C output from a printer running a binary for mfs is in a different format to that expected by mc-apply.

Is this ever going to be possible?

Is your firmware from a build after all these fixes got merged?

Yes the very recent pre-built from your website (Ender3-v4.2.7-BLTouch-20250629.bin), and code base “bugfix 2.1.x”, and I can see the mc-apply fixes in the timeline and also inspecting mc-apply.py itself I see the changes and can see its looking for a flat format json.

Ok - I started to revisit the history of this to try and remember what went down - as I thought at the time that this should still be fixed.

If you do the M503 C from that firmware, what files come out?

I say this, as in the github report mentioned here, the build date is very old:

That’s likely before any of this stuff stabilised. My logs say that in theory, it should work in builds after Jan 8th, 2025.

Make sure you’re not using an old export - and feel free to attach the resulting export here for reference.

I thought all of this got fixed, but am happy if we discover otherwise…

Thanks for looking into this.

To be clear Im using latest bugfix-2.1.x code base. Im not sure where “2.2” came from.

Initially I tried mc-apply with an old export that had the flat file format and it choked because there was no header file names in the export json. So I updated a printer to your latest nightly build, and that produced an export with header file names, but additional category sections. So while mc-apply didn’t choke it did not update any config items. (It did make bak copies of the two headers though)

So it seems with mfs binaries M503 C is using a different export format - with the additional categories (which was mentioned in the mc-apply bug thread) - which honestly I prefer from a human readable point of view but it doesnt work with latest fixed mc-apply.

Also PlatformIO talks about being able to use the export file directly as config.ini but again the format is completely different. config.ini is ini format not json.

I read through endless documentation. Clearly something amiss or Im just being dumb and have missed some important step. I know there are two other scripts configuration.py and config.py. Its not clear what these are for.

As Ive mentioned Ive been trying to make this work for over a year now. Understandably frustration levels are high.

The config is embedded with CONFIG_EXPORT 1 - so in theory, that should match what the mc-apply script is expecting.

Can you attach the ZIP or json output of M503 C from a firmware that is recent to this ticket? I just want to verify what you are getting.

Sadly, the config embedding part is very poorly documented in Marlin - so it will take a bit of working through to see what is / should / could be happening.

Here you go: (sorry I could attach as a file due to forum limitation)

{
“Configuration.h”: {
“homing”: {
“Z_SAFE_HOMING_X_POINT”: “X_CENTER”,
“VALIDATE_HOMING_ENDSTOPS”: “”,
“HOME_AFTER_DEACTIVATE”: “”,
“Z_SAFE_HOMING_POINT_ABSOLUTE”: “”,
“Z_HOME_DIR”: “-1”,
“Z_SAFE_HOMING_Y_POINT”: “Y_CENTER”,
“Y_HOME_DIR”: “-1”,
“HOMING_FEEDRATE_MM_M”: “{ (5060), (5060), (1260) }",
“Z_SAFE_HOMING”: “”,
“X_HOME_DIR”: “-1”
},
“stepper drivers”: {
“Y_DRIVER_TYPE”: “TMC2208_STANDALONE”,
“E0_DRIVER_TYPE”: “TMC2208_STANDALONE”,
“E_ENABLE_ON”: “LOW”,
“X_DRIVER_TYPE”: “TMC2208_STANDALONE”,
“Z_ENABLE_ON”: “LOW”,
“Y_ENABLE_ON”: “LOW”,
“Z_DRIVER_TYPE”: “TMC2208_STANDALONE”,
“X_ENABLE_ON”: “LOW”
},
“temperature”: {
“PREHEAT_1_LABEL”: “"PLA"”,
“TEMP_WINDOW”: “1”,
“PREHEAT_1_TEMP_HOTEND”: “200”,
“TEMP_SENSOR_0”: “1”,
“TEMP_SENSOR_BED”: “1”,
“TEMP_BED_WINDOW”: “1”,
“HEATER_0_MINTEMP”: “5”,
“TEMP_BED_HYSTERESIS”: “3”,
“HOTEND_OVERSHOOT”: “15”,
“TEMP_BED_RESIDENCY_TIME”: “10”,
“TEMP_HYSTERESIS”: “3”,
“PREHEAT_2_LABEL”: “"ABS"”,
“PREHEAT_2_TEMP_BED”: “70”,
“HEATER_0_MAXTEMP”: “275”,
“PREHEAT_1_FAN_SPEED”: “255”,
“PREHEAT_2_FAN_SPEED”: “255”,
“BED_MINTEMP”: “5”,
“TEMP_RESIDENCY_TIME”: “10”,
“PREHEAT_1_TEMP_BED”: “60”,
“BED_OVERSHOOT”: “10”,
“PREHEAT_2_TEMP_HOTEND”: “240”,
“BED_MAXTEMP”: “125”
},
“safety”: {
“EXTRUDE_MAXLENGTH”: “500”,
“THERMAL_PROTECTION_BED”: “”,
“THERMAL_PROTECTION_HOTENDS”: “”,
“PREVENT_LENGTHY_EXTRUDE”: “”,
“PREVENT_COLD_EXTRUSION”: “”,
“EXTRUDE_MINTEMP”: “170”
},
“eeprom”: {
“EEPROM_SETTINGS”: “”,
“EEPROM_BOOT_SILENT”: “”,
“EEPROM_CHITCHAT”: “”
},
“probes”: {
“Z_PROBE_FEEDRATE_SLOW”: “(Z_PROBE_FEEDRATE_FAST / 4)”,
“NOZZLE_TO_PROBE_OFFSET”: “{ -45, -7, 0 }”,
“Z_MIN_PROBE_REPEATABILITY_TEST”: “”,
“XY_PROBE_FEEDRATE”: "(200
60)”,
“PROBING_MARGIN”: “15”,
“USE_PROBE_FOR_Z_HOMING”: “”,
“Z_PROBE_FEEDRATE_FAST”: “(1260)",
“Z_PROBE_ERROR_TOLERANCE”: “3”,
“Z_CLEARANCE_DEPLOY_PROBE”: “10”,
“Z_PROBE_LOW_POINT”: “-5”,
“Z_CLEARANCE_BETWEEN_PROBES”: “5”,
“BLTOUCH”: “”
},
“calibrate”: {
“SEGMENT_LEVELED_MOVES”: “”,
“GRID_MAX_POINTS_Y”: “GRID_MAX_POINTS_X”,
“ENABLE_LEVELING_FADE_HEIGHT”: “”,
“DEFAULT_LEVELING_FADE_HEIGHT”: “10.0”,
“GRID_MAX_POINTS_X”: “5”,
“LEVELED_SEGMENT_LENGTH”: “5.0”,
“AUTO_BED_LEVELING_BILINEAR”: “”,
“ENABLE_LEVELING_AFTER_G28”: “”
},
“bed temp”: {
“DEFAULT_bedKi”: “0.023”,
“PIDTEMPBED”: “”,
“DEFAULT_bedKp”: “10.00”,
“DEFAULT_bedKd”: “305.4”,
“MAX_BED_POWER”: “255”
},
“fans”: {
“FAN_SOFT_PWM”: “”
},
“geometry”: {
“Z_MAX_POS”: “250”,
“X_MIN_POS”: “0”,
“X_BED_SIZE”: “235”,
“MAX_SOFTWARE_ENDSTOPS”: “”,
“MAX_SOFTWARE_ENDSTOP_X”: “”,
“MAX_SOFTWARE_ENDSTOP_Y”: “”,
“MAX_SOFTWARE_ENDSTOP_Z”: “”,
“Y_MAX_POS”: “Y_BED_SIZE”,
“Z_MIN_POS”: “0”,
“X_MAX_POS”: “X_BED_SIZE”,
“MIN_SOFTWARE_ENDSTOP_X”: “”,
“MIN_SOFTWARE_ENDSTOP_Y”: “”,
“Y_MIN_POS”: “0”,
“MIN_SOFTWARE_ENDSTOPS”: “”,
“MIN_SOFTWARE_ENDSTOP_Z”: “”,
“Y_BED_SIZE”: “235”
},
“machine”: {
“MOTHERBOARD”: “BOARD_CREALITY_V427”
},
“motion”: {
“DEFAULT_TRAVEL_ACCELERATION”: “500”,
“DEFAULT_RETRACT_ACCELERATION”: “500”,
“DEFAULT_ZJERK”: “0.3”,
“INVERT_Y_DIR”: “false”,
“DEFAULT_YJERK”: “10.0”,
“INVERT_X_DIR”: “false”,
“DEFAULT_XJERK”: “10.0”,
“DEFAULT_MAX_FEEDRATE”: “{ 500, 500, 20, 50 }”,
“EDITABLE_STEPS_PER_UNIT”: “”,
“DEFAULT_AXIS_STEPS_PER_UNIT”: “{ 80, 80, 400, 93 }”,
“DEFAULT_MAX_ACCELERATION”: “{ 500, 500, 100, 5000 }”,
“CLASSIC_JERK”: “”,
“DEFAULT_EJERK”: “15.0”,
“DEFAULT_ACCELERATION”: “500”,
“INVERT_Z_DIR”: “true”
},
“lcd”: {
“RET6_12864_LCD”: “”,
“CR10_STOCKDISPLAY”: “”
},
“filament runout sensors”: {
“FIL_RUNOUT_ENABLED_DEFAULT”: “false”,
“FILAMENT_MOTION_SENSOR”: “”,
“FIL_RUNOUT_PULLUP”: “”,
“FILAMENT_RUNOUT_SCRIPT”: “"M600"”,
“FILAMENT_RUNOUT_DISTANCE_MM”: “8”,
“FILAMENT_RUNOUT_SENSOR”: “”,
“NUM_RUNOUT_SENSORS”: “1”,
“FIL_RUNOUT_STATE”: “LOW”
},
“stats”: {
“PRINTCOUNTER_SAVE_INTERVAL”: “60”,
“PRINTCOUNTER”: “”
},
“host”: {
“HOST_KEEPALIVE_FEATURE”: “”,
“PRINTJOB_TIMER_AUTOSTART”: “”,
“DEFAULT_KEEPALIVE_INTERVAL”: “2”,
“BUSY_WHILE_HEATING”: “”
},
“servos”: {
“SERVO_DELAY”: “{ 50 }”,
“FORCE_CONFIG_EMBED”: “”,
“WEBSITE_URL”: “"marlin.crc.id.au"”,
“NO_CONFIGURATION_EMBEDDING_WARNING”: “”,
“CORP_WEBSITE_C”: “WEBSITE_URL”,
“CORP_WEBSITE_E”: “WEBSITE_URL”,
“STRING_DISTRIBUTION_DATE”: “"2025-06-29"”,
“DETAILED_BUILD_VERSION”: “"bugfix-2.1.x-mfs"”
},
“extruder”: {
“INVERT_E0_DIR”: “false”,
“EXTRUDERS”: “1”,
“DEFAULT_NOMINAL_FILAMENT_DIA”: “1.75”
},
“info”: {
“STRING_CONFIG_H_AUTHOR”: “"marlin.crc.id.au"”
},
“interface”: {
“LCD_LANGUAGE”: “en”,
“SPEAKER”: “”
},
“media”: {
“SDSUPPORT”: “”
},
“pid temp”: {
“PID_FUNCTIONAL_RANGE”: “20”,
“PID_EDIT_MENU”: “”,
“PID_AUTOTUNE_MENU”: “”
},
“hotend temp”: {
“DEFAULT_Kd”: “76.55”,
“DEFAULT_Ki”: “1.54”,
“DEFAULT_Kp”: “21.73”,
“PID_K1”: “0.95”,
“PIDTEMP”: “”,
“PID_MAX”: “255”
},
“serial”: {
“CUSTOM_MACHINE_NAME”: “"Ender-3 4.2.7"”,
“SERIAL_PORT”: “1”,
“BAUDRATE”: “115200”
},
“nozzle park”: {
“NOZZLE_PARK_MOVE”: “0”,
“NOZZLE_PARK_FEATURE”: “”,
“NOZZLE_PARK_Z_RAISE_MIN”: “2”,
“NOZZLE_PARK_XY_FEEDRATE”: “100”,
“NOZZLE_PARK_POINT”: “{ (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }”,
“NOZZLE_PARK_Z_FEEDRATE”: “5”
},
“endstops”: {
“ENDSTOPPULLUPS”: “”,
“X_MIN_ENDSTOP_HIT_STATE”: “HIGH”,
“Y_MIN_ENDSTOP_HIT_STATE”: “HIGH”,
“Z_MIN_PROBE_ENDSTOP_HIT_STATE”: “HIGH”
}
},
“Configuration_adv.h”: {
“lcd”: {
“SPEED_EDIT_MAX”: “999”,
“PROBE_DEPLOY_STOW_MENU”: “”,
“SPEED_EDIT_MIN”: “10”,
“M73_REPORT”: “”,
“DOUBLECLICK_MAX_INTERVAL”: “1250”,
“PROBE_OFFSET_WIZARD”: “”,
“SOUND_ON_DEFAULT”: “”,
“SHOW_CUSTOM_BOOTSCREEN”: “”,
“BABYSTEP_MULTIPLICATOR_Z”: “1”,
“FINE_MANUAL_MOVE”: “0.025”,
“SD_PROCEDURE_DEPTH”: “1”,
“ULTIPANEL_FEEDMULTIPLY”: “”,
“STATUS_MESSAGE_SCROLLING”: “”,
“SHOW_REMAINING_TIME”: “”,
“SET_REMAINING_TIME”: “”,
“MENU_HOLLOW_FRAME”: “”,
“SET_PROGRESS_MANUALLY”: “”,
“BABYSTEPPING”: “”,
“FLOW_EDIT_MAX”: “999”,
“BABYSTEP_ZPROBE_OFFSET”: “”,
“STATUS_CHAMBER_ANIM”: “”,
“CONFIGURATION_EMBEDDING”: “”,
“FLOW_EDIT_MIN”: “10”,
“SCROLL_LONG_FILENAMES”: “”,
“BOOT_MARLIN_LOGO_SMALL”: “”,
“STATUS_HOTEND_INVERTED”: “”,
“M73_REPORT_SD_ONLY”: “”,
“SHOW_BOOTSCREEN”: “”,
“SHOW_ELAPSED_TIME”: “”,
“MANUAL_FEEDRATE”: "{ 50
60, 5060, 460, 260 }",
“PROBE_OFFSET_WIZARD_START_Z”: “-4.0”,
“CUSTOM_STATUS_SCREEN_IMAGE”: “”,
“ENCODER_RATE_MULTIPLIER”: “”,
“DOUBLECLICK_FOR_Z_BABYSTEPPING”: “”,
“BABYSTEP_MULTIPLICATOR_XY”: “16”,
“ENCODER_10X_STEPS_PER_SEC”: “30”,
“MANUAL_MOVE_DISTANCE_MM”: “10, 1.0, 0.1”,
“MANUAL_E_MOVES_RELATIVE”: “”,
“XYZ_HOLLOW_FRAME”: “”,
“STATUS_BED_ANIM”: “”,
“PROBE_OFFSET_WIZARD_XY_POS”: “{ X_CENTER, Y_CENTER }”,
“SD_FINISHED_STEPPERRELEASE”: “true”,
“SD_FINISHED_RELEASECOMMAND”: “"M84"”,
“LCD_INFO_MENU”: “”,
“BOOTSCREEN_TIMEOUT”: “3000”,
“SET_PROGRESS_PERCENT”: “”,
“SD_MENU_CONFIRM_START”: “”,
“SHOW_PROGRESS_PERCENT”: “”,
“STATUS_HOTEND_ANIM”: “”,
“EVENT_GCODE_SD_ABORT”: “"G28XY"”,
“ENCODER_100X_STEPS_PER_SEC”: “80”,
“SDCARD_RATHERRECENTFIRST”: “”
},
“gcode”: {
“FWRETRACT”: “”,
“RETRACT_FEEDRATE”: “80”,
“MEATPACK_ON_SERIAL_PORT_1”: “”,
“RETRACT_RECOVER_FEEDRATE_SWAP”: “8”,
“RETRACT_LENGTH_SWAP”: “13”,
“MAX_AUTORETRACT”: “99”,
“BLOCK_BUFFER_SIZE”: “16”,
“RETRACT_RECOVER_FEEDRATE”: “80”,
“RETRACT_RECOVER_LENGTH”: “0”,
“RETRACT_ZRAISE”: “0.3”,
“FASTER_GCODE_PARSER”: “”,
“RETRACT_LENGTH”: “3”,
“RETRACT_RECOVER_LENGTH_SWAP”: “0”,
“DEBUG_FLAGS_GCODE”: “”
},
“advanced pause”: {
“FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE”: “6”,
“PAUSE_PARK_RETRACT_LENGTH”: “2”,
“FILAMENT_UNLOAD_PURGE_RETRACT”: “13”,
“FILAMENT_CHANGE_FAST_LOAD_LENGTH”: “415”,
“FILAMENT_UNLOAD_PURGE_FEEDRATE”: “25”,
“FILAMENT_CHANGE_UNLOAD_FEEDRATE”: “25”,
“ADVANCED_PAUSE_FEATURE”: “”,
“ADVANCED_PAUSE_PURGE_LENGTH”: “10”,
“PAUSE_PARK_NOZZLE_TIMEOUT”: “45”,
“ADVANCED_PAUSE_PURGE_FEEDRATE”: “3”,
“FILAMENT_CHANGE_UNLOAD_LENGTH”: “450”,
“PAUSE_PARK_RETRACT_FEEDRATE”: “60”,
“FILAMENT_CHANGE_FAST_LOAD_ACCEL”: “25”,
“PAUSE_PARK_NO_STEPPER_TIMEOUT”: “”,
“PARK_HEAD_ON_PAUSE”: “”,
“FILAMENT_CHANGE_ALERT_BEEPS”: “10”,
“CONFIGURE_FILAMENT_CHANGE”: “”,
“FILAMENT_LOAD_UNLOAD_GCODES”: “”,
“FILAMENT_CHANGE_SLOW_LOAD_LENGTH”: “0”,
“FILAMENT_UNLOAD_PURGE_LENGTH”: “8”,
“ADVANCED_PAUSE_RESUME_PRIME”: “0”,
“FILAMENT_CHANGE_FAST_LOAD_FEEDRATE”: “50”,
“FILAMENT_CHANGE_UNLOAD_ACCEL”: “25”,
“FILAMENT_UNLOAD_PURGE_DELAY”: “5000”
},
“calibrate”: {
“ASSISTED_TRAMMING_WAIT_POSITION”: “{ X_CENTER, Y_CENTER, 30 }”,
“ASSISTED_TRAMMING_WIZARD”: “”,
“TRAMMING_POINT_NAME_2”: “"Front-Right"”,
“TRAMMING_POINT_XY”: “{ { 33, 33 }, { 190, 33 }, { 190, 190 }, { 33, 190 } }”,
“TRAMMING_SCREW_THREAD”: “M4_CW”,
“RESTORE_LEVELING_AFTER_G35”: “”,
“ASSISTED_TRAMMING”: “”,
“TRAMMING_POINT_NAME_1”: “"Front-Left"”,
“TRAMMING_POINT_NAME_3”: “"Back-Right"”,
“TRAMMING_POINT_NAME_4”: “"Back-Left"”
},
“serial”: {
“TX_BUFFER_SIZE”: “0”,
“SERIAL_OVERRUN_PROTECTION”: “”,
“PROPORTIONAL_FONT_RATIO”: “1.0”,
“BUFSIZE”: “4”,
“MAX_CMD_SIZE”: “96”,
“ADVANCED_OK”: “”
},
“extras”: {
“MAX_ARC_SEGMENT_MM”: “1.0”,
“N_ARC_CORRECTION”: “25”,
“MIN_ARC_SEGMENT_MM”: “0.1”,
“MIN_CIRCLE_SEGMENTS”: “72”,
“ARC_SUPPORT”: “”
},
“extruder”: {
“HOTEND_IDLE_TIMEOUT_SEC”: "(5
60)”,
“HOTEND_IDLE_MIN_TRIGGER”: “180”,
“LIN_ADVANCE”: “”,
“ADVANCE_K”: “0.0”,
“HOTEND_IDLE_BED_TARGET”: “0”,
“HOTEND_IDLE_TIMEOUT”: “”,
“HOTEND_IDLE_NOZZLE_TARGET”: “0”
},
“homing”: {
“HOMING_BUMP_MM”: “{ 5, 5, 2 }”,
“HOMING_BUMP_DIVISOR”: “{ 4, 4, 4 }”,
“QUICK_HOME”: “”
},
“motion”: {
“DEFAULT_MINIMUMFEEDRATE”: “0.0”,
“SLOWDOWN_DIVISOR”: “2”,
“MULTISTEPPING_LIMIT”: “16”,
“DISABLE_IDLE_X”: “”,
“DEFAULT_MINSEGMENTTIME”: “20000”,
“SLOWDOWN”: “”,
“DEFAULT_MINTRAVELFEEDRATE”: “0.0”,
“DISABLE_IDLE_E”: “”,
“DISABLE_IDLE_Y”: “”,
“DISABLE_IDLE_Z”: “”,
“STEP_STATE_E”: “HIGH”,
“STEP_STATE_X”: “HIGH”,
“MIN_STEPS_PER_SEGMENT”: “6”,
“AXIS_RELATIVE_MODES”: “{ false, false, false, false }”,
“STEP_STATE_Y”: “HIGH”,
“STEP_STATE_Z”: “HIGH”,
“DEFAULT_STEPPER_TIMEOUT_SEC”: “120”
},
“reporting”: {
“AUTO_REPORT_TEMPERATURES”: “”,
“EXTENDED_CAPABILITIES_REPORT”: “”,
“CAPABILITIES_REPORT”: “”
},
“stats”: {
“SERVICE_WARNING_BUZZES”: “3”
},
“host”: {
“HOST_PROMPT_SUPPORT”: “”,
“HOST_ACTION_COMMANDS”: “”
},
“bltouch”: {
“BLTOUCH_HS_EXTRA_CLEARANCE”: “0”,
“BLTOUCH_HS_MODE”: “true”
},
“temperature”: {
“THERMAL_PROTECTION_BED_HYSTERESIS”: “2”,
“THERMAL_PROTECTION_PERIOD”: “40”,
“WATCH_BED_TEMP_INCREASE”: “2”,
“THERMAL_PROTECTION_HYSTERESIS”: “4”,
“THERMAL_PROTECTION_BED_PERIOD”: “20”,
“WATCH_BED_TEMP_PERIOD”: “60”,
“WATCH_TEMP_PERIOD”: “40”,
“WATCH_TEMP_INCREASE”: “2”
},
“safety”: {
“USE_WATCHDOG”: “”
},
“fans”: {
“E0_AUTO_FAN_PIN”: “-1”
}
},
“__INITIAL_HASH”: “a35d8bd464c2fb17b2ba”,
“VERSION”: {
“DETAILED_BUILD_VERSION”: “"bugfix-2.1.x-mfs"”,
“STRING_DISTRIBUTION_DATE”: “"2025-06-29"”,
“GIT_REF”: “c7fc6ee”
}
}

What do you think? This json seems to be different to what the mc-apply script is expecting.

BUMP.

Does the config output I pasted help?