Add Alexa OctoPrint (revised after #1463)#1464
Conversation
jneilliii
left a comment
There was a problem hiding this comment.
Thank you, this is a little better. To continue the review I'll need to know if you plan on using the latest tag or direct zip download option mentioned in the code comment.
Cookiecutter templateThis plugin was written from scratch by some LLM, so it does not follow the structure of the OctoPrint plugin cookiecutter template. That template exists not only to make plugin reviews easier, but also to ensure that installation succeeds in all scenarios supported by OctoPrint. A brief five-minute look was enough to spot the following issues:
None of this makes any sense. SecurityThe plugin declares API routes through both Thus, anyone can use this plugin's APIs without authentication - APIs that allow, for example, turning the printer on and off, heating the nozzle, moving the axes, and so on. Some routes take a 40-character "username" as input and use it as a "secret", validating it through the I understand that this design stems from the choice of emulating a Philips Hue bridge: since Alexa has no way to authenticate against the OctoPrint plugin in that scenario, authentication ends up being dropped altogether. But that only means the Philips Hue bridge emulation is the wrong approach to begin with, not that leaving the APIs unauthenticated is acceptable. Other protocols - Matter, for instance - would likely allow an actual pairing between Alexa and the OctoPrint plugin. AI usageIn this PR, as in the previous one, the author keeps talking like an excessively verbose clanker, which is another element we have historically disliked in past reviews. The reason we closed the previous PR was not only the AI slop (which is very much present in the current codebase as well), but also the fact that the author demonstrated no understanding of how GitHub, or coding in general, works. The "Registering a new plugin" page clearly states that we expect maintainers to understand why their plugin works, and not to rely solely on their favorite genAI tool. For the reasons stated above, I am closing this PR as well as the previous one. |
What is the name of your plugin?
Alexa OctoPrint
What does your plugin do?
It simulates local smart devices for selected OctoPrint and 3D printer actions. Alexa discovers and controls those actions on the LAN without an external backend, Alexa skill, or integration account. It includes Portuguese, English, and Spanish device names, configurable printer actions, and optional OctoPrint-Enclosure power/light outputs.
Where can we find the source code of your plugin?
https://github.com/RICLAMER/AlexaOctoPrint/tree/0.2.0/Source
Tests: https://github.com/RICLAMER/AlexaOctoPrint/tree/0.2.0/tests
Release: https://github.com/RICLAMER/AlexaOctoPrint/releases/tag/0.2.0
Was any kind of genAI (ChatGPT, Copilot etc) involved in creating this plugin?
Yes. OpenAI Codex assisted with implementation, tests, debugging, and English documentation. The maintainer defined the requirements and performed iterative testing against a physical Raspberry Pi, OctoPrint installation, Alexa devices, printer, HAProxy, and Enclosure outputs. The registration metadata includes the required
ai-developedattribute.Is your plugin commercial in nature?
No.
Does your plugin rely on some cloud services?
No cloud backend, Alexa skill, account, telemetry service, or relay is used for discovery or control. Runtime device communication stays on the LAN. GitHub is used only for source, releases, installation, and OctoPrint Software Update checks.
Changes made after the review in #1463
AGPL-3.0-or-laterand included the full license text.github_releaseconfiguration and tagged source archives, following thejneilliii/OctoPrint-BLTouchpattern./api/joband/api/filesare excluded.Verification
Version 0.2.0 passed 30 automated tests and the gallery front-matter validator with no warnings. The tagged GitHub archive installs as
OctoPrint-AlexaOctoPrint 0.2.0. It was installed on OctoPrint running Python 3.7.3 and validated on a Raspberry Pi with local Alexa discovery, HAProxy route isolation, and real EnclosurePOWER/LIGHTswitching.This PR replaces the closed #1463.