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

@Ron - Being fixed to Celsius is what I was starting to lean towards, except that one of the remote codes that worked for Off and Heat mode but not switching to cool mode actually displays in Fahrenheit.
I will definitely try the learning route and see where that leads. I appreciate the great info and the great work with the device handler improvements for the ZXT-120.

Hmm…That leans toward the codes being fixed to one temp class or another. I really wish the company documented the codes better.

Since my unit doesn’t display it’s current setting I have no real way to debug this issue. I see some potential issues in the code. For example reviewing the code again just now I notice that state.scale is never set so it will always be null, But null defaults to Fahrenheit so not sure why this would lead to celsius default you are seeing.

Can you provide more detail on what is happening. I think you are saying you set temp to some degree setting in Fahrenheit using cool/heat sliders, then select Cool or Heat. But unit is then reporting a temp in Celsius. Is the temp the correct temp which corresponds to the setting you issued in Fahrenheit ? You are saying some codes report back in F and some report back in C ? That seems to suggest no a coding issue. Strange behavior. If you send me an example send the log messages that correspond to the actions also. Maybe I can find a bug if there is one.

I have been really wanting to use the learning mode on my Split System because I have always wondered what it is “really” sending to my units since many of the codes work but there are minor issues in behavior (fan not as strong etc) When I control my unit with the actual remote it works better. That said. The code I use for my unit works pretty well so I have had little incentive to start messing with it. It simply isn’t broken for me :slight_smile:

I was unable to recreate the scenario with the remote codes where one seemed to be fixed to Fahrenheit. I think I must have had the physical remote on during my initial setup and it may have interfered as I have timer mode enabled on it.
As for the sliders in the app in Fahrenheit and selecting heat or cool the unit does report the correct temperature in Celsius.

I’ve installed the latest update of the device handler. Time permitting this weekend I will test the learning mode and capture the logging.

just scanning this thread as I bought a ztx-120 (haven’t used it yet, but seemed like a cool toy for future use).

took a quick peek at the device code to check the whole C/F thing, this may nor may not be helpful but this is what i"m seeing in it:

// Send temp if degrees set
if (degrees != 0 && setpointMode != null) {
log.debug "state.scale=${state.scale}"
def deviceScale = state.scale ?: 1
log.debug “deviceScale=${deviceScale}”

state.scale is set to a default of 1 using the “elvis operator” in groovy (if it’s null it will be set to 1).
the temperature is then converted based on the local temperature for the hub:

Either way don’t think it’s part of the device handler.
I checked in an online manual:

and saw this guy:
The remote controller is set from factory to display temperatures in°F. If°C is desired, turn
the remoteOFF and then press “MODE“ and “––” buttons on the remote simultaneously.

That would mean they have 2 sets of RF codes, one set for F, one for C. Looks like you are going to be working with learning the F codes.

Just a quick question because it isn’t exactly the main use case being outlined here, but does anyone intimately familiar with this device know if it could be utilized for a space heater with SmartThings? Namely, one with an IR remote on it?

How flexible is the learning process on it, etc? Most of the functionality of the device type mentioned here would be unnecessary. Really just care about on/off for the most part.

Been exploring building my own IR blaster talking to an Arduino which would somehow need to talk to ST but if this gets me there, it’d save a lot of hassle.

@bmmiller I use mine at work with my dyson heater/fan to do exactly that. So the easy answer is yes it works. If you use my DH it has learning built into it. Just set your remote code to 000 and configure, then use the learning slider to select the learning position you want to program and select “learn” the unit will flash once and you press the remote for the code to be learned while aiming at the zxt-120, it should flash twice for success and 4 times for fail. If it fails just try again.

I have found for some reason the remote code just stops working. I have to relearn every once in a while. I don’t know if it’s some weirdness with the Dyson or an issue with learning. I only have to do it once in a while but I have not figured out what makes it forget the learned code.

If your heater has a discreet on and off command then you could program one of the temps to on and then program “off” and it should work.

What I did was a little tricky though because there is no discrete on/off. So I added a zwave smart switch to the mix.

To turn off my heat I turn off the smart switch.
To turn on my heat I turn on the smart switch, I then created a “smart lighting rule” to “turn on” the zxt-120 when the smart switch is turned on. The DH is currently set to issue a cool command when “on” is selected. You can change that to heat or just teach your heaters code into one of the cool settings. I just taught my zxt-120 that “cool 79-80” degrees" = code for my dyson “ON” command.

On another note, at home I decide I didn’t want this complication so I bought a space heater with a manual on/off so I could simply use a smart switch. This one works great. https://www.amazon.com/Vornado-VMH300-Whole-Metal-Heater/dp/B01J664WLQ/ref=sr_1_17?ie=UTF8&qid=1491250796&sr=8-17&keywords=vornado+heater

Given that this heater cost almost the same as the zxt-120 it might be a better solution.

@Ron Thanks for the response!

The heater we have is actually this: https://www.amazon.com/gp/product/B00F0R6TLM

It does have a discrete on/off button locally and on the remote so I’d hope to utilize that. There is temp control but it is in a basement and it never really reaches temp. We only turn it on when we go down there so the goal is to be able to remotely turn it on ahead of time but also make sure it is off at the end of the night in case we forget to turn it off.

The first thing I tried was a smart switch but unfortunately, after power is removed, the ‘on’ button must be used to turn it back on, it doesn’t return to its last state. Probably a safety feature.

I looked on their Code list and didn’t see Honeywell so wasn’t sure what to think there. Don’t see Dyson either like yours so that’s probably a good sign that their list isn’t comprehensive.

@bmmiller, their list is for “preprogrammed” codes. Learning is for anything else.

As long as the heater uses IR and not RF and the IR commands for on/off are just single IR commands it should work.

Remember to place the zxt-120 into continuous FLIRS mode (listed in the manual) BEFORE you include. Most common issue I have when helping people is they didn’t do this. Also plug the zxt-120 into a usb charger. It just works better this way. I had issue with batteries at first, I am not sure it likes continuous mode when using batteries.

Nice IR heater BTW

@Ron Funny enough, the outlet the heater already plugs into has 2 USB ports for phone charging on it. Can pretty easily conceal the USB cord tie wrapped around the existing power cord and dangle this somewhere to hit the IR receiver.

I’ll give this all a try. Thanks for the help. I’ll be back :wink:

@Ron The manual lists FLIRS mode as something generally used for battery operation and Always Listening for wired operation. What’s the reasoning behind using FLIRS if I plan on plugging in?

It also then states default mode is FLIRS so unless specifically changed, it should already do what you recommend?

EDIT: I read up to other parts of the thread. I think we’re just using FLIRS generically as Always Listening looks to be what I want.

EDIT2: If I have a single button that turns the heater on and off, a toggle, how would I go about utilizing the DTH? Would I program that to ‘0’ and ‘1’ and then hitting the green “Off” button should turn it on and off? I ask because that’s my assumption and it doesn’t seem to work, even though I seem to be learning the button okay.

I guess I mis-communicated. I was saying to put it in “Always Listening” Mode. Your first edit is correct.

If you don’t have discreet on/off then you can’t program on and off. They would just send the same signal and you would have no way to know if they were in sync.

I have a heater with this issue. So what I did was add a smart meter switch. So to turn OFF I just have SmartThings shut off the smart switch. Then to turn on I turn on the smart switch and issue the “on” command which I have programmed using learning.

You originally said you had discreet on/off.

I am guessing you didn’t realize discreet on/off means there is one button and IR signal for ON and another button and unique IR signal for off. If you have one button used for both on/off that is NOT a discreet on/off button remote.

I should be able to program the same IR code to off AND on though was my point. It is essentially a toggle. I wouldn’t need the device type handler to know if it is on or off, I would use something like a meter switch to report as status for a virtual switch I code up custom.

It sounds like the device handler has code in it that needs to know off or on status so I might tweak it a bit for my purposes.

@bmmiller Of course the DH knows it’s current state. That part of the point of the DH. Consider the DH shows the current state, so how will this work if you don’t know the current state? To do so it must maintain the state. If you plan to use an outside device to determine state then the DH can never display ON or OFF.

I have explained this part before but keep in mind ON was implemented as part of adding switch capability so it’s not a default part of a thermostat capability. Off is mapped to issue off but ON isn’t mapped to the ZXT-120 in the DH it’s mapped setModeCool (just my choice). I never tried mapping ON to the ZXT-120 continue which is likely what you are trying to program.

I mentioned on our PM conversation that I mapped ON to setModeCool and that I just program my ON command into Cool 80 degrees and set my temp to 80.

Anyway I understand you issue but there are many ways to solve and I don’t completely know how you are trying to implement this. So Good luck with your solution :slight_smile: you probably need to alter the DH to meet your specific plan.

Finally I can tell you that my AC unit at home gets out of sync with the ZXT-120 because you can control it via SmartThings or using the remote. So it DOES work fine to issue ON (which sends setModeCool) which puts the device in “COOL” mode. Turn it off with the AC remote (DH still maintains state of COOL even though it is really OFF) then issue a ON command again and it works. So I don’t know what isn’t working for you. Perhaps you need to explain your test and what you expect vs what is happening.

Not a problem. I’m almost complete. Ripped out most of what makes it fancy, but it’s just a space heater, not an AC unit. Yes, I was trying to map on, to on. I wouldn’t have guessed that it was set to setModeCool, but i guess that would make sense for an AC unit.

There is no point in trying to maintain state in my use-case if my unit has no way of communicating back. As soon as someone pushes the on button locally, all is lost. The issue with the previous DH was that it was sending all sorts of unnecessary codes for my use-case and then in addition, relying on state before sending codes I needed it to send. When I tried to do anything with “tricking” it to use setpoints to turn it on, it would send several commands in series turning the unit on/off/on/off, etc. Every time this happened I cringed thinking about the components being short cycled repeatedly.

The learning mode was still very much needed so thanks for that!

The next step will be to combine this with a smart meter and merge the two physical devices into a single virtual device. If the meter reports any sort of power draw (wattage), it’ll indicate the unit is on, and provide the status for me. :slight_smile:

Now technically, my remote does do other things. There’s a setpoint adjust and continuous mode, but we never use these. Even if we did, I’d just have SmartThings shut it off when it reached temp now anyway so all I need integrated is on/off.

1 Like

Hi… I just bought Remotec ZXT-120US (BW8377US) to control my AC Panasonic model CS-PC18NKP through my ST Hub, I did all the below steps, but still it doesn’t work, even can not turn off or turn on my AC:
(sorry, I am not a developer)

  1. Created/added a new device (in my device handler)
  2. Copied and pasted the following code:
  1. Saved it
  2. Added the device (as thermostat) on my ST Hub, and pressing the program button through my smartphone, and recognized as ZXT-120 IR Sender.
  3. I tried all the remote code list for Panasonic (v.1.5), but it doesn’t work. The LED on the ZXT-120 flashes every time I presses the ON/OFF the ST Hub through smartphone, but no response on my AC.

Could anyone help me how to fix this problem? Or I am missing some step?

Thank you,

Susena

Did you put the IR sensor into always listen mode before joining it to SmartThings?

Is it on power or battery?

@Eric, I set the ZXT-120 into always listen before joining it to ST, and the IR sensor is on wired/power, but still doesn’t work at all. I tried all the remote code list for Panasonic but still doesn’t work. I will use the learning mode by using the original remote control, but I don’t know how to program the ZXT-120 through learning mode.

anyone can help?

Regards,

Agus Susena

Have you used this code list?

@Eric, Yes I did but still no response on my Panasonic AC.
Is there any way I can program my ZXT-120 on learning mode (learning from my original remote)?
I cannot find this feature here…

Agus Susena

@ Eric,

Please find below my set up and how does it look on my apps: