Announcement

Collapse
No announcement yet.

SonosController Plugin General Forum

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    NoArt.jpeg

    When nothing is playing on my zones I assume I'm supposed to see the noart.jpeg image, but instead I get a little red X with the following text:

    file:///C:\Program%20Files\HomeSeer%20HS2/html/SonosController/images/noart.jpeg


    Also, wouldit be possible to have an INI setting to render smaller cover art images on the status page?
    Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

    Comment


      #17
      Originally posted by beerygaz View Post
      When nothing is playing on my zones I assume I'm supposed to see the noart.jpeg image, but instead I get a little red X with the following text:

      file:///C:\Program%20Files\HomeSeer%20HS2/html/SonosController/images/noart.jpeg


      Also, wouldit be possible to have an INI setting to render smaller cover art images on the status page?

      There is a protection build into the browsers (both Firefox and Explorer) that doesn't allow you to open files on a local machine, that's why the the noart doesn't show in the status screen. If you use HSTouch screens however, it will show the art properly. Other Art that gets displayed is pulled straight of the Sonos or on-line service.

      If there are people on this forum that can suggest another way, I'd be more than happy to implement.

      I can add your suggestion on adding an INI setting for the size to the list of feature requests. I personally thought it was cool that some services have really large album art pictures and didn't want to lose that. Do you use this status screen in some way that the different size break something or is it the overall look and feel that's bugging you?

      Dirk

      Comment


        #18
        TTS How-to...

        From what I've read in the instructions, this plug in should do exactly what I need it to, which is to wait for a TTS event to trigger, then grab a couple of zones, suspend whatever they're doing, play the TTS, then resume whatever they were doing (which might have been nothing).

        I read the instructions, and made the following additions to the ini file:

        [SpeakerProxy]
        Active=1

        [LinkgroupNames]
        Names=TTS
        [LinkgroupZoneSource]
        TTS=Master Bedroom
        [LinkgroupZoneDestination]
        TTS =Master Bedroom;30|Kitchen;40|Patio/Pool
        [TTSSpeakDevice]
        60= TTS


        I then set up a manual test event, using the following string:

        &hs.speakex 60, "This is a test"

        And this is what the log reported:

        11/3/2010 4:52:05 PM - Event - Running script statement immediately: &hs.speakex 60, "This is a test"
        11/3/2010 4:52:05 PM - SONOSCONTROLLER - SpeakIn called for Device = 60, Text = This is a test, Wait=False, Host =
        11/3/2010 4:52:05 PM - SONOSCONTROLLER - SpeakerProxy activated with Device = 0 Text = This is a test and LinkgroupName = TTS
        11/3/2010 4:52:05 PM - SONOSCONTROLLER - HandleLinking called with LinkgroupName = TTS and OnEvent = True
        11/3/2010 4:52:07 PM - SONOSCONTROLLER - HandleLinking done with LinkgroupName = TTS and OnEvent = True
        11/3/2010 4:52:07 PM - TTS - Speak: ():This is a test
        11/3/2010 4:52:09 PM - SONOSCONTROLLER - HandleLinking called with LinkgroupName = TTS and OnEvent = False
        11/3/2010 4:52:10 PM - SONOSCONTROLLER - HandleLinking done with LinkgroupName = TTS and OnEvent = False


        So I think I'm close, but nothing was played out over the selected zone. What did I miss?

        Thanks, Pete

        Comment


          #19
          Originally posted by pwhite8314 View Post
          11/3/2010 4:52:05 PM - SONOSCONTROLLER - SpeakIn called for Device = 60, Text = This is a test, Wait=False, Host =

          Make sure you set "Wait for Speech to finish" to true in the action tab under advanced view!

          Dirk
          Last edited by dcorsus; November 3, 2010, 08:54 PM.

          Comment


            #20
            Originally posted by beerygaz View Post
            When nothing is playing on my zones I assume I'm supposed to see the noart.jpeg image, but instead I get a little red X with the following text:

            OK, figured out how to do it, don't know what I was thinking way back when I struggled for a day trying to figure it out .... just looked at the icons HS already puts on the status page and voila ... figured out how to do it.

            Will be fixed in next version V1.0.0.33 (or higher)

            Dirk

            Comment


              #21
              I was just going to say, why not use a http URL like the other images rather than a file URL.

              As for the size, yes, it's just an aesthetics thing where I use Jon00 screen builder to build a quick status screen.

              The other issue I'm having is that I don't get any cover art whne accessing HS from an external network. I'm assuming that's becasue my browser is trying to render the image itself from the Sonos URL which is a private IP address.

              This may be a big archtectural change to rememdy but I assume the only option is to have your plugin retrieve the image and store it locally on the HS machine and then render it the same way you will the noart.jpeg image (so go and fetch the cover art and save it as <zone name>.jpeg and then generate a URL for the device from there).

              Lastly, why are we consolidating all the questions and issues into a single thread? Isn't this going to get messy when your plugin's popularity grows?
              Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

              Comment


                #22
                Originally posted by beerygaz View Post
                As for the size, yes, it's just an aesthetics thing where I use Jon00 screen builder to build a quick status screen.

                The other issue I'm having is that I don't get any cover art whne accessing HS from an external network. I'm assuming that's becasue my browser is trying to render the image itself from the Sonos URL which is a private IP address.

                This may be a big archtectural change to rememdy but I assume the only option is to have your plugin retrieve the image and store it locally on the HS machine and then render it the same way you will the noart.jpeg image (so go and fetch the cover art and save it as <zone name>.jpeg and then generate a URL for the device from there).
                • Add following lines to the ini file under [Options]
                  • ArtworkHSize=150
                    ArtworkVSize=150

                • ArtworkHSize is the Height and VSize is the width
                • if you omit these entries the original size will apply
                • This is added to v1.0.0.33 but can only be set my manually modifying the ini file. I'll add some support to do it through the config web page later
                • Fixed the no-art in V1.0.0.33 so now you get an ugly CD case image
                • Changing the URL from Sonos to a local stored image wasn't hard because the plug-in was already doing it for HSTouch screens

                Posted v1.0.0.33 here (http://board.homeseer.com/showthread.php?t=144724)

                Let me know how it went

                Dirk

                Comment


                  #23
                  image url changes

                  Thanks for all your late night work on the script, Dirk.

                  My homeseer webserver runs on port 88 so the changes to the image location have some consequences.

                  http://192.168.1.220/SonosController/images/noart.jpeg

                  needs to be http://192.168.1.220:88/SonosControl...ges/noart.jpeg for my setup.

                  i am pretty sure there are many other people not running on default port 80.

                  you may need to pull this info from homeseer, or set up a variable in the ini.

                  --
                  Alan
                  Last edited by mbdirtfarmer; November 4, 2010, 08:27 AM. Reason: typo in url

                  Comment


                    #24
                    Dirk, I'm amazed at the development speed, thanks for addressing our issues so quickly. The art size tweak is working perfectly.

                    I still have an issue with the art URL though. It's now local, but it's grabbing the IP address of my HS server, which is a private IP address and still cannot be accessed externally. Can you not grab the FQDN instead? Or even allow an INI setting so folks can put whatever server name (and port as per Alan's issue) they like and you build the URL for the artwork from there? The alternative is to use relative URL's rather than explicit ones, so just "/SonosController/images/noart.jpeg" rather than http://xxx.xxx.etc and then the built in web server should sort out the server & port stuff automatically.

                    Lastly, and it's another minor aesthetic issue. Is is possible to change SONOSCONTROLLER to mixed case in the System field?
                    Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

                    Comment


                      #25
                      Originally posted by beerygaz View Post
                      The alternative is to use relative URL's rather than explicit ones, so just "/SonosController/images/noart.jpeg" rather than http://xxx.xxx.etc and then the built in web server should sort out the server & port stuff automatically.
                      That was a great suggestion. Version 1.0.0.34 posted which removed the whole specific address part.

                      Originally posted by beerygaz View Post
                      Lastly, and it's another minor aesthetic issue. Is is possible to change SONOSCONTROLLER to mixed case in the System field?
                      Which System field are we referring to? Now we are talking about aesthetics . I can look at it but want to make sure I don't break anything because a lot of functions of HS center around the plug-in name and I'm not sure how case sensitive their implementation is (including updater etc)

                      Dirk

                      Comment


                        #26
                        Originally posted by mbdirtfarmer View Post
                        My homeseer webserver runs on port 88 so the changes to the image location have some consequences.

                        http://192.168.1.220/SonosController/images/noart.jpeg

                        needs to be http://192.168.1.220:88/SonosControl...ges/noart.jpeg for my setup.

                        i am pretty sure there are many other people not running on default port 80.

                        you may need to pull this info from homeseer, or set up a variable in the ini.

                        --
                        Alan
                        Alan,

                        try again with version V1.0.0.34

                        Dirk

                        Comment


                          #27
                          Dirk, awesome work mate, artwork working from all locations!

                          Never mind about the mixed case thing, it really is trivial.
                          Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

                          Comment


                            #28
                            I'm not sure why all threads are getting moved to a single huge thread, but anyway, for my TTS problem....

                            I messed around with it some more, and can only assume the issue was with the HS Speaker app (the source of many issues previously), as when I restarted that, and reselected the voice, it started to work - awesome! This is more progress than I've had with any other Sonos plugin!

                            So, next question....it does suspend the current Sonos activity for TTS, but doesn't return it to it's prior state once the TTS has played out. Am I missing a command? Noting that I'm using the scripted command

                            &hs.speakex 60, "This is a test"

                            Not the drop-down Speak option in event settings (which I can't get to work for some reason). I'm guessing I need to insert a $SONOS$TTS$ somewhere, just not sure where...

                            Thanks...
                            Last edited by ; November 4, 2010, 01:06 PM. Reason: added info

                            Comment


                              #29
                              Originally posted by pwhite8314 View Post
                              I'm not sure why all threads are getting moved to a single huge thread,
                              I'm the one to blame, was envisioning some tree structure with few topics at the highest level, but realized that you now lose the threading option. I'll promise to stop doing it

                              Originally posted by pwhite8314 View Post
                              So, next question....it does suspend the current Sonos activity for TTS, but doesn't return it to it's prior state once the TTS has played out. Am I missing a command? Noting that I'm using the scripted command
                              Nope there is nothing further to be done and from your traces it clearly indicated the plug-in is dealing with the off event. So that brings us to what service was active when you activated the TTS? I've had problems with differences between playing regular tracks (like from your PC) versus on-line Napster or Radiostations .... Some of them required specific handling to restore. It appears yours may be one of those requiring special care or I broke something in the TTS implementation when I added Linking for music.

                              So any chance to describe which service was active prior to TTS, try it with other services and see if that differ and describe what you see on the controller for that zone after the TTS event was over. By the way, are you running Sonos SW3.3 and if so, did you upgrade to at least v1.0.0.31? You can grab the latest beta here (http://board.homeseer.com/showthread.php?t=144724). Hope there aren't other things broke with Sonos' release of SW R33. Also confirm this is a regular zone not a WD100 (although they should also work as of V1.0.0.31)


                              Originally posted by pwhite8314 View Post
                              Not the drop-down Speak option in event settings (which I can't get to work for some reason). I'm guessing I need to insert a $SONOS$TTS$ somewhere, just not sure where...
                              When you create an event, go to the Action tab, select option Speak, now make sure you click on Advanced View (upper right corner). You now should see the option to "wait for speech to finish" and you also see a box to enter the Speaker host. It is in this box that you need to set the name of the speaker prepended by the $SONOS$TTS$ prefix. If you don't know the name of the speaker, if you go to the HS web page, click on Interface, it is at the bottom ( I think, going of memory, can't pull it up here)

                              Dirk

                              Comment


                                #30
                                OK, so I've got the normal speaker function working, prepended with $SONOS$TTS$ - thanks!

                                In all cases, when I play the TTS, I see the (v3.3) PC controller correctly switch to the line-in for the Master Bedroom ZP120, then play the TTS. What it switches back to seems a little inconsistent:

                                1. When playing Sirius, it appears to switch back to that source, but does not restart it (allowing for the buffering delay)

                                2. When playing from the music queue, it does something odd. The first time, it switched back to the Sirius station, but didn't play it. The second time, it appears to switch back to the queue, and according to the time slider on the track display, it was still playing the song (it wasn't). When I flicked between zones to force a screen refresh, it had indeed gone back to the Sirius feed. Is it possible things are just happening 'a bit quick' for Sonos, so it gets momentary confused? Certainly, that seems to be the case for the Sonos PC app.

                                I tried the same thing using when a radio stream was playing, same outcome as (1) above.

                                I'm currently using 1.0.0.30 of the plug-in.

                                Comment

                                Working...
                                X