New Plugin - NuVo Grand Concerto (and Essentia)

Posted on
Sat May 05, 2012 1:29 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

New Plugin - NuVo Grand Concerto (and Essentia)

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

http://nerdhome.jimdo.com

Posted on
Fri May 18, 2012 7:44 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Updated:
Added Action to call an 'all off' command with a single action.
Added ability to use variables in texts and speech alerts.
Some process optimizations.

http://nerdhome.jimdo.com

Posted on
Mon Aug 06, 2012 11:33 pm
pgershon offline
Posts: 506
Joined: Jul 10, 2004

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Would love more information on this. I have a Concerto and a Grand Concerto and always wanted to interface with Indigo so I could display song/playlist information on the keypads. I have my Mac connected to the RS-232 but I cannot interpret the codes generated when keys are pressed on the keypads. I tried monitoring with a terminal program and while hex 99 seemed to be power off, power on came up with different sequences. And this was only the start. No consistency. I have an old manual from Nuvo from 2003 with their Concerto serial protocol, but I have no info for the Grand Concerto. Anyhting you could provide would be most helpful. Thanks

Posted on
Tue Aug 07, 2012 7:47 am
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

This is the document I used to write my plugin. It believe it contains commands for handling the metadata (although I'm not sure, since my plugin doesn't use it...)

http://www.sirkom.com/datos/doc_productos/archivo43/I8G-E6G_SerialControlProtocol_0_7.pdf

http://nerdhome.jimdo.com

Posted on
Thu Apr 18, 2013 11:22 am
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Finally have a place to actually host the plugin and some rudimentary documentation.

http://nerdhome.jimdo.com/downloads/

http://nerdhome.jimdo.com

Posted on
Thu Mar 05, 2015 7:20 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Just posting an update to this plugin. Since I last posted there have been two small updates:

The first just modifies the logging, so that it doesn't log status, input and volume on EVERY change (Holding the volume up button would flood the log with 3 lines for each volume integer, now it's just the one 'volume = xxx' line).

Secondly, I had some trouble with the announcement action. Basically the plugin would not wait for the announcement to finish speaking before shutting the zone off, so added the option to specify a fixed number of seconds for the announcement instead of relying on the plugin to 'wait' correctly.

New version here http://nerdhome.jimdo.com/downloads/

http://nerdhome.jimdo.com

Posted on
Sun Jul 17, 2016 10:02 am
Vig offline
Posts: 111
Joined: Oct 06, 2015

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Is there any way to volume change incrementally? Set volume action in the plug-in only excepts specific number, maybe can be via scripting, just don't know how... thx.

Posted on
Sun Jul 17, 2016 10:39 am
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Like 'raise volume by 5' or something? No, the plugin doesn't have that capability, but adding an action probably wouldn't be too hard. More of an issue for me to find the time and remember how Python works again, lol.

http://nerdhome.jimdo.com

Posted on
Wed Jul 20, 2016 7:55 pm
Vig offline
Posts: 111
Joined: Oct 06, 2015

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Swancoat wrote:
Like 'raise volume by 5' or something? No, the plugin doesn't have that capability, but adding an action probably wouldn't be too hard. More of an issue for me to find the time and remember how Python works again, lol.


Figured it out :) I created an Action that runs a simple script referencing your callback "setzonevolume" defined in your Actions.xml file.

Posted on
Thu Jan 18, 2018 7:59 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

I've updated this plugin with support for metadata. (I also found out that if you have a MusicPort, you can control the plugin via IP. Sort of.)

Can also subscribe to Airplay metadata (and control streaming devices from the keypads) if you are using a Shairport Sync and the Shairport Sync plugin.

Details at the plugin store...

https://www.indigodomo.com/pluginstore/66/

http://nerdhome.jimdo.com

Posted on
Sun Jan 28, 2018 10:47 am
Vig offline
Posts: 111
Joined: Oct 06, 2015

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Swancoat wrote:
I've updated this plugin with support for metadata. (I also found out that if you have a MusicPort, you can control the plugin via IP. Sort of.)



Thanks Swancoat, that's great!
Works well, the only issue I get is when operating keypad (rewind/forward). The log spits out an error below, any idea what might be wrong?

#######
NuVo Grand Concerto PREV button pressed on NuVo Master Bedroom - Zone1 keypad.
NuVo Grand Concerto Error Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
File "plugin.py", line 343, in runConcurrentThread
File "plugin.py", line 483, in parseToServer
File "plugin.py", line 553, in commandFromZone
NameError: global name 'inputdev' is not defined

NuVo Grand Concerto Error plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)

########
Also, I noticed when I start the plugin I get:

NuVo Grand Concerto Error Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
File "plugin.py", line 343, in runConcurrentThread
File "plugin.py", line 529, in parseToServer
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 1: ordinal not in range(128)

NuVo Grand Concerto Error plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
piBeacon config read from files

Posted on
Sun Jan 28, 2018 11:12 am
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

First bug is just my bad coding. Corrected in v2.0.1 and posted to the store. Note that the skip functions are really only going to work if you're using Shairport Sync as well.

The second problem looks like something I've seen if one of the metadata fields has a weird character or something in it. Do you know if the zone is playing something with a weird name?

http://nerdhome.jimdo.com

Posted on
Sun Jan 28, 2018 12:01 pm
Vig offline
Posts: 111
Joined: Oct 06, 2015

Re: New Plugin - NuVo Grand Concerto (and Essentia)

Swancoat wrote:
First bug is just my bad coding. Corrected in v2.0.1 and posted to the store. Note that the skip functions are really only going to work if you're using Shairport Sync as well.

The second problem looks like something I've seen if one of the metadata fields has a weird character or something in it. Do you know if the zone is playing something with a weird name?


Swancoat thanks for your help. I am using Shairport Sync and the metadata is being picked up by your plugin. Indeed one of my sources was sending Cyrillic :) although with the new 2.0.1 version I am no longer getting the error at the plugin startup. However I noticed the zone statuses stay Off even when the zones are On (see attached picture). Also, I no longer get an error while using keypad NEXT/PREV however nothing happens.

NuVo Grand Concerto PREV button pressed on NuVo Basement - Zone3 keypad.
NuVo Grand Concerto DACP Remote Port not available for NuVo - Source - Orion
NuVo Grand Concerto NEXT button pressed on NuVo Basement - Zone3 keypad.
NuVo Grand Concerto DACP Remote Port not available for NuVo - Source - Orion
Attachments
Screen Shot 2018-01-28 at 12.58.56 PM.png
Screen Shot 2018-01-28 at 12.58.56 PM.png (388.61 KiB) Viewed 7468 times
Screen Shot 2018-01-28 at 12.59.27 PM.png
Screen Shot 2018-01-28 at 12.59.27 PM.png (159.02 KiB) Viewed 7468 times
Screen Shot 2018-01-28 at 12.50.11 PM.png
Screen Shot 2018-01-28 at 12.50.11 PM.png (127.82 KiB) Viewed 7468 times

Posted on
Sun Jan 28, 2018 2:05 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

For the Button Functionality, try disconnecting from the Shairport Sync with whatever is streaming to it and then reconnecting. That data only gets passed to the Grand Concerto on the initial connection, but is dumped when you reload the plugins.

As for the on/off state not responding... That's a little unusual. I didn't make any real changes to that functionality and it's fairly basic and unrelated to any metadata type stuff. Now that you mention it, that's not being updated correctly on my setup either.

I'll get that corrected ASAP, but it might be a day or two.

http://nerdhome.jimdo.com

Posted on
Sun Jan 28, 2018 2:32 pm
Swancoat offline
Posts: 503
Joined: Nov 20, 2009
Location: Houston

Re: New Plugin - NuVo Grand Concerto (and Essentia)

v2.0.2 posted with fix for Zone Device state.

http://nerdhome.jimdo.com

Who is online

Users browsing this forum: No registered users and 7 guests