This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

Yes we plan to have this in the next release, in current version we already have Apps but without frontpage, so you can use a big part of it already.

The default files like bootstrap.css and some other helper files are not included in our current Apps engine.

I don't know exact release date of our 2.0 FW but i think (hope) somewhere around 02-2017 (give or take).

BR,

Erwin van der Zwart

(07.10.2016, 09:28)edgars Wrote: Erwin has successfully finished and debugged SONOS app for LogicMachine which we have placed in the app store. Please fee free to test and post your comments/suggestions.

Cheers Erwin van der Zwart!

For all the testers: Please give me your feedback as i know there are lots of improvements to do (and i will) but i need your input!

Keep in mind that i won't re-build the complete original sonos app (you should use official App then) but most main features are planned / should be there.

You have an mail from me. Feel free to let me know when/if you wish to connect via TeamViewer to my Mac when I am home.
I have 4 Sonos players and I can help you with feedback regarding the functionality of the changes you're making.

with the discovery process do you try to get each individual sonos player through broadcasting. since you only need to get one player from a broadcast. The remaining players can be retrieved from the one player.

it could have less impact on the logic machine, and should find all the players faster since a single sonos player can provide all of the IP addresses of the Sonos players. We typically run between 12-25 sonos players in a home. For small installations sure its not needed, for the larger installs that has a major impact.

In the attachment, on "icons Safari.jpg", you can see the imperfection of the Mute, Play, Prev/Next buttons, on the upper part, while running Safari on an iMac 27".
I've took a screenshot of Safari vs. Chrome (see Chrome vs Safari.jpg attached image) with both programs opened, while running on my iMac 27". I've found that the icons are displayed normally in Chrome, but not in Safari.

Is anyone seeing this behaviour on a MacBook Pro/iMac/MacBook/Mac running Safari?

-- Get sonos data from players, only new found players are added to the existing array, earlier discovered players are already stored and not updated to keep fast performance
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getsonosdata

-- Remove all items from stored array and rediscover all players again from start, this will reduce speed performance (only trigger by button)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=refreshsonosdata

-- Refresh group data, no new sonos will be discovered, all groupings are (re)checked for current state
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=refreshgroupdata

-- Set player as standalone group (remove player from grouping)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplayerasstandalonegroup&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplayerasstandalonegroup&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplayerasstandalonegroup&name=Woon_Kamer -- use _ for spaces in the name

-- Get extra / more details from player like MAC address and icons etc, can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getsonosplayer&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getsonosplayer&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getsonosplayer&name=Woon_Kamer -- use _ for spaces in the name

-- Get limited transport details from player like position, duration and volume, can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata (fastpolling)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getstate&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getstate&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getstate&name=Woon_Kamer -- use _ for spaces in the name

-- Get extended transport details from player same as getstate with extra's like current albumart, shuffle, crossfade, repeats etc, can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata (slowpolling)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getextendedstate&uuid=RINCON_000E5821B62C01400&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getextendedstate&ip=192.168.10.31&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getextendedstate&name=Woon_Kamer&createbaseimg=false -- use _ for spaces in the name

-- Get current albumart URL, can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata (slowpolling)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getalbumart&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getalbumart&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getalbumart&name=Woon_Kamer -- use _ for spaces in the name

-- Get stored playlist(s) and corresponding playlist numbers (numbers are needed to call them), can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylists&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylists&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylists&name=Woon_Kamer -- use _ for spaces in the name

-- Store current qeueu as new playlist, there must be a paramater 'listname' send for the name of the new list 'listname', can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=saveplaylist&uuid=RINCON_000E5821B62C01400&listname=newplaylist
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=saveplaylist&ip=192.168.10.31&listname=newplaylist
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=saveplaylist&name=Woon_Kamer&listname=newplaylist -- use _ for spaces in the name

-- Get stored items inside playlist, must be called by corresponding playlist numbers (numbers are needed to call them), can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylistitems&uuid=RINCON_000E5821B62C01400&listnumber=9
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylistitems&ip=192.168.10.31&listnumber=9
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getplaylistitems&name=Woon_Kamer&listnumber=9 -- use _ for spaces in the name

-- Get current items in queueu including all additional information like track URI, Artist, Album, Albumart etc. can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getqueue&uuid=RINCON_000E5821B62C01400&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getqueue&ip=192.168.10.31&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getqueue&name=Woon_Kamer&createbaseimg=false -- use _ for spaces in the name

-- Get current items in favorites including all additional information like track URI, Station, Track, Remote Albumart (not always present) and Local Albumart URI (always present) etc. can be resolved by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getfavorites&uuid=RINCON_000E5821B62C01400&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getfavorites&ip=192.168.10.31&createbaseimg=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getfavorites&name=Woon_Kamer&createbaseimg=false -- use _ for spaces in the name

-- Execute 'play' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=play&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=play&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=play&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'play with queue check' command on player, this will check if there is a track in the 'queue', if not the first stored playlist will be loaded to avoid no sound situations, can be called by RINCON or IP (IP and RINCON are found by getsonosdata
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueue&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueue&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueue&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'seek' command on player, this will require the paramter position to jump to that time, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=seek&uuid=RINCON_000E5821B62C01400&position=0:01:23
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=seek&ip=192.168.10.31&position=0:01:23
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=seek&name=Woon_Kamer&position=0:01:23 -- use _ for spaces in the name

-- Execute 'load uri' from queue or favorites (radio streams) command on player, set listtype to 'queue' or 'favorites' and 'listnumber' to the x number track/station in the list. The listnumber is checked on valid range.
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loaduri&uuid=RINCON_000E5821B62C01400&listtype=queue&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loaduri&ip=192.168.10.31&listtype=queue&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loaduri&name=Woon_Kamer&listtype=queue&listnumber=1 -- use _ for spaces in the name

-- Execute 'load and play uri' from queue or favorites (radio streams) command on player, set listtype to 'queue' or 'favorites' and 'listnumber' to the x number track/station in the list. The listnumber is checked on valid range.
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playuri&uuid=RINCON_000E5821B62C01400&listtype=queue&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playuri&ip=192.168.10.31&listtype=queue&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playuri&name=Woon_Kamer&listtype=queue&listnumber=1 -- use _ for spaces in the name

-- Execute 'load and play uri' from queue list by number (needed to keep next and previous working) command on player, set listtype to 'queue' or 'favorites' and 'listnumber' to the x number track/station in the list. The listnumber is checked on valid range.
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueueuri&uuid=RINCON_000E5821B62C01400&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueueuri&ip=192.168.10.31&listnumber=1
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=playqueueuri&name=Woon_Kamer&listnumber=1 -- use _ for spaces in the name

-- Execute 'stop' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=stop&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=stop&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=stop&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'next' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=next&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=next&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=next&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'previous' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=previous&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=previous&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=previous&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'mute' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=mute&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=mute&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=mute&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'groupmute' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupmute&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupmute&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupmute&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'unmute' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=unmute&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=unmute&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=unmute&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'groupunmute' command on player, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupunmute&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupunmute&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupunmute&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'set volume' command on player, volume must be send as parameter and will be checked on scope 0-100, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolume&uuid=RINCON_000E5821B62C01400&volume=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolume&ip=192.168.10.31&volume=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolume&name=Woon_Kamer&volume=10 -- use _ for spaces in the name

-- Execute 'group set volume' command on player, volume must be send as parameter and will be checked on scope 0-100, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolume&uuid=RINCON_000E5821B62C01400&volume=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolume&ip=192.168.10.31&volume=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolume&name=Woon_Kamer&volume=10 -- use _ for spaces in the name

-- Execute 'volume up' command on player, volume step must be send as parameter and will be checked on scope 0-50 and top / floor limits, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumeup&uuid=RINCON_000E5821B62C01400&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumeup&ip=192.168.10.31&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumeup&name=Woon_Kamer&step=10 -- use _ for spaces in the name

-- Execute 'group volume up' command on player, volume step must be send as parameter and will be checked on scope 0-50 and top / floor limits, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumeup&uuid=RINCON_000E5821B62C01400&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumeup&ip=192.168.10.31&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumeup&name=Woon_Kamer&step=10 -- use _ for spaces in the name

-- Execute 'volume down' command on player, volume step must be send as parameter and will be checked on scope 0-50 and top / floor limits, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumedown&uuid=RINCON_000E5821B62C01400&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumedown&ip=192.168.10.31&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setvolumedown&name=Woon_Kamer&step=10 -- use _ for spaces in the name

-- Execute 'group volume down' command on player, volume step must be send as parameter and will be checked on scope 0-50 and top / floor limits, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=snapshotgroupvolume&uuid=RINCON_000E5821B62C01400
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=snapshotgroupvolume&ip=192.168.10.31
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=snapshotgroupvolume&name=Woon_Kamer -- use _ for spaces in the name

-- Execute 'snapshot group volume' command on player, volume step must be send as parameter and will be checked on scope 0-50 and top / floor limits, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumedown&uuid=RINCON_000E5821B62C01400&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumedown&ip=192.168.10.31&step=10
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=groupsetvolumedown&name=Woon_Kamer&step=10 -- use _ for spaces in the name

-- Execute 'crossfade' command on player, state must be send as parameter, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setcrossfade&uuid=RINCON_000E5821B62C01400&state=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setcrossfade&ip=192.168.10.31&state=true
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setcrossfade&name=Woon_Kamer&state=true -- use _ for spaces in the name

-- Execute 'playmode' command on player, mode must be send as parameter (options: normal, repeat_all, repeat_one, shuffle_no_repeat, shuffle and shuffle_one , can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplaymode&uuid=RINCON_000E5821B62C01400&mode=normal
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplaymode&ip=192.168.10.31&mode=normal
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=setplaymode&name=Woon_Kamer&mode=normal -- use _ for spaces in the name

-- Execute 'load playlist into queue' command on player, 'listname' must be send as parameter and corresponding listnumber will be searched automaticly, also a autoplay parameter must be send to play direct after load, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&uuid=RINCON_000E5821B62C01400&listname=My Playlist&autoplay=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&ip=192.168.10.31&listname=My Playlist&autoplay=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&name=Woon_Kamer&listname=My Playlist&autoplay=false -- use _ for spaces in the name

-- Execute 'load playlist into queue' command on player, 'listnumber' must be send as parameter, also a autoplay parameter must be send to play direct after loading, can be called by RINCON or IP (IP and RINCON are found by getsonosdata)
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&uuid=RINCON_000E5821B62C01400&listnumber=9&autoplay=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&ip=192.168.10.31&listnumber=9&autoplay=false
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=loadplaylist&name=Woon_Kamer&listnumber=9&autoplay=false -- use _ for spaces in the name

-- Execute 'getbase64img' command on current selected player, 'listnumber' and 'tablename' must be send as parameter
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getbase64img&tablename=favorites&listnumber=1 --get's a base64 image of albmuart of the first item in the favorites list
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getbase64img&tablename=queue&listnumber=4 --get's a base64 image of albumart of the 4th item in the queue list
--http://192.168.10.202/apps/data/sonos/sonos.lp?action=getbase64img&tablename=state&listnumber=0 --get's a base64 image of albumart of the current playing item ( listnumber is always '0' must always be send because of checks in script )

I am trying to understand where/if I do a mistake into the current setup and how to fix it.
Currently, I am using the 10.20.30.20 IP with Sonos from Kitchen and the values are getting updated on the bus.
I have defined them as indicated into the attached sample screenshot, taken from STOP button. The values for Objects are getting updated, but is it a problem in the way I have defined the Sending Value on the touch panel? Or the location of my scripts on LM4?

I need just a button to make it work, then I will propagate the changes to all the buttons.

(25.10.2016, 13:32)Erwin van der Zwart Wrote: There is a update for the Sonos app inside the app store to get the latest version.

BR,

Erwin van der Zwart

Hi Erwin,

The first problem I do see is that they are multiple selections of rooms, even if a group or an individual player is selected. Again, the selection color does not change. See attached a screenshot and feel free to login remotely on my LM4. Or is it changing with a long delay?

I have not worked on the Sonos script configuration lately inside Objects of my LM4, but I will have a look at it this week. I want to fix it as soon as possible, so that I can control the music with my Schneider 7" Touch Screen.