Hi
I updated the pioreactor to 25.5.22 and updated the Raspberry Pi OS to 25-5-13 and I can’t get the Air Bubbler to start anymore. Originally I updated the pioreactor using the ‘Update’ feature in the UI and updated the Raspberry Pi OS with ‘sudo apt update’ followed by ‘sudo apt full-upgrade’. Then I tried downloading the latest image and burning the SD card again. Both ways seem to give the same issue when the Air Bubbler is asked to start. I think it’s the ‘pubsub_client’ argument on line 33 that’s giving me my issue but now i’ve ran out of talent. Is anyone able to help me out on this one? Thanks!
$ pio run air_bubbler
2025-05-25T16:09:07+0100 DEBUG [air_bubbler] Init.
2025-05-25T16:09:07+0100 DEBUG [air_bubbler] Error in on_disconnected:
2025-05-25T16:09:07+0100 DEBUG [air_bubbler] ‘AirBubbler’ object has no attribute ‘pwm’
Traceback (most recent call last):
File “/usr/local/lib/python3.11/dist-packages/pioreactor/background_jobs/base.py”, line 262, in wrapped_init
orig_init(self, *args, **kwargs)
File “/usr/local/lib/python3.11/dist-packages/pioreactor_air_bubbler/init.py”, line 33, in init
self.pwm = PWM(
^^^^
TypeError: PWM.init() got an unexpected keyword argument ‘pubsub_client’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.11/dist-packages/pioreactor/background_jobs/base.py”, line 784, in disconnected
self.on_disconnected()
File “/usr/local/lib/python3.11/dist-packages/pioreactor_air_bubbler/init.py”, line 40, in on_disconnected
self.pwm.stop()
^^^^^^^^
AttributeError: ‘AirBubbler’ object has no attribute ‘pwm’
2025-05-25T16:09:07+0100 INFO [air_bubbler] Disconnected.
2025-05-25T16:09:07+0100 DEBUG [air_bubbler] Disconnected successfully from MQTT.
Traceback (most recent call last):
File “/usr/local/bin/pio”, line 8, in
sys.exit(pio())
^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/pioreactor_air_bubbler/init.py”, line 83, in start_air_bubbler
ab = AirBubbler(unit=unit, experiment=experiment, duty_cycle=dc, hertz=hertz)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/pioreactor/background_jobs/base.py”, line 109, in call
obj = type.call(cls, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/pioreactor/background_jobs/base.py”, line 262, in wrapped_init
orig_init(self, *args, **kwargs)
File “/usr/local/lib/python3.11/dist-packages/pioreactor_air_bubbler/init.py”, line 33, in init
self.pwm = PWM(
^^^^
TypeError: PWM.init() got an unexpected keyword argument ‘pubsub_client’