Created At

Apr 20, 2020

Last Update

Mar 22, 2021

Platforms

HC 3 Lite, HC 3

Views

6848

Download

1128

Type Quick App

Current version: 1.4.0 Stable
Date: 
15/03/2021

FUNCTIONS
The functions of this Quick App are:

Allowing to control Sonos Player from Home Center 3. It does support basic and advanced functions:

  • Basic Transport Control
    • Initiate playback
    • Toogle, Pause or Stop playback
    • Skip to the previous or Next track
  • Basic Rendering Control
    • Get player volume and mute state
    • Set player volume to a specific level and unmute the player if muted
    • Increase or decrease player volume
    • Get or Set or Toggle player mute state (Mute or unmute the player)
    • Get or Set or Toggle player loudness state
  •  Device Properties
    • Get or Set group LED state
  • Restart the QA Device
  • Enable Debug Mode

See Changelog / Manual for basic and advanced available actions

Examples:

  • Set player volume to a specific level and unmute the player if muted.
    fibaro.call(ID_QUICKAPP, "setVolume", 10, "MASTER")
  • Increase or decrease player volume.
    fibaro.call(ID_QUICKAPP, "setRelativeVolume", -5, "MASTER")
  • Initiate playback.
    fibaro.call(ID_QUICKAPP, "play")
  • Play a file at volume 10 with snapshot/revert process to restore previous state
    fibaro.call(ID_QUICKAPP, "playFile", "35HTGV34R7S/CD/Album/song.flac", true, 10)
  • Play a stream at volume 20 & 8s duration with snapshot/revert process to restore previous state
    fibaro.call(ID_QUICKAPP, "playStream", "https://s3.amazonaws.com/smartapp-media/sonos/bell1.mp3", true, 20, 8000)

PREREQUISITES

  • Fibaro Home Center 3 with firmware 5.050.xx or greater
  • One or more Sonos devices

INSTALLATION AND SETUP
How to configurate the Quick App:

Fibaro Quick Apps manual: https://manuals.fibaro.com/home-center-3/ (see installing a quick APP)

Uploading file:

  1. Open the Configuration Interface.
  2. Go to Settings > Devices.
  3. Click 
  4. Choose Other Device
  5. Choose Upload File
  6. Choose file from your computer > SonosZoneController.fqa

Define variables:

  1. Go to  > Devices
  2. Choose Other Device
  3. Open QA
  4. Choose Varibles tab
  5. Update the variables
    1. IP Address (ex: 192.168.1.200)
    2. TCP Port (1400 is the default port)
    3. Polling (Main polling setted to 10 seconds by default)
  6. Save

Notes: notifications can be sent in case of configuration problems or communication errors with the device

ADDITIONAL DEVICES
Not required

DISCLAIMER
This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Fibar Group S.A. and their employees are not responsible for support of the Sonos Zone Controller Quick App.Please contact the author Jean-Christophe Vermandé (Krikroff), on the Fibaro Forum, for any questions or support required.

Fibaro Main Forum: https://forum.fibaro.com/profile/523-krikroff/
Non official French Forum: https://www.domotique-fibaro.fr/profile/3-krikroff/

LEGAL NOTICE
Sonos® is the trading name of Sonos Inc. in Santa Barbara, U.S.A. (Sonos legal terms)

PACKAGE CONTENT

  • Sonos Zone Controller QuickApp (fqa)
  • Changelog EN
  • User Manual / Install EN
  • Icon

RELEASE NOTES

Version 1.4.0

Tested with Sonos Sonos OS: S2 - Version 13 (number 62186220)
Tested with HC3 & HC3Lite v5.050.13 -> v5.063.30

  • Fix for Sonos firmware version 13
  • Fix for Sonos ARC getPositionInfo and malformed xmlsoap (hope full supoport soon)
  • Add playNextRadio command to navigate the radios
  • Add play mode control from QA button (loop in NORMAL,REPEAT_ALL,REPEAT_ONE,SHUFFLE_NOREPEAT,SHUFFLE,SHUFFLE_REPEAT_ONE)
  • Fix Radio metadata strange behaviors in some situations

Version 1.3.8

Tested with Sonos Sonos OS: S2 - Version 12.2.2 (number 61183220)

  • Improved support for albumArt, now work with Sonos Radio, Amazon Music, Spotify, TuneIn, Music library
  • Add option 'protect' to playFile and playStream for disallow to restart a playing
  • Add Crossfade mode support with getCrossfadeMode, setCrossfadeMode and toggleCrossfadeMode commands
  • Add sleepTimer command
  • Add setPlayMode command, support: NORMAL,REPEAT_ALL,REPEAT_ONE,SHUFFLE_NOREPEAT,SHUFFLE,SHUFFLE_REPEAT_ONE
  • Add selectLineIn command
  • Add in variables panel, "notification" variable to enable or disable the "Device notification error", if disabled QA trace the message in QA console only
  • Various improvement

Version 1.3.1 RC

Tested with Sonos Software Version: 56.0-76060 / Sonos OS: S2 - Version 12.0.5 & 12.1

  • Add support to use in block scenes (Play, Pause, Stop, Next, Prev, Set Volume, Set mute) 
  • Support for album covers when available (cf. music library)
  • Performance improvement when initiating a playback
  • Improved radio playback and track information
  • Increase the number of supported radio stations (with auto configuration up to 9)
  • Support for Sonos playlists (with auto configuration up to 6 saved queues)
  • Add playFile command
  • Add playStream command
  • Add playSavedQueue command
  • Add startQueue command
  • Add clearQueue command
  • Add seek command
  • Add snapshot command
  • Add revert command
  • Add getListSavedQueues command
  • Add addURIToQueue command
  • Add checkForUpdate command
  • Add getTreble and setTreble commands
  • Add getBass and setBass commands
  • Various Bug fixes (Polling when not configured, parsing ...)

Version 1.1.0

  • Support for TuneIn "My radio stations" (with auto configuration up to 6 radios)
  • Deletion of the variable variable "isConfigured" used by internal FTI Configuration
  • Minor bug fixes (No route to host cause wrong configuration status)
  • Tested with Sonos Software Version:55.1-74250 and 56.0-76060
  • Performance improvement

Version 1.0.3

  • Fix a problem with internal zoneGroups and ZoneGroupMembers parsing (Thanks to jgab, Alan Klepacz and robw)

Version 1.0.2

  • Minor bug fixes (Thanks to Macschimmi, Bodyart, minsad79) 

Version 1.0.0

  • Based on my HC2 virtual Device and completely rewriten for HC3 v5.030.45 or highter
  • Very low latency and more robust device (commands execution, processing)
  • Easy installation with auto configuration assist
  • Support standard capabilities (AVTransport, RenderingControl)
  • Displaying information on the currently playing or media loaded
  • Fully controllable from the LUA scenarios (see available command list)

ROADMAP

  • Support for multi-devices in group used for triggering in scene and prepare for group-ungroup
  • Support for TV source (if supporteed by device)
  • Support for Group
  • Support for TTS

24 Comments,  Want to add comment please login
97546be1c60a65a6195a433712f0e4de

I want to link this site https://astroworldmerch.net/. Tell me how can do this.

97546be1c60a65a6195a433712f0e4de

thanks for sharing it's helpful for me. Can I link to another site?

D252cc293f5fa4a62a9beb4c2fe943f8

Hello Tim, installation guide is available in package and support if needed on dedicated forum https://forum.fibaro.com/topic/49948-quick-app-sonos-zone-controller/ Hello Rob, please check your main Sonos group IP. Please request help on dedicated forum https://forum.fibaro.com/topic/49948-quick-app-sonos-zone-controller/ Thank you for your interest. Best regards

84312a8c319bba74b4d01dd79a512ea3

keep up the good work, unfortunately it doesn’t seem to work for me on my new HC3 SONOS playbar assigned with two SONOS play 1 [26.02.2021] [11:26:28] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:26:31] [TRACE] [QA-SONOS-711]: Notification [disabled] info Device communication error Error occured - Device request failed. Please check ip address and default port in variables panel. Try again.... [26.02.2021] [11:27:29] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:27:53] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:27:53] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:27:53] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:28:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:29:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:29:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:29:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:30:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:30:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:30:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:31:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:31:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:31:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:32:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:32:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:32:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:33:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:33:01] [DEBUG] [QA-SONOS-711]: onAction: {"args":[1],"actionName":"setMute","deviceId":711} [26.02.2021] [11:33:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:33:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?') [26.02.2021] [11:34:01] [WARNING] [QA-SONOS-711]: Variable debugLevel not found [26.02.2021] [11:34:01] [ERROR] [QUICKAPP711]: QuickApp crashed [26.02.2021] [11:34:01] [ERROR] [QUICKAPP711]: commandClass.lua:14: attempt to index a nil value (field '?')

4682153f87c230be7566a3fe7b8e50b6

I cant seem to get this zone controller to work... Where can i find more information about this zone controller ? I