Pi PoE HAT fan control

I’ve installed Hass.io on my Pi 3B+ with the official PoE HAT but the fan ramps up to 100% for 10-20s every minute or so.

Raspbian seems to allow the fan to be controlled through a couple entries in the config.txt but this isn’t available in Hass.io.

Is it possible to control the fan in Hass?

Yes it is.

Where can I find it?

In the boot partition.

@nickrout, mind sharing the exact location? I can’t find it.

I had the same issue and it was driving me crazy… After searching online and in here, I was able to resolve it. To edit config.txt, I shut down my pi and pulled the SD card and opened it up on my PC. From there I was able to open config.txt and at the bottom of the file I simply added

## poe_fan_temp
##    temp0 is lower speed fan, temp1 is high fan speed.
##    Current setting is fan turns on at 70C, turns off when it comes back down to 65C.
##    If the temperature reaches 75C it will go full blast until it drops back down to 70C. 

The fan hasn’t kicked on since I powered the unit back up about an hour ago… but I’ll probably play around with these settings slightly after monitoring the temp for a while.

1 Like

Thanks for the help!

I managed to edit the config.txt - it turned out that my linux machine wasn’t mounting the fat32 boot partition so I had to fire up a windows machine.

After running for close to 48 hours and not having the fan kick on… I decided to drop my setpoints down a bit. My high temp was 67.4C and overnight it hovered around 56C so I went with

## poe_fan_temp
##    temp0 is lower speed fan, temp1 is high fan speed.
##    Current setting is fan turns on at 63C, turns off when it comes back down to 60C.
##    If the temperature reaches 66C it will go full blast until it drops back down to 63C. 

Since updating to HassOS 3.13, I’ve noticed that the fan on the POE HAT seems to be ignoring the dtparam’s as shown above.

Anyone else noticing this?

EDIT: I’ve just looked through the release notes and can only assume that something changed in the latest RPi kernel.

@thatguy_za I’ve noticed the same thing - have you found a fix?

After a fair amount of trial and error, the only thing that worked was having three poe_fan_temp’s. Unfortunately I can’t remember my exact temps but these should help:


Actually 4 lines of code are needed and basically what you input is the curve of how the fan reacts to temperature in a proportional way. More info can be found here:
RaspBerry Pi GitHub
And here:
I appended these lines at the end of config.txt


My fan is now constantly on but at low speed and will speed up when needed (CPU load up -> temp up -> fan RPM up). A constantly switching fan is not preferred over one that is constantly on (at low speed).