Although I have already written a couple of posts outlining how I wrote a couple of plugins to integrate my pool system and whole house audio system to Indigo, which is my main automation controller. However, I didn't touch on how to actually connect them to the computer.
First of all, Macs haven't had serial ports in years. Certainly no Mac actually capable of running Indigo has one. What most people use is a simple USB-serial adapter. They're widely available and usually cost somewhere between $15 and $30. A lot of people swear by the Keyspan unit. I have one of those and also a few generic ones and frankly have had greater success with the generic ones. Your mileage may vary.
The real problem though is that the computer that runs Indigo sits in my office on the main floor, while the pool controller is outside (serial interface was actually mounted in the attic just above where the pool equipment resides outside) and the NuVo equipment is in the media room rack on the second floor. Well, this is what building extra wiring is all about. There are two Cat6 runs running from that equipment closet where the rack resides to my office. One of them is already carrying internet to my computer, but one remains unused. I purchased a set of USB-over-Cat5 dongles at Monoprice. They were about $15 at the time and work very well. I plugged one into the computer, and then a Cat5 cable into the wall. Upstairs, I ran another Cat5 from the patch panel to the NuVo Equipment, where I used the other USB dongle, attached it to the USB-serial converter and plugged that into the Grand Concerto. This convoluted chain actually worked perfectly.
Unfortunately, I had both the Grand Concerto AND the pool to connect (and no guarantee that they would be the last serial devices I would connect). I did have the option of using my second Cat6 wire in the office and connecting my computer via WiFi, but given that the computer is the heart of the system, I really wanted to keep it hard wired. My first solution was to use an even more convoluted solution. I used a USB-Cat5 dongle and Cat5 to get from the computer to the wall, then at the patch panel, I used another one to go back to USB. Then I connected a small USB hub. To this hub I connected another USB-Cat5 dongle, with Cat5 to another dongle near the required equipment, and finally a USB-serial converter. Rube Goldberg would be proud. However, this turned out to be just too much. One of the devices worked fine (I can't remember which one), but ther other would intermittently lose its connection. I understand that these serial/USB converters can be very sensitive to timing, and too many adapters and the like in the chain were probably causing minute timing issues.
Then I discovered these little Global Cache devices. This is a little device that connects directly to the network, and has a serial port for direct communication with your device. It's kind of like an IP camera in that sense, except instead of a lens, it has a serial port. Also much like IP cameras, you can get it in WiFi or PoE versions as well. I use one of these to connect to the NuVo Grand Concerto and for the Pool Interface, since there is no power readily available in the attic, I used a PoE version. Similar to my plugins themselves, they seemed to have a little hiccup on initial configuration, but are now rock solid in operation. (Be sure to assign them static IP addresses so that you don't have to discover which is which and reconfigure every time your router restarts). They are a little pricey (~$100) but they really are the best solution in my opinion.