I have been working on the same setup with the CT-80 thermostat which is pretty much the same as yours, here are some of my configs.
items:
Group gSF_HVAC "" <temperature> (gSF)
Number SF_HVAC_Temp "Temperature [%.1f °F]" <temperature> (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACTemperature.js)]" }
Number SF_HVAC_Humidity "Humidity [%.2f %%]" <temperature> (gSF_HVAC) { http="<[http://192.168.1.11:80/tstat/humidity:60000:JS(getHVACHumidity.js)]" }
Number SF_HVAC_Cool_SP "Cool Setpoint [%.1f °F]" <temperature> (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACCoolSetPoint.js)]" }
Number SF_HVAC_Mode "" (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACMode.js)]" }
Number SF_HVAC_Fan "The Fan is [MAP(hvacFanState.map):%s]" <temperature> (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACFanState.js)]" }
Number SF_HVAC_FanMode "The Fan is [MAP(hvacFAnMode.map):]" <temperature> (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACFanMode.js)]" }
Number SF_HVAC_State "The system is [MAP(hvac.map):%s]" (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACState.js)]" }
Number SF_HVAC_Status "The system is [MAP(hvac.map):%s]" (gSF_HVAC) { http="<[upstairs_thermostat:60000:JS(getHVACStatus.js)]" }
Sitemap:
Frame item=SF_HVAC_Temp label="Thermostats" {
Text item=SF_HVAC_Temp label="Upstairs [%.1f F]" {
Text item=SF_HVAC_State
Text item=SF_HVAC_Humidity
Setpoint item=SF_HVAC_Cool_SP label="Cool Set Point [%d F]" icon="temperature" step=1
Switch item=SF_HVAC_Mode mappings=[0="Off", 1="Heat", 2="Cool", 3="Auto"]
Text label="More Settings" icon="settings" {
Text item=SF_HVAC_Fan
Switch item=SF_HVAC_FanMode label="Fan" icon="settings" mappings=[0="Auto", 1="Circulate", 2="On"]
}
}
}
Transform Javascript :
I decided to put these outside the items so I could resue them. There are more, but you get the idea.
getHVACFanState.js
JSON.parse(input).fstate;
getHVACTemperature.js
JSON.parse(input).temp;
getHVACHumidity.js
JSON.parse(input).humidity;
getHVACState.js
JSON.parse(input).tstate;
Map File to translate heating and cooling and others
hvac.map
CLOSED=closed
OPEN=open
undefined=unknown
0=Off
1=Heating
2=Cooling
End Result
Next steps for me are to have OpenHab figure whether we are heating and cooling and show the correct set points.