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

Wow thank you for the quick response, I am using it on Hitachi units mounted in the ceiling I used to have the the two working in the living room with two separate IR device codes. I have the lists of codes but can not which two they are.

I will need to try each of the codes to find the right ones to use. The strange thing in the the smartthings app with your code as the device handler the code seems to be set arbitrarily config# 120 this not the one of the IR codes for Hitachi but it will but the cool, heat and off settings work?

As far as getting the the current temp from the ZXT-120 I did not think this was part of the IR setup as the as the unit has a built in thermometer I used to access from a JSON file on my old system like this:

var inTemp = parsed_json[“devices”][“7”][“instances”][“0”][“commandClasses”][“49”][“data”][“1”][“val”][“value”];

This would return the current temp from the ZXT-120 and I could display the value in my custom html control system.

When I look at the logs its something like this: (Sorry for the giant log!)

f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:48 AM: warn parse called generating null map…why is this possible ? description=zw device: 11, command: 4303, payload: 08 01 18
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:48 AM: warn Setpoint Report for Unknown Type 8
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:48 AM: info RRG V1 ThermostatSetpointReport cmd=ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 0, scaledValue: 24, setpointType: 8, size: 1, value: [24])
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:48 AM: info Parsing Description=zw device: 11, command: 4303, payload: 08 01 18
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:47 AM: warn parse called generating null map…why is this possible ? description=zw device: 11, command: 4303, payload: 02 2A 02 A8
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:46 AM: debug Thermostat Setpoint Report for reportedCoolingSetpoint = 68.0 forcing state change true
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:46 AM: info RRG V1 ThermostatSetpointReport cmd=ThermostatSetpointReport(precision: 1, reserved01: 0, scale: 1, scaledValue: 68.0, setpointType: 2, size: 2, value: [2, 168])
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:46 AM: info Parsing Description=zw device: 11, command: 4303, payload: 02 2A 02 A8
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:44 AM: warn parse called generating null map…why is this possible ? description=zw device: 11, command: 4303, payload: 01 01 17
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:43 AM: debug Thermostat Setpoint Report for reportedHeatingSetpoint = 73. forcing state change true
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:43 AM: info RRG V1 ThermostatSetpointReport cmd=ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 0, scaledValue: 23, setpointType: 1, size: 1, value: [23])
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:43 AM: info Parsing Description=zw device: 11, command: 4303, payload: 01 01 17
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:41 AM: debug Parse returned [[name:swingMode, value:off, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved swing mode is off]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:41 AM: debug Parse map=[name:swingMode, value:off, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved swing mode is off]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:41 AM: debug reported swing mode = oscillateMode
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:41 AM: info Parsing Description=zw device: 11, command: 7006, payload: 21 01 00
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:39 AM: debug Parse returned [[name:tempOffset, displayed:false, value:0, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved temp offset is 0]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:39 AM: debug Parse map=[name:tempOffset, displayed:false, value:0, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved temp offset is 0]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:39 AM: debug reported offset=0
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:39 AM: info Parsing Description=zw device: 11, command: 7006, payload: 25 01 00
3cc7b227-7c86-4058-b834-ccc8481df452 11:47:36 AM: debug params: [ts:1465180686223, stateID:1465035848000, _:1465178545831, access_token:XXX-XXX, appId:3cc7b227-7c86-4058-b834-ccc8481df452, param1:ping, action:[GET:executeSmartAppGet, POST:executeSmartAppPost, PUT:executeSmartAppPut, DELETE:executeSmartAppDelete, OPTIONS:executeSmartAppOptions], controller:smartAppApi]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:36 AM: debug Parse returned [[name:remoteCode, displayed:false, value:120, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved remote code is 120]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:36 AM: debug Parse map=[name:remoteCode, displayed:false, value:120, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved remote code is 120]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:36 AM: debug reported currentConfigCode=120
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:36 AM: info Parsing Description=zw device: 11, command: 7006, payload: 1B 02 00 78
9de1b19c-8598-444e-b131-0323c0e9a9cc 11:47:36 AM: trace getPhrases(), state.welcomeIssue = null
9de1b19c-8598-444e-b131-0323c0e9a9cc 11:47:36 AM: trace getPhrases(), state.welcomeIssue = null
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:33 AM: debug Parse returned [[value:fanAuto, name:thermostatFanMode, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved thermostat fan mode is fanAuto]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:33 AM: debug Parse map=[value:fanAuto, name:thermostatFanMode, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved thermostat fan mode is fanAuto]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:33 AM: debug Fan Mode Report=null
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:33 AM: info Parsing Description=zw device: 11, command: 4403, payload: 00
3cc7b227-7c86-4058-b834-ccc8481df452 11:47:33 AM: debug params: [ts:1465180686223, stateID:1465035848000, _:1465178100778, access_token:XXX-XXX, appId:3cc7b227-7c86-4058-b834-ccc8481df452, param1:ping, action:[GET:executeSmartAppGet, POST:executeSmartAppPost, PUT:executeSmartAppPut, DELETE:executeSmartAppDelete, OPTIONS:executeSmartAppOptions], controller:smartAppApi]
9de1b19c-8598-444e-b131-0323c0e9a9cc 11:47:33 AM: trace getPhrases(), state.welcomeIssue = null
9de1b19c-8598-444e-b131-0323c0e9a9cc 11:47:33 AM: trace getPhrases(), state.welcomeIssue = null
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:32 AM: debug Parse returned [[value:cool, name:thermostatMode, isStateChange:false, displayed:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved thermostat mode is cool]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:32 AM: debug Parse map=[value:cool, name:thermostatMode, isStateChange:false, displayed:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved thermostat mode is cool]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:32 AM: debug Thermostat Mode reported : cool
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:32 AM: info Parsing Description=zw device: 11, command: 4003, payload: 02
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:29 AM: debug Parse returned [[name:battery, value:100, unit:%, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved battery is 100%]]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:29 AM: debug Parse map=[name:battery, value:100, unit:%, displayed:false, isStateChange:false, linkText:ZXT-120 IR Sender Improved, descriptionText:ZXT-120 IR Sender Improved battery is 100%]
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:29 AM: debug Battery Level Reported=100
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:29 AM: info Parsing Description=zw device: 11, command: 8003, payload: 64
3cc7b227-7c86-4058-b834-ccc8481df452 11:47:29 AM: debug updating TS
3cc7b227-7c86-4058-b834-ccc8481df452 11:47:29 AM: debug event from: ZXT-120 IR Sender Improved, value: 73, source: DEVICE, description:
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:29 AM: warn parse called generating null map…why is this possible ? description=zw device: 11, command: 3105, payload: 01 01 17
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:28 AM: debug Sensor Reporting temperatureName ZXT-120 73°
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:28 AM: debug SensorMultilevelReport reporting…cmd=SensorMultilevelReport(precision: 0, scale: 0, scaledSensorValue: 23, sensorType: 1, sensorValue: [23], size: 1)
f2ae6217-8aec-4734-a8cc-45d95855cfcf 11:47:28 AM: info Parsing Description=zw device: 11, command: 3105, payload: 01 01 17

There seem to be some errors in there but I can not see it asking for the current temp, just set points and mode statuses
My last question would be where do I put my device codes, as there is nothing editable within the app? I assuming from https://graph.api.smartthings.com/device/?

Thanks for your help Ron!

John Hepburn

well I do not know what i did but look

And in the app as well… im dumfounded!

Crazy… I still am not sure where to set the IR code though?

Thanks again,
John Hepburn

John, You replies are so full of typo’s it’s really hard to read and I don’t really understand your issues.

For example “The strange thing in the the smartthings app with your code as the device handler the code seems to be set arbitrarily config# 120 this not the one of the IR codes for Hitachi but it will but the cool, heat and off settings work?”

But one think I did get was you don’t know how to configure the remote code. It’s in the settings. Just tap the Gear icon in the screen shot of the device screen you provided.

You need to configure “Remote Code”, select done, then select “configure” to set the code in the ZXT-120. It’s a pain to find the correct code for your device. I really wish the manufacturer of the zxt-120 provided a better list of codes mapped to devices, not just brand names.

I am not sure which version of my code you are using but I would suggest this version.
https://raw.githubusercontent.com/gouldner/SmartThingsPublic/master/devicetypes/gouldner/zxt-120-ir-sender-improved.src/zxt-120-ir-sender-improved.groovy

Sorry about all the typos, I live in Tokyo and it was early, I guess i need more coffee before typing! Sorry for that.
That is the version of your code I am using. My original problem was that I could not get the current temperature from ZXT-120, but it all of a sudden started working.
Working through IR codes now.

Again thanks for the help!
John Hepburn

Did you set the flirs mode to constant ? It also works best plugged in, not on batteries.

Also keep in mind the ZXT-120 doesn’t post the temp ever, it needs to be polled and Polling is seriously broken in SmartThings. I don’t the temp reading on my ZXT-120 for these reasons. I use a Fibaro Motion Sensor as a temp montitor because it updates automatically. Most motion sensors and multi sensors work better.

No worries about the typos, just wanted to tell you I had trouble reading your issues so difficult to help.

Ah that is good to know,
I used to poll it every 30sec on my old raspberry Pi system. I was poking around looking for how to set the polling interval, I’ll stop now. Not sure where to set flirs mode, or really understand what that does! I do have it plugged into power continuously.

I’ll look into Fibaro Motion Sensor as a temp monitor and see if that works.

It’s amazing to how much stuff is broken in Smartthings, and supported devices do not even work! Oh well they will keep trying!

Thanks,
John Hepburn

Ron, everything is working now with the exception of the temperature. It does give a me a temp but it can’t be right (off by at least 10 degrees). I did order an Fibaro Motion Sensor for temperature monitoring. It will take a while to make it to Tokyo, so in the meantime I will try to learn more about groovy code. I know Javascript, html and css but the smartthings api is very new to me.

I was wondering if you use Fibaro data to populate the temperature field in the zxt-120 dashboard on the smartthings app? So that you can use it as an actual thermostat?

Oh and I had had to re read the zxt-120 manual about the flirs mode and it I set it to constant.

Thanks for all your help.

John Hepburn

@John-h you could use the temp offset in preferences to adjust for the 10 degrees as long as it seems constantly off or you could just adjust your smart app settings to account for the 10 degrees.

Glad you found the flirs mode in the manual, I was going to point you to the section. The annoying part is having to exclude the device to change the setting.

Yea, I have actually given up hope of them fixing things. I have too many issues which have been broken for over 2 years and may issues which have been fixed only to return a few months later. Unfortunately I have not found a good replacement for SmartThings yet but I am looking.

Hi, I am trying to get the ZXT-120 working Friedrich split unit air condition.
Did anyone else have an issue getting smartthings to update the remote code, when I change the remote code, press done and the configure button, it still shows the old remote code, if I try again 20 minutes later it does update.
I have am using a Galaxy Note 4, not sure if it the phone or a smartthings issue.

Also the Cool, dry, and off button don’t seem to press, no indication or blink when it is pressed.
Law, Med, High, auto, swing on, swing off, highlight indicating they are being pressed.

Are you sure you have it in constant flirs mode ? If not the device only listens for commands periodically and config will not work.

Check the manual for how to configure this. It can’t be included on your hub to change this mode so you will have to uninstall any smart apps, exclude, change mode, include, re-install apps.

Thanks Ron you are a Genius working now, I was going to use it in battery mode so I left it on default mode, once switching it I was able to set the IR code and figure out which one works.

I still need to decide if I will keep the smarter things in my house or switch to the Vera I have in my vacation home, I think it works better on the Vera.

@nysolutions Does the zxt-120 work on the Vera ?

I used to have a Vera Lite but it was a battle getting things to work on the older firmware and the newer firmware was horrible at the time. That made me switch to SmartThings but the way smart things is going I am looking for a new device.

Unfortunately SmartThings is the only one that works with my Amazon Echos.

I am toying with the idea of letting SmartThings have nothing but virtual buttons which fire an ifttt event and then let ifttt fire a vera (or other device) event.

I bought into the Animus Home but it’s still vapor right now. I am supposed to get it next month but not holding my breath on that one.

I did play with http://www.openhab.org/ a bit which is very nice, however I did not have the time to integrate all my stuff.

Hi all. Am a total dumb dumb. I bought the zxt and have smart things. When I connect all it shows is the temp on my smart things app.

How do I enter this code??? Do I have have to connect the ir blaster to the PC and copy paste? Do I need to DL any additional apps on smart things.

Thanks in advance sorry for being so lame

Adam

This code doesn’t install into the zxt-120. It’s all in SmartThings servers.

You need to install the device code using the IDE and then alter your ZXT-120 to use that custom installed device code.

Smart apps for the device are also installed using the IDE and then installed/configured in the mobil app.

Checkout this FAQ but resident export @JDRoberts

OK thank you that helped a lot making me understand.

So for this particular device I did the following:

Signed into my account.

I add this code of the IR blaster as a device handler. I published to self.

When I go in snartthings and market place I can’t find my smartapps

What am I doing wrong???

OK figured out how to add it to the zxt now how do I add the code for my ac?? Or would it already be there do I have to change it in the code

You select the device in the mobile app, select the settings menu, then enter the configuration settings including the code for your AC unit.

Then you have to return to the device page, press the configure icon to send the new settings to the device.

The zxt responds with its new settings so the code you entered should display in the current code tile on the device page. If it doesn’t try pressing the button on the zxt and a red light should flash, then press configure tile in the app again to try setting while the zxt is awake.

Hopefully you read this thread and configured the correct flirs mode before including the device. If not you need to exclude it change the mode and then include again and change the device code to your published version.

Greetings Ron. I have tried to publish your device handler ZXT-120 IR Sender improved and got the multiple error as in the below image. Your help is highly appreciated. Please note I know nothing about coding.

logo
×
× startup failed:
script1473137252764922328090.groovy: 71: Repetitive method name/signature for method ‘java.lang.Object off()’ in class ‘script1473137252764922328090’.
@ line 71, column 1.
def off() {
^

script1473137252764922328090.groovy: 86: Repetitive method name/signature for method ‘java.lang.Object off()’ in class ‘script1473137252764922328090’.
@ line 86, column 1.
def off() {
^

2 errors
File Explorer
css
i18n
images
javascript
src
views
zxt-120-ir-sender-improved.groovy
ZXT-120 IR Sender improved SavePublishIDE SettingsDevice Type SettingsSimulator
1
/**
2

  • ZXT-120 IR Sender improved
    3

4

  • Copyright 2016 Roland Goulnder
    5

6

  • Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except
    7
  • in compliance with the License. You may obtain a copy of the License at:
    8

9

  •  http://www.apache.org/licenses/LICENSE-2.0
    

10
*
11

  • Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
    Device Handler Templates

Looks like you pasted the lines numbers with the code.
Also make sure you are pasting to devices and not smart apps.

Use raw view to get the code without line numbers
https://raw.githubusercontent.com/gouldner/SmartThingsPublic/master/devicetypes/gouldner/zxt-120-ir-sender-improved.src/zxt-120-ir-sender-improved.groovy

Read through this thread there are tips on how device types are installed, how to configure code etc.