HVAC IR Extender (Remotec ZXT 120) (2014)

Looks like you are correct.

New version isn’t setting it correctly or something.

I just tested changing the code and it will not work with new version but working with old.

strange because I didn’t change that.

I will try to fix this. Mean time switch to old version, change the config, then you can switch back or just stay on old version.

UPDATE: I fixed the new version…Sorry about that :frowning:

Get it here

Works great now! Thanks again.

Do I use the sliders to issue the heat and cooling? They work, but the last issued temps never change. they’re both on 75 and have been from the beginning.

The value to the left of the sliders is the current setting. However if that setting is issued to the zxt-120 then the unit will turn on. So the value is stored but not sent.
When you press “cool” or “heat” the setting is sent and the last issued value should update.

OK. Still seems to always show 75 for cool and heat. And the setting on the sliders gets ignored although the unit does turn on. Maybe the code for my Mr. Slim is different? Also, now my battery level shows 255%. It was down to about 75% this morning.

Not the code…Something is wrong with this device code.
I added the reported temp because the old code never really indicated what the zxt-120 was reporting so you know you issued the command but you don’t know if it worked.

However it seems either the zxt isn’t accepting the issue or my reporting code is wrong…

I am working on fixing this. This device code is very Beta at the moment :smile:

Update: I think it is fixed no. I need to test more but have to work on it later. Thanks for reporting issues.

It’s working better now. And the 255% battery thing was dead batteries.

Great, battery thing is interesting. I don’t run on batteries I use the USB plug. I will have to test one with just batteries and see what happening to cause 255. Hopefully I can recreate the issue.

Hi Ron,
I wanted to say thank you for all your work on this Device Type. I received two units in the mail today and was up and running in about 10mins with your code!

I am on batteries and managed to configure no problem in FLiRS mode. There is a bit of lag but it did work for me.

Sliding the temp bars doesn’t seem to do much for me at the moment - the temp to the left of the bar isn’t going low enough (stops at 24C when I want to get down to 18C!). Is that what I should use the temp offset for?

Also, if you have time, can you explain the discreet buttons? When the unit is off and I press COOL, the unit beeps twice (usual is only once when I use the remote). Is it cycling thru modes? I ask because if I turn it off when cooling and it cycles when I press COOL to turn on again, it will cycle past cool to HEAT :smiley:

It beeps twice because it sends the temp you sent first and then sends the mode. This is because I found with my Mitsubishi that if I sent the temp when it was changed with the slider it would turn the unit on. This may just be the behavior of my unit but that made me adjust my code so changing the temp with the slider only changes the value saved in the device code, then when you select the discreet cool or heat I send temp first and then heat or cool mode.

You issues with the slider are likely because I wrote my code based on fahrenheit not celsius. The range for the zxt-120 is low setting 67F to 84F or 19C-28C. My code limits the settings in this range. I am guessing the Celsius conversions are not working. I can try to fix that but I don’t use celsius so I didn’t really test that.

Hmmm. The code looks correct to me. (I have moved my code to work with the new IDE integration. So the current code which matches the old code is now here.)

The segment is coded to limit Celsius between 19 and 28 so not sure why this isn’t working correctly.

if (temperatureScale == "C") {
    // ZXT-120 lowest settings is 19 C
    if (degreesInteger < 19) {
        degreesInteger = 19;
    }
    // ZXT-120 highest setting is 28 C
    if (degreesInteger > 28) {
        degreesInteger = 28;
    }
} else {
    // ZXT-120 lowest settings is 67 F
    if (degreesInteger < 67) {
        degreesInteger = 67;
    }
    // ZXT-120 highest setting is 84
    if (degreesInteger > 84) {
        degreesInteger = 84;
    }
}

I think the issue is the sliders allow you to select the range but it doesn’t allow two ranges.

So try modifying this code

valueTile("heatingSetpoint", "device.heatingSetpoint", 
                inactiveLabel: false, decoration: "flat") {
        state "heatingSetpoint", label:'${currentValue}° heat', unit:"F", backgroundColor:"#ffffff"
    }
    controlTile("heatSliderControl", "device.heatingSetpoint", 
                      "slider", height: 1, width: 2, 
                       inactiveLabel: false, range:"(67..84)") {
        state "setHeatingSetpoint", action:"thermostat.setHeatingSetpoint", 
        backgroundColor: "#d04e00"
    }
    valueTile("coolingSetpoint", "device.coolingSetpoint", 
                   inactiveLabel: false, decoration: "flat") {
        state "coolingSetpoint", label:'${currentValue}° cool', unit:"F", backgroundColor:"#ffffff"
    }
    controlTile("coolSliderControl", "device.coolingSetpoint", 
                      "slider", height: 1, width: 2, 
                       inactiveLabel: false, range:"(67..84)") {
        state "setCoolingSetpoint", action:"thermostat.setCoolingSetpoint", 
        backgroundColor: "#1e9cbb"
    }

Change the 67…84 to 19…28.

1 Like

Hello Brian,
I have recently purchased a Smartthings hub ver 1.1
my ZXT-120 ver 1.6H is only being detected as a Z-Wave thermostat.
In “graph.api.smartthings.com” the drop-down box to change the type of device does not show ZXT-120 Thermostat as a choice.
How do i get the hub to identify Thermostat correctly?

Thank you in advance.
Tony

Did you install the code and publish if for yourself ? SmartThings doesn’t have zxt-120 by default you have to install on your own. Then it should get recognized when you install or you can change in the ide devices page.

Hello Ron
I want to no ( How can i learning the original air conditioner remote to ZXT-120 )
I wish I Find The way

@Ron thanks a million. Got this up and running with my Fujitsu Halcyon AOU18RLXFZ system in ~15 minutes.

Having this auto-turn-on/off for certain times, etc. + working with Amazon Echo + Dot devices.

@dwight Excellent ! I have 6 of these now :slight_smile:

@Ron buying my second one now that I have this working!

1 Like

Ron -

Great DTH! Thanks to you, I was able to set up my Friedrich in-wall unit working PERFECTLY in about 15 minutes - and it only took that long because there was no Friedrich-based IR codes in the code list. Once I realized that my Friedrich model was basically a re-branding of an LG model, I used the LG code of “17”.

So, in my opinion, you win the interwebs today!

Tony

PS: The last code submission (Aug. 15) fixed the slider issue mentioned in the comments above. You might want to update the version number for that code so as not to be confused with the Jan. 15 or Jul. 15 code versions that are also posted.

1 Like

The ZXT-120 seems a little expensive when comparing to the IR projects involving a NodeMCU / ESP8266 which is like $5 plus a $1 for multiple IR LEDs. Here are some projects with generic IR abilities and ST integration:

https://community.smartthings.com/t/50161?source_topic_id=1195
https://community.smartthings.com/t/47212?source_topic_id=1195

1 Like

To change the coolingStPoint, the ZXT-120 requires confirmation by sending the command for the “cool” thermostat Mode.

This was a slight inconvenience when using the device itself (having to press “Cool” button after using slider), and a major inconvenience when using CoRE (had to create a lot of extra steps) or SmartTiles (didn’t work at all).

So I just added a line of code to the setCoolingSetpoint() function so that it also called setThermostateMode(“cool”).

You can get this updated version here

1 Like

Hi, Brian, I’ve had no luck following your process. I’ve created the device, but you direct us to input a code on the ide(* Copy the contents of ZXT-120.device-type.groovy to the ide) and there is where I’ve get lost. Where’s the Ide? The only place I’ve found where to input code is on the SmartApps, and when I do input the code and try to save, this is what happens: “No signature of method: script1474151749960260510697.metadata() is applicable for argument types: (script1474151749960260510697$_run_closure2) values: [script1474151749960260510697$_run_closure2@ae2ed0c] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)” Sure I’m doing something wrong, and this is a very old trend, but … can you please help?