Sonos - The Beginning

Posted on
Sun Apr 01, 2012 11:46 am
mat offline
Posts: 769
Joined: Nov 25, 2010
Location: Cambridgeshire - UK

Re: Sonos - The Beginning

If it helps with a difficult decision making, I'll offer my views on what i believe a sonos plugin should comprise.

I think the basic functionality of play, pause, next, prev and basic volume control are key, along with switching to line in and to the queue.

I would add Terry's two points as nice to have.

Whilst not necessary for me, I think current and next track info, including album art would be icing on the cake for others.

A plugin with those capabilities would be complete.

Looking forward to testing the update. Once again, thanks for the hard work. It's being used every day here!

Late 2018 mini 10.14

Posted on
Mon Apr 02, 2012 5:09 am
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

Don't worry guys - i'm not switching directions that quickly. I heard from Mark Henkelis yesterday and he is going to work on the two issues I reported: threading and playlists.

Terry - I'm with you on the priorities - the announcement one seems more challenging, but will go for it. I actually may have to query a zoneplayer directly to capture the state that it was in before the switch to line in. If you can link me to the automation board where this has been done successfully, I'd like to check that out.

Thanks.

Posted on
Mon Apr 02, 2012 7:05 am
terrydew offline
Posts: 258
Joined: Jun 10, 2011

Re: Sonos - The Beginning

Not sure if the links are related to same plugin. I think there are two.

http://store.homeseer.com/store/Sonos-C ... -P963.aspx

http://forums.homeseer.com/forumdisplay.php?f=1085

Since sonos deletes the queues when you ungroup zones, I think you are correct that the state and queue would have to be saved and reloaded for each player. Doable?

Posted on
Sat Apr 07, 2012 8:22 pm
wiery offline
Posts: 288
Joined: Jun 02, 2008
Location: Ireland

Re: Sonos - The Beginning

Folks what is the best way of getting the volume for a Zone Player into a variable. Can it be done through the plugin or does it need to be apple scripted ?

Posted on
Sun Apr 08, 2012 2:59 am
mat offline
Posts: 769
Joined: Nov 25, 2010
Location: Cambridgeshire - UK

Re: Sonos - The Beginning

Hi wiery

You need to use the action collection plugin.

Enable from the indigo plugin menu,

Create new trigger or action group

Select type plugin

Select action collection in the plug in type

In the action, select insert device state into variable

In device, select your zone

In the edit section, select the state you want to insert, and in the next line, select the variable where you want to store the state.

Shout if that's not clear.

Mat

Late 2018 mini 10.14

Posted on
Mon Apr 23, 2012 7:32 pm
dproctor offline
Posts: 48
Joined: Apr 23, 2012

Re: Sonos - The Beginning

Hi all,
I'm pretty much a newbie with all of this but I'm trying to get the plugin to run and keep getting the errors below. Sonospy seems to work fine as I can bring it up in the browser and see my zone players and play songs from it. Any thoughts?

Code: Select all
Enabling plugin "Sonos 0.2.10"
  Starting plugin "Sonos 0.2.10" (pid 1112)
  Plugin "Sonos" connected
  Plugin "Sonos 0.2.10" started
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Debug                     Getting Plugin Configuration Settings
  Sonos Debug                         Connection Type: Socket
  Sonos Debug                         Socket IP:            192.168.0.184
  Sonos Debug                         Socket Port:          50101
  Sonos Debug                         Reference ZonePlayer: Kitchen
  Sonos Debug                         Poll ZonePlayers:     False
  Sonos Debug                         Polling Interval:     5
  Sonos                           Saved Plugin Configuration
  Sonos                           Loading ZonePlayers...
  Sonos Debug                     Message: http://192.168.0.184:50101/data/deviceData
  Sonos Debug                     http://192.168.0.184:50101/data/deviceData
  Sonos Debug                     There is no ZonePlayer data: getZonePlayers
  Sonos                           ---------------------------------------------
  Sonos Debug                     Message: http://192.168.0.184:50101/data/rootData?data=S::Kitchen%20%28ZP%29
  Sonos Debug                     http://192.168.0.184:50101/data/rootData?data=S::Kitchen%20%28ZP%29
  Sonos Debug                     There is no ZonePlayer data: ZProotData
  Sonos Debug                     Loading Playlists...
  Sonos Debug                     Message: http://192.168.0.184:50101/data/rendererData?data=R::Kitchen%20%28ZP%29
  Sonos Debug                     http://192.168.0.184:50101/data/rendererData?data=R::Kitchen%20%28ZP%29
  Sonos Debug                     There is no ZonePlayer data: Kitchen
  Sonos Debug                     Message: http://192.168.0.184:50101/data/getData?data=::1,0,100
  Sonos Debug                     http://192.168.0.184:50101/data/getData?data=::1,0,100
  Sonos Debug                     There is no ZonePlayer data: Kitchen
  Sonos Error                     Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 46, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/Sonos.indigoPlugin/Contents/Server Plugin/Sonos.py", line 75, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/Sonos.indigoPlugin/Contents/Server Plugin/Sonos.py", line 501, in getPlaylists
<type 'exceptions.IndexError'>: list index out of range

  Sonos Error                     plugin runConcurrentThread function returned or failed; will attempt again in 10 seconds
  Sonos Debug                     Method: runConcurrentThread
  Sonos Debug                     Running Concurrent Thread

Posted on
Mon Apr 23, 2012 9:24 pm
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

Is 192.168.0.184 the IP address of the machine running SonosPy or your ZonePlayer? It should be the SonosPy daemon.

Posted on
Tue Apr 24, 2012 7:39 am
dproctor offline
Posts: 48
Joined: Apr 23, 2012

Re: Sonos - The Beginning

It is the IP of the machine. Same IP i use to see sonospy in the browser. Sonospy is the latest from the unstable branch. When I put http://192.168.0.184:50101/data/rootDat ... 20%28ZP%29 into a browse safari says it can't connect to the server. I've put this computer into DMZ mode to see if it was being blocked but no change.

Posted on
Sat Apr 28, 2012 6:58 pm
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

You should be getting something like this if you try to connect from the web browser to: http://server:50101

Code: Select all
Traceback (most recent call last):
  File "/usr/local/henkelis-sonospy-13d1950/sonospy/cherrypy/__init__.py", line 1193, in communicate
    req.respond()
  File "/usr/local/henkelis-sonospy-13d1950/sonospy/cherrypy/__init__.py", line 544, in respond
    self._respond()
  File "/usr/local/henkelis-sonospy-13d1950/sonospy/cherrypy/__init__.py", line 575, in _respond
    for chunk in response:
TypeError: 'NoneType' object is not iterable

Posted on
Sat Apr 28, 2012 7:50 pm
dproctor offline
Posts: 48
Joined: Apr 23, 2012

Re: Sonos - The Beginning

thanks for replying, I can't get safari to connect. When I go to http://192.168.0.184:50101 safari says it can't connect to server 192.168.0.184. I don't know if its a port thing but thats why I put that ip in DMZ mode on my router to ensure everything was open and I still get that. But connecting to sonospy at 192.168.0.184:8000 works fine, I see all my zone players.

Posted on
Sun Apr 29, 2012 5:24 am
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

It really does sounds like the server is blocking connection from that port. If you are running Indigo on the same machine as SonosPy, I don't see how that should be an issue. Sorry I cannot be more helpful, just don't know what else to try.

Posted on
Sat May 05, 2012 7:48 am
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

Folks - I'm going to play with direct communications to the SonosPlayers this weekend. I was thinking to have a configuration parameter be the IP address of each ZonePlayer as part of the device configuration. This would make it easier for me start working on a new polling mechanism. Do you think this is acceptable? An alternative is to relay on SonosPy for the IP address, although not sure how to do that yet.

I want to start by moving the polling functionality away from SonosPy, then will tackle the actions. Playlists, Radio, and LineIn will be more complicated, but figured I would start with the part that is not working very well right now.

Posted on
Sat May 05, 2012 7:47 pm
nlagaros offline
Posts: 1646
Joined: Dec 20, 2010

Re: Sonos - The Beginning

I just posted v0.3.0 of the Sonos plugin. It has a direct polling mode available and requires setting the IP address for each ZonePlayer in the device configuration. There is more to do here, but hopefully will work better than the repeated polling of SonosPy.

Looking forward to feedback.

Posted on
Sat May 05, 2012 8:52 pm
dproctor offline
Posts: 48
Joined: Apr 23, 2012

Re: Sonos - The Beginning

well I can now get zone player info with your direct polling. Still have the same errors with sonospy as before though, still can't figure that one out.

Code: Select all
  Plugin "Sonos" connected
  Plugin "Sonos 0.3.0" started
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Error                     Error communicating with SonosPy:
  Sonos Debug                     Getting Plugin Configuration Settings
  Sonos Debug                         Connection Type: Socket
  Sonos Debug                         Socket IP:            192.168.0.184
  Sonos Debug                         Socket Port:          50101
  Sonos Debug                         Reference ZonePlayer: Kitchen
  Sonos Debug                         Poll ZonePlayers:     False
  Sonos Debug                         Direct Poll:     True
  Sonos Debug                         Polling Interval:     10
  Sonos                           Saved Plugin Configuration
  Sonos                           Loading ZonePlayers...
  Sonos Debug                     Message: http://192.168.0.184:50101/data/deviceData
  Sonos Debug                     http://192.168.0.184:50101/data/deviceData
  Sonos Debug                     There is no ZonePlayer data: getZonePlayers
  Sonos                           ---------------------------------------------
  Sonos Debug                     Message: http://192.168.0.184:50101/data/rootData?data=S::Kitchen%20%28ZP%29
  Sonos Debug                     http://192.168.0.184:50101/data/rootData?data=S::Kitchen%20%28ZP%29
  Sonos Debug                     There is no ZonePlayer data: ZProotData
  Sonos Debug                     Loading Playlists...
  Sonos Debug                     Message: http://192.168.0.184:50101/data/rendererData?data=R::Kitchen%20%28ZP%29
  Sonos Debug                     http://192.168.0.184:50101/data/rendererData?data=R::Kitchen%20%28ZP%29
  Sonos Debug                     There is no ZonePlayer data: Kitchen
  Sonos Debug                     Message: http://192.168.0.184:50101/data/getData?data=::1,0,100
  Sonos Debug                     http://192.168.0.184:50101/data/getData?data=::1,0,100
  Sonos Debug                     There is no ZonePlayer data: Kitchen
  Sonos Error                     Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 46, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/Sonos.indigoPlugin/Contents/Server Plugin/Sonos.py", line 77, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/Sonos.indigoPlugin/Contents/Server Plugin/Sonos.py", line 700, in getPlaylists
<type 'exceptions.IndexError'>: list index out of range

  Sonos Error                     plugin runConcurrentThread function returned or failed; will attempt again in 10 seconds
  Sonos Debug                     Method: runConcurrentThread
  Sonos Debug                     Running Concurrent Thread
  Sonos Debug                     Parsing: 192.168.0.188:
  Sonos Debug                         Updating Device: Kitchen, State: ZP_STATE, Value: STOPPED
  Sonos Debug                         Updating Device: Kitchen, State: ZP_VOLUME, Value: 25
  Sonos Debug                         Updating Device: Kitchen, State: ZP_MUTE, Value: 0
  Sonos Debug                         Updating Device: Kitchen, State: ZP_VOLUME_FIXED, Value: 0
  Sonos Debug                         Updating Device: Kitchen, State: ZP_CurrentURI, Value: x-rincon-queue:RINCON_000E5858FA3201400#0
  Sonos Debug                         Updating Device: Kitchen, State: ZP_STATION, Value:
  Sonos Debug                         Updating Device: Kitchen, State: ZP_CLASS, Value: object.item.audioItem.musicTrack
  Sonos Debug                         Updating Device: Kitchen, State: ZP_TRACK, Value: Closer to the Edge
  Sonos Debug                         Updating Device: Kitchen, State: ZP_ARTIST, Value: 30 Seconds to Mars
  Sonos Debug                         Updating Device: Kitchen, State: ZP_ALBUM, Value: This Is War
  Sonos Debug                         Updating Device: Kitchen, State: ZP_ART, Value: /getaa?u=x-file-cifs%3a%2f%2fIMAC-0D7705%2fMusic%2fiTunes%2fiTunes%2520Media%2fMusic%2f30%2520Seconds%2520to%2520Mars%2fThis%2520Is%2520War%2f07%2520Closer%2520to%2520the%2520Edge.m4a&v=29
  Sonos Debug                         Updating Device: Kitchen, State: ZP_DURATION, Value: 0:04:33
  Sonos Debug                         Updating Device: Kitchen, State: ZP_POSITION, Value: 0:00:00

Posted on
Sun May 06, 2012 2:41 am
mat offline
Posts: 769
Joined: Nov 25, 2010
Location: Cambridgeshire - UK

Re: Sonos - The Beginning

Nigel,

Sorry didn't see the post yesterday. Sounds great and hope all progresses well. Happy to input zone ip's, I think that's reasonable. My ip's for the zones are on dhcp, so presumably for stability they should be fixed?

Will test the new version over the next few days and feedback.

Mat

Late 2018 mini 10.14

Page 14 of 37 1 ... 11, 12, 13, 14, 15, 16, 17 ... 37

Who is online

Users browsing this forum: No registered users and 11 guests