[RELEASE] Send IP2IR - Control all of your IR devices from your Dashboard

Point two is important. Had forgotten that even if you could send IP locally to Harmony, it won't do a thing if it loses internet connection.

1 Like

This is neat, though the IP2IR is quite a steep price for my (currently?) limited cases where I'd use one of these. I have the "original" ZMote, which no longer seems to be available (a "pro" model is on their website now but no details on availability or price), but it's basically a little WiFi-accessible IR blaster that you can send commands to via an HTTP API or their webapp. That thing was very cheap--I want to say close to $20. Mine is now just sitting around since it barely worked with ST and I never bothered trying it on Hubitat, but this might encourage me to try the same. (The community-created ST workaround was a bit awkward--it created virtual buttons, but you had to supply a lot of information from the ZMote yourself to get each button set up the right way.)

If anyone is able to find a used one (since I don't think they make new anymore) and wants an IP-accessible IR blaster, the ZMote is definitely likely to be more affordable. However, the IP2IR integration above looks much easier to use, and I'm guessing the ZMote Pro won't be quite as cheap as the original. Just throwing out options there in case anyone was interested but not $100 interested (or already had a ZMote and wanted to work on a Hubitat integration before me :slight_smile: ).

This looks like a great solution to replace the Harmony. I did some poking around yesterday into the various Harmony control solutions via .js and it looks like you have to get the authorization codes from the Logitech website (maybe that is why Hubitat has its hands tied?) before you can send commands to the hub locally and even then it appeared that you had to hit the web for certain commands, though not entirely sure about that. I want something that is completely local and will not hamstring connections like Logitech is apparently doing. Thank you @bptworld!

1 Like

That may not be entirely true... My Harmony Hub worked flawlessly along with its remote control for a week without any internet connection. The remote control talks directly to the hub, in this scenario (i.e. the remote control does NOT emit any IR itself, it relies on the Harmony Hub for all IR and LAN commands to the various devices.)

The 'harmony-api' nodejs server that runs on a Raspberry Pi (or similar) also does not use the Internet for any communications (as best as I can tell.) It is able to perform a local network discovery of Harmony Hubs, and each of their defined Activities (and a whole lot more.) You can then use the RESTful API to send LAN based commands to the Harmony Hub.

Ideally, though, I would like to see native Hubitat integration that does not require a Cloud or RPi server as an intermediary. Something more akin to the Lutron LAN integration is what I'd love to see.

One more thing... Very nice work Bryan @bptworld!


Yes, but I believe that is Bluetooth between the remote and hub. Was your node server still communicating with the Harmony Hub during the outage?

Same here. It's such a cool little bridge and so many of us have it already, but I love what Bryan has create too. Agreed, nice work!

I wasn't running the 'harmony-api' nodejs server. That would be a very good test. I haven't had a need for it ever since @mattw ported the ST App/Drivers. I have been using that without any issues (except for the fact that it is cloud based.)

1 Like

When I browsed the code from @bptworld, I noticed that he is communicating with it via telnet. So in a way, this device is akin to the Lutron integration. Agreed that this is too expensive for me at this point (you can frequently get the Harmony hub with a remote for sub $70)....but I'll be keeping my eye out as we see this integration improve ...especially if the Hubitat team takes it under their wing for an official integration.

Also agree that this is great work from @bptworld!

1 Like

I've had an IP2IR for over 5 years, and it's been rock solid. I had a Harmony remote before that (not the hub though). I've been very happy with the IP2IR and it's ability to integrate with multiple platforms during that time.

Looking forward to trying out this driver soon. :grin:

1 Like

Wow - what good timing. I just got one of these a couple of days ago with the hope that Id be able to integrate into my present system and get rid of harmony...

This now looks so much more likely to happen. Thanks.

This is a great community.

1 Like

@bptworld @csteele

I just built a couple of my own based on an esp8266 for 5 bucks... then wrote an app in ST to interface it.. (I’ve not ported it yet though unfortunately) :smile:

Funny..I'm also working on an app for my NodeMCU esp8266 based off the same mdhiggins project. Got a loooong way to go to make this user friendly, but I have it working the way I need for now.

Yours is a lot prettier and compact though...with an external blaster as well. Very cool.

1 Like

I used a Wemos Mini D1, you can get a PCB that fits on top to add the components..

The one with the IR blaster is a Samsung TV ir blaster, you can pick them up from ebay, it’s multidirectional and you can hide the wemos then...

The other one has two emitters and one receiver, but emitting is very directional.. happy to share the code I have used in ST..

Yeah..that's the one drawback of my setup, but it still works really well. I like the nodemcu option for now because I can use one device for several rooms. I have a bunch of glass break sensors that arent being used anymore and I am repurposing their wiring back to my alarm panel (where I keep the esp8266 device). I have the IR led sticking out of the ceiling to control devices. Works perfectly and I plan to add LED's to my other bedrooms.

Please do.

Hopefully it's a lot better than what I'm building. I'm finding it difficult to keep the number of input variable to a reasonable number. With just one device, ~10 commands, and 3 macro commands...I had close to 100 settings/inputs in my smartApp. I'm working my way around that by saving the data/type/length/etc data as one string and converting it to a map before sending to the esp web server. Quite challenging.

1 Like

Mine is probably simpler than yours, mine creates a virtual switch and only handles on and off, the command is then stored as a setting in the device rather than the app

I'll PM you as we are hijacking this thread.

Send IP2IR Update...

1.1.0 - 10/20/18 - Big change in how Channels work. Only have to enter each digits IR code once, in the Advance Section of the Parent app. Now in the Child apps, only need to put in the digits (no IR codes!). This is a non-destructive update. All existing channels will still work. Thanks to Bruce (@bravenel) for showing me how to send code from parent to child apps.

You will need to update both parent and child apps.


Driver update...

V1.0.1 - 11/01/18 - Merged pull request from DTTerastar, resend the command if busy is received. Thank you!

No prob. I'd like to figure out a way of having multiple commands queue up and get sent once the previous has been acked. It'll be needed if you want to send more than 2 commands quickly...

Thank you...ordered...

BIG update...

V1.1.2 - 11/01/18 - Added an optional Digit 4 within Channels. Sending Enter Code after Digits is now optional. Made the Delay between sending digits user specified and added in some instructions.

NOTE: All channel buttons will have to be fixed. They need to be made into either Channel_buttons (same as what they were, just need to be specified in the child app) or Channel_Switch (can be used with Google Assistant!).

To make the Channel device into a Channel_Switch:

  • Edit the Virtual Button Device and change it to a Virtual Switch Type Device.
  • Set the the 'Enable auto off' @ '500ms' and 'Save'
  • Hit the 'On' button and watch it turn back 'Off'
  • Next go to the Child App that this device controls.
  • It will ask you to 'Select Trigger Type'
  • Select Channel_Switch
  • Most of your previous information will come up, double check it
  • Be sure to check 'Send Enter Code After Digits' if needed
  • If everything else looks good, hit 'Done'

To change over a regular button to a switch button... Unfortunately, the child app would simply have to be deleted and recreated.

Another thing I do is for Stereo volume...

  • Create a Virtual Button and set the 'Enable auto off' @ '1s'
  • then when you create the child app, put the same IR Command in both the On and Off fields. That way it sends two commands with one button push.