Releases: toggledbits/Sonos-Vera
Version 2.0-20316.1545
This version includes all 2.0 hotfixes to date.
- 20314-01: Add received data to log message for one failure case where it had been missed; easier diag on TTS auths.
- 20282-01: Workaround very long bearer tokens (longer than allowed command line length) for curl requests in Azure TTS.
- 20273-01: Upgrade TTS module to 20273.
- 20229-01: Some recent UK firmware apparently has a different XML response form for zone group topology.
- 20149-02: Fix errors in player UI that cause incorrect parsing of lists (saved queues, queue, favorites).
- 20149-01: Fix error in URI decoding that causes last list (saved queue, favorites) element to be ignored.
- 20147-01: Fix restore of services metadata (bug causing problems playing streaming services).
Release 2.0
This is the first official release under new management.
DEPRECATION ANNOUNCEMENT: The "Language" parameter on Say
actions is now deprecated; it will be removed in a future release. Since language is closely coupled to engine configuration, it isn't reasonable to allow language selection at the action.
SUPPORT FOR VERA 3/LITE: The Sonos plugin generally runs well on the Vera3 and Lite, but the SSL library on the device is unable to meet the encryption requirements of the Microsoft Azure services for TTS. As a result, MARY is the only supported TTS for these platforms. This is a limitation of the firmware on these systems, and since they are now off maintenance with Vera/eZLO, it is not expected that these will receive any further updates. Your only option is to move up to the newer Edge/Plus/Secure models.
OPENLUUP USERS: If you plan on using TTS on openLuup, please see the README file for the latest instructions on special setup requirements.
- The plugin has been converted to parent-child, which is more memory efficient. It also has the benefit of discovering and configuring all zones once the first zone has been created. Existing standalone zone devices from prior versions of the plugin are converted in-place to children, so their Vera/Luup device IDs do not change, thus preserving scenes, Lua, Reactor conditions and activities, etc.
- Since the zone topology, favorites, and saved queues are common to all devices in the system, it isn't necessary for every known zone device to subscribe to their updates and store them individually. These are now stored on the master device. At startup, two zones (the two lowest-numbered zone/child devices, by default) are given the "master role". In this role, they will subscribe to topology and content updates, and updates the SonosSystem master device. All zones used the shared data from the master device. This considerably reduces network traffic and load on the Vera. If the system contains a mix of portable and permanently-installed devices, it may be desirable to specify which zones are preferred as masters; setting
DesignatedMaster
to 1 on these devices will increase their preference. The system chooses two masters at startup for redundancy (if more than two zones are DesignatedMaster=1, only two will actually become masters--which two are selected is not deterministic). - Satellite devices, those that are slaved to a zone players as surround speakers, subwoofer, etc., are not controllable themselves, so they are hidden on the Vera dashboard.
Say
andAlert
actions now supportRepeat
parameter (value 1-255; default 1) to repeat speech or alert, respectively.Say
andAlert
actions now supportUnMute
parameter (boolean; default 1) to force unmuting of muted zones before playback.- TTS now supports Azure (which is very nice quality, BTW); the old Microsoft TTS has been removed. The TTS module has been refactored to be a good bit more modular.
- Handling of TTS engine settings has been modified to conform to the new TTS module interface. This means, among other things, that you are only asked for settings for the TTS engine you are using, and the UI dependencies between the plugin core and the TTS module have been greatly reduced. This makes the addition of future TTS engines easier (no core changes required).
- The TTS cache is automatically pruned of speech audio files older than 90 days by default. This can be modified by setting
TTSCacheMaxAge
on the Sonos master device to the desired maximum age in days. If set to 0, cache cleanup is disabled--you'll need to do it manually. This is handy if you always use fixed strings and want to ensure they are cached and playable during Internet outages. - The TTS cache can be enabled and disabled system-wide through the use of the
UseTTSCache
boolean on the Sonos master device. The default is 1 (cache enabled). When disabled, theUseCache
parameter onSay
actions has no effect. - Discovery is now run automatically at startup if there are no Sonos devices configured. All Sonos zones found will be created automatically. Combined with the new parent-child structure, this makes initial setup of the system almost completely automated.
- On Luup startup, the zone group configuration is used to inventory the system, and any newly-added zones are created. This further minimizes any requirement on the user to configure new devices.
- When the UPnP proxy is used (always recommended), playing TTS will be more responsive because the status updates from the proxy can be applied to the TTS/alert queue processing. This means that you may also omit the
Duration
parameter onAlert
actions (as long as the alert sound is less than 30 seconds in length). - Startup waits for the UPnP Proxy to come up, when installed.
- Fixed an error in the timing of renewal subscriptions. The UPnP module would schedule renewals for exactly the expiration time, which then meant that the subscription expiration at the Sonos device and the renewal operation of the plugin were in a race, and if the plugin lost, updates just stopped happening on the zone devices. The UPnP module now schedules renewals for 80% of the subscription length or length - 60 seconds, whichever is longer, to give the plugin ample time to do the renewals before they expire. In addition, the plugin will now retry (once) if renewals fail. If all renewals fail, a hard check of the proxy is launched.
Version 1.5RC3
Final 1.5RC; this version (1.5) will not be released in formal channels