Most likely, it is out of adjustment or it got corotted with water. Any water on it will get inside and corrode the contacts. To see if it is out of adjustment, pop the cover off. When it is at idle, the center and right contacts should be touching. If not, gently bend them until they are. Have someone hold the throttle just over 1400rpm and lossen the two screws that hold the hold the tps on and rotate the tps so that the middle contacts just break away from each by a hair and then tighten the two screws and put the cover back on. Your tps should be now set.
In the case of dirty or corroted contacts, again, pop the cover off and spray the contacts out with contact cleaner and that should solve the problem.