blankhaus / klipper-filter_monitor

Air filter runtime and expiry monitoring plugin for Klipper
GNU General Public License v3.0
27 stars 1 forks source link
klipper klipper-configuration klipper-macros klipper-plugin klipper3d nevermore

Filter Monitor

This Klipper plugin monitors the runtime of air filters (Nevermore, THE FILTER, etc), and triggers notifications and/or executes G-code when threshold conditions, such as max runtime or lifetime hours, are met. These monitoring checks also occur on pre-defined system events and keep track of total fan runtime.

Example

Installation

To install this plugin, first ensure that you already have Klipper, Moonraker, and a WebUI (Mainsail, Fluidd, or Octoprint) installed on your printer. If not, you can use KIAUH to facilitate the process.

Then, execute the following command over SSH. The script will clone this GitHub repository to your device's home directory, and symlink the required files into the Klipper "extras" folder.

wget -O - https://raw.githubusercontent.com/blankhaus/klipper-filter_monitor/main/install.sh | bash

Then, add the following to moonraker.conf to enable automatic updates:

[update_manager filter_monitor]
type: git_repo
path: ~/klipper-filter_monitor
origin: https://github.com/blankhaus/klipper-filter_monitor.git
managed_services: klipper moonraker
primary_branch: main
install_script: install.sh

Usage

Quick Configuration

[filter_monitor air_filter]
fan: fan_generic bed_fans

Full Configuration

[filter_monitor another_air_filter]
fan: fan_generic bed_fans # e.g fan_generic bed_filter, heater_generic heated_chamber, etc
max_runtime_hours: 50 # Defaults to 50 hours
max_days: 30 # Defaults to 30 days
interval: 30 # Defaults to 30 seconds
stats_caption: ""
# Output override for FILTER_STATS macro. Defaults to "<filter_name> at". e.g. Air Filter at 98%
expiry_gcode: # Executed when filter meets threshold condition
path: ~/printer_data/config/plugins/filter_monitor # Folder where filter data is stored

Macros

FILTER_STATS NAME=<filter_name> [EXTENDED=1]
RESET_FILTER NAME=<filter_name>

Removing Plugin

To uninstall this plugin, execute the following command over SSH. The script will remove any symlinked files related to this plugin from the Klipper "extras" and "plugins" folders.

wget -O - https://raw.githubusercontent.com/blankhaus/klipper-filter_monitor/main/uninstall.sh | bash

Support

Feel free to shoot me a message on Discord. You'll find me under mut3x_ on either the Voron or Klipper servers.

ko-fi