Mycroft Community Forum

Testing and Feedback - Sonos controller skill (yet another one)

As mentioned in the title, this is yet another one Sonos controller skill…

Here is a list of the existing ones that I found:

Mine is not better than the previous links, as I mentioned here, there are skills for everybody requirements.

I tried to mimic what the Amazon Alexa Sonos skill does (which is the one I’m using at home, until my Mycroft setup is done :upside_down_face:) and added few things that were missing from this one (based on the experience at home).

So far I’ve been able to play different music at the same time on different speakers from Spotify, Deezer and local music library (using a shared storage for the last one).

I tried to make the skill simple as possible with less configuration as possible for the music service authentication (I build an URL shortener especially for this occasion) and the skill in general.

  • The skill auto-discover the Sonos speakers which means there is no need to configure a default one on home.mycroft.ai and you could ask Mycroft to give you the name of your speaker.
  • There is no need of additional services such as Node.js
  • By default the skill will work with local library (if properly enabled in Sonos application)

It has been quite a journey to write this skill, my previous one was a pretty simple one (Raspberry Pi and GPIO LED :joy:). This one let me discovered the joys of Mycroft skills development!

The skill has been tested on different devices (all up-to-date from a firmware perspective):

  • Play:1 (2X)
  • Play:5
  • Playbar

The whole is connected to my home Wi-Fi network using the Sonos Boost.

I’m looking for people with Sonos hardware (same and/or different) to test this skill, of course everything works for me but we know that it’s always a different story when people try to use your skill. :crazy_face:

2 Likes

I just released a new version (branch 21.2.0 ).

This release officially supports Mycroft AI core 21.2.0 version.

  • Use specific commit for SoCo Python library
  • Reduce SoCo log verbosity (#13)
  • Detect URL shortener status (#12)
  • Remove unused imports
  • Deezer music service support (#6)
  • Italian translation (PR #14)