I've written a plugin to help integrate with a NuVo Grand Concerto whole-house audio system (the protocol for the Essentia is the same and the plugin should work similarly... except that for Energy Star compliance, the Essentia enters a sleep mode which needs a command of any kind to wake it. I haven't made any accommodations for that).
Thanks to Matt and Jay for all of their help as I asked all my rookie questions. Also, if you've written a plugin that talks to the serial port... I've probably taken something from there too. Thanks.
The plugin is pretty simple to use: Choose a serial port in the main config dialog box, and optionally rename some of your source inputs.
Each Zone in your home can be represented as a device. You have your choice of setting it up as a 'Custom' device (which displays the state, source and volume in the Indigo main window), or as a 'Relay' device, which still carries those states, but appears as a simple on off device, but then affords you control of those using the native controls in Indigo and Indigo Touch. You cannot setup any zone as both kinds of devices.
What the plugin does:
Basically, this is in no way a replacement for NuVo's full featured control app. With my plugin, you can monitor and control the plugin's state, input and volume.
Actions:
This is really why I built this plugin. There are two key actions:
Send Text Alert - This flashes a text message (up to 50 characters) of your choice onto the control keypads of your choice. Use it for mild alerts, system state changes, whatever.
Speak Announcement - This speaks an announcement of your choosing over whichever zones you choose. It will log the current state, volume, etc... interrupt with the announcement and set everything back to how it was. You will need your computer audio hooked up to the Grand Concerto for this, either directly, or with Airfoil/Airport Express.
Planned improvements: I'd like to be able to have the custom source names (I think 'getDeviceStateList' is the key to this, I just need to understand the format for the list it provides...). I'd also like to make sure you can insert variables into both Text Alerts and the Speech Announcements.
At this point I have no handling of any of the zone metadata (track info, etc...). For my purposes it was unnecessary, but something I may look into in the future.
Let me know what you think. Let me know if anything's breaking on you.
(Also, not exactly sure how to distribute this, apparently I can't attach the zip file, so PM me your email, and I'll send it to you until I figure out a better way to post/host it).