[RELEASE] Remotec ZXT-120 AC IR Controller (2015)

@Ron thanks alot. Will try


Not sure if this is even possible, but can the zxt-120/device handler pull the temperature, fan setting, swing etc, info directly from the AC. For instance, sometimes I just use the ACs real remote to turn on the ac and set the temperature. It would be nice to get those changes read by the zxt-120 and update smart things. Thank you! I’m not sure if you’re even getting these replies @Ron.

No it can’t do this. As I have said [quote=“Ron, post:196, topic:9902”]
zxt-120 never displays anything from the AC there is no communication BACK to the zxt-120. So simply not possible …

@ron Thank you for the reply. I totally missed your last post. It’s a bummer that I can’t really know for sure if the AC is on or off by simply glancing at smartthings. My family tends to use the ACs remote.

Something I noticed, but it could be just be with my setup. While the AC is off, changing the swing mode in smartthings, turns on the ac, but smartthings doesn’t get the info that the ac is on. I know, I know. Don’t change the swing mode when the ac is off.

Interesting, I was able to use both echo and homebridge/siri to turn on and set temperatures using your normal device handler.

I never actually tried. I was just told by someone else that they had to alter the code to make it work. Good to hear it just works now.

I cant get this install. I get the following error

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

Anyone can advice. Thanks!

Yeah. I add as a smart app, give me the error… Dunno why.

It is a device. That is why I said “first you need to install this device type”. So install as device not smart app. You can also see it is under “devices” in my repo not smart app so that is another way you can tell what it is.

Hope that helps.

Ah, sorry wasn’t paying close enough attention and thought he was asking about the smartapp you also wrote.

My bad for propagating wrong impression.

No worries, thanks for trying to help.

hi there, i see you had the same issue using Z-Wave ZXT-120… i am going crazy trying to fix this… can you tell PLEASE step by step HOW DO I MAKE IT WORK


I’m trying to get “set mode on temp” app to work. I don’t really under stand this part of it


I have a lg mini split system and it has a tendency of overcooling or overheating by 2-6 degrees from setpoint, so what i’m tryiing to do is to shut off system when temp has fallen 2 degrees from set and to turn back on also 2 degrees over setpoint. thanks for you help.

I can see why you are confused. I think I mixed them up.

Over=Heat/CoolOff, Under=Cool/HeatOff should really be
Under=Heat/CoolOff, Over=Cool/HeatOff

The idea being…when the current temp is Over the set temp you want the action to occur if you are trying to cool or stop heat. So if the current temp is hot enough then start cooling or if the temp is hot enough stop heating.

So it looks like I mixed up the wording in the preferences but the code is still correct. It behaves as you would expect. I have a hard coded “threshold” of one meaning the temp needs to exceed by 1. So if you want it to start cooling at 80 degrees then it needs to be 81 for the trigger.

def threshold = 1.0
	if (mode == "cool" || mode == "heatOff") {
		// air conditioner
		if (currentTemp - desiredTemp >= threshold) {

So it seems you want to change the threshold to 2 based on your explanation.

But honestly I find trying to turn the system on/off based on a 2 degree swing could harm your unit because it may turn on/off quite often. I use this turn on my split system when the house exceeds 80 degrees to keep my home (and my dogs) cool. I have the temp set to 75. So I can leave my house every day knowing if it gets hotter than 80 degrees the AC will turn on automatically. In the summer this happens every day around 2pm. In the winter this happens rarely but on a really sunny day it works.

I don’t see how this will solve you issue. You say your split gets the temp wrong by 2 degrees. So you want to turn on/off when it’s over 2 degrees. Isn’t that what the unit is already doing.

For example if your unit is off by 2 degrees and you are trying to cool your home to 75 degrees. Then the unit is often cooling to 73 degrees. If you set this to turn the unit off at 75 - 2, then it will turn off at 73 degrees which the unit is already doing on it’s own if it never drops below 73. So I don’t see the point. If you then turn it back on at 75 + 2 degrees, then the unit will remain off unit the temp reaches 77 and will then cool back down to 73. It will just keep swinging 4 degrees.

Why not just set the unit to 2 degrees higher than you want it since you know the thermostat is off by 2 degrees. So if you want 75 set it to 77 and it should just work.

BTW the temp reading of the ZXT-120 is useless because smart things doesn’t poll correctly. That’s a huge bug in their system they seem to refuse ( or just can’t ) fix. So I use a fibaro motion sensor which has a temp sensor as well. The fibaro triggers when temp changes. The zxt-120 never triggers, it must be polled. So if you were planning on doing this 2 degree check based on the zxt-120 sensor, don’t waste your time, it will never work.

UPDATE: I changed the code in my repo to the following. I hope it makes more sense.

@Ron first off - thanks for building this, I appreciate your work.

If you have a minute, can you help me with a couple of questions?

I have my ST configured in C and am receiving the temp from the ZXT in C, however the temp setting are showing F as well as the sliders.

Am I missing something?

I read the thread and was successfully able to program the ZXT using config 0, can I then switch back to the config for my unit? I though this was the case, but the DH is not sending temp commands to the ZXT.

Also, when I slide the temp the change is not reflected in the tile to the left of the slider, as you can see above.


Yes, the code has comments that you need to remove to make C work. You need to comment out the F sliders and uncomment the C sliders.

yes you can switch back but you will lose what you saved. It is one or the other.

Because you are using wrong sliders for C, see answer above.

@Ron thank you - I should of seen that, must of glanced over it.

When viewing the last reported setpoint, it is still showing F - is it as easy as changing the unit, or is there other code that controls whether C or F is sent from the DH?

valueTile("reportedCoolingSetpoint", "device.reportedCoolingSetpoint", inactiveLabel: true, decoration: "flat") {
        state "reportedCoolingSetpoint", label:'${currentValue}° cool', unit:"F", backgroundColor:"#ffffff"

    valueTile("reportedHeatingSetpoint", "device.reportedHeatingSetpoint", inactiveLabel: true, decoration: "flat") {
        state "reportedHeatingSetpoint", label:'${currentValue}° heat', unit:"F", backgroundColor:"#ffffff"

Change the unit:“F” to unit:“C” everywhere you see it and that should fix things.

I don’t test C much because I don’t use it. I wish SmartThings had an easier way to make the unit dynamic. But I am not aware of a way to do that.

Just as an information. That I have this device. I installed Google Home but I was not able to link ST Account to GH till this device was in the zwave network. I had to remove it as Google Home could not recognize it and linking process was stopped with “Connection error” message. After link process finished and added it back and it works well.

I’m need help on modifying the mode on temp smartapp. The app works great for cooling I have it set 77 cool off and 79 cool on.

Since winter is coming I want to set 2 different temps for heating depending on what time like a schedule. Let’s say at 6 am have it set at 69 heat off and 67 heat on. But when I got to sleep at around 10 pm change heat off at 56 and heat on at 54. Is this possible? Thanks.

I don’t understand what your issue is, the app works with both cool and heat. So you already got it working for cooling, just change your settings. You can install the app more than once for your day vs night settings and your winder vs summer but I would just change the config for winter vs summer.

If you still have issues please describe what you are having trouble with.

I have not tested the turn on heat much because I live in Hawaii. So if you have trouble making it work it could have bugs. Let me know what isn’t working and I can check.