Nuvo G Concerto, Essentia, MPS4, ... Integration, modernization and preservation - Page 13 - AVS Forum | Home Theater Discussions And Reviews
Forum Jump: 
 54Likes
Reply
 
Thread Tools
post #361 of 399 Old 04-27-2019, 11:05 PM
Member
 
xs10shl's Avatar
 
Join Date: Mar 2014
Posts: 131
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 59 Post(s)
Liked: 33
Thumbs up

Bobone, here are some functions you can fool around with which may help you. This is a bit of code which converts the "Sources" bitmap in the Zone Configuration Response (which is returned as a number from 1-63) into a readable Ascii string of sources ("1 thru 6" ) which are active. You can likely use some of the same functions in reverse to send the appropriate bitmap-> ascii number that the GC is looking for.


There's likely a way to do this in fewer function calls, but once I got it working, I just left is as-is, and went on to the next bit of code.



' A bit of code to convert the Active Source Bitmap to something readable
' SOURCES13 becomes the Ascii String "134" (Active Sources for this Zone are 1, 3, and 4)
' SOURCES63 becomes the Ascii String "123456"
' SOURCES3 becomes the Ascii String "12"
' SOURCES25 becomes the Ascii String "145"
'---------------------------------
ZoneSources = Hex(int(ZoneSources))
SourceNumber = convert.ToInt32(ZoneSources, 16)
ZoneSources = convert.ToString(SourceNumber, 2)
'hs.WriteLog(Type, "ZoneSources in bitstring is :" & ZoneSources)
For SourceActive = 1 To Len(ZoneSources)
'hs.writelog(Type, SourceActive & " " & Len(ZoneSources) - SourceActive + 1)
If mid(ZoneSources, Len(ZoneSources) - SourceActive + 1, 1) = "1" Then
ZoneSourcesAscii = ZoneSourcesAscii & CStr(SourceActive)
'hs.writelog(Type, "ZoneSourcesAscii:" & ZoneSourcesAscii)
End If
Next
xs10shl is offline  
Sponsored Links
Advertisement
 
post #362 of 399 Old 04-28-2019, 08:22 AM
Member
 
xs10shl's Avatar
 
Join Date: Mar 2014
Posts: 131
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 59 Post(s)
Liked: 33
BTW for those who may not follow bitmaps - the printed Ascii bitstring (number 1 through 63) in this case is simply the ASCII representation of the HEX number that is created when you assign a placeholder bit to be either "on" or "off", to denote "yes" or "no".

Lets say you need to keep track of up to four "on" or "off" attributes. You start be assigning a place for each attribute you are tracking, from Right to left. Lets try an imaginary example:

Task - For Zone 1, create a bitmap of up to 4 sources that are either "Active" ("1") or "Inactive" ("0") for that Zone.

Method: In our bitmap, Source 1 will be represented by bit 1, Source 2 by bit 2, etc. The only other thing to remember is that we must assign order for our bits from right to left, so Source 1 is the rightmost bit, and source 4 is the leftmost.

Outcome: In this example, here are 16 possible permutations (2^4). I wont list all of them here, but here are some examples:
To show that only Source 1 is active, your bitmap is "0001"
To show that only Source 2 is active: "0010"
To show that only Source 3 is active: "0100"
To show that only Source 4 is active: "1000"
To show Source 3 and 4 are active: "1100"
To show Source 1, 3, and 4 are active: "1101"
To show all sources are active: "1111"

It turns out that each one of these permutations 1-16 can be represented by a single HEX letter, which is a base-16 number system of 0-9 representing the the first 10 numbers, and A, B, C, D, E, F representing the last 6 numbers.

Using a binary to Hex conversion table found on the internet, we get:
"0001" = 1
"0010" = 2
"0100" = 4
"1000" = 8
"1100" = C = 12
"1101" = D = 13
"1111" = F = 15

So now we have the ability to represent the same data in one of three ways: bitmap, HEX, and Ascii. And we have a table which allows us to freely convert from one representation to the next. "1101", D, and 13 all mean exactly the same thing. In fact, I've seen that NuVo GC commands frequently switch and convert freely between Ascii numbers and hex numbers when sending data. If the number being sent is in Hex, the number will have a denotion of "0x" in front of it. so you could see either the command "SOURCES0xD" and "SOURCES13" being sent. The GC interpreter on the receiving end will be able to figure both of these out to mean the bitstring "1101", which in our example denotes the status of the 4 sources for each zone.

Last edited by xs10shl; 04-28-2019 at 08:26 AM.
xs10shl is offline  
post #363 of 399 Old 04-28-2019, 08:59 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16

It must have taken you ages to understand the first example!
Thanks for the clarification. Great!
Bobone is offline  
Sponsored Links
Advertisement
 
post #364 of 399 Old 04-30-2019, 02:57 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
MPS4 & Nuvo GC better than ever before...



Sometimes worth repeating. This is what we have today:
  • Full metadata with album art and transport control for all of below from Nuvo keypads and Nuvo Apps
  • Integration with Nuvo’s new wireless Player product line (P300...)
  • Chromecast and (native) Airplay to connect to any music apps
  • Full mp3 player with playlists and a decent app as before (also with web address)
  • Streamed Radio with TuneIn, Sirius, Pandora, etc.. as before
  • Spotify player for synced Spotify playlists and saved tracks/references in database
  • Integration with Sonos
  • Integration with Squeezebox
  • Integration with Home Automation platforms (Homeseer and other)
  • ...

Tinkering with the database has been quite fruitful.
Every time I sync a Spotify Playlist, all the song metadata and albumart is also inserted into the database giving me full "browsability" and "playability" of Songs, Albums, Genres, etc.. in the Nuvo app. This is really, really cool!
I am gradually building a library "old stye" of my favorite music, just like with mp3s.
I know this may seem silly compared to having it all and much more in e.g. Spotify, but sometimes "less is more"...
(This could very well be done for other services, but I do not have access to e.g. Pandora to try)

Last edited by Bobone; 05-09-2019 at 03:43 AM.
Bobone is offline  
post #365 of 399 Old 05-03-2019, 04:52 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Album art refresh

I now have a fairly stable solution to trigger album art refreshing.
..and a whole new world has opened to us!

Two insights:

1) How to refresh album art for non MCS Sources :
By "changing state" for a helping MCS instance/source it is possible to get the iOS apps to refresh cover art for all active sources, including the non MCS one: "unknown.jpg".

By telneting into port 5004 and triggering an AlbumArt State Change by a special command e.g. "SkipNext", a fresh read of an altered "unknown.jpg" is made!

A few important prerequisites for this to work:

1) The helping MCS instance needs to be ready:
- the helping MCS instance and non MCS instance must be available in your zone
- the helping instance does not need to be playing and does not need a queue. ("ClearNowPlaying" is a preferred cmd to my helping source)
- the triggering command needs to be relevant for the instance's current playing mode. This was set by the latest action, i.e. playing tracks vs listening to radio (TuneIn) --> "SkipNext" vs "NextRadioStation".

2) App requirements:
- you must have recently selected the helping source in the zone (no need to play a song).
Do this once by going back and forth to the helping source. I do it programmatically at the first track change to avoid disturbance.

3) In the telnet session, first select the helping source, then issue the command. E.g. "SetInstance Nuvo_Airplay" (Music_Server_D) followed by "SkipNext".
-when I set up a telnet session with a SW (mRemoteNG.exe), my default instance is Music_Server_B. But, when setting up a Telnet session through code (.NET), the default instance becomes Music_Server_A. This is very strange and took time to discover!

Anyway, I now have a solution that works "most often"!

2) How to control the MCS through telnet port 5004!

Our previous observation was that you ultimately get shut out from a telnet session with 5004 for licensing reasons. This is still true. You also get "banned" for 60 seconds which is quite disturbing.
But,... if you keep the session below 20 seconds, you can return immediately and repeatedly.
20 seconds is a long time to perform commands...
It opens a whole new world!
Not sure how to best use these capabilities? See the following command list (up to date) and old manual for inspiration:
Code:
AhEhSrvr: Media Control Server
===========================================================================
AddFavorite              - Add Media as a favorite.
Back                     - Navigate back thru browse history.
Banner                   - Display connection banner.
BroadcastMessage         - Sends a message to all attached clients.
BrowseAlbums             - Returns a list of Albums active MediaFilter
                           applied.
BrowseAlbumTitles        - Returns a list of Albums and their tracks
                           with the active MediaFilter applied.
BrowseArtists            - Returns a list of Artists active MediaFilter
                           applied.
BrowseAudiobooks         - Returns a list of Audio books active
                           MediaFilter applied.
BrowseAudiobookTitles    - Returns a list of Audio book Titles (parts)
                           active MediaFilter applied.
BrowseClients            - Returns a sorted list of IDs for all
                           Connected Clients.
BrowseComposers          - Returns a list of Composers active
                           MediaFilter applied.
BrowseEncodings          - Returns a list (CodePage and Description) of
                           available text encodings for communications
                           channel.
BrowseFavorites          - Remove Media from your favorites.
BrowseGenres             - Returns a list of Genres active MediaFilter
                           applied.
BrowseInstances          - Returns a sorted list of IDs for all Media
                           Center running instances.
BrowseInstancesEx        - Returns a sorted list of IDs for all Media
                           Center running instances across all Servers.
BrowseMovieChapters      - Returns a list of Movie chapters with the
                           active MovieFilter applied.
BrowseMovieGenres        - Returns a list of Movie genres with the
                           active MovieFilter applied.
BrowseMoviePeople        - Returns a list of Movie people (Actors /
                           Directors) with the active MovieFilter
                           applied.
BrowseMovieRatings       - Returns a list of Movie MPAA Ratings with the
                           active MovieFilter applied.
BrowseMovieTitles        - Returns a list of Movies with the active
                           MovieFilter applied.
BrowseMovieYears         - Returns a list of Movie release Years with
                           the active MovieFilter applied.
BrowseNotifications      - Returns a list of active Notifications.
BrowseNowPlaying         - Returns the Now Playing list of Titles.
BrowsePageDown           - Pages thru the last Browse command results.
BrowsePageUp             - Pages thru the last Browse command results.
BrowsePickList           - Returns the current pick list.
BrowsePictures           - Returns a list of Pictures and PictureFolders
                           with the active PictureFilter applied.
BrowsePlaylists          - Returns a list of all playlists.
BrowsePodcasts           - Returns a list of Podcasts active MediaFilter
                           applied.
BrowsePodcastTitles      - Returns a list of Podcast Titles (episodes)
                           active MediaFilter applied.
BrowseRadioGenres        - Returns a list of Radio Genres with the
                           active RadioFilter applied.
BrowseRadioSources       - Returns a list of Radio Sources with the
                           active RadioFilter applied.
BrowseRadioStations      - Returns a list of Radio stations with the
                           active RadioFilter applied.
BrowseSavedPlaylists     - Returns a list of all playlists that are
                           delete-able.
BrowseServers            - Returns a sorted list of MCECS Servers active
                           on the network.
BrowseTitles             - Returns a list of Titles active MediaFilter
                           applied.
BrowseVideos             - Returns a list of Videos and VideoFolders
                           with the active VideoFilter applied.
ClearMovieFilter         - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseMovie
                           commands.
ClearMusicFilter         - Sets an additive filter that will be applied
                           to any Music browse lists generated by
                           BrowseXXX commands.
ClearNowPlaying          - Clear Playlist.
ClearPictureFilter       - Clears the filter applied to browse lists
                           generated by ClearPicture commands.
ClearRadioFilter         - Clears the filter applied to browse lists
                           generated by ClearRadio commands.
ClearVideoFilter         - Clears the filter applied to browse lists
                           generated by ClearVideo commands.
cls                      - Clear the ANSI Terminal
DeleteFavorite           - Remove Media from your favorites.
DeletePlaylist           - deletes a playlist saved via the SavePlaylist
                           command.
Echo                     - Echo text. Good for testing Encoding.
EditRadioStation         - Initiates the radio station edit UI.
EjectMovieTitle          - Ejects given Movie by Name or Guid.
Exit                     - Close connection.
FastForward              - Fast Forward (cue) transport control.
Forward                  - Navigate Forward thru browse history.
GetArt                   - Returns Base 64 Encoded image for guid. Blank
                           guid yields current item. format may be jpg,
                           gif, png, or bmp.
GetLicenseMessage        - Display Server License info.
GetMediaProperties       - Gets all properties of the active Media item.
GetMovieFilterStack      - Gets a string that represents the current
                           Movie filter stack.
GetMovieProperties       - Returns Movie metadata for Movie guid. Blank
                           Movie guid yields current Playing Movie.
GetMusicFilters          - Gets the active Music Filter list.
GetMusicFilterStack      - Gets a string that represents the current
                           music filter stack.
GetPictureFilterStack    - Gets a string that represents the current
                           Picture filter stack.
GetRadioFilterStack      - Gets a string that represents the current
                           Radio filter stack.
GetStatus                - Returns all parameters that are normally sent
                           with a StateChanged. Used to prime local
                           client variables.
GetVersions              - Display Server Version info.
GetVideoFilterStack      - Gets a string that represents the current
                           Video filter stack.
JumpToNowPlayingItem     - Jump to an item in the now playing queue via
                           its One based index OR GUID.
LogComment               - Put a comment in the log file.
Login                    - Login to the configuration server.
MsgBox                   - Displays a media center dialog box and waits
                           for user response.
Mute                     - Set Mute state. True / False / Toggle
Navigate                 - Navigate.
NextAlbum                - NextAlbum
NextArtist               - NextArtist
NextFavorite             - NextFavorite
NextGenre                - NextGenre
NextPlaylist             - NextPlaylist
NextRadioStation         - NextRadioStation
Pause                    - Pause transport control.
PickTitles               - Returns a list of Titles active MediaFilter
                           applied.
Ping                     - Echo Pong.
Play                     - Play transport control.
PlayAlbum                - Plays a given Album by Name or Guid.
PlayAllMusic             - Plays all Music with active filters applied.
PlayArtist               - Plays a given Artist by Name or Guid.
PlayAudiobook            - Plays a given Audio book by Name or Guid.
PlayAudiobookTitle       - Plays a given Audio book Title by Name or
                           Guid.
PlayAudioFile            - Plays a given wave file by name.
PlayComposer             - Plays a Composer by Name or Guid.
PlayContainer            - Plays all Music with active filters applied.
PlayGenre                - Plays a Genre by Name or Guid.
PlayMedia                - Play media by guid.
PlayMovieChapter         - Plays or restarts a given Movie Chapter by
                           Name or Guid.
PlayMovieTitle           - Plays or restarts a given Movie title by Name
                           or Guid.
PlayPause                - Play transport control if currently Paused
                           and vice versa.
PlayPlaylist             - Plays a given Playlist by Name or Guid.
PlayPodcastTitle         - Plays a given Podcast Title by Name or Guid.
PlayRadioStation         - Plays a given Radio station by Name or Guid.
PlaySlideShow            - Plays a slideshow given file or folder by
                           Name or Guid.
PlayTitle                - Plays a given Title by Name or Guid.
PlayVideo                - Plays a Video given VideoFile by Name or Guid.
PopMovieFilter           - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseMovie
                           commands.
PopMusicFilter           - Sets an additive filter that will be applied
                           to any Music browse lists generated by
                           BrowseXXX commands.
PopPictureFilter         - Pops an additive filter that will be applied
                           to any browse lists generated by PopPicture
                           commands.
PopRadioFilter           - Pops an additive filter that will be applied
                           to any browse lists generated by Radio
                           commands.
PopVideoFilter           - Pops an additive filter that will be applied
                           to any browse lists generated by PopVideo
                           commands.
PreviousAlbum            - PreviousAlbum
PreviousArtist           - PreviousArtist
PreviousFavorite         - PreviousFavorite
PreviousGenre            - PreviousGenre
PreviousPlaylist         - PreviousPlaylist
PreviousRadioStation     - PreviousRadioStation
PushMovieFilter          - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseMovie
                           commands.
PushMusicFilter          - Sets an additive filter that will be applied
                           to any browse Music lists generated by
                           BrowseXXX commands.
PushPictureFilter        - Sets an additive filter that will be applied
                           to any browse lists generated by
                           BrowsePicture commands.
PushRadioFilter          - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseRadio
                           commands.
PushVideoFilter          - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseVideo
                           commands.
QueueAllMusic            - Plays all Music with active filters applied.
QueueMode                - Set QueueMode state. True / False / Toggle
RemoveNowPlayingItem     - Remove an item from the now playing queue via
                           its One based index OR GUID.
ReorderNowPlaying        - Moves indexOrGuidSrce to just after
                           indexOrGuidDest.
Repeat                   - Set Repeat state. True / False / Toggle
RescanMedia              - Perform Database rescan.
ResetGain                - Resets gain to pre-configured level.
Rewind                   - Rewind (review) transport control.
SavePlaylist             - Saves the now playing queue as a named
                           playlist.
Scrobble                 - Set Scrobble state. True / False / Toggle
Seek                     - Seek to specific time.
SendRemote               - Simulates IR remote keypress.
SetClientType            - Set Client identifier and version.
SetClientVersion         - Set Client version.
SetEncoding              - Sets encoding for current communications
                           channel.
SetHost                  - Set host name / ip.
SetInstance              - Selects a specific Media Center Instance for
                           further commands.
SetMovieFilter           - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseMovie
                           commands.
SetMusicFilter           - Sets an additive filter that will be applied
                           to any music browse lists generated by
                           BrowseXXX commands.
SetOSDInstance           - Selects a specific Instance for the OSD.
SetOSDZone               - Selects a specific Zone for the OSD.
SetPickListCount         - Set number of items in a picklist.
SetPictureFilter         - Sets an additive filter that will be applied
                           to any browse lists generated by
                           BrowsePicture commands.
SetRadioFilter           - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseRadio
                           commands.
SetResponseEolZero       - Sets Response EOL delimiter to 0x00.
SetStars                 - Assigns a rating to active media.
SetVideoFilter           - Sets an additive filter that will be applied
                           to any browse lists generated by BrowseVideo
                           commands.
SetVolume                - Set volume to specific value.
SetXmlMode               - Set XML based responses to None | Lists | All
                           .
Shuffle                  - Set Shuffle state. True / False / Toggle
SkipNext                 - Skip Next transport control.
SkipPrevious             - Skip Previous transport control.
StartMCE                 - Launches MCE on the Console if it's not
                           already running.
Stop                     - Stop transport control.
SubscribeEvents          - Turns on or off Events (i.e. track
                           information, transport feedback, etc.) for
                           the current instance.
SubscribeEventsAll       - Turns on or off Events (i.e. track
                           information, transport feedback, etc.) for
                           ALL instances.
TestEncoding             - Echo text once for each encoding.
ThumbsDown               - Assigns a new negative rating to active media.
ThumbsUp                 - Assigns a new positive rating to active media.
Time                     - Echo Time.
TTS                      - Speaks.
Uptime                   - Report Daemon uptime
Wait                     - Wait x milliseconds before processing next
                           command.
VolumeDown               - Lower volume.
VolumeUp                 - Raise volume.
Looking forward to getting your input!
Attached Files
File Type: pdf mcs_3.0_ip_control_protocol.pdf (683.4 KB, 10 views)

Last edited by Bobone; 05-09-2019 at 03:48 AM.
Bobone is offline  
post #366 of 399 Old 05-03-2019, 07:42 PM
Member
 
xs10shl's Avatar
 
Join Date: Mar 2014
Posts: 131
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 59 Post(s)
Liked: 33
Really great discovery, Bobone. If this can be expanded to all MCS commands, then we have alternate means of control to the persistent Telnet sessions to 5006. Is there a commend set for MCS you have tried other than skipnext?
xs10shl is offline  
post #367 of 399 Old 05-04-2019, 02:51 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
I have tried pretty many. Guess that most work.
MessageBox does not, but BroadcastMessage does.

Last edited by Bobone; 05-09-2019 at 03:40 AM.
Bobone is offline  
post #368 of 399 Old 05-10-2019, 01:31 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Great price reduction for upgrade of MPS4!!!

This is a difficult post for me as I am allergic to advertisement in forums and understand that others are too.
However, we are trying to help each other with the best possible information. I have no connection whatsoever with the company below.

The automation platform "HomeSeer" https://shop.homeseer.com/products/h...tware-download has proven to be extremely valuable for several of us to keep our Nuvo system alive. In fact, to develop it.
Each May, it is on 50% sale and now at $125 for Windows (or only $50 for a RPi )!

To improve your MPS4, you will get:
- free plugins for Sonos, Nuvo Player (made by Legrand), voice control, etc...
- other great plugins for around $35 each for ChromeCast, Sqeezebox, Russound, Harmony, CasaTunes, etc...
- access to necessary integration code, solutions and knowhow that many of us have developed independently on the platform and described in this forum.

The SW is very powerful yet lightweight.
I have even installed it on my original v1 MPS4 hardware which has proven to be an extremely stable and recommendable solution.
Obviously, you also get one of the better home automation platforms and community that you can have fun with!

Last edited by Bobone; 05-10-2019 at 06:37 AM.
Bobone is offline  
post #369 of 399 Old 05-12-2019, 07:09 AM
AVS Forum Special Member
 
jimim's Avatar
 
Join Date: Mar 2006
Location: NEPA
Posts: 2,254
Mentioned: 5 Post(s)
Tagged: 0 Thread(s)
Quoted: 543 Post(s)
Liked: 154
Quote:
Originally Posted by Bobone View Post


Sometimes worth repeating. This is what we have today:
  • Full metadata with album art and transport control for all of below from Nuvo keypads and Nuvo Apps
  • Integration with Nuvo’s new wireless Player product line (P300...)
  • Chromecast and (native) Airplay to connect to any music apps
  • Full mp3 player with playlists and a decent app as before (also with web address)
  • Streamed Radio with TuneIn, Sirius, Pandora, etc.. as before
  • Spotify player for synced Spotify playlists and saved tracks/references in database
  • Integration with Sonos
  • Integration with Squeezebox
  • Integration with Home Automation platforms (Homeseer and other)
  • ...

Tinkering with the database has been quite fruitful.
Every time I sync a Spotify Playlist, all the song metadata and albumart is also inserted into the database giving me full "browsability" and "playability" of Songs, Albums, Genres, etc.. in the Nuvo app. This is really, really cool!
I am gradually building a library "old stye" of my favorite music, just like with mp3s.
I know this may seem silly compared to having it all and much more in e.g. Spotify, but sometimes "less is more"...
(This could very well be done for other services, but I do not have access to e.g. Pandora to try)
what type of integration with the p300 are you talking about? integrated into one app? or just by using the 2 different apps and bouncing in-between them? not integration on the keypads right?

jimi
jimim is offline  
post #370 of 399 Old 05-12-2019, 11:10 AM
Member
 
xs10shl's Avatar
 
Join Date: Mar 2014
Posts: 131
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 59 Post(s)
Liked: 33
Quote:
Originally Posted by jimim View Post
what type of integration with the p300 are you talking about? integrated into one app? or just by using the 2 different apps and bouncing in-between them? not integration on the keypads right?

jimi

NuVo has a free plugin for Homeseer, which allows for control of the Portfolio players through the HS interface. Through a series of VB scripts and the NuVo GC API, you can now integrate the CG keypad features we all love, like metadata, menuing, and track control, with the P-series players, and close the control loop. What you cant yet do is have a single App on your phone which does both, but it's straightforward to do, if someone wanted to take the time to author one.


Bobone has HS script code which implements the P-series, and I've written a generic GC Bridge with has a placeholder support for the Portfolio, but right now it's just a series of function stubs. I've got Sonos, Squeezebox, and CCA working instead, and of those, I really only focus on the Sonos piece, since the HS plugin for Sonos is (IMHO)
the most advanced of the audio plugins.
Neurorad and Bobone like this.
xs10shl is offline  
post #371 of 399 Old 05-12-2019, 02:25 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
https://www.avsforum.com/forum/36-ho...0#post57690096

P300 control and metadata work great on the keypads and also on the MPS4 app, including album art.

If you look carefully at the pictures linked above, you will see that the top 10 favorites can also be selected from the P300. Maybe those can be used in smart ways?
For more integration and song selection, there is apparently some sort of API to the Player series that Legrand grants to developers, but I have not investigated it. Maybe @jmorris644 knows more about this?

Today Spotify and the P300 are “somewhat” integrated but not fully. I find that the P300 and a CCA work much in the same way in my context.

I actually use the Nuvo MPS4 app more and more since I “repaired” some Spotify functions on the MPS4. I “subscribe” to my own Spotify playlist library that is automatically synced with the MPS4, its app and my keypads. It also gradually fills my “local” music library again. The solution has become really useful and quite cool!
If I need to access Spotify more freely from their richer app, I just connect it with a click as an input to the CCA or P300 and get the full metadata and control working on the keypads and Nuvo app.

Last edited by Bobone; 05-13-2019 at 03:21 AM.
Bobone is offline  
post #372 of 399 Old 05-14-2019, 09:24 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Extra memory MPS4 V2

Hi @xs10shl ,

Could you remind us what the specs were for extra memory for Windows 7?
I remember some I/O speed limitation for V1.
Plus Windows 7 could not handle more than 3 or was it 4Gb?
Still recommending Win7 over Win10?

Thanks!

Last edited by Bobone; 05-14-2019 at 10:00 AM.
Bobone is offline  
post #373 of 399 Old 05-14-2019, 10:00 AM
Member
 
xs10shl's Avatar
 
Join Date: Mar 2014
Posts: 131
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 59 Post(s)
Liked: 33
Quote:
Originally Posted by Bobone View Post
Extra memory MPS4 V2

Hi @xs10shl ,

Could you remind me what the specs were for extra memory for Windows 7?
I remember some I/O speed limitation for V1. Plus Windows 7 could not handle more than 3 or was it 4Gb?
Thanks!

I don't have a V1, so I can't speak to that motherboard. Win7/32 has less than 4GB theoretical max addressable memory, so you'll never need to buy more than that.I first tried adding a compatible 2GB chip to the existing 2GB chip to make 4GB, but that fried the hard drive, so I ordered this unit of Amazon and replaced the 2GB with it, which has worked flawlessly:
Kingston Technology 4GB 1600MHz DDR3L PC3-12800 1.35V Non-ECC CL11 SODIMM Intel Laptop Memory KVR16LS11/4
Bobone likes this.
xs10shl is offline  
post #374 of 399 Old 05-17-2019, 09:35 AM
AVS Forum Special Member
 
jimim's Avatar
 
Join Date: Mar 2006
Location: NEPA
Posts: 2,254
Mentioned: 5 Post(s)
Tagged: 0 Thread(s)
Quoted: 543 Post(s)
Liked: 154
I’m sorry I’m confused. So to getcthe p300 to give you metadata and control on the gc keypads do you need homesteer?


Quote:
Originally Posted by Bobone View Post
https://www.avsforum.com/forum/36-ho...0#post57690096

P300 control and metadata work great on the keypads and also on the MPS4 app, including album art.

If you look carefully at the pictures linked above, you will see that the top 10 favorites can also be selected from the P300. Maybe those can be used in smart ways?
For more integration and song selection, there is apparently some sort of API to the Player series that Legrand grants to developers, but I have not investigated it. Maybe @jmorris644 knows more about this?

Today Spotify and the P300 are “somewhat” integrated but not fully. I find that the P300 and a CCA work much in the same way in my context.

I actually use the Nuvo MPS4 app more and more since I “repaired” some Spotify functions on the MPS4. I “subscribe” to my own Spotify playlist library that is automatically synced with the MPS4, its app and my keypads. It also gradually fills my “local” music library again. The solution has become really useful and quite cool!
If I need to access Spotify more freely from their richer app, I just connect it with a click as an input to the CCA or P300 and get the full metadata and control working on the keypads and Nuvo app.
jimim is offline  
post #375 of 399 Old 05-17-2019, 02:00 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Quote:
Originally Posted by jimim View Post
I’m sorry I’m confused. So to get the p300 to give you metadata and control on the gc keypads do you need HomeSeer?
Yes.
It's not the only way, but one of the easier.
If you have some basic hands on experience with home automation and scripting, you will really not find it difficult.

If I were you, I would asap download a free trial of HS3 on any PC and install the free Legrand Nuvo plugin.
After 20 minutes you should have metdata and control in front of you in HomeSeer like in the screenshots that I posted earlier.
With some additional steps and scripts that we can provide you with, you will be able to connect to the GC and close the loop.

Last edited by Bobone; 05-18-2019 at 01:56 PM.
Bobone is offline  
post #376 of 399 Old 05-20-2019, 07:49 AM
AVS Forum Special Member
 
jmorris644's Avatar
 
Join Date: Nov 2004
Location: St. Paul, MN
Posts: 1,277
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quoted: 42 Post(s)
Liked: 20
The P300 does have a socket based API available. It is fairly unweildly and not the easiest to work with as it is built of many containers and the content of the containers can change with every state or song change.

joe
Bobone likes this.

A Proud Father >
Daughter's Music
jmorris644 is offline  
post #377 of 399 Old 05-20-2019, 08:04 PM
Member
 
AlienWarlock's Avatar
 
Join Date: Oct 2017
Posts: 41
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 9 Post(s)
Liked: 16
Error: Your MRAD device was not found.

I get the following error sometimes in the Nuvo Ipad app: "Error: Your MRAD device was not found. Please check your configuration and physical cabling."


When this happens, I am unable to control any of the WHA zones, but I can still control the music port. The only way to fix it seems to reboot the music port.


Is there any other way to prevent this error? If not would scheduling the music port to reboot automatically on a schedule be the best solution? If so how often should it be set to reboot?

My semi-dedicated theater: The EXASCALE CINEMA
AlienWarlock is offline  
post #378 of 399 Old 05-21-2019, 11:00 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
This has happened a few times.
Each time it was due too a slightly disconnected cable between the MPS4 and the GC (MRAD).

I have come to fear using the MPS4's passthrough port to configure the GC. Too many times, the MPS4 has gone dead for a few hours. Maybe my serial adapter is starting to malfunction?
Anyway, I therefore disconnect the cable and experience the problem that you describe from time to time when it is not properly screwed back.
Bobone is offline  
post #379 of 399 Old 05-23-2019, 05:09 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Hi Bob,


I tried to reply to your private message a while ago, but obviously AVS forum does not allow private messages to be sent if the sender does not have at least 15 posts, which I do not yet have. I guess I have to work on that


I have a few comments on a simpler setup and potential direction for upgrade to the legacy Nuvo products, which may be a quicker and easier path to the great but hard work you have been doing lately.



I have a NuvoDock with an old iphone (4S) which I use for AirPlay - it is a better (no glitches) and more stable solution and transports metadata and control to the control pads (no images though). The NuvoDock source with the iphone 4S also allows me to stream Spotify music to the whole system with stable metadata and control propagating via NuvoNet to the pads. I guess Nuvo integrated with Apple very early on (in the ipods era, before iphones) and maintained this integration with NuvoNet up until the Legrand acquisition. So AirPlay and Spotify with metadata and full stable control on the pads are working very well with the NuvoDock/iphone 4S combination. You can control Spotify from any other mobile device or PC too - the system responds perfectly. You do not need an MPS4 in this case. NuvoDock devices and iphones model 4S (the last model with the 30-pin cable) surface on ebay for very reasonable prices all the time. I am not an IT expert, but since Apples's iOS is a very stable and well-known development platform, I presume one can hook anything to the NuvoDock, if it emulates the behaviour of an Apple device (ipod, iphone or ipad, or if it actually communicates through a connected to the NuvoDock Apple device), and - voila - one would have a much better, cheaper, simpler and dependable equivalent of an MPS4 with full metadata transport and control to the wallpads, and with modern Apple-style integration options. You can also hook on up to 4 simultaneous NuvoDock (Apple) sources to NuvoNet.



Does anybody think this is a viable route worth exploring?



Best regards,

Nicola
nyankov is offline  
post #380 of 399 Old 05-24-2019, 12:19 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Hi!
Using the dock and an old iPhone as a bridge is very cool!
Did you need to do some standard jail break and install an app to make it become a receiver?
Any way, the solution is simple and effective!

Using the dock as interface for more advanced integration is quite interesting. Maybe someone with deeper iDevice skills could comment?

I suppose this opens the very good question of which way to recommend, if starting from scratch, to integrate with the GC.
A few HW perspectives:
- accessing NuvoNet directly over RS485, was too difficult.
- using Nuvo NNAs is inconvenient as they are nearly impossible to get hold of
- MPS4s and MPs are more available and quite powerful
- Nuvo docks are very interesting but somewhat unchartered
- purpose built solutions like Joe’s MG1 are challenging to bring to market and support

Is it rational to base an integration on what one already has? Probably not, but that is where we all start and get our bias from.
I started with a MPS4....

Beyond the knockout functions of display metadata and control, I personally very much appreciate:
- the MPS4 on steroids that I now have
- the Nuvo MPS4 app
- casting vs Airplay for battery, independence, responsiveness,.... Applies to P300, CCA (and Sonos)
- having native Airplay on the MPS4 as backup. On my WiFi network, it works great.
- cover art
- a platform for many years ahead

It has been a meandering journey... but it is now much easier to repeat. It does however still require some basic willingness to fiddle with scripts.

Using the dock as an easy first step is a very good idea!
Using the dock as an interface for more advanced stuff is maybe accessible for people with more Apple/Linux experience?

Last edited by Bobone; 05-24-2019 at 03:28 PM.
Bobone is offline  
post #381 of 399 Old 05-25-2019, 06:31 AM
AVS Forum Special Member
 
jmorris644's Avatar
 
Join Date: Nov 2004
Location: St. Paul, MN
Posts: 1,277
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quoted: 42 Post(s)
Liked: 20
Good synopsis.

I have sold my house and I will definitely not be putting in anything LeGrand in the new home.

Does anyone on this thread want to take over the MG1 development? It is written in Node-Red and runs on a Raspberry Pi.

It is written in such a way that you can add any new device that has any type of API without any coding. Just creating a config file for the device.

PM me if interested.

Joe
Bobone likes this.

A Proud Father >
Daughter's Music
jmorris644 is offline  
post #382 of 399 Old 05-26-2019, 04:08 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Quote:
Originally Posted by Bobone View Post
Did you need to do some standard jail break and install an app to make it become a receiver?

No jaibreak is necessary, although if one would need or want to do it, the iphone 4S is easy to jaibreak, running iOS 9.3.5 (the latest version that can be installed on that model). You just need to install the Spotify app and the iphone will show up as a speaker on any of your other Spotify devices. The iphone 4S also supports Siri and can be voice-controlled from a distance, if you are into that sort of thing. Unfortunately Siri, Google Assistant or Amazon Alexa, which can also be installed on the iphone, do not yet natively support Spotify (Apple, Google and Amazon being its major competitors in the music streaming business), but you can make those AIs play almost anything else on the iphone.



The NuvoDock receiver is in fact a translating device, converting Apple iOS commands into NuvoNet commands. It runs some kind of Nuvo software (the version number shows up on the pads when you querry the sources) and is a VERY stable product. It would also accept commands from newer Apple models. I know people have successfully plugged in iphone models 6, 7 and 8 - one only needs to use an original Apple 30-pin-to-lightning-port adapter. The NuvoDock also works with all kinds of cheap 30-pin bluetooth modules, which can be plugged in (the dock provides power) and high-quality sound can be streamed though them from any device to the system. I was not able to get metadata to show up through such a bluetooth module on the keypads, but frankly have not experimented enough with different models. Perhaps an original Apple product will do it. If you can send not only sound but also iphone commands through a bluetooth module on the NuvoDock, then all iphones would become something of a remote for NuvoNet - at least as far as various apps like Spotify, iTunes, Amazon Music and TuneIn are concerned.


If you simply leave an iphone (or an ipad) permanently attached to the NuvoDock (the dock conveniently supplies power to the Apple device) and connected to your home wifi network at the same time, then you will have a robust and Nuvo-designed "way in" to the otherwise difficult to control proprietary NuVoNet. I would assume you would need to jailbreak the iphone if you would want to use it as a comms terminal, but this takes 5 minutes on the older models these days. Then you can install whatever you want on it and remote-control it easily thtough commands sent from any software with access to that network. I am no IT wizz, but having seen/read what many of the people on this thread have already done, I would assume this would be a walk in the park for most of them. It seems a simple, "Nuvo-certified", stable and cheap solution to upgrading and/or de facto reverse-engineering the MPS4. I would also assume the iphones (as computing devices) - even the older models - would be more powerful and less prone to bugs and restarts/resets than the WinXP-based MPS4 with its old and unpredictable harddrive. Apple devices also natively support a larger number of streaming services than the MPS4, with metadata and remote-control possibilities nicely showing on all NuvoNet control pads for all streaming apps I have tried to date. They can also be voice-controlled through AI command systems like Siri, Alexa and Google Assistant. Although I do realize that many of the people here have taken on the mission to upgrade the excellent legacy Nuvo products out of love for the tech challenge, as much as out of love for the product, and finding "shortcuts" would seem almost like cheating
nyankov is offline  
post #383 of 399 Old 05-26-2019, 05:10 AM
AVS Forum Special Member
 
jmorris644's Avatar
 
Join Date: Nov 2004
Location: St. Paul, MN
Posts: 1,277
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quoted: 42 Post(s)
Liked: 20
@Bobone might the dock be a way to more fully and easily understand the Nuvonet protocol?

Joe

A Proud Father >
Daughter's Music
jmorris644 is offline  
post #384 of 399 Old 05-26-2019, 02:07 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
@nyankov This is an interesting discussion!

Thank you for the clarification. Spotify Connect is some sort of casting technology that works really well.
I believe that with it you get to essentially move the "active app" to the dock while retaining remote control from the original iDevice. Not sure how much direct communication there is... Maybe the transport control from your original iDevice is synchronized via Sweden!
I guess that you can shut off/disconnect the original iDevice and continue? (can be done when using the CCAs and P300s).
(As an anecdote, I once managed to retain my remote capabilities with my friends Linn receiver several days after leaving his house. Pretty scary!)

My first assumption was that you were using Airplay on a jailbroken iphone. I have read about apps that transform the iphone into a receiver, but not tried.
If you could get that app to run in the background along with Spotify, then you might get something quite flexible for other music sources as well.
I suppose the same applies to bluetooth.

Meta data and control are of course the knock out criteria for both Airplay and Bluetooth.

I have no clue how to take the next deep step....
Maybe there is some standard API that Apple has for all docks?
Otherwise, I suppose that you would need to install some sort of port sniffer on the iphone and study what happens while it is in the dock?


@jmorris644
Hopefully the dock could add to the puzzle solving. My fear would be that there is too much intelligence in the dock that makes it dificult to follow commands through to NuvoNet.

If I recall correctly, a few key problems remained for using NuvoNet directly:
- being 100% sure how the original packets are formed (stop bits, parity etc...)
- the protocol appeared to be sensitive to time slots. I never succeeded to inject back copied traffic.
- some sort of alternating CRC appeared in the payload. Could be problematic.

One benefit of understanding NuvoNet would be to not need a bridge.
- But then, how many do not have a MPS4/MP or a dock?

Since we learned how to tame Nuvo's extended serial protocol, I find that the need is less acute for MPS4/MP owners.
I sometimes dream about redoing the menus on a pixel level and seizing control from the GC.
But then, it might be wiser to find alternative display pads with advanced menuing supported by clear APIs.

Last edited by Bobone; 05-26-2019 at 02:41 PM.
Bobone is offline  
post #385 of 399 Old 05-27-2019, 01:46 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Quote:
Originally Posted by Bobone View Post
@nyankov This is an interesting discussion!

Thank you for the clarification. Spotify Connect is some sort of casting technology that works really well.
I believe that with it you get to essentially move the "active app" to the dock while retaining remote control from the original iDevice.

This is correct. Spotify Connect transfers streaming and control to the "smart speaker" - a casting device like Google ChromeCast, a Nuvo Player series device or the iphone in this case - so even if you turn off the initiating (mobile) device the music will continue and you will be able to control playback from the native app of the casting device (if any).


Quote:
Originally Posted by Bobone View Post
My first assumption was that you were using Airplay on a jailbroken iphone. I have read about apps that transform the iphone into a receiver, but not tried.
If you could get that app to run in the background along with Spotify, then you might get something quite flexible for other music sources as well.
I suppose the same applies to bluetooth.

Newer iphone models have native airplay capabilities. Older models need to be jailbroken and an airplay server app must be installed, but that takes 5 minutes and works perfectly. There are a number of very stable and free airplay server apps out there. They provide high-quality sound in my experience. When streaming over airplay to the docked iphone, all metadata and control is transfered nicely to the Nuvo control pads through NuvoNet. You can of course turn on the bluetooth service of the iphone too and try to use it as a bluetooth speaker, although I am not quite sure how to do that. Probably an additional app has to be installed for that to work, but I am pretty sure there are plenty of such apps available - either in Apple's App Store or in some of the repositories, if you have a jaibroken device. I used to have a jaibroken iphone 3GS docked in the NuvoDock and could stream airplay and Spotify through it until this January (yes, you can have an airplay server app running in the background), when Spotify upgraded something on their servers and the old Spotify client on my iphone 3GS (running iOS v. 6.3.2) was no longer visible as a Spotify casting device on my network. I was still able to play Spotify on the 3GS itself, but the remote control option was gone. So I retired the 3GS and "upgraded" to a second-hand iphone 4S (running iOS v. 9.3.5 and a newer version of the Spotify app) and was back in business playing music through the dock.



Nuvo's MPS4 Server app gives good overall control of the whole system, provided you have a working MPS4 server. It should not be extremely difficult to put together a similar control solution which uses an Apple device connected to the NuvoDock instead of an MPS4. One would not need to deal with the NuvoNet protocol in this case, as the NuvoDock receiver unit will translate all iOS-initiated commands (a well-known environment) to the proprietary NuvoNet. An Apple device will also give you better native streaming capabilities like AirPlay and bluetooth streaming (with metadata and control on the pads), which can be made to work with the MPS4, but the quality and stability will be an issue. An Apple device will also support a virtually unlimited number of additional streaming apps, not available on the MPS4.


What needs to be devised for the NuvoDock+iphone combo as a "server control unit" is the zone control commands - selecting and switching on and off zones, selecting sources for the zones, changing volume for the zones, and perhaps grouping zones. The NuvoDock has been originally designed to play music files on a docked apple device (ipod or iphone) and provides adequate playback remote control over this apple device through all wallpads. It was not designed to provide control in the reverse direction (from the docked device over the system), although the system responds very well to all data received from the iphone through the dock.



This sounds like a good project for some students from a tech college to work on
nyankov is offline  
post #386 of 399 Old 05-27-2019, 02:15 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Quote:
Originally Posted by Bobone View Post
@nyankov This is an interesting discussion!

Thank you for the clarification. Spotify Connect is some sort of casting technology that works really well.
I believe that with it you get to essentially move the "active app" to the dock while retaining remote control from the original iDevice. Not sure how much direct communication there is... Maybe the transport control from your original iDevice is synchronized via Sweden!
I guess that you can shut off/disconnect the original iDevice and continue? (can be done when using the CCAs and P300s).
(As an anecdote, I once managed to retain my remote capabilities with my friends Linn receiver several days after leaving his house. Pretty scary!)

My first assumption was that you were using Airplay on a jailbroken iphone. I have read about apps that transform the iphone into a receiver, but not tried.
If you could get that app to run in the background along with Spotify, then you might get something quite flexible for other music sources as well.
I suppose the same applies to bluetooth.

Meta data and control are of course the knock out criteria for both Airplay and Bluetooth.

I have no clue how to take the next deep step....
Maybe there is some standard API that Apple has for all docks?
Otherwise, I suppose that you would need to install some sort of port sniffer on the iphone and study what happens while it is in the dock?


@jmorris644
Hopefully the dock could add to the puzzle solving. My fear would be that there is too much intelligence in the dock that makes it dificult to follow commands through to NuvoNet.

If I recall correctly, a few key problems remained for using NuvoNet directly:
- being 100% sure how the original packets are formed (stop bits, parity etc...)
- the protocol appeared to be sensitive to time slots. I never succeeded to inject back copied traffic.
- some sort of alternating CRC appeared in the payload. Could be problematic.

One benefit of understanding NuvoNet would be to not need a bridge.
- But then, how many do not have a MPS4/MP or a dock?

Since we learned how to tame Nuvo's extended serial protocol, I find that the need is less acute for MPS4/MP owners.
I sometimes dream about redoing the menus on a pixel level and seizing control from the GC.
But then, it might be wiser to find alternative display pads with advanced menuing supported by clear APIs.
The other benefit of using the NuvoDock as a control point for the whole system is the possibility to mount an ipad device on a wall someplace, hook it up to the NuvoDock permanently (with a hidden extender cable, power is supplied through the dock) and used it as a much fancier control pad for the system as a whole.
Bobone likes this.
nyankov is offline  
post #387 of 399 Old 05-27-2019, 02:58 AM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Great! I think we are outlining some of the benefits and limitations of the “dock path”.

As a source bridge, it could become quite versatile.
Today it works for:
- Spotify with a great integration and performance
- AirPlay, with its width of applications but inherent problems of battery usage, 2 second lag, network dependence, etc...
- perhaps other Spotify-like remote apps?

If it could be used as an Airplay2 receiver (Apple’s decision), then it could become great.

Chromecast is also a good technology and maybe worth to investigate. The link below is interesting, but hardly a solution for metadata.
https://hackaday.com/2014/08/26/an-i...cast-speakers/

Bridging transport protocol commands and metadata to the display pads is otherwise probably quite straightforward:
http://www.ipodlinux.org/Apple_Accessory_Protocol/

So far, so good!

However, I am concerned that it will be difficult to do much more, such as controlling zones and other sources as a “control unit /bridge”.
One reason being the protocol limitations above, the other being the observation that the MPS4 is actually dependent on its serial cord to the GC for such actions. The MPS4 is attached to the NuvoNet, but it is not enough for zone control. I do not know why. The pads can certainly issue the commands ... strange. Anyway, it would be worth investigating for someone with a dock.

A side comment:
Despite the impressions given during the course of this thread, the MPS4 has become a very stable platform. Nothing like the “original” MPS4 that required frequent rebooting.
If you have a non functioning MPS4 gathering dust, the odds are very good that you could get it up and running and better than ever.
nyankov likes this.

Last edited by Bobone; 05-28-2019 at 01:13 AM.
Bobone is offline  
post #388 of 399 Old 05-29-2019, 09:20 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Here is what playing Spotify on the NuvoDock looks like when controlled from my iphone. The metadata synchs well with the control pads and I have basic playback control from the pads (play/pause, previous/next, volume up/down). You may notice the "NUVODOCK4S" as the name of the casting device Spotify plays on in the bottom left corner of the iphone screen. Using specific Spotify options (search, choosing my Spotify playlists etc.) is not possible from the pads. In this sense the NuvoDock is no alternative to the MPS4, with its ability to invoke special options for various streaming services (like Spotify, Pandora, TuneIn etc.) on the control pads. The dock runs some simple music player software (v. 1.64 on my dock) which is designed to access and play sound files stored on an attached Apple device. It gives very good control options for those files, including sorting/choosing by artist, album, genre etc, building and choosing lists (top 25, most recent, favourites etc.). It will also pass on to the system any sound initiated for streaming on the attached device and will propagate flawlessly the associated metadata through NuvoNet, but not much else. However, I have seen that "random" NuvoNet commands may also be passed through the dock onto the system, when an error state is registered on the dock (bad contact of the cable pins or a problem with the dock power supply). In such cases different zones may come on and off and their volume may change. If the failing dock is disconnected (powered down) from the system, the "random" commands stop and things get back to normal.


In a way the NuvoDock can be viewed as a NuvoNet adapter for an iOS-based server (an iphone or an ipad), much like the NuvoNet adapter installed on the WinXP-based MPS4. It is just a good and relatively cheap platform to start working/experimenting from. One would probably need to jailbreak the iphone in order to install a SSH/Telnet server app and a HTTP sever app, as Apple is very strict about their devices' security and I have not seen such server apps readily available in the App Store. There is plenty of those in various other repos though.
Attached Thumbnails
Click image for larger version

Name:	viber_image_2019-05-29_16-36-04.jpg
Views:	24
Size:	145.3 KB
ID:	2573098  
Bobone likes this.

Last edited by nyankov; 05-30-2019 at 05:01 AM.
nyankov is offline  
post #389 of 399 Old 05-30-2019, 10:43 PM - Thread Starter
Senior Member
 
Join Date: Dec 2017
Location: Sweden
Posts: 218
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Quoted: 96 Post(s)
Liked: 16
Really Nice!

1) running this code would be very interesting!
https://developer.apple.com/library/...ion/Intro.html

2) if you could find some hack that bridges between the 30-pin or Lightning port and TCP it would be even better.
Like a tcp-serial adapter.

3) maybe iPhone5 supports AirPlay2?

Cheers!

Last edited by Bobone; 06-01-2019 at 01:45 PM.
Bobone is offline  
post #390 of 399 Old 06-10-2019, 02:53 AM
Newbie
 
Join Date: Feb 2018
Posts: 9
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 6 Post(s)
Liked: 4
Quote:
Originally Posted by Bobone View Post
Really Nice!

1) running this code would be very interesting!
https://developer.apple.com/library/...ion/Intro.html

2) if you could find some hack that bridges between the 30-pin or Lightning port and TCP it would be even better.
Like a tcp-serial adapter.

3) maybe iPhone5 supports AirPlay2?

Cheers!
As far as I was able to learn from sources on the internet about serial communication from/to an iphone, the iphone has a native com port (device) capable of RS232 communication. On the 30-pin cable, pin 12 is the iphone's RX and pin13 is the iphone's TX. In order to control this serial port one needs to: 1) jailbreak the iphone; 2) install OpenSSH in order to enable remote SSH communication to the iphone over the network; 3) install minicom - an app from one of Cydia's default repositories. Minicom allows the (remote) customization of the iphone's native serial port (baud rate, parity etc.). When I tried to fiddle with it I had to create a directory /usr/etc in order to be able to save a specific comms setup profile. This directory did not exit on my iphone and I kept getting errors when trying to save the custom comms settings profile I was creating.


Controlling a docked iphone remotely via TCP with SSH/linux commands is fairly easy, including changing the parameters of and sending/receiving data through the iphone's native serial port. My level of expertise does not allow me to experiment a lot with the serial port, but I noticed that when I change anything - ANYTHING - in the iphone's serial device parameters (the iphone's default serial device name is /dev/tty.iap) , the NuvoDock breaks communication with the iphone. I lose the ability to send commands and control playback from the control pads and sometimes the "Communications fail" message appears on the pads. I think the NuvoDock is a serial port with a "NuvoNet translator" (the NuvoDock receiver) for the "standard" serial commands sent/received to/from the iphone/ipad. The sound from the iphone/ipad to the Concerto/Essentia is wired with a pass-through cable in the NuvoDock, as it does not stop when data communication is broken. A bluetooth module mounted on the dock also provides clear sound without the need for additional data communication.


While serial port commands will be necessary in order to control Concerto/Essentia zone/source options, remote sound playback control through the NuvoDock can be achieved easily via a number of tools that are available for jailbroken devices, like SSHMediaControls, for example. This tool gives a huge number of options (just type "media -h" on the ssh command prompt) for playback control, media app launching and playback info retrieval. There are probably others like it that I have not found. There is also a pretty decent free VNC server called Veency that can be installed on a jailbroken iphone/ipad for remote control/administration.
Bobone likes this.

Last edited by nyankov; 06-10-2019 at 03:05 AM. Reason: tech error
nyankov is offline  
Sponsored Links
Advertisement
 
Reply Home A/V Distribution

Tags
essentia , grand concerto , mps4 , nuvo , nuvonet

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off