Creating an Infrared (IR) device

This is a quick tutorial on how to create a new Infrared (IR) device for homey. Which unfortunately is not as simple as it should be due to bugs in the tools section of homey.

This tutorial is for people who are comfortable creating homey apps, or capable to follow the instructions provided by athom.


In most cases you should always attempt to find your IR device using the generic built in approach. (Add device → Homey → IR → Search for your device).

However if your device is not available, it is still possible to create an application with the IR codes you require.

Step 1 - Figure out the IR codes

You may be lucky and the codes you require are publicly available, however if they are not, you will require an IR receiver to capture the codes. Older Homey Pro devices have an IR receiver inbuilt into them. (HP16, HP18, HP19). The Homey Pro 2023 (HP23) does not have an IR receiver.

To capture the codes, I used a HP18.

  1. Turn of the spectrum LED on the device, old anecdotal evidence mentioned this can help.
  2. Goto the RF signals (not IR) tools section (Homey Developer Tools)
  3. Change the record method to Infrared, hit record - point single quick click the remote at the homey device.
  4. You will now have the IR code output of the button press.

Step 2 - Convert the signal.

Note that the Emulate IR code in the tools, doesn’t actually work meaning we have to jump through a bunch of additional hoops in order to test that we recorded the right signal.

The Prontohex testing option on the tools page does work, however in order to use it we have to convert the code we now have to the right format.

  1. Download IrScrutinizer (2.4.0) and installed it (IrScrutinizer – AppImages)
  2. Goto the export tab, and select Pronto Hex.
  3. Copy the IR code we created in Step 1 to your clipboard.
  4. With in IrScrutinizer on the Scrutinize tab, press the “Paste & Scr” button.
  5. Hit the export button.
  6. Open the file the code was exported to.

Step 3 - Test the signal.

  1. Goto the homey tools area, this time with in the IR page. (Homey Developer Tools)
  2. Paste the Hex codes you exported, and hit the Send key.
  3. Your device should now action the command as if it received it from the remote.

Step 4 - Create the app.

  1. Create the app as per the recommendations by Athom. (Getting Started - Homey Apps SDK)
  2. Add a new IR driver as per the recommendations by Athom (Infrared - Homey Apps SDK)
  3. Ignore the section titled “signal definition” and instead create a signal file which uses the protohex format defined on the page.
{
  "type": "prontohex",
  "cmds": {
    "POWER": "0000 0073 0000 000D 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0CA4",
    "MIST": "0000 0073 0000 000C 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0040 0040 0020 0CA4"
  }
}
  1. Match up the pronothex commands with your capabilities with in the device.js
class MyDevice extends RFDevice {
  static CAPABILITIES = {
    'button.power' : 'POWER',
    "button.mist": 'MIST',
  }
}

Step 5 - Publish the app

  1. Follow the requirements to create a working app, and publish Publishing - Homey Apps SDK
9 Likes

Thanks Jamie. Just FYI, I was always thinking, why the extended DB of Homey do not work for me after they have added quite significant number of devices. Now I’m suspicious, that there is something wrong with the IR implementation on HP2019 Pro (found more users with this experience and it’s not because of HW failure). Interesting is that after I migrated to HP2023, all IR codes works great.

Anyway - when you will follow this great HOW-TO from Jamie, try to find relevant device via ADD DEVICE → HOMEY → INFRARED and search (it’s tricky - you can’t search just by device type, eg. “TV”, it’s good to start with BRAND - eg. “LG”, “SONY” and then pickup some from the list and test it). As I said however, this never worked for me on my HP2019Pro but works great on HP2023.

Also when you will have no option to learn IR, as HP2023 don’t have IR receiver anymore, there might be option to find relevant prontohex code yourself, eg :
https://www.remotecentral.com/cgi-bin/codes/
https://irdb.globalcache.com/Home/Database

If you find DB/code in another format, this app can help you to convert it - https://globalcache.zendesk.com/hc/en-us/articles/360034968311-iConvert-Converting-IR-code-formats

…and then you can follow guide above.

1 Like

Try turning off the LED on the older homey pro devices, that may help it. But during the Keynotes Athom did mention that the new HP23 was meant to have a much stronger infra-red.

I forgot to mention there looks to be an error in the software of the Homey Pro 2023, where for custom devices using Infrared, the HP23 sends the command twice at least for pronto commands.

Finally, when searching for a device in the library, it can be a little finicky - you may have to finish writing the word you are searching for ie.
Samsu → 0 Results
Samsung → 21 Results

2 Likes

Yep, tried even without it ;-( I checked via phone camera (video recording) they send out something but simply it never worked for me. That’s why I’ve been using Broadlink last 2 years…luckily now with HP23 it’s again usable :wink:

Anyone still runing HP2019Pro, please, test and let us know how is your experience ! Either creating the app or using existing codes, would be great. I’ve been looking just recently on forum and IR is, kind of “silent”, no recent discussion anywhere, so great revival Jamie :wink:

1 Like

Does anyone know the status of this bug as I don’t see much people reporting on this “double command sending” bug but I also experience this for several devices which renders the IR device worthless for my setup.
For example the “Entone amulet 300/400/500” device also sends all commands twice however the “Samsung most models” device works fine. So maybe it is related to specific IR codes?

1 Like

It seems to be related to the method of the IR - specifically ones which were created in, from what I have seen when it’s sent using the prophecy method it won’t work on hp23 - doubling up.

Ie google the power and it turns on then off

If the time between the first and the second message is too long, the receiver will see it as 2 separate messages, with a short time, it will be seen as 1 message.

what @JPe4619 mentioned is correct, it is not a bug.
If the IR data library could based on 32bit length, and your device signal are longer than 32bit , the IR will need to send twice.
One example is my Toshiba Split AC, it take only 144bit, but actual decoded signal was 72bit hence. IR will need to send twice.

I’m not sure I agree, the behaviour for the same command is differnt on a Homey pro 2019 verses and Honey pro 2023.

That’s make me think there is a “bug” as I would expect the same command send from different devices to have the same effect.

A fix for this problem seems to be on its way!

wow that nice!

No I have tested this version, the problem persist so

Yep indeed I also still have the same issue with double commands :frowning:

does this method work for learning and emulating RF 433MHz codes?

Previous with Homey 2016 I could learn Homey to copy my IR signal why is this not possible anymore with HomeyPro 2023 ?

Because it only has a single transmitter and no receiver unlike the older Homey Pro’s.

1 Like

Hi, I’m using ZXT-600, and I’m experiencing double action triggering while turning off A/C by the flow.
When flow is setting A/C mode to “Off” I hear “beep” coming from A/C unit twice. That’s weird because ZXT-600 is a Z-Wave to IR gateway and there is no direct IR control from Homey Pro (2023).

Previously I was using the same ZXT-600 with Fibaro HC3, and there was no issue like this.

How the F does a 400$ hub with IR functionality not have a IR recorder?!?

1 Like

Likely because it would be a $430 hub if it had a recoder or a $400 hub which as a recorder but doesnt support one of the other radio frequencies it currently has available, or a $400 hub which get interference because there is a receiver in the way.


I assume that Athom want their product to be the best that they can make it while still being able to source and sell it. I assume they would not remove a feature for ‘no reason’.

please don’t play that card, my 40$ SwitchBot hub has 3/6 technologies advertised with an actual IR recorder. I’d be very much surprised if the rest of the hardware is 9x as expensive including hefty margins. Fair enough, good software has to be developed but to me leaving out a 2$ Part sounds more like laziness to implement and develop interfaces and protocols for a feature they hoped would only be needed by a minority. But their database is way to small to justify that argumentation. Again, most of the IR devices I have cannot be controlled by the Homey because they are not in the list. So what am I left with now? A so called „IR capable hub“ that isn’t able to control my IR devices?

Interference because of an IR recorder is plainly BS, I’m sorry. Recorders don’t cause interference. And considering the weight of the homey pro there is more than enough space for them not to leave out an IR recorder. Again, it’s a 2$ part the size of a penny.