I'm pretty sure I can test it this week with all the spare time corona got me. Getting back to you once I tested it.
That would defeat the propose of using pid entirely. If you want to ramp it up slower, try lowering the linear bit, slower over time would be the integral bit (at least with little differences)
I just did and on low usage the values do not have the same values (39%µ and 35%) however, with high usage they get set to the same exact values. Here is a log where you can observe the values being the same
Since you didn't limit them they should be set high (and possibly to the same value) if your thermal zone is above target.
So, this fan "jojoing", is it happening after a 'normal' boot or after suspend? I noticed simillar behaviour after suspend from time to time. Did you try to restart pyfan?
Does this mean I need to tweak the PID values? And if so, what can I try?
You can try lowering the differential part (d), for example to 1, and see if that changes anything.
I notice the RPM is almost exactly the same for fan2 and fan3 but shouldn't it be different because of the different min value set for pwm?
Did you look at debug output to confim pyfan is setting them to the same values? Normally each fan should be treated differently, so if they are not that's a bug and we should fix it.
Done, please have a look. I'm no expert in PID control mechanism, but I tried my best.
If you feel something is not quite right I'm happy to accept a pull request as well.
I agree the sample config is little documented. I'm gonna revisit that and add comments.