I'm currently designing and prototyping the components for a new home build later this year. Indigo running on a Mac mini will be the HA controller, and probably the surveillance system controller too, unless I use my Synology NAS for that. One thing that had me stumped was a good interface for the AV distribution system. We'll have a few DirecTV boxes that will need to serve a half-dozen TVs, so a distribution system is needed. I really didn't want to rely on handheld remotes for this, I wanted an on-screen UI for the TVs like Control4 or Crestron.
So I was thinking of what software I had seen that had a UI designed for TVs (the proverbial "10 foot" UI), and I thought of XBMC. It's designed for Home Theatre TVs, so it's got the UI and it's very configurable. For a pure playback UI, I prefer Plex, but it's not as flexible as XBMC, so that what I focused on. Then I found out that XBMC will run on a Raspberry PI, and the whole setup including IR receiver is well under $100. Hmm. Time to dig into addons for XBMC.
So here's what I've got working so far:
1. An addon for XBMC called script.indigo that will upload commands/data to Indigo using an IWS plugin to write information to Indigo variables. The IWS plugin also writes the current UNIX timestamp to a variable called xbmc_last.
2. A trigger in Indigo that's set to fire on any change to xbmc_last. The action component of this trigger will send commands to the video switcher matrix based on the parameters sent from XBMC.
3. UI customization for XBMC that adds a home menu button called "Sources", with submenu items for each of the selectable sources (Sat 1, Sat 2, Blu-Ray, etc). The submenu items call the script.indigo with the source selected. The script sends Indigo a "select" command, "source" identifier, and "device" (destination) identifier. That should be enough send the right commands to the switch. Depending on the configuration of sources and inputs, I will probably also need to send an input select command to the TV to have it switch from the rPi input to the matrix switch input.
I don't have any HDMI switches yet, or a TV that will take commands via IP. Hopefully I'll be able to get my hands on some this summer for more prototyping.
Next on my list to explore adding a pop-up menu (maybe cascading menu lists) to XBMC so I can send more types of commands to Indigo. I can have an arbitrary number of arguments to the Indigo script, I would just need to define more variables or pack the data into a JSON string instead.
I'll update this thread as I get things working.
joe