About the Global Cache Plugin
This plugin interfaces Indigo 5 to a Global Cache GC-100 unit. It lets Indigo send IR commands to your audio/video equipment (or any other IR equipment) over a network. In addition, Indigo can set the states of relays on the relay module (available on GC-100-12/18/18R).
Required hardware/software
To use the Global Cache Plugin you'll need a Global Cache GC-100 connected to and configured for your network. You can purchase Global Cache Home Network Adapters from Amazon. You will need to purchase some IR emitters to connect to each device. Amazon has an inexpensive set of 4 Linear 2171-4’s that work great with the GC-100. Of course, you will also need the latest copy of Indigo 5.
Additional resources recommended
The Global Cache Plugin does not learn remote codes from existing remotes. In order to find and use the correct codes, you have a few options.
1. I like going to Remote Central and downloading a CCF for my equipment. From there I would use a program called CCF Export to retrieve the HEX code values. Once you have the HEX codes for the function you want, paste it into iConvert and you will have the code required to communicate through the Global Cache Plugin to your GC-100.
2. The second method would be to purchase a GC-IRL from Amazon and connect it to one of the RS232 ports on the GC-100 unit. The GC-IRL can also be connected to the Mac using an RS232 to USB adapter (according to the GC support website, the Keyspan is NOT supported. A tutorial on how to do it can be found here. You will also need to download a program called iLearn to capture the codes from the GC-IRL.
Future Functionality
- Add support for iTach units (WF2IR, IP2IR(-P), WF2CC and IP2CC(-P))
- Ability to configure and use more than one GC-100 and/or iTACH device
- Add support for IR learning through WF2IR and IP2IR(-P)
- Add serial(RS232) support for GC-100, WF2SL, and IP2SL(-P)
- Add support for on-board IR outputs as sensor inputs for GC-100, WF2IR and IP2IR(-IP). This will allow you to use the GC-SV1, GC-SP1 and GC-SC1.
Installation
1. Download the plugin from here
2. Unzip it and copy the GlobalCache.IndigoPlugin file to your /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/ folder.
3. Restart the Indigo server.
4. Pull down the Plugins menu, select Global Cache, then Enable.
5. The plugin's config screen should pop up. Click Save to close the window.
6. To get started, create a Global Cache device. Enter the IP address and port number for your device. The default port number is 4998. If you have not configured your GC-100, you can use iHelp to locate the IP address of your unit.
7. You will need to create one GC IR Module device for each IR port you will use. Select the Global Cache Device you created above, followed by the module address and port number. If you are not sure what those are, look at the states for the Global Cache Device you created above. There you will find what the address is for each IR module (the first number).
The second number defines the number of IR ports in that module (each IR module has three ports). If you have a GC-100-06, you only have one IR module and it is located at address 2. All other GC-100’s come with two IR modules located at addresses 4 and 5.
8. If you plan to use the relay module, you will need to create one GC Relay Module device for each relay in the module. The GC-100-06 does not house a relay module and all other GC-100’s have one relay module located at address 3. The relay module has three relays that you can turn on/off. Select the Global Cache Device you created above, followed by the module address and relay number.
9. You can create triggers for the GC-100 device to track Connection State changes (Connected, Disconnected and Socket Error). You can create triggers on the IR module to track Connection State changes (Idle, Transmit, Receive). If you want, you can also fire off triggers for the Last IR Acknowledgement. Triggers can also be created for the Relay Module to track state changes (Changed, On, Off) and Last Relay Acknowledgement.
10. Creating actions is where everything happens. I would recommend creating the first action for an IR device and then duplicate it for each additional IR action (for the same device) you create. Make sure you select Plugin, Global Cache, Send IR Commands and then the device you created in step 7. Click Edit Action Settings to configure what to send to the GC-100 device.
a) The ID number is a unique number from 1 - infinity. This is used to get unique ID in the Last IR Acknowledgement state for the device. If you do not have a specific use for it, leave it at 1.
b) Whether you used step 1 or 2 in the Additional Resources recommend, you end up with a code that looks similar to this:
- Code: Select all
sendir,4:2,1,38000,1,1,230,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,
115,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,23,23,46,
23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,
23,1157,115,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,
23,23,46,23,46,23,23,23,23,23,23,23,23,46
Of course, your numbers and the amount of numbers will be different for each IR command. This particular one tell the DirecTV receiver to display the guide.
The sendir,4:2 is handled by the Global Cache Plugin. We are concerned with the numbers that follow those. The first number is the ID (1) we spoke about in a. above. c, e, and f below are given to you by iConvert or iLearn so you really don’t need to spend too much time trying to figure out how they work. Just know where to get those numbers from and where to put them in. If you would like to read more about the numbers, download the the 1.0 API from here or the 1.0d API from here.
c) The second number is the frequency (38000). Valid numbers are 20000 to 250000.
d) The next number is the Count (1). This tells the GC-100 how many times to repeat the IR command. Valid numbers are 0 to 31.
e) Following the Count, we have the Offset. If the count is greater than one, this is used to avoid repating the preamble during repeated IR timing patterns. Valid numbers are 1 to 511.
f) Everything after the Offset (excluding the comma) contains the actual IR string that sends the command to your device. Copy and paste it exactly as it appears:
- Code: Select all
230,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,23,
23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,
23,23,23,1157,115,46,46,46,23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,
23,23,23,23,46,23,46,23,23,23,23,23,23,23,23,1157,115,46,46,46,23,23,23,23,46,23,46,23,23,
23,23,23,23,23,23,46
Don’t worry if you can’t see all the numbers when you paste it -- I’ve tried it with many different lengths and it works like a charm.
Click save and test it out.
I created one Action Group for each IR command. See below:
11. The next step is to create your remote control pages. I took it a step further and created additional Action Groups that combined multiple IR action groups from above. For instance, when you hit the SAT button on the iPhone control page that I created below:
It will execute the IR Actions - Direct TV group and then change the control page to the long version of the DirecTV remote:
In order to accomplish this, I created the following Variables:
I wanted to make sure Indigo did not send a power on when the TV was already on and it wasn’t very productive to change the Source (mode) if it was already on the correct source -- so I decided to track the power/source states. Of course, if someone does not use Indigo to power the equipment on/off or change the sources, this becomes useless.