Alexa, Sonos, Smart Things, Harmony, Oh My

Posted Posted in Alexa, Amazon Echo

So I wasn’t invited to the Logitech Harmony Ultimate Alexa beta and I have some concerns about how Sonos activities are going to be handled with respect to Alexa’s voice recognition.

It isn’t exactly transparent how to add/configure the Harmony->Sonos->Smart Things->Alexa routines to start Playlists or Stations from your Sonos favorites after you’ve done an initial setup. You have to roll up your sleeves and get a little dirty.

When you edit your Sonos favorites in any official Sonos App (add/remove, etc.) the Harmony App/Remote doesn’t necessarily reread the Sonos lists. To get a revised Sonos Favorites list to refresh for Harmony, you need to START a Sonos favorite, hit the star key on the bottom of the app, then scroll and hit REFRESH. Then you can edit that activity and select a new channel or add Activities and specify a Sonos favorite from the refreshed, up to date list.

Below is a screen shot of the first “page” of (scrollable) activities. The naming convention is something I’m working on, and I’ll explain a little further along in this post. Ideally, I should be able to use the same Activity Name across the board, but this turns out to be problematic and confusing.

harmony

When you’ve configured and tested your new or edited Activities, next step is to add a Thing to SmartThings. This, too, isn’t intuitive. Select the + on the Things screen on your phone, then Entertainment, Buttons/remotes. Select Logitech. Your already configured Harmony Hub will appear. Select it, watch the spinning cursor as it refreshes and pulls down your revised, increased list of Harmony Activities. Then select additional activities, watch the cursor spin and the app will populate with the revised list of activities.

Smart Things insists on adding [Harmony Remote] to the end of activities imported from Harmony; you’ll need to edit them to at least remove the [Harmony Remote]. To edit, tap the activity to open its page and then the gear wheel to edit the name. Here’s where the name game becomes interesting. I’ll come back to this when I’m done explaining the process to get all of this hooked up to Alexa for voice control.

smartthings

The final step is to access the Smart Home tab in the Alexa Echo app. If you have the SmartThings skill enabled, you will need to disable it and then enable it so that it can re-read the list of “Things”. Then you’ll need to re-run Discovery (a pop-up should automatically appear to action this). All of your new activities should now show in the Your Devices list. And you’ll need to do this each and every time you edit or add a “Thing”.

There’s a big gotcha to be aware of. You can’t use the Station name/Playlist Name in your Sonos Favorites. You can’t use any Artist name or recognizable Playlist Name because Alexa will ignore the SmartThings skill and play music natively on Echo/Dot.

Here’s how I learned what works and what doesn’t.

I discovered that when I selected an Amazon Playlist named ABBA (or even the Pandora ABBA Station) from Favorites for the channel to play from Sonos on the Harmony Activity named Sonos Music and linked it with SmartThings and enabled Alexa that every single time Alexa played something else named Sonos on the current Sonos speaker (or already grouped speakers). And completely ignored the SmartThings list. When I renamed the “Thing” to My Sonos in SmartThings and removed/re-added the skill in the Alexa App, I had better luck, but only some of the time.

I similarly had problems with a John Denver and a Judy Collins playlist in Favorites. Alexa consistently ignored the SmartThings skill and played music by (whomever) on the Echo or DOT. .

After the above limitations sunk in, I decided to try a task based name, Exercise Workout. I set that up and was able to use ANY Sonos favorite without confusing Alexa. So in SmartThings, I currently have Sonos Colorado for John Denver and Sonos Folk for Judy Collins (these work). I’ll have to come up with better, memorable names that are task based.

So now I’m going to finish the task of renaming activities on the Harmony and in SmartThings to get this Harmony-Sonos-SmartThings-Alexa setup to work 100% of the time. Probably using task based and/or some other convention that Alexa won’t recognize. If you have any ideas, let me know on Twitter @barbbowman.

And I hope that the same situation isn’t true with the coming “native” Alexa support for the Logi Harmony Ultimate.

Alexa, change colors on my Hue stuff (thanks Yonomi)

Posted Posted in Amazon Echo, Connected Home

 

I love my Alexa enabled Connected Home and I love the Yonomi App. Amazon’s Echo Smart Home covers an amazing number of products and gets better all the time. One of the missing ingredients for my needs was the ability to change the colors on my Hue bulbs and Lightstrips. Alexa handles turning these on and off and dimming the bulbs, but color changes are not currently in her repertoire. IFTTT can handle single bulbs and Lightstrips and can change colors on a single light or Lightstrip or can change ALL of them at once, but not “scenes” or “routines” (two Lightstrips, or two Blooms, etc.); it’s all lights or just one of them. Once again, Yonomi comes to the rescue, and Alexa can now color my world and set my Hue devices to predefined (or even random) colors.

Most of my Hue gear is configured in pairs or threesomes. I don’t ever seem to turn on all my Hue lights (which are spread over the three floors of my Condo). It’s almost always one room at a time, and every so often, one floor at a time.

Here’s my kitchen, decked out with two sets of Hue Lightstrips showing two of my colored moods (scenes/routines) Kitchen Yellow and Kitchen Blue:

 

kitchen

Apple’s Siri, with scenes, allows me to tell Siri to turn on Kitchen Blue or Kitchen Yellow, but Alexa doesn’t support colors for Hue and IFTTT doesn’t support scenes or routines. Alexa is far more dependable than Siri (like 99.9%) and I was able to solve this last piece of my Connected Home with Yonomi.

First, inside the Yonomi App, I linked to my Hue Bridge. Then, I created two (for starters) Yonomi routines. I created Kitchen Blue and Kitchen Yellow. I turn each of the two Lightstrips on to 100% using Actions and set the color to Blue (or Yellow). There are lots of other options, including dimming, fading, random colors, but these are the two I wanted to start with. Once these were done, I open the Echo web app and ran discovery so that these two new routines were discovered and added to my device list.

Now I can tell Alexa to “turn on Kitchen Blue” or “turn on Kitchen Yellow”. It takes a few seconds, but the lights cooperate. I can turn off by telling Alexa to “turn off the Kitchen” as this command IS covered using Alexa groups natively.

 

blueyellow

So, I find myself saying thank you again to the folks at Yonomi App for giving me the ability to fully control my Hue colored bulbs and Lightstrips.

Completing My Alexa Connected Home with Sonos Stations via Yonomi

Posted Posted in Amazon Echo, Connected Home

Earlier this week I started a quest to include my Sonos speakers in my Connected Home in order to control them and action music with my Amazon Echo. I found a “wow” solution for DLNA control using JRiver Media Center and a powerful Alexa skill called House Band. What was missing was a way to summon and play my cloud based streaming stations using Alexa’s voice control. Last night I found a great solution in the Yonomi App (available for iOS and Android) that just this week added Alexa integration.

I’ve got a bunch of streaming stations configured in Sonos and all are added to my Sonos favorites. I’ve got Pandora Radio fav’s, Amazon Prime Stations, Tune In Radio, plus some of my own local playlists.

Yonomi works using routines that you can set up based on time and/or location, but you don’t need to make routines dependent on those criteria, you can just set up a routine that you can summon on demand, and once you hook up via the Smarthome menu on the Echo App, Alexa can TURN ON (routine name). Magic.

I’ve got all kinds of “things” provisioned in the Echo App. Insteon modules, Hue Lights, etc. Here’s a short video where I turn on a lamp and then start a Pandora Station that plays ABBA radio using a Yonomi routine called “Fun Stuff” to my Living Room Sonos:

 

Here’s how I did it.

 

1. I downloaded the Yonomi app and set up and account and then ran Discovery and it found my Sonos Speakers. I connected Yonomi to Alexa.

connect2alexa

 

2. I created a new routine without a location or time based trigger that sent my Favorite:Abba Radio (Pandora Station) to my Living Room Sonos and named it “Fun Stuff”. (You want to avoid using names that might trigger Amazon Music to play directly on the Echo, which is why I didn’t name it Abba Radio.

routineroutine2

 

3. I selected Favorites in the Yonomi App and added Fun Stuff

 

favorites

4. I opened the Echo app from a computer (http://echo.amazon.com) and navigated to Smarthome and ran Discovery. Yonomi, the Sonos Speakers, and the Routines were discovered. Note: every time you add a new routine you will need to return to the Echo App and run discovery, the routines are not added automatically; think of them as devices that need to be discovered every time a new one is added).

 

I can now tell Alexa to Turn on Fun Stuff. Boom, the Sonos speaker starts playing Abba Radio.

 

Bonus! I get a notification on my Apple Watch showing what routine is being run.

yonomi

 

I’m REALLY liking this – and I’ve just gotten started. I’ve got Yonomi for streaming station Alexa voice control and House Band that can actually search my local collection and put together on the fly playlists by artist, album, etc. Can it get any better than this?

Whole Home Sonos Control using Amazon Echo Skill

Posted Posted in Amazon Echo, Connected Home

 

I’ve always wanted voice control for my Sonos speakers, and the TL;DR version of my story is that thanks to a new Alexa Skill named House Band, I have succeeded. Here’s a short demo where I’ve used the intro to a track called Boats for Sale from a CD I own (so as not to violate any copyrights) to showcase this Skill. What’s really cool is that once Alexa starts playing music to my Sonos, I can use other Alexa functions without stopping the music (like asking for the weather as in the demo below). When I ask Alexa to ask House Band to play Boats for Sale, there is a short delay after acknowledgement because the software is actually SEARCHING my collection for this track.

How did I make this happen?

 

My Connected World includes a couple of Sonos Play 5 speakers, one in the Living Room and one in my Home Office. They are a couple of floors apart, but they cover 95% of my condo. The folks at Sonos haven’t announced any plans to enable Sonos with Amazon’s Echo and given their recent announcements and staff changes, I think it’s unlikely that this will ever happen. I’ve become spoiled with all the home automation Alexa voice control in the “Connected Home” Echo app, as I’ve got Insteon and Hue. (I’ve also got some Lutron gear, but that’s another story – they aren’t integrated with Echo either, but I’ve kludged up some IFTTT recipes to cover a few needs).

I went in search of a way to get Alexa to control my Sonos players, and while there are some super geeky node.js solutions out on Github, I discovered an Alexa Skill named House Band that was a dedicated voice controller for the JRiver Media Center App. I knew that JRiver MC included some DLNA functionality and wondered if I could tie all of this together. So, I downloaded the (Windows) trial version of the app (the app is available for other platforms as well). To take full advantage of seamless Sonos control, you’ll need a computer that runs 24/7 on the same network as your Sonos and if your router supports it, configure a reserved IP for this computer (or a static IP) so that Alexa can communicate with the JRiver MC software.

After downloading the app,installing it and allowing the Windows Firewall setting, I setup the port forwarding on my router to enable cloud functionality (needed for the House Ba nd Alexa Skill). During setup, a six digit access key is generated, which you will need when activating the House Band Alexa Skill, as shown in the image below (no, this is not MY access key). If you don’t save it when prompted, it will be available from the JRiver Media Center Tools, Options menu. Obviously, you will need to configure JR Media Center to point to your Music Library as part of initial setup. For purposes of using the Alexa House Band Skill, only local music content is supported (no cloud based music services).

access key

 

Be sure to verify that MR Media Center is set to start with Windows from the Tools, Options menu (see image below).

JR MC startup

To take full advantage of whole home Sonos with the House Band Alexa Skill, simply DLNA device names inside the JRiver MC app in order to be able to use short, meaningful device names for “Zones”. Windows DLNA discovery/JRiver MC uses long, technobabble names like Sonos: Play 5:Living Room Renderer. I right clicked and renamed to Living Room. In the screenshot below, I’m renaming my WDTVLiveHub (a different DLNA renderer) to Live Hub.

dlna rename

The DLNA protocol does not natively support linking devices for synchronized playback, but the JRiver Media Center has this functionality. Use your mouse to drag a player under Playing Now on top of the player you want to link and release your mouse. After doing this, My Living Room and Office Sonos Play 5’s were linked! You can unlink and “Play To” an individual “Zone” (and the House Band Alexa Skill includes the capability to change zones so once enabled, you’ll be able to do this by voice).

 

Here’s a demo of Alexa changing Zones using the House Band Alexa Skill. I’m sending one of my JRiver Playlists to a SONOS speaker in my Dining Room. The amazing House Band Alexa Skill works with JRiver Media Center and lets me send music to individual Zones. Each of my SONOS players is in an individual Zone right now and not linked.

It’s time to enable the House Band Alexa Skill in the Alexa App/web app. Go to the skills menu and search for House Band or use THIS LINK, and enter the 6 digit code to enable it. If your port forwarding is correctly setup and the firewall is set to allow communications with the app, you should get a confirmation.

Now it’s time to have some fun. A list of some of the voice commands recognized by the Alexa House Band Skill is available at http://yabb.jriver.com/interact/index.php?topic=15326.msg717359#msg717359 – and I suspect that this is just the beginning.

Let me know on Twitter @barbbowman if you have any questions.