V1: PRINT_START

This uses conditional macros

[gcode_macro PRINT_START]
gcode:
    # print_start EXTRUDER=220 BED=60 CHAMBER=50
    {% set BED_TEMP = params.BED|default(60)|float %}
    {% set EXTRUDER_TEMP = params.EXTRUDER|default(150)|float %}
    {% set CHAMBER = params.CHAMBER|default(0)|float %}

    M117 Kicking the lightswitch
    SET_FAN_SPEED FAN=daylights SPEED=.75

    M117 Preheating Buildplate {BED_TEMP}
    SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}

    # reset from whatever to 90m
    SET_IDLE_TIMEOUT TIMEOUT=5400
    TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.CHAMBER|default(0)}
    # reset back to setting from config file
    SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}

    M117 Start Preheat HE 150C
    SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150
    TEMPERATURE_WAIT SENSOR=extruder MINIMUM=150

    M117 Homing...
    G28 Y0 X0 Z0

    M117 Z-Tilting...
    Z_TILT_ADJUST

    M117 Bed Meshing...
    BED_MESH_CALIBRATE
    BED_MESH_PROFILE LOAD=default

    G0 X150 Y150 Z30

    M117 Set Z (temp: 150C)
    G0 X150 Y150 Z30
    SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150
    TEMPERATURE_WAIT SENSOR=extruder MAXIMUM=150

    G28 Z

    M117 Preheat (Print)
    # set temperatures
    SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}
    SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP}

    # wait for bed temperature
    TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP}
    # wait for nozzle temperature
    TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP}

    #Purge Line Gcode
    M117 Purging...
    G92 E0
    G90
    G0 X5 Y5 F6000
    G0 Z0.4
    G91
    G1 E7 F360         ; push some forward after PRINT_END retraction of -14.5
    G1 X120 E30 F1200
    G1 Y1
    G1 X-120 E30 F1200
    G1 E-.3 F360
    G92 E0
    G90

    G1 Z15.0 F1200 ; move the platform away by 15mm and little faster
    # going back to center can sometimes leave some small trace, removing
    # for now
    #G1 X150 Y150 F4000 ; rip it out and tear away string, if there
    G92 E0 ; zero the extruded length, again

    M117 Printing...