Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Quick App - Sonos Zone Controller


Krikroff

Question

Current version: 1.4.0
Date: 15/03/2021

 

Please login or register to see this image.

/monthly_2020_10/Preview_1.3.1.PNG.07af3ad8f4e892c6f2a00a8452a48bde.PNG" />

 

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)

 

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.1

  • 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)

 

 

You can download it from the Fibaro market: 

Please login or register to see this link.

 

 hope you will be pleased with it

 

 

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
Edited by Krikroff
Version 1.4.0
  • Like 16
  • Thanks 2
Link to comment
Share on other sites

Recommended Posts

  • 0
2 minutes ago, robw said:

For me it is a single speaker, one Sonos: Play 1.

But your speaker is assigned to a room, i.e. group?

(I guess Sono's zone, group and room concept is the same?)

Link to comment
Share on other sites

  • 0
1 hour ago, jgab said:

But your speaker is assigned to a room, i.e. group?

(I guess Sono's zone, group and room concept is the same?)

 

Yes, it is in a zone (Bedroom).

Link to comment
Share on other sites

  • 0
  • Inquirer
  • Hi, problem fixed :) i post asap for testing purpose.

    Thank you for your essential feedback

    Edited by Krikroff
    • Like 2
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Version 1.0.3 (beta)
    -- Fix a problem with internal zoneGroups and ZoneGroupMembers parsing (Thanks to jgab, Alan Klepacz and robw)

     

    I have simulated several use cases which I think should cover wide:

    • 1 ZoneGroup with 1 ZoneGroupMember
    • 1 ZoneGroup with 3 ZoneGroupMembers
    • 2 ZoneGroups with 1 ZoneGroupMember in each ZoneGroup
    • 3 ZoneGroups with 3 ZoneGroupMembers (1: 1xZoneGroupMember, 2: 2xZoneGroupMember, 3: 3xZoneGroupMember)

    According to your feedback I will also update on the marketplace :)

     

     

    Please login or register to see this attachment.

    • Thanks 4
    Link to comment
    Share on other sites

    • 0
    1 hour ago, Krikroff said:

    Version 1.0.3 (beta)
    -- Fix a problem with internal zoneGroups and ZoneGroupMembers parsing (Thanks to jgab, Alan Klepacz and robw)

     

    I have simulated several use cases which I think should cover wide:

    • 1 ZoneGroup with 1 ZoneGroupMember
    • 1 ZoneGroup with 3 ZoneGroupMembers
    • 2 ZoneGroups with 1 ZoneGroupMember in each ZoneGroup
    • 3 ZoneGroups with 3 ZoneGroupMembers (1: 1xZoneGroupMember, 2: 2xZoneGroupMember, 3: 3xZoneGroupMember)

    According to your feedback I will also update on the marketplace :)

     

     

    Please login or register to see this attachment.

     

    Thank you @Krikroff for updating this QA so quickly! :) I will test it now.

    *Edit* Well done! It works! Thank you!

     

    Have a nice weekend!

    Rob

    Edited by robw
    • Like 1
    Link to comment
    Share on other sites

    • 0
    1 hour ago, Krikroff said:

    Version 1.0.3 (beta)

     

    Thanks, work ok for me!

    /J

    • Like 1
    Link to comment
    Share on other sites

    • 0
    1 hour ago, Krikroff said:

    According to your feedback I will also update on the marketplace

    Works here without problem :-D

     

    • Like 1
    Link to comment
    Share on other sites

    • 0
    3 hours ago, Krikroff said:

    ... According to your feedback I will also update on the marketplace :)

     


    I had the same problem, the fix works great. Thanks

    • Like 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Thanks you to all for your feedback,  Marketplace is now up to date with the new v1.0.3 (Status: In Review)

     

    The next version will be v1.1.0 with support for TuneIn "My radio stations" as new feature. Hope you will like it!

    • Thanks 6
    Link to comment
    Share on other sites

    • 0
    17 hours ago, Krikroff said:

    Version 1.0.3 (beta)
    -- Fix a problem with internal zoneGroups and ZoneGroupMembers parsing (Thanks to jgab, Alan Klepacz and robw)

     

    I have simulated several use cases which I think should cover wide:

    • 1 ZoneGroup with 1 ZoneGroupMember
    • 1 ZoneGroup with 3 ZoneGroupMembers
    • 2 ZoneGroups with 1 ZoneGroupMember in each ZoneGroup
    • 3 ZoneGroups with 3 ZoneGroupMembers (1: 1xZoneGroupMember, 2: 2xZoneGroupMember, 3: 3xZoneGroupMember)

    According to your feedback I will also update on the marketplace :)

     

     

    Please login or register to see this attachment.

    I'm a little confused about the terminology. 

    Sonos uses the terms "room" and "group". A single Sonos player (e.g. "Connect:Amp") in a room or a stereo set of two players in a room (e.g. two "Play:1"). Rooms can be grouped together.

    Of course in larger Sonos installations, there are a number of rooms and may be multiple groups. 

     

    Maybe I'm just a little slow, but how does this correspond to your ZoneGroup examples? 

     

    And if I have a Sonos group consisting of 4 rooms with a total of 7 physical Sonos devices, how many instances of the QuickApp do I need to run? 

    Edited by olekenneth
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Hello @olekenneth,

     

    Behind the scene in the Sonso Upnp world, a complete environment consists of ZoneGroups, the details:

     

    ZoneGroups = a set of ZoneGroup

    ZoneGroup = a room, composed of one or more members (ZoneGroupMember) with a dedicated ID
    ZoneGroupMember = One Sonos device (Only one member can be the coordinator of the group to which he belongs) identified by unique ID (UUID)

     

    In real life for example, if in your living room you have a stereo pair (Play:1) with a sub:

     

    ZoneGroup: "Living Room" - Coordinator: Play:1 - L

    1. ZoneGroupMember: Play:1 - L (group coordinator, its IP must be declared in the Quick App)

    2. ZoneGroupMember: Play:1 - R

    3. ZoneGroupMember: SUB

    1 room = 1 zone group = 1 Quick App :)

     

    NB: The features for grouping rooms, volume, party mode, making it visible or invisible, etc. are different things

     

    2 hours ago, olekenneth said:

    And if I have a Sonos group consisting of 4 rooms with a total of 7 physical Sonos devices, how many instances of the QuickApp do I need to run? 

     

    You have a set of ZoneGroup (your rooms composed with members aka your physical devices) in ZoneGroups.

    Room 1 = 1 Quick App

    Room 2 = 1 Quick App

    Room 3 = 1 Quick App

    Room 4 = 1 Quick App

     

     

    Link to comment
    Share on other sites

    • 0

    I still can't get it done.

     

    I have 2 pcs of Sonos Play 1, playing together but not as L & R.

    I'm adding first QA and it works, then I add second one with different IP and it doesn't work.. 

    Can you help me? :)

    Link to comment
    Share on other sites

    • 0
    29 minutes ago, Alan Klepacz said:

    I still can't get it done.

     

    I have 2 pcs of Sonos Play 1, playing together but not as L & R.

    I'm adding first QA and it works, then I add second one with different IP and it doesn't work.. 

    Can you help me? :)

     

    when you have two Speakers, connected as L & R pair - which is one Sonos Zone - you need only one QA, not two - this is how Sonos works

    Link to comment
    Share on other sites

    • 0
    5 minutes ago, tinman said:

     

    when you have two Speakers, connected as L & R pair - which is one Sonos Zone - you need only one QA, not two - this is how Sonos works

    As I've said - they aren't working as L & R pair. They're only in group but NOT as L & R.

    Link to comment
    Share on other sites

    • 0
    6 minutes ago, Alan Klepacz said:

    As I've said - they aren't working as L & R pair. They're only in group but NOT as L & R.

     

    yeah, blind me … NOT L&R .. but still used/paired as Group (which is Zone for QA). As only one speaker is controling what the Zone is playing, the answer is still the same, only one QA.

    Edited by tinman
    • Like 1
    Link to comment
    Share on other sites

    • 0
    4 minutes ago, tinman said:

     

    yeah, blind me … NOT L&R .. but still used/paired as Group (which is Zone for QA). As only one speaker is controling what the Zone is playing, the answer is still the same, only one QA.

    Ok, so which IP should I enter in QA? Because none of these two isn't controlling whole group..

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Try with both and keep only the one that works ;)

    Link to comment
    Share on other sites

    • 0
    2 hours ago, Krikroff said:

    Try with both and keep only the one that works ;)

    But it still doesn't controll second one.

     

    As I've said "none of these two isn't controlling whole group.."

    Edited by Alan Klepacz
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...