Add Govee Enclosure plugin - #1479
Conversation
Add Govee Enclosure plugin documentation for monitoring temperature and humidity via Bluetooth LE.
|
|
||
| compatibility: | ||
| octoprint: | ||
| - ">=1.11,<2" |
There was a problem hiding this comment.
Giving that we are going to release OctoPrint 2.0.0 soon (currently is under RC), I believe you should support that one too
|
I agree with @jacopotediosi about the OctoPrint 2.0.0 support. Better to go ahead and validate now against that version and support it since we'll be releasing right around the corner. Only thing that octoscanner found requires a minor update to your code. I don't see any major hallucinations in this one, except when it comes to the update hook. I don't think you need these two lines at all. and I don't know why you would parameterize your github user and repo name to fill in the update hook data, etc., just seems odd to not hard code those directly unless you want to make it easier for someone to adopt the plugin in the future when you decide to not maintain the plugin anymore. I do appreciate the extraction of the packet decoding from govee-ble in order to continue support of python 3.9, which will align well with OctoPrint 2.0.0 as python 3.9 becomes it's lowest supported version. |
|
One thing that could be done differently would be to not monkey patch the temperature graph in the js file, but use the chamber temperature option in the printer profile and return the parsed_temps with the "C" property, similar to the plugin below: |
jacopotediosi
left a comment
There was a problem hiding this comment.
Thanks so much for your contribution, @RobertAWells 😄
I finally got around to giving this a proper review.
I'm on board with everything discussed above - in particular, I agree with @jneilliii that you shouldn't monkey-patch OctoPrint's temperature graph.
One last thing I spotted: in __init__.py you're overriding a bunch of plugin properties that don't really need to, e.g. __plugin_version__, __plugin_name__, etc. There's a risk they'll drift out of sync with the ones already defined in pyproject.toml, thus we generally recommend removing them unless strictly necessary.
Once those are sorted, this plugin is good to go from my side.
What is the name of your plugin?
Govee Enclosure
What does your plugin do?
Govee Enclosure monitors Govee H5179/GV5179 temperature and humidity sensors locally over Bluetooth LE. It displays enclosure temperature, humidity, and battery status in the OctoPrint sidebar and adds enclosure temperature to OctoPrint's native Temperature graph. The sidebar temperature display can be configured for Celsius or Fahrenheit.
Where can we find the source code of your plugin?
https://github.com/RobertAWells/OctoPrint-GoveeEnclosure
Was any kind of genAI (ChatGPT, Copilot etc) involved in creating this plugin?
Yes. I used ChatGPT to assist with code development, debugging, documentation, and packaging. I tested the plugin on my OctoPrint systems and reviewed how the plugin works.
Is your plugin commercial in nature?
No. It is open-source software released under the MIT license.
Does your plugin rely on some cloud services?
No. Sensor readings are obtained locally over Bluetooth LE and do not require the Govee cloud service.
Tested with Govee H5179/GV5179 sensors on Raspberry Pi-based OctoPrint installations. A working Bluetooth adapter is required.
Further notes