1994 toyota truck idling issue

My 94 truck (Toyota 6 cylinder 3VZ engine) is currently idling at ~2000 when I first start the engine. After warming up or driving for a substantial amount of time, this eventually drops to ~1000-1100.

I had the throttle body removed and cleaned (twice). This stopped some up-and-down revving which was happening, but not the high idling.

This is a relatively recent development, and I’ve gone to 3 mechanics AND the dealer, all of whom say, ‘it’s fine’. They say it should run ‘a little higher when it’s cold’. I think some of these assessments were based on the simple lack of engine error messages (no codes from the computer = no problem).

I admit that I’m no expert, but I’ve had the truck for a decade; I know what’s ‘fine’ and what’s not. The usual idle was ~800 (in agreement with specs) and I’ve driven this truck in temps down to -30F. It has never idled this high before.

Since it gets close to normal RPMs after warming up, I don’t want to turn the idle adjustment down. I moved from a very cold, very dry climate at 6000 ft to a very wet, moderately cold climate at sea level - is there some other adjustment I need to make? Or is it normal for this engine to run so differently in these two climates? I’m at the end of my rope since no one thinks it’s a problem except me. Any suggestions would be appreciated.

One of the primary inputs to the computer when starting a cold engine is the coolant temp sensor. Depending on the signal from this sensor is what dictates the engine RPM’s at a cold start. This done so the engine heats up as fast as possible to help reduce emissions.

These coolant temp sensors can fail where they send a signal to the computer indicating the coolant is colder than it actually is. This can cause a higher cold start idle than required.

A quick way to check for a defective coolant temp sensor is, connect a scanner that can do real time monitoring. With the engine cold, not running, measure the output signal from the coolant temp sensor relative to the ambient temperature to see if the readings match.