Trane XL624 / Generic Zwave Thermostat

I just wanted to share, I adapted the modified code that TWACK and a few others seemed to have contributed to and added humidity, and automatic clock setting to his code. If you don’t at least trap for the humidity in the other code examples on the Trane thermostat, they incorrectly report as a temperature. Don’t know it that is the case for others as well. That is fixed in this, added a tile for the humidity to be displayed, as well as the setting of the clock, which I thought was awesome. Enjoy everyone!

GitHub Code Link

1 Like


When I try to add this code I get the following errors.

Org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: script14392963005121257422824.groovy: 19: unexpected token: Thermostat @ line 19, column 27. definition (name: “Zwave Thermostat Plus”, author: "") { ^ 1 error


Are you using the XL624, or another model? I’m on my way to work at the moment, but will double check the code base for you shortly.


I see what happened. A syntax error developed upon copying the code to github. I’ve fixed it and updated the code on github at the original link. I’ve also tested it with my thermostat. Please let me know if it works ok for you.


Quick question. When you first paried the thermostat and were using the generic device profile, were you able to see data? For some reason when I paired mine i dont see any data. Its just blank. I will apply your new code. I applied TWACKS original and had the same results tho. No data showing up. I was under the impression the XL624 was not compatible.

When I first paired it, I was getting data, however, it was wonky as the XL624 reports humidity also which TWACKS reported as a conflicting temperature. That was actually the major driving force in me modifying the TWACKS code, as well as setting the date/time on the thermostat. Try the new code and let me know if it starts reporting correctly. I’ve been using the XL624 for about 6mo with the code and haven’t had any issues. I’ll help you any way that I can however.

Just applied it and still not getting any data. Im going to unpair/repair when i get home today to see if that helps. Your code did apply however. Hope i didnt get a bunk tstat. It was acting funky yesterday cooling down the house after the install. i think i need to configure a couple things still.

I did factory reset the thermostat before I paired it, I don’t know if that aided me without me knowing it or not.

Ill unpair it, factory reset it, then repair it and see if that works. Thanks for the assist! Ill let you know how it works out. At least i know the panel is compatible now though.

ok I factory reset it and readded it to my mesh. everything works fine except the thermostat itself. have you ever had any issues with it not going below 74 degrees?

Its like it is always 1 degree higher than what I set it at…if I set it at 74 its at 75 if I set it at 76 its at 77. doesn’t make any sense because that makes it always run…

That is really odd, do you mean that on the thermostat when you set the setpoint to 74, it shows 75 as the setpoint or the ambient never reaches 74?

Like if i set the thermostat at 74, the ambient will always stay at 75. if i set the thermostat at 75 the ambient will always stay at 76. I tried adjusting the sensor down -1 but it just ends up being really hot in the house. Either way it doesnt act right. When i re-added it to zwave i was able to see the temp and setpoints on smart things. but i was not able to make any adjustments.

Hi There,

I realize this is a very old link but hoping someone could help me with this thermo :slight_smile: When I try and copy the code in the github repo i get the following error:

No signature of method: script14832973793001591949174.metadata() is applicable for argument types: (script14832973793001591949174$_run_closure1) values: [script14832973793001591949174$_run_closure1@6d10b3cb] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)


Hi @FizzaFarian, make sure you’re creating a Device Handler, not a Smart App.

It is old, but I still use it everyday. As someone else said, make sure your creating a device handler then assigning it to the already joined thermo. If you need any help, I’ll make myself available.

Justin i have been using this and it works great once i adjusted my time zone to the correct one. I am still new to the ST* stuff but is there a way to add in the schedule mode? I know the options are run, hold, esm. I am still using the 7 day scheduler for the time being for everyday use but wife uses the ST to bump the temp up or down as she sees fit. This puts the thermostat into temporary override mode, to get it out of temp override mode you either wait till the next scheduled change or you hit the schedule button until it cycles back to run (three times). I was wondering how hard it would be to add the schedule option in and when you call for it to run it would return back to the scheduled temp. That way if she had it in temp override mode i could trigger it to return to schedule if she left.


I’m curious if anyone has added the outdoor temp sensor to their Trane (and this code)? I added the sensor the other day and enabled the functionality on the thermostat, but haven’t figured out how to get it to appear in Smartthings.