Wimpy Heat
Welcome to a great site; lots of info here.
Three likely causes; bad ambient or interior temp. sensor, clogged heater core or stuck temperature door. They're easiest to fix in that order.
A bad ambient (outside) air sensor can cause low temperatures. To test, set the temp control as high as possible. If you get heat, replace the ambient sensor that's located in front of the lower passenger side of the radiator.
The heater core can be flushed reverse/forward with a garden hose. Use limited pressure as the core only sees 15-18psi in normal use. Also there's a 'flow control' in the line to the core that restricts flow at high revs. That flow control is plastic, black, about 2" long and located in the heater line below the black pressure tank, just in front of the firewall. It's a good place to disconnect for flushing. Flush or replace the flow control too (<$15 at the dealer). Take the heater lines loose somewhere other than right at the core as it's really easy to damage the core by pulling on the nipples. And don't get water on the optispark that is located below the water pump.
The temperature door can be seen by removing the module that's mounted on the blower housing, just forward of the firewall. Observe the door's motion by watching while a helper adjusts the heat. Booger to get to if it's broken. Use search above or an FSM (red, two volume factory service manual ~$100 on fleabay or ~$135 new from Helm Inc.)
A more remote possibility is air debris blocking flow thru the A/C evaporator. Not likely if you get good A/C.
Windy but hope is helps.