Getting Alexa to control a CT101 Thermostat

Tags: #<Tag:0x00007fc3e99169a0> #<Tag:0x00007fc3e99168d8> #<Tag:0x00007fc3e9916810>

I’ve successfully included a CT101 thermostat and configured my items, maps and HABPanel to control it. Everything is working great there! Now I’m trying to get things configured so I can control it via Alexa voice commands. I’ve created a thermostat group and tagged it as [Thermostat]. I’ve also added the appropriate items to that group and tagged them as explained in the docs (i.e. [CurrentTemperature], [TargetTemperature] and [“homekit:TargetHeatingCoolingMode”]). Alexa correctly responds to a request for the current temperature. But I can’t figure out how to get Alexa to set the mode.
The CT101 apparently uses numbers instead of strings for the heating/cooling mode (0=OFF, 1=HEAT, 2=COOL)…and the Homekit implementation expects the words. After reading a lot of posts, I decided that I needed to set up a proxy to handle the strings and then set up rules to translate to the numbers. But, even though I set up that “virtual” mode item (as a string type), I still can’t get Alexa to deliver the goods. She just responds with “I don’t know how to set the thermostat to that setting”.
Additionally, the CT101 has both a Heat Setpoint and a Cool Setpoint. I’ve tried tagging them both, but Alexa only adjusts the Heat Setpoint when I make a “set temperature” request. The individual setpoint updates flawlessly if only one of them is tagged.
So, after hours of fiddling with these problems, and reading a ton of forum posts, I’ve decided to ask for help. I would appreciate any direction you folks can provide!

If you haven’t already, you should try the new Alexa v3 skill. Assuming your thermostat mode item is using the ZWave binding (channel="zwave:..."), the mode mapping would default to OFF=0, HEAT=1, COOL=2, AUTO=3 and therefore, no need to specify it on your end.