The OctoPrint-Plugin manages all spool informations and stores it in a database.
- OctoPrint 1.10.2 with Python 3.12.4
Note that this does not necessarily mean that this plugin will not work with older versions of OctoPrint or Python.
- Spool basic attributes, like name, color, material, vendor ...
- "Used length" and "Remaining weight"
- Additional notes
- CSV Export of "Legacy FilamentManager-Database" and SpoolManager
- CSV Import function
- Labels
- Better error-feedback (more then just the "happy-path")
- List all spools
- Edit single spool
- Copy single spool
- Template spool
- Sort spool table (Displayname, Last/First use, Remaining)
- Force to select a spool before printing
- Warn if not enough filament is present
- Filter spool table
- Table column visibility
- Scan QR/Barcodes of a spool
- Multi Tool support
- Support for manual mid-print filament change
Install via the bundled Plugin Manager or manually using this URL:
https://github.com/WildRikku/OctoPrint-SpoolManager/releases/latest/download/main.zip
After installation, you can listen on three release channels (since 1.6.0). What does this mean: Each channel has its own release-version and each release has a different kind of functionality and stability.
- "Only Release": Only stable and tested versions will be shown in the software-update section of OctoPrint
- "Release & Testing": Beside the stable release, you can also see the "release-candidates", like '''1.7.0rc3'''. The rc's include new functionality/bugfixes and should be considered untested. You can help bring them to a stable release by leaving feedback.
Changing between each release is done via the "Software Update section" in the settings.
Hint: "Easy-switching" is possible since OctoPrint version 1.8.0 (see OctoPrint/OctoPrint#4238).
see Release overview and Release overview by previous maintainer
Plugin sends the following custom events to the eventbus like this:
eventManager().fire(eventKey, eventPayload)
EventKeys |
---|
plugin_spoolmanager_spool_weight_updated_after_print |
plugin_spoolmanager_spool_selected |
plugin_spoolmanager_spool_deselected |
plugin_spoolmanager_spool_added |
plugin_spoolmanager_spool_deleted |
HINT: In combination with the MQTT Plugin you can subscribe e.g. to this topic:
octoPrint/event/plugin_spoolmanager_spool_deselected
Payload
spool_added, spool_selected
{
'databaseId': 23,
'toolId': 1,
'spoolName':'Fancy Spool',
'material':'ABS',
'colorName':'dark red',
'remainingWeight': 1234
}
spool_deselected
{
'toolId': 1
}
spool_deleted
{
'databaseId': 23
}
Other Plugins could listen to this events in there python-code like this:
eventmanager.subscribe("plugin_spoolmanager_spool_selected", self._myEventListener)
or use octoprint.plugin.EventHandlerPlugin
with something like this:
def on_event(self, event, payload):
if event == "plugin_spoolmanager_spool_selected":
## do something usefull
-
Color-Picker: Pick-a-Color https://github.com/lauren/pick-a-color/
-
Color Helper: https://github.com/bgrins/TinyColor
-
Date-Picker:
bootstrap-datapicker https://github.com/uxsolutions/bootstrap-datepickerdatepicker https://github.com/fengyuanchen/datepicker -
datetimepicker https://github.com/xdan/datetimepicker/tree/2.5.20 https://www.jqueryscript.net/time-clock/Clean-jQuery-Date-Time-Picker-Plugin-datetimepicker.html
-
Select/Labels select2 https://select2.org/
-
WYSIWYG - Editor quill https://quilljs.com/
docker-compose up
_
docker-compose down --volumes
_
docker-compose run postgres bash