I recently met Home Assistant and I immediately bought myself a raspberry pi 5 to start using Home Assistant. Now I find that me Raspberry pi 5 has quite warm (~50 degrees).
I would like to run my fan at a minimum speed. (5000 RPM) but I really have no idea how this should be done through Home Assistant OS?
Anyone have any experience with this or an idea how I could fix this?
Raspberry Pi 5 fan control:
“It is actively managed by the Raspberry Pi firmware: at 60°C the blower’s fan will be turned on, at 67.5°C fan speed will be increased, and finally at 75°C the fan increases to full speed. When the temperature drops back below these limits, the blower’s fan will spin down automatically.”
I figured it out whist trying to get the full speed from my NMVe…
I will try to explain as best I can.
First I hooked the pi 5 (running Home assistant OS) to my PC monitor. Let it boot up and you get the command line.
type login
then type vi mnt/boot/config.txt
scroll all the way to the bottom where it says all (you have to change to insert mode on keyboard, on my keyboard this was Fn Delete, but I guess they are all different).
When you are ready… These are the settings I have used. this means at 35c the fan will run at 175 until temp drops 5c. I have played with this a lot over the last few days, this I found keeps my pi5 around 35c all the time with very little to no fan noise
Once you have typed in the above you need to press ESC on keyboard then type :wq this saves the file… Reboot and new settings should take effect. I will post screen grabs in the morning.
fan_temp0 Temperature threshold (in millicelcius) for 1st cooling level (default 50000). Pi5 only.
fan_temp0_hyst Temperature hysteresis (in millicelcius) for 1st cooling level (default 5000). Pi5 only.
fan_temp0_speed Fan PWM setting for 1st cooling level (0-255, default 75). Pi5 only.
fan_temp1 Temperature threshold (in millicelcius) for 2nd cooling level (default 60000). Pi5 only.
fan_temp1_hyst Temperature hysteresis (in millicelcius) for 2nd cooling level (default 5000). Pi5 only.
fan_temp1_speed Fan PWM setting for 2nd cooling level (0-255, default 125). Pi5 only.
fan_temp2 Temperature threshold (in millicelcius) for 3rd cooling level (default 67500). Pi5 only.
fan_temp2_hyst Temperature hysteresis (in millicelcius) for 3rd cooling level (default 5000). Pi5 only.
fan_temp2_speed Fan PWM setting for 3rd cooling level (0-255, default 175). Pi5 only.
fan_temp3 Temperature threshold (in millicelcius) for 4th cooling level (default 75000). Pi5 only.
fan_temp3_hyst Temperature hysteresis (in millicelcius) for 4th cooling level (default 5000). Pi5 only.
fan_temp3_speed Fan PWM setting for 4th cooling level (0-255, default 250). Pi5 only.
How are you attempting to access it? It needs to be done directly on the device, and you’ll need to connect the pin to an HDMI display with a keyboard and mouse
Quick remark based on my experience with the above written:
Yes, this approach is only available when connetced locally - not via SSH
I was struggling with the VI control as the keyboard layout I used wasn´t properly configured in this mode. I checked for VI commands and found the following useful ones
i typing a simple “i” enters the editing mode of VI
ZZ typing a double, capital “ZZ” saves the changes and exits VI
In this logged in mode it is possible to force a reboot with
shutdown -r now