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

The driver is no longer in git on the URL in this thread - does it still work/exist somewhere?

It’s still there:


New version on Github...

V1.1.6 - 12/30/18 - Updated to my new color theme.

Just for info, I have had some Zwave issues recently and while support were investigating they said I had a lot of Telnet errors on restarts that were causing knock on issues. Once I reinitialised IP2IR things started running again but I ended up removing IP2IR at the advice of support while they were investigating. The errors were not ones that I could see in my user log, but only visible to support, or I would let you know what they were. I don't know if this was just specific to my system but it might be worth checking with @bobbyD for details in case it's a general problem with the driver or app.

I think I had the same issue. This was the only app I didn’t reinstall after stripping out all custom things and my system is running fine still.

@bptworld, there was discussion about apps having issues reinitializimg after reboots in the thread below. Might be worth a read, especially Chuck's advice a couple of posts down.

[Beta Release] Logitech Harmony Hub Driver v0.1.20181227

Well, I would hope that @bobbyD would contact me if there was an issue with my app. I've been running it for months with no issues at all. It is used every single day.

The only issue someone has mentioned is if they unplug the device for any reason, then you would need to go into the device and hit Initialize again. This is documented in the first post.

Thanks, I took a look at that post and the 'capability "Initialize" they talk about has been in my driver since day one.

I guess it just comes down to checking the logs. If you think there is any problem, clicking the Initialise button again should solve it.

1 Like

So does this create a button for each remote you want to replace or does it just change the code it's sending?

This app doesn't create any buttons on its own, you would need to create a virtual button or a virtual switch (better because it can be used with Google Assistant) for each code you want to send.

Is there a user guide other than the instructions here and on the github site? Sorry if I'm missing them. I'm not sure what to put in the parent app's required fields of the Advanced Config section.
Also, is there a way to specify the emitter on the IP2IR being used? I have zones that I want to keep separate.
Otherwise, this is really awesome!

This is where you put in the actual IR codes for numbers 0 through 9 so you don't have to keep entering them again and again in each child app.

As for seperate zones, there is no way to send IR to a certain emitter on the same unit. If you have multiple units you could always install multiple instances of the app to keep them seperate.


1 Like

Totally makes sense now - thanks.

May look for a second cheap eBay option..

1 Like

Bryan, thank you for making your code available. My receiver won't maintain a connection with my router (it dropped after a few weeks) so I decided to go the IR route; hence, I really appreciate the time and effort you put into this code.

To the bug, my receiver requires the on signal to be sent twice, but when I turn off the virtual switch the command is not sent when I have one time selected for off. The error in the code is on line 239. On that line it should be xTimesOff.

			if(xTimesOn == "1") {
			if(xTimesOff == "2") {

Nice catch!

New version on Github...

V1.1.9 - 04/16/19 - Fixed a bug, thank you @NickP!

Thanks for this driver. It was a bit pricey for the device especially as I use it simply so I can press a button next to my bed to decrease the TV volume. However it has really helped improve my sleep.

My kids watch TV in the livingroom that has a shared 18ft tall wall with my bedroom. The scenes in shows get loud at times. Rather then having to get out of bed to call down to them to turn off the TV or fuss with Google to broadcast a message, I reach over and tap the bedside button a couple times.

I also have a few led candles I plan to add, wouldn't have gotten the device just for the candles, but now that I have it, why not.

I am likely to incorporate this driver as a user with 5 or 6 global caches around the house to run AV equipment in different rooms. I have a workflow question and please excuse by stream of conscious thoughts that follow. Do you think it is possible to incorporate the features of this driver into Alexa voice control such that I can say "Alexa turn Bedroom to channel 5-1-0" and have the channel change to 510 in the bedroom? I have 4 rooms to control, and figure channel 001 to 999. As I type this, I guess I would want volume control as well.

I am trying to figure out how hard it would be to do this. I use Simple Control on iOS tablets in the rooms to manually press buttons to turn on AV equipment in rooms, change channels, volume, etc., for many years. I also just started playing with the Simple Control Alexa skills to turn the AV equipment in the rooms on and off (not through Hubitat) and so far I have that working (which is very cool). But I would like to run this stuff through Hubitat Dashboards and Alexa for voice control. I can probably figure out through the direct Simple Control Alexa skills (or can program Simple Control "button presses" that I can trigger via Alexa to handle a large part of what I want to accomplish, but I would rather use this driver to tie in Hubitat for when I do not want to use voice, and then trigger actions based on voice control to operate equipment and change channels and volume.

FiOS, which I use, has a direct Alexa skill to change channels. However I cannot get it to work on my network because of the way my Untangle firewall, FiOS router, and network is set up. It is too complicated so I am told to fix that (would require a second back end router and mappings and other bull**** I don't want to deal with - plus I don't want to be tied to the FiOS Alexa skill anyway. SO I was thinking maybe this is a pathway through this driver and if I am going to go through all the work to setup 5 or 6 Global Caches and get all the IR programmed I would like to know my voice control options to change channels and volume through "human speak" that is wife friendly and without Simple Control involved (because as of now, I have Hubitat Dashboards / app and Simple Control app for iOS tablets - but no app for my Android phone).

Figured this would be a good place to ask because I am pretty sure this driver is the entry point. Thanks!

I do this now with Google Assistant. Within the app be sure to setup virtual devices and not buttons. That way they can be controlled with either Google or Echo devices. Then just say, "Turn on Living Room Fox" or "Turn Master Bedroom Fox on". Just like you would any other device.

1 Like

Thanks. I know I can set up specific tiles for specific channels. I was curious if I can set it on the fly by simply speaking the numbers in succession and the blaster will blast out the numbers in response. Otherwise I would have to speak one number at a time, allow the command execute, and go with the next number. I was looking to have the automation recognize the three numbers and then send out the associated commands for the sequence of numbers on the fly. It's a little bit more involved I suppose. Obviously I couldn't have tiles for the numbers I speak on the fly I was referencing the Alexa part of the automation.

I need some help and I will apologize in advance if the problem, as I suspect, is my lack of understanding some basics. I have entered 3 ir codes in the lines 1*-3* in the advanced config section of the parent app. It required entries in the remaining lines so I entered 0's. I have created a virtual switch with a 1 second return to off. The switch is not "connected" to anything but I presume I will do that when the child app is created? When I return to the parent app and attempt to create a child I get an "Unexpected error, Error: No signature of method: user_app_BPTWorld_Send_IP2IR_Child_258.display() is applicable for argument types: () values: [] Possible solutions: split(groovy.lang.Closure), findAll(), inspect(), dump()". Can someone give me a hand? TIA

1 Like