Troubleshooting deCONZ unavailability and high CPU loads

Meanwhile:
I changed the recorder ‘commit_interval:’ to 600 to see if it has a positive effect on the stability by reducing the writes. I recalled that I had this set to 60 before, but had it commented out at the moment.

I created a CPU IO Wait sensor to keep track of the IO and report it in my deCONZ monitor

command_line:
  - sensor:
      name: CPU IO Wait
      command: top -b -n1 | grep ^CPU | awk '{printf("%.0f"), $10}'
      scan_interval: 3
      unit_of_measurement: "%"
      value_template: '{{ value }}'

Thanks to the command_line sensor the pattern is pretty obvious. Perhaps it is interesting to have cpu_io_wait added to the system monitor integration. With all the RPi’s used, it seems like a useful sensor for troubleshooting.
HA_Load-vs-IO
The custom sensor seems to create some additional load by itself.
So far the 600 second commit_interval resulted in a ~50% reduce.

The IO sensor however made me decide to buy a SSD to boot the Pi from. According to this guide it’s as easy as installing it on a SD-card.

I hope this topic is of any help to anyone and I will report on the results of the SSD probably next weekend or so.

edit: Updated the sensor code to the format required in 2023.8

3 Likes