feat(bed-fans): Add chamber-temperature-driven bed fan control - #795
Draft
mjonuschat wants to merge 1 commit into
Draft
feat(bed-fans): Add chamber-temperature-driven bed fan control#795mjonuschat wants to merge 1 commit into
mjonuschat wants to merge 1 commit into
Conversation
Adds an optional bed_fans hardware component that drives dedicated bed fans via a fan_generic + display_template, replacing the "fake chamber heater" hack (a heater_generic/verify_heater pair spoofing a fan as a heater) that has been circulating in the Klipper community to get proportional, temperature-driven fan behavior. Speed is a taper based on how far the chamber sensor is from the per-print target, clamped down while the bed heater's PWM duty cycle is high so the fans don't fight the bed heater during heatup, and gated to only run while the bed heater actually has a target (with a PARAM_FORCE override for manual/console testing). Auto-engages from _MODULE_HEATSOAK_BED and shuts down from END_PRINT/CANCEL_PRINT, following the same enabled-flag pattern as the existing recirculating filter support. Tunables are sourced from _USER_VARIABLES with defaults shipped in user_templates/variables.cfg. Validated live via Moonraker console commands on a real printer before landing: gate on/off, PARAM_FORCE bypass, chamber-temperature taper, and the bed-heatup clamp all produced the expected fan speeds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bed_fanshardware component (fan_generic+display_template) that drives dedicated bed fans off a chamber-temperature taper, replacing the "fake chamber heater" hack (heater_generic/verify_heaterspoofing a fan as a heater) that's been circulating in the Klipper community.PARAM_FORCEoverride for manual/console testing._MODULE_HEATSOAK_BEDand shuts down fromEND_PRINT/CANCEL_PRINT, following the same enabled-flag pattern as the existing recirculating filter support. Tunables are sourced from_USER_VARIABLESwith defaults shipped inuser_templates/variables.cfg.Test plan
multi_pin): gate on/off,PARAM_FORCEbypass, chamber-temperature taper, and the bed-heatup-power clamp all produced the expected fan speeds.FIRMWARE_RESTARTloads cleanly with the new hardware file included.