Hi there,
I experience an annoying bug at the startup of the Pironman 5.
On one of the USB-ports I have connected a serial to USB cable, witch is connected to a smart meter. When I have this connection at startup, the Pironman service won’t start. I get the following messages in the logs:
Traceback (most recent call last):
File "/opt/pironman5/venv/bin/pironman5-service", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/__init__.py", line 47, in main
from pm_auto.ws2812 import RGB_STYLES
File "/opt/pironman5/venv/lib/python3.11/site-packages/pm_auto/ws2812.py", line 5, in <module>
import board
File "/opt/pironman5/venv/lib/python3.11/site-packages/board.py", line 45, in <module>
from adafruit_blinka.board.raspberrypi.raspi_5 import *
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/board/raspberrypi/raspi_5.py", line 6, in <module>
from adafruit_blinka.microcontroller.bcm2712 import pin
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/bcm2712/pin.py", line 7, in <module>
from adafruit_blinka.microcontroller.generic_linux.lgpio_pin import Pin
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py", line 30, in <module>
CHIP = _get_gpiochip()
^^^^^^^^^^^^^^^
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py", line 18, in _get_gpiochip
drivers = set((dev / "of_node/compatible").read_text().split("\0"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/pathlib.py", line 1059, in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/pathlib.py", line 1045, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/sys/bus/gpio/devices/gpiochip14/of_node/compatible'
Traceback (most recent call last):
File "/opt/pironman5/venv/bin/pironman5-service", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/__init__.py", line 47, in main
from pm_auto.ws2812 import RGB_STYLES
File "/opt/pironman5/venv/lib/python3.11/site-packages/pm_auto/ws2812.py", line 5, in <module>
import board
File "/opt/pironman5/venv/lib/python3.11/site-packages/board.py", line 45, in <module>
from adafruit_blinka.board.raspberrypi.raspi_5 import *
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/board/raspberrypi/raspi_5.py", line 6, in <module>
from adafruit_blinka.microcontroller.bcm2712 import pin
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/bcm2712/pin.py", line 7, in <module>
from adafruit_blinka.microcontroller.generic_linux.lgpio_pin import Pin
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py", line 30, in <module>
CHIP = _get_gpiochip()
^^^^^^^^^^^^^^^
File "/opt/pironman5/venv/lib/python3.11/site-packages/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py", line 18, in _get_gpiochip
drivers = set((dev / "of_node/compatible").read_text().split("\0"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/pathlib.py", line 1059, in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/pathlib.py", line 1045, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/sys/bus/gpio/devices/gpiochip14/of_node/compatible'
When I disconnect the USB to serial cable at startup the Pironman service starts correctly and if I reconnect the USB-cable after startup everything works fine. But this is annoying, because an other service depends on the serial connection.
So I hope you can help me to solve this problem.
Marcel Kooijman