Error: Heater Chamber_Heater not supported

Basic Information:

Printer Model: Voron 2.4
MCU / Printerboard: BTT Manta M8p
Host / SBC: CM4
klippy.log
klippy (3).log (84.7 KB)

I’ve added a secondary heater to a Voron 2.4 350. Printer is in a detached garage and winter is coming. When the garage is around 8c in the winter, it can take ~45 minutes to heat up for ABS prints.

For some reason the [heater_generic … ] throws an error when trying to change the set point temperature.

> ###################################
> #   Chamber Heater Control
> ###################################
> 
> [heater_generic Chamber_Heater]
> #gcode_id: d
> heater_pin: PB6                   # HE2
> sensor_type: Generic 3950
> sensor_pin: PA2                   # TH1
> 
> control: watermark                # use watermark control method (on/off)
> max_delta: 2                      # set the delta temp to energize/deenergize chamber heater
> 
> min_temp: 0                       # set minimum temp before error/shutdown
> max_temp: 70                      # SAFETY max chamber temperature, printer will shutdown above this temp
> #pwm_cycle_time: 0.01666           # Set this to avoid room lights flickering on higher power heaters. This value works well for 60Hz power. 0.1 is 10Hz
> 
> [verify_heater Chamber_Heater]
> max_error: 120
> check_gain_time: 120
> hysteresis: 5
> heating_gain: 2
> 
> ##########################
> #   Chamber Heater Fan 
> ##########################
> 
> [heater_fan heater_fan]
> pin: PE1                          #HE3
> max_power: 1.0
> heater: Chamber_Heater
> heater_temp: 30.0 # fan will turn off below this level

No errors are in the klippy log until I change the setpoint temperature either through the GUI or via command line:

SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET=30

The heater shows up as you’d expect on the Mainsail console and reports current temperature.

I can change the definitions to manually controlled fans for the heater’s fan, and the heater itself as well as defining the thermistor as a simple monitoring thermistor. The fan will run, the heater will heat, and the thermistor will work as you’d expect. (Obviously not a good idea to do this during operation, it’s just a test).

The above config is basically a copy/paste out of the klipper reference documents, but it won’t let me operate it.

(printer is a year or so old, everything else works great)

You have created a custom macro that replaces SET_HEATER_TEMPERATURE (I don’t feel like reading it to figure out why you wanted to do that) and you limited what heaters it could be used with.

[gcode_macro SET_HEATER_TEMPERATURE]
rename_existing = _SET_HEATER_TEMPERATURE
gcode = 
        
        {% set HEATER = params.HEATER|default("None") %}
        {% set TARGET = params.TARGET|default(0)|int %}
        
        {% set THRESHOLD = printer["gcode_macro _BEDFANVARS"].threshold|int %}
        
        {% if HEATER|lower == "extruder" %}
        M104 S{TARGET}
        {% elif HEATER|lower == "heater_bed" %}
        M99140 S{TARGET}
        
        
        
        
        {% else %}
        {action_respond_info("Heater %s not supported" % HEATER)}
        {% endif %}
        
        
        {% if HEATER|lower == "heater_bed" %}
        {% if TARGET >= THRESHOLD %}
        BEDFANS_SLOW
        UPDATE_DELAYED_GCODE ID=bedfanloop DURATION=1
        {% else %}
        BEDFANS_OFF
        UPDATE_DELAYED_GCODE ID=bedfanloop DURATION=0
        {% endif %}
        {% endif %}

Either get rid of your custom macro, or update it to work correctly.

Ah yes, that’s for the bed fans… forgot about that part of that code.

I’ll need to read a bit more then, thanks for the pointer.