Version 21 (modified by lolodomo, 11 years ago) (diff)

--

The Sonos Wireless HiFi Music Systems plugin for Vera

This plugin permits control of your Sonos via Vera scenes.

Development Status

Tested features:

  • Supported Models: ZP80, ZP100, Sonos3, Sonos5, Sonos Connect, Sonos Connect AMP tested
  • Functionality:
    • Sonos:
      • Mute
      • UnMute
      • SetVolume
      • PlayURI (Places chosen audio file into queue)
    • MediaNavigation:
      • ChapterDown(Not implemented)
      • ChapterUp (Not implemented)
      • DiskDown (Not implemented)
      • DiskUp (Not implemented)
      • FastForward (Not implemented yet)
      • Play, Pause, Seek
      • QuickSkip (Not implemented)
      • Rewind
      • SkipDown (implemented as 'Next' on Sonos)
      • SkipUp (implemented as 'Previous' on Sonos)
      • Slow (Not implemented)
      • Stop
    • Speech
      • Say (TTS by Google)
    • Playlists
      • PlayList Save & Restore
    • Advanced Dialog UI
    • Volume & Equalization
      • Volume:
        • Down (by 3 out of 100)
        • Mute (a toggle mute function - currently a poor mans version)
        • Up (by 3 out of 100)
      • Set Bass, Treble & Loudness Levels
    • Periodic Updates
      • Updates automatically, every 15s, from Sonos device
      • Manual Poll also available for scene scripting

To do list:

  • Autodiscovery of Zones
  • Autonaming of zone names

Installation

What you need

How To

  • Upload the plugin files:
    • In the Toolbox section open MiOS Developers >> Luup Files and upload all the files you downloaded (except the file D_Sonos1_UI4.json and the services subdirectory). check the Restart Luup after upload checkbox and click GO.
  • Create the Sonos device:
    • Open Create Device.
    • In the UpnpDevFilename input box enter D_Sonos1.xml.
    • In the Description input box enter a name for the panel device, e.g. Sonos Living Room.
    • Click Create device.
  • Close this window and Save.

Configuration

  • In the Sonos device advanced control tab specify the IP Address of your Sonos Zone
  • Now actions are available in scenes

User Interface

Scenes

Creating a Sonos scene under UI5

To use the Sonos device under UI5, follow the steps outlined below.

  • Create New Scene
  • Give the scene a name, such as Play Sonos
  • Select the [Advanced] option/tab
  • Select the Sonos device
  • Click (Add)
  • Then from the drop down options list created below, Choose SetFileToPlay and enter the full location of the NAS file
    e.g. 192.168.1.10/media/Music/Mp3s/Changes.mp3

Now you have selected the file, you need to tell the Sonos to play it

  • Select the Sonos device again
  • Click (Add)
  • Then from the drop down option list created below, Choose 'Play'
  • Confirm Changes & (Save)

Now you should have a scene that, once run, will play the track you've selected.

Notes:

  • The above bypasses the Sonos queue and will just play the selected track only.
  • If you know the length of the track being played you can set a delay to occur
    e.g 3.45mins and set another file to play.

Service Variables

urn:sonos-com:serviceId:Sonos1

  • CurrentService - name of the current service
  • SonosDevices - Sonos network (for plugin internal usage)
  • SonosServicesKeys - for plugin internal usage

urn:upnp-org:serviceId:DeviceProperties

  • ZoneName - name of the Sonos unit
  • SonosID - UUID of the Sonos unit

urn:upnp-org:serviceId:AVTransport

  • CurrentStatus -
  • TransportState -
  • TransportStatus -
  • TransportPlaySpeed -
  • CurrentPlayMode -
  • CurrentCrossfadeMode -
  • CurrentTransportActions -
  • CurrentTrack -
  • CurrentTrackDuration -
  • CurrentTrackURI -
  • CurrentTrackMetaData -
  • CurrentTitle -
  • CurrentArtist -
  • CurrentAlbum -
  • CurrentDetails -
  • CurrentAlbumArt -
  • RelativeTimePosition -
  • AbsoluteTimePosition -
  • RelativeCounterPosition -
  • AbsoluteCounterPosition -
  • NumberOfTracks -
  • CurrentMediaDuration -
  • AVTransportURI -
  • AVTransportURIMetaData -
  • CurrentRadio -

urn:upnp-org:serviceId:ContentDirectory

  • Queue -
  • AudioInputs -
  • SavedQueues -
  • FavoritesRadios -

urn:upnp-org:serviceId:RenderingControl

  • Volume -
  • Mute -

Obsolete

The following service variables have been obsoleted, and replaced with standard variables from the AV-UPnP set.

  • urn:schemas-micasaverde-com:device:avmisc:1, CurrentZoneName
  • urn:schemas-micasaverde-com:device:avmisc:1, CurrentTransportState
  • urn:schemas-micasaverde-com:device:avmisc:1, PlayMode
  • urn:schemas-micasaverde-com:device:avmisc:1, TrackURI
  • urn:schemas-micasaverde-com:device:avmisc:1, CurrentMute
  • urn:schemas-micasaverde-com:device:avmisc:1, CurrentVolume

If you see these in your system, they're from an older release and will no longer be updated.  Any scenes, or Lua code, that depends upon these variables will need to be manually changed.

Reference

Attachments