Pironman 4 stopped working

My Pironman 4 has been working wonderfully for over a year. Today the display was garbled, and the LED wont come on. I tried uninstalling and reinstalling, but still see the same behavior. Any help would be greatly appreciated. Logs:

------------------------24/11/25 08:26:30------------------------

pironman version: 2.2.6

username:

config_file: /opt/pironman/config.txt

Kernel Version:

Linux 6fa7f6d2-pironman 6.6.31-haos-raspi #1 SMP PREEMPT Tue Oct 15 12:43:14 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

PCB info:

Revision : d03115

Model : Raspberry Pi 4 Model B Rev 1.5

24/11/25 08:26:30,584 [DEBUG] power_key_pin : 16

24/11/25 08:26:30,584 [DEBUG] fan_pin : 6

24/11/25 08:26:30,585 [DEBUG] update_frequency : 0.5

24/11/25 08:26:30,585 [DEBUG] temp_unit : F

24/11/25 08:26:30,585 [DEBUG] fan_temp : 50.0

24/11/25 08:26:30,585 [DEBUG] screen_always_on : True

24/11/25 08:26:30,586 [DEBUG] screen_off_time : 30

24/11/25 08:26:30,586 [DEBUG] rgb_enable : True

24/11/25 08:26:30,586 [DEBUG] rgb_style : flow

24/11/25 08:26:30,586 [DEBUG] rgb_color : 0a1aff

24/11/25 08:26:30,586 [DEBUG] rgb_blink_speed : 50

24/11/25 08:26:30,586 [DEBUG] rgb_pwm_freq : 1000

24/11/25 08:26:30,586 [DEBUG] rgb_pin : 12

Can’t open device file

: Operation not permitted

24/11/25 08:26:30,597 [DEBUG] rgb_strip init failed:

ws2811_init failed with code -9 (Failed to create mailbox device)

24/11/25 08:26:30,609 [DEBUG] oled init success

Traceback (most recent call last):

File “/usr/lib/python3/dist-packages/gpiozero/pins/pi.py”, line 101, in pin

pin = self.pins[n]

KeyError: 6

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “/opt/pironman/main.py”, line 206, in

fan = Fan(fan_pin)

File “/usr/lib/python3/dist-packages/gpiozero/devices.py”, line 108, in call

self = super(GPIOMeta, cls).call(*args, **kwargs)

File “/usr/lib/python3/dist-packages/gpiozero/output_devices.py”, line 200, in init

super(DigitalOutputDevice, self).init(

File “/usr/lib/python3/dist-packages/gpiozero/output_devices.py”, line 83, in init

super(OutputDevice, self).init(pin, pin_factory=pin_factory)

File “/usr/lib/python3/dist-packages/gpiozero/mixins.py”, line 85, in init

super(SourceMixin, self).init(*args, **kwargs)

File “/usr/lib/python3/dist-packages/gpiozero/devices.py”, line 549, in init

pin = self.pin_factory.pin(pin)

File “/usr/lib/python3/dist-packages/gpiozero/pins/pi.py”, line 103, in pin

pin = self.pin_class(self, n)

File “/usr/lib/python3/dist-packages/gpiozero/pins/lgpio.py”, line 124, in init

lgpio.gpio_claim_input(

File “/usr/lib/python3/dist-packages/lgpio.py”, line 748, in gpio_claim_input

return _u2i(_lgpio._gpio_claim_input(handle&0xffff, lFlags, gpio))

File “/usr/lib/python3/dist-packages/lgpio.py”, line 461, in _u2i

raise error(error_text(v))

lgpio.error: ‘GPIO busy’

/usr/local/bin/pironman: line 99: 266 Segmentation fault (core dumped) python3 $main close_rgb > /dev/null 2>> /opt/pironman/log

/usr/local/bin/pironman: line 99: 268 Segmentation fault (core dumped) python3 $main

pironman start failed

0

s6-rc: info: service legacy-services: stopping

s6-rc: info: service legacy-services successfully stopped

s6-rc: info: service legacy-cont-init: stopping

s6-rc: info: service legacy-cont-init successfully stopped

s6-rc: info: service fix-attrs: stopping

s6-rc: info: service base-addon-timezone: stopping

s6-rc: info: service base-addon-log-level: stopping

s6-rc: info: service fix-attrs successfully stopped

s6-rc: info: service base-addon-timezone successfully stopped

s6-rc: info: service base-addon-log-level successfully stopped

s6-rc: info: service base-addon-banner: stopping

s6-rc: info: service base-addon-banner successfully stopped

s6-rc: info: service s6rc-oneshot-runner: stopping

s6-rc: info: service s6rc-oneshot-runner successfully stopped

s6-rc: info: service s6rc-oneshot-runner: starting

s6-rc: info: service s6rc-oneshot-runner successfully started

s6-rc: info: service base-addon-banner: starting


Add-on: Pironman

Pironman support


Add-on version: 1.0.12

You are running the latest version of this add-on.

System: Home Assistant OS 13.2 (aarch64 / raspberrypi4-64)

Home Assistant Core: 2024.11.3

Home Assistant Supervisor: 2024.11.4


Please, share the above information when looking for help

or support in, e.g., GitHub, forums or the Discord chat.


s6-rc: info: service base-addon-banner successfully started

s6-rc: info: service fix-attrs: starting

s6-rc: info: service base-addon-timezone: starting

s6-rc: info: service base-addon-log-level: starting

s6-rc: info: service fix-attrs successfully started

[08:38:54] INFO: Configuring timezone (America/Denver)…

s6-rc: info: service base-addon-log-level successfully started

s6-rc: info: service base-addon-timezone successfully started

s6-rc: info: service legacy-cont-init: starting

s6-rc: info: service legacy-cont-init successfully started

s6-rc: info: service legacy-services: starting

s6-rc: info: service legacy-services successfully started

Starting pironman with the following parameters:

temperature_unit: F

fan_temp: 50

display_always_on: false

display_on_for: 30

rgb_on: true

rgb_style: breath

rgb_color: 0a1aff

rgb_speed: 50

rgb_freq: 1000

rgb_pin: 12

Warning: Cannot find boot configuration file

set temperature unit to F

set the fan on temperature to 50

set screen_always_on to off

set screen_off_time to 30

set rgb_enable to on

set rgb_style to breath

set rgb_color to 0a1aff

set rgb_blink_speed to 50

set rgb_pwm_freq to 1000

set rgb io to pin 12 (pwm)

restarting pironman

stopping pironman

pid=264

run in foreground

24/11/25 08:38:57,645 [DEBUG] Home Assistant Addon mode

------------------------24/11/25 08:38:57------------------------

pironman version: 2.2.6

username:

config_file: /opt/pironman/config.txt

Kernel Version:

Linux 6fa7f6d2-pironman 6.6.31-haos-raspi #1 SMP PREEMPT Tue Oct 15 12:43:14 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

PCB info:

Revision : d03115

Model : Raspberry Pi 4 Model B Rev 1.5

24/11/25 08:38:57,664 [DEBUG] power_key_pin : 16

24/11/25 08:38:57,665 [DEBUG] fan_pin : 6

24/11/25 08:38:57,665 [DEBUG] update_frequency : 0.5

24/11/25 08:38:57,666 [DEBUG] temp_unit : F

24/11/25 08:38:57,666 [DEBUG] fan_temp : 50.0

24/11/25 08:38:57,666 [DEBUG] screen_always_on : False

24/11/25 08:38:57,667 [DEBUG] screen_off_time : 30

24/11/25 08:38:57,668 [DEBUG] rgb_enable : True

24/11/25 08:38:57,668 [DEBUG] rgb_style : breath

24/11/25 08:38:57,668 [DEBUG] rgb_color : 0a1aff

24/11/25 08:38:57,669 [DEBUG] rgb_blink_speed : 50

24/11/25 08:38:57,669 [DEBUG] rgb_pwm_freq : 1000

24/11/25 08:38:57,669 [DEBUG] rgb_pin : 12

24/11/25 08:38:57,680 [DEBUG] rgb_strip init failed:

ws2811_init failed with code -9 (Failed to create mailbox device)

Can’t open device file

: Operation not permitted

24/11/25 08:38:57,692 [DEBUG] oled init success

Traceback (most recent call last):

File “/usr/lib/python3/dist-packages/gpiozero/pins/pi.py”, line 101, in pin

pin = self.pins[n]

KeyError: 6

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “/opt/pironman/main.py”, line 206, in

fan = Fan(fan_pin)

File “/usr/lib/python3/dist-packages/gpiozero/devices.py”, line 108, in call

self = super(GPIOMeta, cls).call(*args, **kwargs)

File “/usr/lib/python3/dist-packages/gpiozero/output_devices.py”, line 200, in init

super(DigitalOutputDevice, self).init(

File “/usr/lib/python3/dist-packages/gpiozero/output_devices.py”, line 83, in init

super(OutputDevice, self).init(pin, pin_factory=pin_factory)

File “/usr/lib/python3/dist-packages/gpiozero/mixins.py”, line 85, in init

super(SourceMixin, self).init(*args, **kwargs)

File “/usr/lib/python3/dist-packages/gpiozero/devices.py”, line 549, in init

pin = self.pin_factory.pin(pin)

File “/usr/lib/python3/dist-packages/gpiozero/pins/pi.py”, line 103, in pin

pin = self.pin_class(self, n)

File “/usr/lib/python3/dist-packages/gpiozero/pins/lgpio.py”, line 124, in init

lgpio.gpio_claim_input(

File “/usr/lib/python3/dist-packages/lgpio.py”, line 748, in gpio_claim_input

return _u2i(_lgpio._gpio_claim_input(handle&0xffff, lFlags, gpio))

File “/usr/lib/python3/dist-packages/lgpio.py”, line 461, in _u2i

raise error(error_text(v))

lgpio.error: ‘GPIO busy’

/usr/local/bin/pironman: line 99: 266 Segmentation fault (core dumped) python3 $main close_rgb > /dev/null 2>> /opt/pironman/log

/usr/local/bin/pironman: line 99: 268 Segmentation fault (core dumped) python3 $main

pironman start failed

0

s6-rc: info: service legacy-services: stopping

s6-rc: info: service legacy-services successfully stopped

s6-rc: info: service legacy-cont-init: stopping

s6-rc: info: service legacy-cont-init successfully stopped

s6-rc: info: service fix-attrs: stopping

s6-rc: info: service base-addon-timezone: stopping

s6-rc: info: service base-addon-log-level: stopping

s6-rc: info: service fix-attrs successfully stopped

s6-rc: info: service base-addon-timezone successfully stopped

s6-rc: info: service base-addon-log-level successfully stopped

s6-rc: info: service base-addon-banner: stopping

s6-rc: info: service base-addon-banner successfully stopped

s6-rc: info: service s6rc-oneshot-runner: stopping

s6-rc: info: service s6rc-oneshot-runner successfully stopped

We recommend using the Raspberry Pi OS to install the pironman software and see if it works properly.

It would also be helpful if you could provide a video of the issue so we can analyze and resolve the problem more effectively.

This is operating on a Raspberry Pi 4 with Raspberry Pi OS. As noted, it was working previously. I uninstalled Pironman and reinstalled it with the same result. The picture is of the display.

The horizontal black line is not actually not on the display, it is an issue with taking pics of an LED display.

Currently, the OLED screen is not functioning properly. Are the other modules working correctly?

If the other modules are functioning, we can send a replacement OLED screen to see if it resolves the issue.

Fan, OLED screen and LED strip are all not working at this time. The Pi itself is running fine.

We recommend that you provide us with screenshots or a video of the installation process of the Pironman software, so that we can analyze and resolve the issue."
After successfully installing the Pironman software, please start the Raspberry Pi and check if all functions of Pironman are working properly. If they are not, please provide us with the log files so we can assist you in analyzing and resolving the problem.
It is possible that there is a hardware issue, and you may need to replace the hardware.

Which logs are you looking for? I attached the main logs in my first post after reinstalling the software.

We suggest that you reinstall the new Bookworm system and then install the Pironman software. If the Pironman functionality still does not work properly, please provide us with the logs so we can analyze and resolve the issue. The log path is /opt/pironman/log. Execute: cat ~/opt/pironman/log. Additionally, please provide us with a video of the issue to help us analyze and solve the problem.

I am running Home Assistant OS.I am not going to reinstall Bookworm just to test something that was working. I have provided the Pironman logs in my first post. I am not sure what else you need. You can see the display is garbled. The LED strip and the Fan LED do not come on at all when they used to work fine. I wokred with your company on the initial testing when you released the software for Home Assistant. Everything has been working fine since then until recently.

We are not asking you to format the Home Assistant OS. You can prepare another SD card specifically for installing the Bookworm system, which will be used to verify if all modules of the Pironman are functioning properly.

This way, we can help you confirm whether there is any hardware damage, and we can send you the corresponding hardware if needed. If you install the Pironman software on the Bookworm system and the hardware behavior is the same as with the Home Assistant OS, showing the same issues, it may indicate that there is a problem with the Pironman motherboard.

Ok, I formatted an SD card with debian-12.8.0-amd64-DVD-1.iso
System boots, I follow the instructions for installing the Pironman software. System restarts. No lights, no LCD. You can see in the logs where I change the rgb pin from 10 to 12 which is what it should be:

------------------------24/12/05 21:03:26------------------------
pironman version: 2.2.9
pironman version: 2.2.9
username:
username:
config_file: /opt/pironman/config.txt
config_file: /opt/pironman/config.txt

Kernel Version:

Kernel Version:
Linux rpi4-20231108 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux

Linux rpi4-20231108 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux

OS Version:
Description: Debian GNU/Linux 12 (bookworm)

OS Version:
Description: Debian GNU/Linux 12 (bookworm)

24/12/05 21:03:26,567 [DEBUG] power_key_pin : 16
24/12/05 21:03:26,567 [DEBUG] fan_pin : 6
24/12/05 21:03:26,567 [DEBUG] update_frequency : 0.5
24/12/05 21:03:26,568 [DEBUG] temp_unit : C
24/12/05 21:03:26,568 [DEBUG] fan_temp : 50.0
24/12/05 21:03:26,568 [DEBUG] screen_always_on : False
24/12/05 21:03:26,568 [DEBUG] power_key_pin : 16
24/12/05 21:03:26,568 [DEBUG] screen_off_time : 60
24/12/05 21:03:26,568 [DEBUG] fan_pin : 6
24/12/05 21:03:26,568 [DEBUG] rgb_enable : True
24/12/05 21:03:26,568 [DEBUG] update_frequency : 0.5
24/12/05 21:03:26,568 [DEBUG] rgb_style : breath
24/12/05 21:03:26,569 [DEBUG] temp_unit : C
24/12/05 21:03:26,569 [DEBUG] rgb_color : 0a1aff
24/12/05 21:03:26,569 [DEBUG] fan_temp : 50.0
24/12/05 21:03:26,569 [DEBUG] rgb_blink_speed : 50
24/12/05 21:03:26,569 [DEBUG] screen_always_on : False
24/12/05 21:03:26,569 [DEBUG] rgb_pwm_freq : 1000
24/12/05 21:03:26,569 [DEBUG] screen_off_time : 60
24/12/05 21:03:26,569 [DEBUG] rgb_enable : True
24/12/05 21:03:26,569 [DEBUG] rgb_pin : 10

24/12/05 21:03:26,569 [DEBUG] rgb_style : breath
24/12/05 21:03:26,569 [DEBUG] rgb_color : 0a1aff
24/12/05 21:03:26,569 [DEBUG] rgb_blink_speed : 50
24/12/05 21:03:26,569 [DEBUG] rgb_pwm_freq : 1000
24/12/05 21:03:26,570 [DEBUG] rgb_pin : 10

Cannot open /dev/spidev0.0. spi_bcm2835 module not loaded?
Cannot open /dev/spidev0.0. spi_bcm2835 module not loaded?
24/12/05 21:03:26,580 [DEBUG] rgb_strip init failed:
ws2811_init failed with code -13 (Unable to initialize SPI)
24/12/05 21:03:26,580 [DEBUG] rgb_strip init failed:
ws2811_init failed with code -13 (Unable to initialize SPI)
24/12/05 21:03:26,580 [DEBUG] close_rgb in sys.argv
munmap error
: Invalid argument
ioctl_set_msg failed
: Inappropriate ioctl for device
ioctl_set_msg failed
: Inappropriate ioctl for device
24/12/05 21:03:26,921 [DEBUG] oled init failed:
[Errno 121] Remote I/O error
24/12/05 21:03:26,948 [DEBUG] fan init failed:
Mmap of GPIO registers failed
24/12/05 21:03:26,949 [DEBUG] power_key init failed:
Mmap of GPIO registers failed
24/12/05 21:03:26,952 [DEBUG] error
[Errno 121] Remote I/O error
munmap error
: Invalid argument
ioctl_set_msg failed
: Inappropriate ioctl for device
ioctl_set_msg failed
: Inappropriate ioctl for device

------------------------24/12/05 21:15:58------------------------
pironman version: 2.2.9
username: akniffin
config_file: /opt/pironman/config.txt

Kernel Version:
Linux rpi4-20231108 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux

OS Version:
Description: Debian GNU/Linux 12 (bookworm)

24/12/05 21:15:58,182 [DEBUG] power_key_pin : 16
24/12/05 21:15:58,183 [DEBUG] fan_pin : 6
24/12/05 21:15:58,183 [DEBUG] update_frequency : 0.5
24/12/05 21:15:58,183 [DEBUG] temp_unit : C
24/12/05 21:15:58,183 [DEBUG] fan_temp : 50.0
24/12/05 21:15:58,183 [DEBUG] screen_always_on : False
24/12/05 21:15:58,183 [DEBUG] screen_off_time : 60
24/12/05 21:15:58,183 [DEBUG] rgb_enable : True
24/12/05 21:15:58,183 [DEBUG] rgb_style : breath
24/12/05 21:15:58,184 [DEBUG] rgb_color : 0a1aff
24/12/05 21:15:58,184 [DEBUG] rgb_blink_speed : 50
24/12/05 21:15:58,184 [DEBUG] rgb_pwm_freq : 1000
24/12/05 21:15:58,184 [DEBUG] rgb_pin : 12

Can’t open device file
: No such device or address
24/12/05 21:15:58,208 [DEBUG] rgb_strip init failed:
ws2811_init failed with code -9 (Failed to create mailbox device)
24/12/05 21:15:58,209 [DEBUG] close_rgb in sys.argv

------------------------24/12/05 21:15:58------------------------
pironman version: 2.2.9
username: akniffin
config_file: /opt/pironman/config.txt

Kernel Version:
Linux rpi4-20231108 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux

OS Version:
Description: Debian GNU/Linux 12 (bookworm)

24/12/05 21:15:58,291 [DEBUG] power_key_pin : 16
24/12/05 21:15:58,291 [DEBUG] fan_pin : 6
24/12/05 21:15:58,291 [DEBUG] update_frequency : 0.5
24/12/05 21:15:58,292 [DEBUG] temp_unit : C
24/12/05 21:15:58,292 [DEBUG] fan_temp : 50.0
24/12/05 21:15:58,292 [DEBUG] screen_always_on : False
24/12/05 21:15:58,292 [DEBUG] screen_off_time : 60
24/12/05 21:15:58,292 [DEBUG] rgb_enable : True
24/12/05 21:15:58,292 [DEBUG] rgb_style : breath
24/12/05 21:15:58,292 [DEBUG] rgb_color : 0a1aff
24/12/05 21:15:58,293 [DEBUG] rgb_blink_speed : 50
24/12/05 21:15:58,293 [DEBUG] rgb_pwm_freq : 1000
24/12/05 21:15:58,293 [DEBUG] rgb_pin : 12

Can’t open device file
: No such device or address
24/12/05 21:15:58,317 [DEBUG] rgb_strip init failed:
ws2811_init failed with code -9 (Failed to create mailbox device)
24/12/05 21:15:58,351 [DEBUG] oled init failed:
[Errno 121] Remote I/O error
24/12/05 21:15:58,362 [DEBUG] fan init failed:
Mmap of GPIO registers failed
24/12/05 21:15:58,363 [DEBUG] power_key init failed:
Mmap of GPIO registers failed
24/12/05 21:15:58,367 [DEBUG] error
[Errno 121] Remote I/O error

1.We recommend using the Raspberry Pi Imager tool to install the bookworm version of the Raspberry Pi OS. Currently, we are using the 64-bit bookworm version of the Raspberry Pi OS to install the pironman software. The pironman functionality is working properly.
2.The default driver mode is set to SPI (IO10). If you have modified the configuration to change the pin to IO12, then the jumper on your pironman motherboard must also connect to the IO12 pin. When starting pironman, you need to prepend the command with sudo (for example: sudo pironman -rp 12).