flyte / mqtt-io

Expose GPIO modules (Raspberry Pi, Beaglebone, PCF8754, PiFace2 etc.) and digital sensors (LM75 etc.) to an MQTT server for remote control and monitoring.
MIT License
461 stars 157 forks source link

Many open Pull Requests / still any development? #277

Closed mschlenstedt closed 1 year ago

mschlenstedt commented 2 years ago

Hi,

there were a lot fixed bugs in develop comparing to 2.2.6. Still there are 11 open Pull Requests which also fixes a lot bugs. Is there any further development? Would be happy if there will be a bugfix release soon.

Can help if help is needed.

flyte commented 2 years ago

Hi @mschlenstedt

Yes, I'm afraid I've been neglecting this project. Unfortunately I don't have time to dedicate to it and I've been burying my head in the sand to avoid the shame of officially announcing that I've abandoned a project that I'm quite proud of!

I actually made a large number of fixes and improvements on the https://github.com/flyte/mqtt-io/tree/feature/trio branch, but I got stuck trying to work out a good way to refactor/rebuild the tests, since they were too tightly coupled with the previous asyncio implementation.

Now we're in a state where there are a lot of PRs and issues for the 'released' version, which almost certainly don't apply to the feature/trio version, which is "better enough" that I didn't want to continue work on the 'released' version.

Help is certainly welcome. Please have a look at the feature/trio branch, which I consider to be a vast improvement over my implementation using asyncio.

I'm happy to spend some time on discord or wherever, in order to try to tidy things up a bit and help onboard people to get involved. To be honest, if other people are happy to collaborate, then I'd probably be more inclined to make time for writing code too.

mschlenstedt commented 2 years ago

Hey @flyte !

Thanks for the qick answer. Even if it makes me not happy :-), I can fully understand. I also have too many projects I am working on ;-)

Maybe it is worth to make one last bugfix version 2.2.7 from the develop branch including the open PR. There are some severe bugs in the raspberry module and also in the pcf8574/5 modules which makes both more or less useless at the moment:

https://github.com/flyte/mqtt-io/pull/268 19cf1e6ba3c6ad0c97f914dd888228f14fb4c4ac 1e410dc57c0a699b72ea8a6d5e38e064499a3e1b

This is maybe "quickly done" and result would be a really good and reliable piece of software. After that we (and hopefully some others, too ;-)) can focus on the trio branch.

flyte commented 2 years ago

I've merged that and I'm just struggling with the cobwebs on the release process now...

flyte commented 2 years ago

2.2.7 should be on PyPI now.

mschlenstedt commented 2 years ago

Great! Thanks!

geccko commented 2 years ago

Hey @flyte !

Great work with this project!! I've been using mqtt for several days and I can't get the hcsr04 sensor to work. It always shows me the same error indicating that the configuration is incorrect. I've checked many times and can't find the fault. Please, could you help me with this? Where can I look?

Environment: Python 3.9.2 Raspberry PI 3 (Debian 11.3)

This is the config I have:

sensor_modules: name: hcsr04_sensor module: hcsr04 pin_echo: 27 pin_trigger: 17 burst: 5

The error is always the same: `Traceback (most recent call last): File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/mqtt_io/mqtt_io/main.py", line 112, in main() File "/home/mqtt_io/mqtt_io/main.py", line 104, in main mqtt_gpio.run() File "/home/mqtt_io/mqtt_io/server.py", line 1229, in run self._init_sensor_modules() File "/home/mqtt_io/mqtt_io/server.py", line 255, in _init_sensor_modules self.sensor_modules[sens_config["name"]] = _init_module( File "/home/mqtt_io/mqtt_io/server.py", line 122, in _init_module module_config = validate_and_normalise_config(module_config, module_schema) File "/home/mqtt_io/mqtt_io/config/init.py", line 105, in validate_and_normalise_config raise ConfigValidationFailed( mqtt_io.exceptions.ConfigValidationFailed: Config did not validate:

burst: unknown field pin_echo: unknown field pin_trigger: unknown field`

mschlenstedt commented 2 years ago

@geccko Please open a separate issue here.

geccko commented 2 years ago

ok! Thanks!