I do not want to step on this topic, but @craig, I have done that. It is two apps to control the thermostat.
One to control setpoints via virtual dimmer switches or my virtual momentary dimmer.
I have another one that sets thermostat mode [HEAT/COOL/AUTO/OFF] and thermostat fan [AUTO/ON]
There is a virtual switch for each mode and one switch for the fan. They work with the Echo. Only the thermostat fan is unusual in Echo request since Auto = Off, but On still equals On.
Thermostat Setpoints using Virtual Dimmers-GitHub @tomagoes
Thermostat Mode-Fan:V-Switches-GitHub
Thermostat SmartApps that uses Virtual Switches to control Mode/Fan/SetPoints