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.
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.
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.
Heaven forbid that I should have to lift a handheld remote in my very Smart Home. I got to thinking that with everything I’ve voice enabled here, I had not done anything with my home theater equipment. I’ve got a bunch of stuff downstairs in the Living Room and a bunch of stuff in the Master Bedroom. I’ve already got a Harmony Ultimate Hub/Remote in the Bedroom and an old and dying Harmony 1100 in the Living Room that I’m replacing with AnyMote Home.
I decided it was time to experiment with Alexa voice control. The TLDR; version of this post is that AnyMote, which takes concentration and time to set up (and is pretty geeky when it comes to advanced functions), coupled with the Alexa AnyMote skill is awesome.
Here’s a quick list of what my two Home Theater’s include for major components:
The Living Room (My Main Home Theater)
In my Living Room, my goal was to replace the dying Harmony 1100. I thought about getting another Harmony Hub for the Living Room to use with my iPad Air, but was concerned that when I got to voice enabling it that there would be conflicts with the Bedroom Harmony Hub (see below on the Master Bedroom) AND I’m not very fond of the individual device control interface for Harmony on the iPad. And Amazon had the AnyMote Home on sale for $89.00. Plus, AnyMote allows Alexa voice control of individual “buttons” (which is not the case with using the Harmony routines) as well as macros (activities).
AnyMote is an amazing tool. It’s a geek treasure hunt (like peeling back layers of an onion) that leads to discovery of the many things this little gadget can do when coupled with a supported device and I’ve barely scratched the surface. I used my iPad Air to set things up (and will also be using my iPhone) as I wanted the larger screen for first time set up. I pretty much found built in codes for most of my (aging) home theater components; I had to use the record a button feature to get a few things to work properly, but I got the basic functions working and tested fairly quickly.
After insuring the remotes were configured correctly and buttons were working properly, I jumped in and created macros that turned on three devices and set the proper inputs, etc. I started with 4 so that I could control my set top box and my BD ROM player; one each to turn everything on and one each to turn everything off. I used longish delays between powering on and off components so that I could properly test (see image below) and have been adjusting the delays as I go. Below is one of the macro in progress where I can stack commands and delays.
I created a blank Smart Home Remote and named it Home Theater and imported the 4 macros. I was itching to try the Alexa AnyMote Skill, so I stopped there and got that up and running. Pairing with Alexa is built in to the AnyMote App; a phrase is displayed that you speak, and Alexa complies and acknowledges.
After pairing is complete, the AnyMote App displays an abbreviated tutorial (which didn’t cover everything I needed, but there is more information on the AnyMote Knowledge Base which answered most of my questions. Basically, you tell Alexa the name of the button to action and the device remote to use, e.g., “Alexa, tell AnyMote to MUTE my Sony Receiver”. For macros, the syntax is “Alexa, ask AnyMote to execute [macro_name]”.
Watch Alexa and AnyMote in action in my Living Room. Alexa runs my macro to turn on three components to watch Cable TV. Next, Alexa opens MyDVR via AnyMote:
I created some macros for my favorite TV channels as well. When I tested them, I found that Alexa didn’t like some of the names I’d selected – neither MAX HD or MAX was recognized by Alexa, but CINEMAX worked fine. Go figure. Below is a screen shot that pretty much shows where I am at this point (with lots more to figure out and implement)
One of the gotchas’s is that every time you create new macros, apparently you need to disable the AnyMote Alexa Skill in the Echo App, repair your AnyMote with Alexa (which resynchronizes everything). It isn’t a big deal, but it is annoying.
Editing the visuals of a remote is also available. Inside the remote editor, I can change themes, button colors and text and use built in icons. I couldn’t get the channel icons for the United States to appear/work, so I settled for color coding the channels that I created macros for. I’m probably missing something obvious, but for now I can tell Alexa “Ask AnyMote to execute HBO” and the channel changes. Or I can push the buttons on the iPad.
I saw some negative comments about AnyMote, but I highly recommend this device and app if you’re comfortable with doing tweaking and fine tuning to get things “just right”.
The Master Bedroom
I have a SmartThings Hub that I was not using (I’d bought it in my quest to voice enable my Sonos speakers, but it didn’t meet my expectations so I went elsewhere to fill that need). I remembered that SmartThings was supposed to work with Logitech Harmony Wi-Fi based remotes, so with nothing to lose, my first task was to see what I could accomplish with my bedroom home theater gear.
SmartThings requires a whole series of steps, done in a particular order, to add “things” and authorize for use with Alexa (I’d previously disabled SmartThings in the Alexa App after the Sonos experiment.) Harmony remotes use “Activity” based commands (macros) and it looked like that these activities could be voice enabled (but not individual control of devices, like Play, Pause, Stop, Eject, etc. for an individual component). The process for me was a little rocky. SmartThings discovered my activities after I linked with my Harmony account and imported them as “Watch TV [Harmony Control]”, “Watch a DVD [Harmony Control]”, etc., so I had to rename them (deleted the [Harmony Control] part) and then relink SmartThings with Alexa.
Fortunately, the Alexa App is very smart and lets you pick which SmartThings devices to control.
I ran Discovery in the Alexa App and the two “activities” were discovered and added. However, Alexa just didn’t seem to understand the “Watch a DVD” or “Watch TV” syntax. I tried speaking slowly, quickly, but Alexa kept offering to play songs from my Music Library or other responses. After a while I decided that maybe renaming the activities was the solution. So I renamed to “My Movie Theater” and “Xfinity”.
I then disabled SmartThings in the Alexa App and unlinked SmartThings and relinked, etc. but couldn’t get Discovery to find the new named activities. I had to unlink/remove AND remove the Harmony Remote from SmartThings and re-run discovery for Things, rename to My Movie Theater and Xfinity, relink to Alexa and THEN run discovery to get the selected activity/Things to appear. Eureka. This works.
When I tell Alexa (via my upstairs Dot) to “Turn on My Movie Theater”, all the right things happen. The components are properly powered on and the handheld Harmony remote actually changes to reflect the running Activity so that I can use the buttons to Play, Pause, FFW, etc. I wish I could tell Alexa to “Play”, “Pause”, etc. and maybe someday I WILL be able to do this. I wasn’t too enthralled by the SmartThings setup process. I know Yonomi also can link to Harmony, but I wanted to first try my neglected SmartThings Hub. I’m sure Yonomi will be smoother, but again, only the Activities (macros) will be supported.
For me, AnyMote is the clear winner in Home Theater control. I’m using maybe 25% of its capabilities and as time goes on, I’ll be experimenting with other functionality.