How to Control IR Devices with Z-Wave

An in-depth guide on how to make your Z-Wave home automation system control IR devices / AV devices such as colored LED light strips.

A while ago, I bought a 16 foot roll of remote-controlled, multi-colored LED light strips and installed them around the edged of my TV on the back.  It came with a remote control, but I didn’t want to turn it on and off and change the colors manually.  Instead, I wanted to try to figure out how to integrate it with my Z-Wave home automation system.  I needed to figure out how to control IR devices with Z-Wave.

Demo Video

This demo video shows what I’ve been able to do with what you will learn in this article plus a couple additional features in upcoming articles including How my Xbox One turns my lights on and off.

Remote Controlled, Color Changing LED Light Strip

This is one of the cheapest pieces of electronics that just seems to add so much to my home theater experience.  Totally worth it.

Click to view on Amazon

Infrared Transmitter / Blaster (with Vera Plugin)

My first step was to buy a Z-Wave enabled infrared transmitter.  I searched, but had no luck there.  Fortunately, the Vera2 Z-Wave Controller is also extendable to interact with various other devices over the LAN using plugins.  Fortunately, I found and installed the Global Cache GC100 Plugin to allow me to use my Vera to communicate to a Global Cache IR product to transmit IR signals.

Click to view on Amazon

With that discovery and lots of research, I went ahead and purchased the Global Cache IP2IR iTach Wired TCP/IP to IR.  That’s when the late nights started happening as I scoured the internet and did endless troubleshooting and trial and error to get all of these devices to talk to each other.

Configuring the AV Device on the Vera

It took me a while to figure out how to get the Vera to control the iTach.  After installing that plugin, I had to configure the GC100 “device” that showed up to give it the IP address and MAC address of my iTach.

Note: The iTach website has an application called iHelp.exe that will find your device on the network and give you those details.

But then I was expecting to send actions to that “device”.  What happens is that “device” is actually just a plugin bridge and what I had to do is add a new device and make sure I specify to add an “AV Device”.

Vera Luup Device Definition Files

That led to the next problem… where is the device definition for my LED light strip?  I tried many different brands and models of LED light definitions from the list provided, but none of them worked.  After many wasted hours, but no loss in determination, I decided to figure out how to custom-code my own device definitions.  I studied the existing XML files in Apps > Develop Apps > Luup files and did some reading about how every device needs a Device (D), Implementation(I), and Service (S) file in order for it to properly function.  I used files for another AV device as a template since it had infrared codes that I could test with.

Once accomplished, I added a device manually and specified the names of the files in the device configuration.

To test, go to Devices > AV Gear and you’ll see your AV device with the ability to open a remote control interface to test the buttons.  I was finally able to make the Vera communicate to the iTach!

Tip: to test an infrared blaster to see if it’s working, use your cell phone’s camera and point it at the blaster when it should be transmitting IR.  You will see purple light on your phone’s camera app.  For some reason infrared is visible to a smart phone camera but invisible to the human eye.

Learning Infrared Codes

The next step was to figure out what infrared codes I needed to have the iTach transmit, which I accomplished by using another application from the iTach website called iLearn.exe and used that to read the infrared signals going into the iTach’s learning port.  I simply configured the program with the IP address, made sure to select the right module (don’t remember which one it was) and then pointed my LED light strip remote at the back of the iTach near the power cable and pressed a button.  The code appeared in the box in the program.  Make sure to type something in the Button Name field to identify which button the code is for.

Tip: I had a lot of trial and error with this.  For some reason, I would have to hit the same button at least 10 times before it would finally pick up the full IR code (spanning 3 lines in the text box).  If you save one of the shorter codes, it won’t work when you try to transmit with it.

After you have all of the codes, enter them into the Implementation XML file and make sure your action names match between the Implementation file and the Service file.

Let me Save you some Time

If you are trying to do this yourself, feel free to download the files I made below, if nothing else, to serve as a template if you’re trying to figure it out for your own IR device.

Note: be sure to remove the “.txt” from the end of those files to make them XML files before you upload them to the Vera via the MiOS interface.

How to Create a Scene in MiOS to Control IR Devices like LED Lights

At this point, I felt successful, but I could not figure out the last step of how to create a scene that has an action for my LED light strip.  Controlling AV devices in MiOS (UI5) is not as obvious as controlling regular Z-Wave devices.  What I discovered is that while you are creating or editing a scene, you have to go to the Advanced tab at the top, pick your AV device from the dropdown, and then you’ll see another dropdown with all of the services you have defined for it.


I was finally able to completely control my LED light strips with my Z-Wave home automation system.  I could create scenes that tell the lights to toggle on/off and even set the color of the lights.   My family and I now enjoy the functionality these lights provide.

If you have any issues or questions about this guide, leave comments below to tweet me @natekinkead and I’ll see what I can do to help.

What’s next?

Check out my other tutorials to build on top of this.

24 thoughts on “How to Control IR Devices with Z-Wave

  1. hello,

    I did all what you mentioned in this tutorial but it is not working with me at all.

    May you assist more or explain more please.

    how did you get the uuid in the LED device ??


  2. Hi Nathan,
    This is a really good post. I have two questions.
    1. If I buy the exact same LED strips and the same device (global catche….) can I use this files you uploaded here to setup the same thing?? (I am really new in home automation, I have a Vera3)
    2. Does this box works for my samsung tv and cable box also??
    Thanks in advance.

    1. Thanks for reading. I’m glad you liked it.

      My answer to both is yes, I believe so. With the LED lights, I hope the IR signals would be the same. But since the all appear so generic, there’s a chance they might not be exactly the same.

  3. I am on Vera3 and UI7, I created and uploaded the I_, S_, and D_ files
    specific to my CableBox using the IR code for the power toggle I got
    from the iLearn utility. My iTach IP2IR is configured as a GC100. I
    created a device from the I_ and D_ files. What do I do to associate
    the device I created with the GC100 in UI7? Every time I try to have
    the GC100 be the controller for my device, Vera restarts and I lose my

    1. Jonathan, the GC100 device just sits there and all you need to do to it is set the IP address of your iTach. Then, when you add a new AV Gear device (for your CableBox), you should have a dropdown for “Infrared transmitter” under the “Settings” tab of that device. That dropdown should contain the various I/R ports on the iTach. Mine has 2 I/R ports and a TLL input.

      To figure out if it’s the first or second I/R port, use the camera phone trick to see which transmitter blinks a purple light when looking at it through your phone’s camera.

      If you don’t have that dropdown in your settings tab of the device, then there must be something wrong with your I_, S_, and D_ files.

      Let me know if there is any way I can help. Thanks.

      1. The only dropdown I see in the settings is Automatically configure. The choices are “yes” and “no”. Is there a way I can e-mail you my I_, S_, and D_ files?

          1. Jonathan, those files look good to me. When you edit your CableBox device, in the advanced tab, do you have device_type set to urn:schemas-micasaverde-com:device:IrDevice:1 ? I believe the only thing that links them is that the GC100 device declares itself as the IR transmitter so any devices that have device_type set to that should have access to choose the IR port from that dropdown. Let me know if that fixes it or not.

          2. Yes, my cable box is set to urn:schemas-micasaverde-com:device:IrDevice:1, but the GC100 has a device type of urn:schemas-micasaverde-com:device:MultiIO:1? Is that correct?

          3. Yes, that’s correct. I’m not sure what’s wrong. It seems like you have everything setup correctly. Is your cable box showing up in the AV Gear category? Can you add some other AV Gear device to test to make sure your iTach is working?

          4. It is showing up in the AV category. Also, the iTach works fine with the Roomie app on my iPad. I had that working before I tried to integrate with Vera and it still continues to work. I have two sonos devices but they are not IR. I have added some screen shots to to dropbox share to show you what I see for the CableBox device.

          5. Jonathan, another difference is that I’m still on UI5 and you are on UI7. I’m not sure if maybe some features are not working yet on UI7 or if there are just differences that need to be considered.

            In any case, I took some more screenshots of my setup for you to look at to see if there is anything you are missing.

            Is “Jonathan Enters at Night” as scene or a device? It looks like a device to me, but maybe UI7 just looks different.

            Have you created a scene and sent to the advanced section to choose your cable box device to see what actions are available for it? That’s the only way I can control my IR devices.

            You did install the GC100 plugin, right? If so, maybe that doesn’t work on UI7 yet?

          6. Did anyone ever get this to work on UI7? I’m in the same boat. I have the GC100 plugin installed, and things work well if I create a scene directly with the GC100 device. I can’t get a new custom device to work, despite the device type being correct.

            One suspicion (that I haven’t had the time to confirm) is that the problem may be that devices in UI7 seem to require a D_.json file in addition to the .xml file.

  4. I have ceiling with a infrared switch receiver and remote that i would love to control with z-wave. Is this possible

  5. Respect for your great work. Does this work for the Air conditioners. As far as I know they’ve longer IR signals.

Leave a Reply

Your email address will not be published. Required fields are marked *