Skip to content

Instantly share code, notes, and snippets.

Working full-time on OctoPrint

Gina Häußge foosel

Working full-time on OctoPrint
View GitHub Profile
foosel / lighter_freecad_forum.user.css
Last active Sep 24, 2020
Lighter FreeCAD Forum Userstyle. Install with Stylus extension. Tested on Firefox.
View lighter_freecad_forum.user.css
/* ==UserStyle==
@name Lighter FreeCAD Forum
@version 1.0.2
@description A lighter theme for the FreeCAD forum. Sans-serif instead of Fira-Sans, slightly more line-height, slightly less bold headlines, less read everywhere. Easier on the eyes.
@author foosel
==/UserStyle== */
foosel /
Last active Jan 3, 2021
Requests long names for files on printer's SD card via M33. OctoPrint 1.4.2+. No maintenance, no support.
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals
import octoprint.plugin
import octoprint.util.comm
class M33StormPlugin(octoprint.plugin.EventHandlerPlugin):
def __init__(self):
self._active = False

Bot Commands on the OctoPrint Discord Server


  • ?role: Get an overview of the available roles (teams, ranks) you can join. Only allowed in #bot-commands
  • ?role <role>: Join joinable role. Only allows in #bot-commands
  • ?ranks: Alias for ?role
  • ?rank <rank>: Alias for ?role <role>
  • ?joinirc & ?leaveirc: Use these to either join or leave the IRC bridge channel #irc (invisible by default). Aliases for ?role IRC. Only allowed in #bot-commands
foosel / Dockerfile
Last active May 12, 2019
Simple Dockerfile & composition to run a speedtest2mqtt setup using speedtest-rs from
View Dockerfile
FROM rust:1.31
WORKDIR /usr/src
RUN git clone
WORKDIR ./speedtest-rs
RUN cargo install --path .
ADD /opt/
RUN apt-get update && \
foosel / Dockerfile
Created May 12, 2019
Simple Dockerfile & composition to run a speedtest2mqtt setup using speedtest-go from
View Dockerfile
FROM alpine:3.7
ADD /opt/
COPY speedtest-go /usr/bin/speedtest-go
RUN apk update && \
apk add ca-certificates mosquitto-clients && \
rm -rf /var/cache/apk/* && \
chmod 777 /opt/
foosel /
Last active Nov 20, 2020
OctoPrint plugin that rewrites received wait responses to echo:busy processing for broken firmware misunderstanding when wait should be used. Place in ~/.octoprint/plugins
# coding=utf-8
import logging
def rewrite_wait_to_busy(comm_instance, line, *args, **kwargs):
if line == "wait" or line.startswith("wait"):
return "echo:busy processing"
return line
foosel /
Created Jan 11, 2018
OctoPrint plugin that strips any parameters from M110 commands to work around firmware quirks. Manually place in ~/.octoprint/plugins
# coding=utf-8
def strip_M110_parameter(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, *args, **kwargs):
if gcode != "M110":
return "M110" # make sure we always just send M110, no N parameters or anything else
__plugin_name__ = "Strip M110 Parameters"
__plugin_description__ = "Strips any parameters from M110 commands to work around firmware quirks"
__plugin_author__ = "Gina Häußge"
foosel / liberapay_per_month.js
Last active Dec 14, 2017
Small user script to be used with something like TamperMonkey that will add a tooltip to the "x receives y per week from z patrons" that provides the amount per month. Currently only works with the english locale of liberapay.
View liberapay_per_month.js
// ==UserScript==
// @name Liberapay donations per month
// @namespace
// @version 0.1
// @description Hovering over the "user receives ... per week from ... patrons" will now show the received amount per month. Currently only works for the english version since it matches the header line via the contained text - couldn't find better attributes for that.
// @author Gina Häußge <>
// @match*
// @grant none
// ==/UserScript==
foosel /
Created Mar 7, 2017
OctoPrint settings for BQ Hephestos 2

OctoPrint settings for BQ Hephestos 2

Printer Profile

Print volume:

  • width: 210
  • depth: 297
  • height: 220
foosel /
Last active Jun 25, 2020
Patron Export Helper