Cynical Caché Plugin
Download Cynical Caché (Release Notes)
This plugin deals with Global Caché devices, particularly for sending and receiving Consumer Infrared (CIR) signals - those ubiquitous remote controls. Supported devices include
- GC-100 network devices of all kinds
- iTach network devices (including the iTach Flex)
- GC-IRL serial infrared learner
- GC-IRE serial infrared extender
Overview
- Install GC-100 or iTach devices normally. Use their web interface to configure their device ports as you wish; Cynical Caché will read the configuration off the devices when it connects to them.
- Create an Indigo device for each of them. Make sure the devices are powered up, operating, and reachable ("ready" state).
- Create an Indigo IR Emitter device for each device port that is configured to be an IR transmitter (whether it's a transmitter bug, a blaster, or a GC-CGX adapter).
- Install any GC-IRE or GC-IRL devices by plugging them into either a local serial port on your Macintosh (using USB adapters or whatever else you have handy), or into a serial port on a GC-100 or iTach device configured earlier. Remember to set the serial ports to 4800bps.
- Create an Indigo IR Receiver device for each of them.
- Create relay devices or sensor devices for any device ports so configured.
- Have your way with actions and events for these devices.
Cynical Caché does not currently support LED-dimmer ports, because I don't have any hardware for this function. Serial ports can be directly used for GC-IRE or GC-IRL devices only, but the serial port can be used with any plugin that lets you specify a network serial port - the first serial port is port 4999 at the GC-100 or iTach address; the second serial port on a GC-100-12 is at port 5000. This includes a great many Cynical plugins as well.
The network database feature is a work in progress. Ask me if you're curious.
Working With IR Symbols
IR Emitter devices let you send IR codes, and IR Receiver devices let you recognize them when they arrive. In the air, they are modulated light waves, but inside Cynical Caché, they are stylized strings delimited by angle brackets that look like "<NEC:74b2/2f>
" or "<generic:00F2 723B ...>
". You can - and probably should - treat these strings as magic cookies whose meaning you don't need to understand. But how do you get them into the dialog fields?
The easiest way to figure out an IR code string is to learn
it: pick a supported IR receiver device, make it the learning device in the plugin preferences, and use the Learn button in an action or event dialog. This way you don't need to understand these strings at all; you just pull them off your remote. Note that Indigo imposes a ten-second timeout after you click the Learn button, so be ready.
If you can't do that, you can search the Internet for the hex code of the desired IR symbol. That's a string with lots of digits and letters in groups of four, like so:
0000 006d 0022 0002 0156 00aa 0016 0015 ... 0156 0055 0016 0e38
You can take this string from anywhere (a website, some text document, etc.) and drag or paste it directly into the IR symbol fields of action and event dialogs. Cynical Caché will automatically convert it to its preferred form.
Devices
Network Device Device
This is a GC-100 or iTach network device of some kind. This is what has an IP address and a web server you use to configure it. These devices can have all kinds of interface devices attached to them. Cynical Caché automatically figures out the kind and capabilities of the device.
Note that Global Caché devices usually don't respond to ping requests.
If you need to reconfigure the device (say, turn an emitter port into a sensor), do so through the device's own web page and then just reload the plugin.
IR Emitter Device
This is an interface on a GC-100 or iTach device that can send infrared signals. It works with all types of emitters - normal bugs, blasters, and GC-RGX adapters.
IR Receiver Device
This is a GC-IRE or GC-IRL device that can receive infrared signals. The hardware has a serial interface. IR Receiver supports both local serial ports on the computer running the Indigo server, and serial ports attached to any GC-100 or iTach device on the network as long as you have defined it as a Network Device in Indigo; just pick it from the popup list.
Relay Device
This is an interface on a GC-100 or iTach device that can make low voltage electrical connections ("dry contacts"). This is a standard switch device, so you can just turn it on or off (or toggle it) like any switch - it needs no special actions.
Sensor Device
You can configure IR emitter devices on a GC-100 or iTach to instead act as sensors. This requires the use of a GC-SC1 or GC-SP1 interface cable (depending on what you're trying to sense), or their functional equivalents. You need to configure the port for sensor operation through the device's web interface. Select sensor notify mode to have Cynical Caché automatically keep track of changes on the sensor. If you select sensor mode, you will need to poll the port to see changes.
A Sensor device is a standard Indigo sensor device and can be used like one.
If you are using an iTach device, two special notes apply here. First, the GC-SC1 and GC-SP1 cables sold by Global Caché are wired for use by GC-100 devices. The iTach requires different wiring as described in these instructions. You can cut up and splice the wires in those cables, or use standard 3.5mm-to-RCA adapters back-to-back to achieve the same effort without cutting anything.
Second, iTach devices deliver sensor notifications differently (using UDP). When you use the web interface to switch a port to sensor notify mode, you may set a network port and a timer. Make sure to leave the network port at its default (9132). You may set the notify timer to anything you like, but zero is most efficient for Cynical Caché's use.
Actions
Send IR Signal Action
This action tells an IR Emitter device to send an IR signal you specify.
The Repeat Count field has the same effect as holding down the button of a remote control - the larger the number, the longer the button is held down. Depending on the function, this may or may not have an interesting effect. Experiment as needed.
Events
IR Symbol Received Event
This event triggers when the specified IR Receiver device detects an infrared signal that matches the specified symbol. This is the way you can make Indigo do things when the user presses a button on an infrared remote, anywhere in sight of a receiver device.
If you leave everything blank, this event will fire whenever any infrared signal is received on any active receiver device. You will usually want to refine this. Specify a particular receiver device to restrict the event to only signals received by that device. Enter a particular IR Code to restrict the event to only receipt of this particular code. (It doesn't matter how long you hold down the button. There is currently no way to get the repetition count of a recognized IR code.)
The text in the IR Code field can be anything understood by Cynical Caché.
Release Notes
Support field formulas.