Announcement

Collapse
No announcement yet.

SqueezeBox plugin V3.x for HS3

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    SqueezeBox plugin V3.x for HS3

    The first beta version of the SqueezeBox plug-in for HS3 is available from the updater. This version while similar to the HS2 version is a rewrite
    and is based on the new HS3 media APIs.

    HomeSeer HS3 plug-in features
    • As before it can also work as as HS3 Speak Proxy, speak text on LMS players, display menus
    • The Plug-in creates devices for each player to display the status, volume, song being played and the repeat/shuffle status for each player. Also the status page include buttons to interact with each player: turn player on, turn player off, increase or decrease volume, mute, play, stop, pause, etc
    • The plug-in is compatible with the HS3 media library. It creates many media type libraries including for your local music, dynamic playlists, Internet Radios, Spotify, Pandora, BBC, etc
    • Built-in HS3 Event Actions to turn a player on, off, change the volume, play songs, stop playing songs, set the rating of a song, sleep a player, display text messages on the display of a specific player or broadcast a text message to the display of all players. Text messages sent to players may contain replacement variables that include information from HS3 device values, device status, device strings, global variables, etc.
    • Scripting APIs for custom logic using HS3 scripts including the HS3 media APIs
    • Support for HomeSeer HSTouch

    LMS server plug-in and SqueezeBox player features
    • Supports player screensaver(s) for non Jive based players (Classic or Boom for example) with information provided by HomeSeer. Each screensaver screen layout is defined in the plug-in INI file and may include a weather icon, values from HS3 device and supports displaying information on multiple lines. Multiple screensavers can be defined; the up and down button of the player remote enable navigation through the different screensavers on each player. For example, one screensaver screen may display weather information, while another displays weather warnings, and another the last received email. For Jive based the HS3 SqueeezBox plugin RSS feed can be used to display information in your customer screen
    • If a player is turned on, cascading menus enable navigation through HomeSeer devices, triggered HS3 events, display caller IDs, and view voice messages. Using the player remote control, you may control devices as you would on the HomeSeer status page, trigger events, listen to voice messages (via HomeSeer or player or SqueezeBox player) or delete voice messages for example. Custom menus can be added to quickly change the status of devices or to trigger events and scripts.
    • When the phone rings, the caller ID and caller name if available are briefly displayed on all players.

    An upcoming version will contain a few additional features including a web page for music selection. Also the current menus displayed on SqueezeBox players is not as complete as the current HS2 version; additional entries will be a added in an upcoming version. Please give it a try an post feedback and issues.

    Version History
    Version 3.2.0.12 (Beta)
    • Updated XML returned by plugin "LMS Repository" URL to support LMS servers version 7 and 8.
    Version 3.2.0.10
    • Internal improvement in handling of Speaker Client audio event start/stop detection
    Version 3.2.0.9 (Beta)
    • New configuration setting for the Speak Proxy to specify location for the Lame (https://lame.sourceforge.io/) application. By default, the plugin will use lame.exe in the HS3 installation directory for Windows or /usr/bin/lame for Linux installations. HS4 does not install lame.exe as it used to in HS3 and needs to be installed separately. Lame is used by the plugin to convert TTS wav files to MP3 files before speaking them on Squeezebox players.
    • New configuration setting for Speak Proxy to specify the maximum duration for a TTS generated track when playing it on SqueezeBox players. This setting is used to switch back to the prior song on Squeezebox players in combination with events received from LMS and the computed duration of TTS wav file (Windows only) whichever occurs first.
    • Fixed issue with timing to execute the “Event Before Speaking” and “Event After Speaking”
    Version 3.2.0.8
    • Updates related to TTS
    Version 3.2.0.7 (Beta)
    • Added option to play TTS in LMS using file:/// URI protocol instead of streaming it via the HTTP server. This requires that LMS can access the audio file, i.e. LMS and HS3 are running on the same server.
    Version 3.2.0.6 (Beta)
    • Fixed regression upon Device creation.
    Version 3.2.0.5 (Beta)
    • Linux specific: resolve pathname issue for downloaded Artwork.
    Version 3.2.0.4 (Beta)
    • Occasionally when TTS is speaking and LMS player is off, ensure command to set speech volume is sent.
    • Added Boolean scripting properties: Config_LogToConsole, Config_LogToHSLog, Config_LogDebug, Config_LogDebugVerbose,Config_LogDebugMusic, and Config_LogDebugTTS
    Version 3.2.0.3 (Beta)
    • When power turn is turned on, re-register asynchronous player status update with LMS.
    Version 3.2.0.2 (Beta)
    • Updates when downloading artwork image to file in html/SqueezeBox directory. Also Warning entry might be added to log upon download error.
    Version 3.2.0.1
    • Align LMS plugin version number with HS3 plugin version number.

    Version 3.2.0.0
    • Added Linux / Debian support. This version is available in the Beta section of the Updater.
    • Note that for TTS support on Debian / Linux (HomeSeer Zee for
      example) you need to install the Lame package and enable "TTS as MP3" in the plugin configuration. To install the Lame package, login into the HS3 server via ssh (using Putty for example) and run the following two commands: "sudo apt-get update" and "sudo apt-get install lame".

    Version 3.1.4.15
    • Added support for Spotty.

    Version 3.1.4.14
    • Fixed issue with updates of "Selected Player" HS3 device when player is enabled or disabled.

    Version 3.1.4.13
    • Option to Enable and Disable a player from the plugin Status page. When a player is disabled, it will not show up in the list of players to select from in the Player web page, triggers and actions.

    Version 3.1.4.12
    • Media browsing update in plugin "Player Web Page" and plugin action to improve performance when navigating Radios and media libraries for some LMS apps
    • Added support for "Spotify Protocol Handler" media navigation

    Version 3.1.4.11
    • Internal build

    Version 3.1.4.10
    • Addressed issue when new TTS is received while waiting for expiration of (long) post speech delay, which delayed speaking newly received text.
    • Optionally runs (and waits for completion) an event before speaking and another event upon speech completion.

    Version 3.1.4.9
    • Option to disable Media API for Virtual Player

    Version 3.1.4.8
    • Fixed regression where toggle shuffle action/button in device management screen would perform a "toggle mute" instead

    Version 3.1.4.7
    • Turn off posting artwork download errors as errors to avoid filling the log (i.e. only added when in debug mode).
    • Turn off logged messages when player clients connect/disconnect (i.e. only added when in debug mode).
    • New device per player to show track position as a percent
    • New toggle Mute action and button

      <B>Installation Notes:</B> to update devices with new features such as toggle mute button, edit the plugin configuration file hspi_squeezebox.ini and remove the value for the configuration value "gIconSet=" to set it to blank and restart the plugin. This will force refreshing the device status and graphics value/pairs.

    Version 3.1.4.6
    • Upon startup of the plugin, it will delay creating the instances for each player by the duration specified in "LMS Monitoring Interval" configuration (which can be set for example to one minute or more). This should should help in setups where some plugins don't initialize correctly at startup. Not proven but it could be that the plugin instances that attempt to connect to HS3 during startup confuse the HS3 plugin start process. With this option the creation could be delayed to way untl HS3 finished its start up and plugin launch.

    Version 3.1.4.5
    • Disabled HS3 media APIs by default for individual players to reduce HSTouch overhead. Can be enabled from plugin configuration tab (changes require restart).
    • Added field to specify optional arguments for Lame when generating MP3 from TTS. Configuration is available from Speak Proxy tab of plug-in configuration web page.
    • Removed player device "selector control device"
    • Added three additional devices:Current Song Rating (should replace address of "selector control device"), Current track track's length (value is in units of seconds), Current track track's position (value is in units of seconds)
    • Fixed "Status Graphics" configuration tab for player count device (delete device and restart plug-in to regenerate device with fixed configuration)
    • Fixed configuring IR Code trigger event

    Version 3.1.4.1 to 3.1.4.4
    • Internal builds.

    Version 3.1.4.0
    • Fixed HS3 locking plugin impacting upgrades (for next upgrade not his one!)
    • Saving album image of currently played song per player in plug-in HTML directory (for HSTouch)
    • Options to set the list box height and width used in the player web page to list the content of the library and currently playing playlist. The options can be set in the plugin configuration web page.
    • New contemporary icons. Current icon selection for the plugin will follow the "Status Icon Set" selection in the HS3 setup. Note that the plug-in image directory (..html\images\SqueezeBox\*) is purged during installation to reorganize icons and support multiple sets. Icon selection is update when plugin starts and the selection made in HS3 changed compared to when the plugin started last time.
    • Plug-in exe file name and assembly casing name changed (with migration code to support existing triggers/actions/devices)
    Version 3.1.3.2Version 3.1.3.1
    • Fixed device address assignment when devices are added (like alarm 4 for players)
    Version 3.1.3.0
    • Firing trigger "player connected" when a new player connects. Previously only fired when a player reconnected. Before the trigger only fired if a player reconnected before being "forgotten" by LMS.
    • Enhancements and fixed related to the HS3 MusicAPI. Only the primary plugin instance is exposed with the Music Capabilities for HSTouch. This enables control of multiple players from a single HSTouch screen and a workaround for current limitations of HSTouch Music support. Note that all player instances support the HS3 music APIs (i.e. you can call them from scripts), but only the primary is exposed as such via the Capabilities API. Note that during my testing it does not look like the HSTouch Media support is complete and fully functional.
    • Added additional device "Selected Player" which selects the active player controlled by the HS3 Media APIs when the APIs are called for the primary plugin instance (i.e. from HSTouch)
    Version 3.1.2.9
    • Enable specifying LMS host by IP address instead of hostname
    • Fixed sorting of tracks by track number in Media web page
    • New action to set voice used by TTS
    Version 3.1.2.8
    • Plugin logs now go to Logs folder of HS3 installation
    • For some HS3 device updating string instead of AdditionalData to decrease HSTouch plugin overhead
    • Fixed size of media list boxes in player web page
    Version 3.1.2.6 and 3.1.2.7
    • Only update the Additional data for devices that use if it changed (Alarms for example)
    • Changes to menus that can be displayed on players due to issue referring to HSPhone APIs from plugin (i.e. does not work correctly currently)

    Version 3.1.2.4 and 3.1.2.5
    • Internal fixes related to cleanup
    • Fixed installer / updater issue

    Version 3.1.2.3
    • Fixed event action to play Playlists from MyMusic
    • Added player number to plugin status web page and listing players sorted by player number
    • Added toggle buttons to respective player HS3 devices to toggle Shuffle and Repeat. Requires manually (from plug-in status page) recreating HS3 devices to add them.
    • Fixed several issues related to media browsing and missing scrollbars when browsing media in player web page and event action to play library item
    • Added optional CGI arguments to player web page to hide header and/or footer
    • Known issue: plug-in update from HS3 updater might require shutting down and restarting HS3 before successful install. Bugzilla has been submitted to HomeSeer - https://forums.homeseer.com/bugzilla...ug.cgi?id=1448
    • Known issue: displaying HS3 event actions in player menus might fail. Bugzilla has been submitted to HomeSeer - https://forums.homeseer.com/bugzilla...ug.cgi?id=1439

    Version 3.1.2.2
    • Test version

    Version 3.1.2.1
    • Fixed event action sleep
    • Revised device status pairs for player alarm actions fixing display on graphics tab and will make it easier to write event triggers against alarm. Requires manually (from plug-in status page) recreating existing HS3 devices to fix

    Version 3.1.2.0
    • Supports to apply an single action to multiple players
    • The URL used when triggering HomeSeer menus on player can be customized to enable specifying a username and password (the same URL should be specified in the LMS plugin for secure access)
    • The first column in the status page now lists the player instance (used in scripts) instead of the player ID
    • New scripting APIs (see documentation)

    Version 3.1.1.2
    • Fixed firing triggers upon certain conditions especially when events are cloned

    Version 3.1.1.1
    • Fixes log debugging flag not saved correctly to ini file
    • Calling UnRegisterAllLinks upon shutdown
    • Added additional logging to trace trigger firing

    Version 3.1.1.0
    • Changed device configuration so that they can trigger event based on status change. Devices need to be created to enable this.
    • Added two triggers to trigger event when a IR Code or Button is received from a player

    Version 3.1.0.5
    • Fixed logging message and sent to updater

    Version 3.1.0.4
    • A few fixes/updates in web pages (html)
      Fixed speak proxy when speaking to all clients from script without specifying a client. (script use an empty string to specify all clients while events use *:*)

    Version 3.1.0.3
    • Installation notes: Since the configuration of devices has changes to resolve device grouping, you need delete devices and restart the plugin to re-create them with the new configuration
    • HS3 3.0.0.55 compatible
    • Resolved device grouping in Device Management page

    Version 3.1.0.2
    • Installation notes
      • Since the configuration of several devices has changes, you must delete existing HS3 devices and recreate them. The easiest is to uncheck all players in the plug-in status page which will delete HS3 devices and then check again the players for which you want HS3 devices to be created
      • The internal data structure for a few actions has changed. You might need to delete the existing action and recreate it.
    • New features
      • Speak to specific SqueezeBox player using host:instance argument of hs.speak. host is the speaker client name in the plugin configuration and instance is either of the squeezebox player name or "Player #" with # the player number (ex: Player 1)
      • IR Support: supports receiving and send IR signals via supported SqueezeBox players
      • Revision of "HomeSeer - HS3" menus actions available in player menus
      • Updated plug-in specific variable replacement (in addition to built-in)
      • Updated documentation
    • HS3 Devices
      • HS3 device Address of player devices starts with LMSP instead of Player to make it easier to sort and group all plug-in related devices
      • Only setting HS3 device Address leaving Device Code available for user's customization
      • Changed the Device Type of LMS Server HS3 devices
      • Added two addition HS3 devices per player to store the last received IR Button and IR Code
      • Changed several HS3 devices to use device status and graphics pairs instead of setting device string with the exception of the player current title
      • When making a selection in player web page, the player HS3 device selector control device is now updated
    • Actions
      • Replaced the jqSlider in actions with jqTextBox. Also created Bugzila to request for a new spinner control which would have the benefit of both the slider and type in box.
      • Added three additional sub actions to the player control action to send IR Code, IR Button or IR Blaster commands
    • Web Pages
      • Removed About page
      • Updated (rss, xml, csv) web page feeds used by LMS plug-in for screen savers and menus on player
    • Known Problems
      • Plugin is not compatible with HS3 3.0.0.55 due to the addition of a new media API. The next update will resolve this.
      • Grouping of devices in the Device Management page not working correctly. The next update will resolve this.

    Version 3.0.4
    • HS3 device speak volume has new + and - buttons
    • New Player Media page
    • Action to control player has new actions to increment or decrement the speech volume
    • Actions play playlist item: now has controls to browse to item instead of type in boxes
    • Action play lib item: New action with media browser to select item to play
    • Fix actions / triggers for latest HS3 version
    • Bug fixes

    Version 3.0.2
    • Bug fixes and updates

    Version 3.0.0
    • Initial beta version
    Last edited by pcp; July 19, 2021, 11:09 PM. Reason: Added Version 3.2.0.12 Beta

    #2
    pcp,

    I have installed the I plugin on hs 3.0.0.14. Initially after installing an error occurred and plugin would be reset to disabled. I tried enabling the plugin 3 times, each time plugin would give this error:

    <TABLE class=log_table_row cellSpacing=0><TBODY><TR><TD class=LogDateTime1 style="WHITE-SPACE: nowrap" align=left>24-7-2013 19:14:45 </TD><TD class=LogPri1 align=left></TD><TD class=LogType1 colSpan=3 align=left>Error </TD><TD class=LogEntry1 colSpan=8 align=left>Warning, Cannot load EXE file (possibly missing dependencies) HSPI_SAMPLE.exe: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.Warning, Error details with EXE HSPI_SAMPLE.exe: Method not found: 'System.String HomeSeerAPI.IPlugInAPI.InitIO(Int32)'. </TD></TR></TBODY></TABLE>

    A full restart of HS3 did solve this issue.
    I did a basic test - starting and stopping music through the webinterface. So far everything was working perfectly. I will do more testing this weekend, then including speech. HSTouch testing is not yet on my list, and hearing your comments it might not yet work anyway?

    Thanks so far for what looks like a good job!!

    Regards,

    Wim
    -- Wim

    Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

    1210 devices/features ---- 392 events ----- 40 scripts

    Comment


      #3
      Originally posted by w.vuyk View Post
      pcp,

      <TABLE class=log_table_row cellSpacing=0><TBODY><TR><TD class=LogDateTime1 style="WHITE-SPACE: nowrap" align=left>24-7-2013 19:14:45 </TD><TD class=LogPri1 align=left></TD><TD class=LogType1 colSpan=3 align=left>Error </TD><TD class=LogEntry1 colSpan=8 align=left>Warning, Cannot load EXE file (possibly missing dependencies) HSPI_SAMPLE.exe: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.Warning, Error details with EXE HSPI_SAMPLE.exe: Method not found: 'System.String HomeSeerAPI.IPlugInAPI.InitIO(Int32)'. </TD></TR></TBODY></TABLE>

      A full restart of HS3 did solve this issue.
      pcp,

      Ignore this error. Because I was upgrading to HS 3.0.0.14 more or less at the same time there was this sample plugin that was deactivated for a long time already that started generating this error without revealing itself, even in my plugin screen I did not see any trace of this plugin.
      Deleted the executable and a restart / reboot whatever does not shake your plugin.

      Sorry for the confusion

      Wim
      -- Wim

      Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

      1210 devices/features ---- 392 events ----- 40 scripts

      Comment


        #4
        Thank you for testing it and no problem. I ran into something similar.

        Comment


          #5
          FYI
          Noticed that when I open or close other plugins, the Squeezebox plugin, restarts.

          Z

          Comment


            #6
            pcp,

            I also found that your plugin seems to have issues when other plugins are stopped of started. Here is what I see in the log when I stop the X10 plugin:
            Attached Files
            -- Wim

            Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

            1210 devices/features ---- 392 events ----- 40 scripts

            Comment


              #7
              Not able to connect

              I do not seem to be able to connect the plugin to LMS. On my players I enter in my mysqueezebox username/pw. Is this correct for the plugin options?
              _______________________________________________

              HS3 : HSpro (3.0.0.460) on Win2012 (vm on ESXi)
              Plugins: HSTouch, UPBSpud, Kinect, Nest, IFTTT, DirecTV, EasyTrigger, Imperihome, Zwave, RFXcom, UltraMon3, UltraWeatherBug3, UltraGCIR3, UltraLog3, UltraPioneer, PHLocation, Pushover, Pushalot, MCSSPrinklers S, JowiHue
              Jon00 Plugins: Bluetooth Proximity, Performance Monitor, DB Chart, Links

              Comment


                #8
                It looks like leaving it for a day fixed it. I'm connected now.
                _______________________________________________

                HS3 : HSpro (3.0.0.460) on Win2012 (vm on ESXi)
                Plugins: HSTouch, UPBSpud, Kinect, Nest, IFTTT, DirecTV, EasyTrigger, Imperihome, Zwave, RFXcom, UltraMon3, UltraWeatherBug3, UltraGCIR3, UltraLog3, UltraPioneer, PHLocation, Pushover, Pushalot, MCSSPrinklers S, JowiHue
                Jon00 Plugins: Bluetooth Proximity, Performance Monitor, DB Chart, Links

                Comment


                  #9
                  I will look at the restart issue hopefully this weekend. Are you running into the same with other plugins?

                  The SB plugin uses a HS3 single exe/multiple instance configuration not used by many other plugins, maybe related to this.

                  Comment


                    #10
                    Originally posted by pcp View Post
                    I will look at the restart issue hopefully this weekend. Are you running into the same with other plugins?

                    The SB plugin uses a HS3 single exe/multiple instance configuration not used by many other plugins, maybe related to this.

                    Yes, it did have failure when restarting other plugins.
                    _______________________________________________

                    HS3 : HSpro (3.0.0.460) on Win2012 (vm on ESXi)
                    Plugins: HSTouch, UPBSpud, Kinect, Nest, IFTTT, DirecTV, EasyTrigger, Imperihome, Zwave, RFXcom, UltraMon3, UltraWeatherBug3, UltraGCIR3, UltraLog3, UltraPioneer, PHLocation, Pushover, Pushalot, MCSSPrinklers S, JowiHue
                    Jon00 Plugins: Bluetooth Proximity, Performance Monitor, DB Chart, Links

                    Comment


                      #11
                      If I disable any other plugin, I get the following in the plugin status column on the manage plugins page for the squeezebox plugin:

                      CRITICAL: Failed to get InterfaceStatus from SqueezeBox: An existing connection was forcibly closed by the remote host
                      _______________________________________________

                      HS3 : HSpro (3.0.0.460) on Win2012 (vm on ESXi)
                      Plugins: HSTouch, UPBSpud, Kinect, Nest, IFTTT, DirecTV, EasyTrigger, Imperihome, Zwave, RFXcom, UltraMon3, UltraWeatherBug3, UltraGCIR3, UltraLog3, UltraPioneer, PHLocation, Pushover, Pushalot, MCSSPrinklers S, JowiHue
                      Jon00 Plugins: Bluetooth Proximity, Performance Monitor, DB Chart, Links

                      Comment


                        #12
                        I was able to reproduce the disconnect / shutdown of player plugin instances when another plugin is started. It is something related to HS3 and submitted a bug. Thanks for your feedback.

                        Comment


                          #13
                          pcp,

                          In the beta test of HS3 license from Squeezebox got expired.
                          My old license does not work here. How can I initiate a new trial period?

                          Wim
                          -- Wim

                          Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

                          1210 devices/features ---- 392 events ----- 40 scripts

                          Comment


                            #14
                            I have some issues with the beta plugin...

                            1. In the HSTouch designer, when I try to select the default music selector ia have no squeezeboxes in the "select a music interface" box that pops up. Only "Leave default" is listed in the pulldown menu...

                            2. I have several playlists. I have created events to start playing that playlist. That works fine for local music stored on my NAS drive, but for radiostations it is not working... For example I have a playlist that is calls P3 in LMS, and plays fine from LMS, but when I run the event in HS3 to play that playlist, all that happens is that the player stops playing whatever it was playing, and never starts to play the "P3" playlist.
                            Also after I have ran the event in HS, I can see that in LMS the current playlist says "empty", and nothing happens if I press play...

                            Using Squeezebox plugin v 3.0.0.0 with HS3PRO on a windows PC, and LMS 7.7.3 running on a ReadyNAS Ultra.

                            Any ideas?

                            Comment


                              #15
                              Originally posted by Sleepy81 View Post
                              1. In the HSTouch designer, when I try to select the default music selector ia have no squeezeboxes in the "select a music interface" box that pops up. Only "Leave default" is listed in the pulldown menu...
                              HSTouch has not been updated to support the new HS3 music APIs which is why you are not seeing the players at this point.

                              Originally posted by Sleepy81 View Post
                              2. I have several playlists. I have created events to start playing that playlist. That works fine for local music stored on my NAS drive, but for radiostations it is not working... For example I have a playlist that is calls P3 in LMS, and plays fine from LMS, but when I run the event in HS3 to play that playlist, all that happens is that the player stops playing whatever it was playing, and never starts to play the "P3" playlist.
                              Also after I have ran the event in HS, I can see that in LMS the current playlist says "empty", and nothing happens if I press play...
                              Any ideas?
                              I will need to give it a try. Could you post a screenshot of the exact configuration of the event you are using?

                              Comment

                              Working...
                              X