Repository navigation
Add plugin MultiFilamentScale WiFi - #1503
Conversation
jneilliii
left a comment
There was a problem hiding this comment.
before proceeding with full plugin code review, let's start by cleaning up this PR first.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
both updated |
jneilliii
left a comment
There was a problem hiding this comment.
The plugin's pyproject.toml needs a little work and setup.py needs to be added for backwards compatibility with setuptools<77. Recommend re-creating that to match the OctoPrint cookiecutter template: https://github.com/OctoPrint/cookiecutter-octoprint-plugin/tree/master/%7B%7Bcookiecutter.repo_name%7D%7D. Other than that I think the plugin's code itself looks pretty solid and don't see anything that stands out as a concern.
|
Thanks for the review! The packaging now follows the cookiecutter template: pyproject.toml reworked (dynamic license, include-package-data with packages.find, wheel in build requirements), setup.py added with the license for setuptools<77, plus MANIFEST.in. I checked that it builds and installs with setuptools 68 and 80. Released as 0.5.2 (no functional changes). |
|
For security reasons, could you set |
done |
What is the name of your plugin?
MultiFilamentScale WiFi (identifier
filamentscale)What does your plugin do?
It shows the remaining filament on up to five spools in a sidebar panel. The spools sit on a separate ESP8266 WiFi scale with HX711 load cells (firmware, schematic, printed parts and build guide). OctoPrint polls the scale's JSON API on the local network and pushes the readings to the browser, so the browser never talks to the scale directly and the panel also works over remote access. You can save a snapshot of the weights to see how much filament a print used. In the settings, you can show or hide, rename, tare and set the current weight of each spool. Calibration stays in the scale's own web interface.
Where can we find the source code of your plugin?
https://github.com/jelinj8/plugin-OctoPrint-FilamentScale
Was any kind of genAI (ChatGPT, Copilot etc) involved in creating this plugin?
Yes. The code was written with Claude Code (Anthropic) under my direction. I specified the features and made the design decisions, for example that OctoPrint polls the scale server-side instead of the browser fetching from it, and where the shared state is kept. I tested every version on my own printer with the real scale, and I will maintain the plugin. The firmware of the scale was made the same way, and its README says so.
I'm mainly Java developer with C++, C# and assembly background, just not fluent in Python and Javascript.
Is your plugin commercial in nature?
No.
Does your plugin rely on some cloud services?
No. It only talks to the scale on the local network (plain HTTP, as the embedded device serves it) and sends nothing to the internet.
Further notes
The name is meant to set it apart from the existing "Filament Scale Enhanced" (
filament_scale), which reads a single HX711 wired to the Raspberry Pi's GPIO. This plugin reads a separate WiFi scale with up to five spools. Updates come through the Software Update hook (github_release, identifierfilamentscale).