Moonraker

Moonraker is an API service that can be used by web interfaces such as Mainsail and Fluidd. This API talks to the local klippy process on the controlling computer and tells Klipper what actions to perform.

  • configuration files are probably stored in ~/klipper_config alongside your other klipper configuration files
  • most of the info below does not go into the actual install of these additional Moonraker additions but I have included a link to the software and instructions where applicable

KlipperScreen#

KlipperScreen will give you an interface you can use on your printer directly as connected to your Raspberry PI.

Just follow the steps within the README.md file in the repository and magic should happen.

add to: moonraker.conf
[update_manager KlipperScreen]
type: git_repo
path: ~/KlipperScreen
origin: https://github.com/jordanruthe/KlipperScreen.git
env: ~/.KlipperScreen-env/bin/python
requirements: scripts/KlipperScreen-requirements.txt
install_script: scripts/KlipperScreen-install.sh
managed_services: KlipperScreen

Timelapse#

Timelapse will allow you to capture timelapses of your print.

You will also need to add placeholder to your before-gcode block in your slicer to capture the frame.

Just follow the steps within the README.md file in the repository and you should be up and running in no time. The 2 main instruction sets are towards the bottom of the page.

add to: moonraker.conf
[update_manager timelapse]
type: git_repo
primary_branch: main
path: ~/moonraker-timelapse
origin: https://github.com/mainsail-crew/moonraker-timelapse.git
managed_services: klipper moonraker

Obico#

Obico is the new name for The Spaghetti Detective and has added direct Klipper/Moonraker support.

You’ll need to sign up via their website and follow the specific notes on how to configure your credentials into its own file.

add to: moonraker.conf
[update_manager moonraker-obico]
type: git_repo
path: ~/moonraker-obico
origin: https://github.com/TheSpaghettiDetective/moonraker-obico.git
env: /home/pi/moonraker-env/bin/python
requirements: requirements.txt
install_script: install.sh
managed_services:
  moonraker-obico

Notifications#

Pushover#

Here is some example items for Pushover

  • create a ~/moonraker_secrets file as this is used to protect your Pushover secrets (or any other secrets you may use)
    • Note: this is in the home directory, normally /home/pi
  • create your moonraker-notifications.cfg file

Example config information:

create or add to: ~/.moonraker_secrets
# device can be comma separated list of devices to push to
[pushover_creds]
token: your-pushover-token
user: your-pushover-user
device: your-pushover-device
add to: moonraker.conf
[secrets]
secrets_path: ~/.moonraker_secrets

[include moonraker-notifications.conf]
create: moonraker-notifications.cfg
# https://moonraker.readthedocs.io/en/latest/configuration/#notifier
# https://github.com/caronc/apprise/wiki

[notifier pushover_error]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}?priority=emergency&expire=3600&retry=300&sound=alien
events: error
title: voron3: EMERG - {event_args[1].filename}
body: {event_name}: {event_args[1].message}
attach: http://localhost/webcam/?action=snapshot

[notifier pushover_cancel]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}?priority=emergency&sound=siren
events: cancelled
title: voron3: EMERG - {event_args[1].filename}
body: {event_name}: {event_args[1].message}
attach: http://localhost/webcam/?action=snapshot

[notifier pushover_pause]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}?priority=high&expire=1800&retry=180&sound=tugboat
events: pause
title: voron3: HIGH - {event_name}d
body: {event_name}d: {event_args[1].filename}
attach: http://localhost/webcam/?action=snapshot

[notifier pushover_resume]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}?priority=high&sound=tugboat
events: resume
title: voron3: HIGH - {event_name}d
body: {event_name}d: {event_args[1].filename}
attach: http://localhost/webcam/?action=snapshot

[notifier pushover_start]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}
events: started
title: voron3: Starting to print
body: Printing: {event_args[1].filename}

[notifier pushover_complete]
url: pover://{secrets.pushover_creds.user}@{secrets.pushover_creds.token}/{secrets.pushover_creds.device}
events: complete
title: voron3: Print completed
body: Completed: {event_args[1].filename}
attach: http://localhost/webcam/?action=snapshot