Currently I’m using the defaults and the brewpi is is fridge mode with a temp of 19.4c. I only have a heater and fan in the fridge. After primary fermentation completed the ± temperatures have increased. I can see the heater continues to heat way after temperature is reached.
When you are on target, the input error is still 1.2 degrees. This is because the PID input is filtered, which creates a small delay. If you reduce the filtering on the cooler and heater PID input, it will not lag as much and will stop heating sooner.
I think 9 or 18 seconds is the right filter delay for you.
I am surprised your fridge responds to heating so slowly. Do you have the fridge sensor in air?
The response time is about 30 minutes. So your integrator time constant of 10 minutes is too fast. It will cause the integrator to try to correct a steady state error which is not really a steady state error, just a slow response.
So increase Ti to 3600, so it will increase and decrease a lot slower (an hour). Or even 2 hours.
I would set Td to 600. Set the derivative filtering to 139 seconds. With a low setting of 9/18 seconds, you will mostly see bit flips as short bumps in the derivative instead of actual rises.