NuVo Grand Concerto  

Developer: Monstergerm's Plugins
Category: A/V and IR Equipment
Github: Github Repo
Assistance: Get help!    Check the online documentation
Plugin ID: com.jeremyswancoat.indigoplugin.nuvograndconcerto
Latest release: v2022.0.1 released on May 26, 2022
Requires: Indigo v2022.1.0 or higher
(Check the Releases tab below for older releases that may have different requirements)
  Download latest release

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).

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. (Improvements to the Indigo API since I created this plugin have negated the need for the 'Custom' device, and it will be removed in a future version).

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.

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.

Release details
Released on: May 26, 2022
Requires: Indigo v2022.1.0+
Changes in this release

Modified by Monstergerm for 16 Nuvo zones and iTunes Server as possible Music source. Various code refinements, including support for ASCII 0-255 for correct display on keypads and in variables. Added support for control of iTunes from Nuvo Keypads. Added support for using Indigo with Nuvo via iTunes plugin or iTunes Local Control plugin. Updated logging system. Added custom state icons for Indigo UI. Added many additional commands to control Nuvo GC system. Added support for display of all metadata info from iTunes (including track info) on Nuvo Keypads. Added writing track info to Indigo variables for use on control pages or triggers. This plugin benefits from iTunes plugin (for getting some metadata) and iTunes Local Control plugin (for getting playlist name and track info). This plugin should continue working after iTunes plugin is deprecated using a combination of iTunes Local Control and Airfoil Pro. This plugin is compatible with Python 2.7 (ServerAPI 2.0) and Python 3.10 (ServerAPI 3.0) and requires Indigo 2022.x and higher in its default configuration for Python 3 (ServerAPI 3.0).

Release details
Released on: June 25, 2021
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

Added ability to increase and decrease volume rather than just setting to an arbitrary level.

Release details
Released on: Feb. 1, 2018
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

Bug Fixes

Release details
Released on: Jan. 31, 2018
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

More Bug fixes

Release details
Released on: Jan. 28, 2018
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

Correct issue where Zone States aren't reported to Indigo Server correctly.

Release details
Released on: Jan. 28, 2018
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

Bug Fixes.

Release details
Released on: Jan. 18, 2018
Requires: Indigo v7.0.2 thru v2022.1
Changes in this release

Metadata Support: The plugin now includes support for Metadata (both reading and writing). Keypad data provided by the Grand Concerto or MusicPort is available in Indigo. Furthermore, for non-NuVoNet sources, data can be provided via Indigo to the system for display on the keypads.

Data can be supplied either via variables (which it is up to the user to control) or via subscribing to a metadata broadcast from the Shairport Sync plugin. If a the metadata for a NuVo source is supplied by the Shairport Sync plugin, the original source streaming data TO the Shairport Sync can be controlled via the Grand Concerto keypads.

IP Control (sort of...): In poking around some of the protocols for the Grand Concerto and MusicPort, I found that the MusicPort effectively includes an IP-serial converter. If you're using the MusicPort, you can set the serial connection in the plugin to 'Network Socket' and specify the IP address of the MusicPort and port 5006. That's it.

This isn't really 'new' functionality, more of a 'discovery' and so can be used with older versions of this plugin. However, the IP connection on my MusicPort is not super reliable (unit often needs rebooting) and I find the actual serial port is much more reliable. YMMV.

Requirements

There is a slight change in the general paradigm in which the plugin operates. The original version of this plugin defined the Grand Concerto in the plugin configuration (where you could also apply a name for each audio input), and then each audio zone was added as a device in Indigo.

In this new version, the Grand Concerto itself is still defined in the plugin configuration, but you no longer specify the names for each audio input. You will now have to create a new 'Input' device for each audio source, and in that device you will have the opportunity to specify what options you want for metadata. Audio listening zones are still defined as individual devices as well.

If upgrading from a prior version of this plugin, you should reconfigure any actions you previously defined, particularly any which require specifying an input or inputs as the handling of those has changed.

Release details
Released on: Nov. 27, 2017
Requires: Indigo v5.0.0 thru v2022.1
Changes in this release

This is the first version posted to the Indigo Store, and includes minor changes to logging and Announcements.