Amazon Echo controller



Show first post
This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

139 replies

I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

You're trying too hard! Look at my post above, someone has already written an echo integration. The 3 parts: 1) an Alexa skill that defines the structure of a voice command 2) an Amazon Web Service to receive the data from the Skill and call a URL running on your home (sonos) network 3) a simple program running on your network that receives the calls from AWS and translates them to a sonos command on your network. I have this working. It could use some more fine control, but it works fine.
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

With the system I posted you say "Alexa ask sonos to play..." or "ask sonos to volume up" or "ask sonos to next". All the functionality you are suggesting is available or easily coded. You could even code it to request the name of the song/band/album/Playlist. It's really not that hard, certainly on par with what you have suggested. Furthermore, you gain all of the other services beyond local files (Pandora, Spotify, songza, stitcher). Also, I have been delving into the Echo, and I'm not sure that there is an api available to figure out what the Echo is doing. Did you find one? The hiccup with sonos is the configuration. Ultimately we want "sonos play this from this service on these speakers" ; that's a lot of possibilities to handle without error. Lastly, though I am impressed with the Echo sound, I have 5 zones in my house, and one of them uses the sonos TV bar + surround. Echo is a long way off from that functionality even if you discount sound quality.
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

You're right, the system you're pointing at works with "Alexa, ask Sonos to ...".
This extra step is small, but I still would prefer to avoid it.

Gaining access to other services than local files is easy in my idea too. The Sonos speakers are playing what the Echo is playing. This can be a local file or a service.

I found one 'API' pointing to what the Echo is playing, but I have to dig into it further:
https://github.com/camalot/Amazon-Echo-Api

Currently I already am using a "Sonos Operator" managing all of my Sonos speakers. Groups of speakers are formed based on the location of persons in rooms by joining / unjoining Sonos zones to groups, automatically. This is based on the SoCo python implementation: https://github.com/SoCo/SoCo
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

You have something track individuals throughout the house? Maybe a better question is how are you deciding what to add and remove as people move through the house?
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

Any home automation system, connected to sensors, knows where people are.

What (Sonos zones) to add and remove depends on variables:
- is a room of the house 'occupied' by people?
- what's the time of the day? (not playing during the night in the bedroom)
- who's in the house?
- ...

This is decided by a 'Sonos Operator' based on SoCo.
SoCo can be used to easily join and unjoin zones to groups. Also, it can be used to play mp3's or services. Combined with gTTS it can be used to play a text to speech message, in all the rooms of the house.
I believe it's relatively easy to integrate Amazon Echo with Sonos.
With the solution described in my idea, you can use the Amazon Echo native play capabilities to control the music played on your Sonos speakers.

You can play, pause, or stop music, and you can control the volume.
Also you can ask what song is currently being played.

Read the whole description of my idea here:
http://www.echotalk.org/index.php/topic,155.0.html

The node http proxy employed by the other solution handles all of those sonos commands too (or, from a quick look, pretty much all of them); To use it with the amazon service you would just have to code them up on AWS + add the Alexa skill intents. I will check out that python system in more depth later on. I see how you can get the sonos zones to auto configure, but what I have found is that I either use the system with basically standard groupings (LR + DR + KITCHEN), Party mode, or it's custom depending what we're listening to and who's in the house (bathroom playing while I'm in the shower, wife in the bedroom, kids watching TV). I don't see how auto-configuring the system to try and anticipate what I want as I move through the house would be useful, at least not in my house. I have thought about using my Home Automation to trigger SONOS when doors open or motion sensors go off, and apart from some very specific cases, it doesn't work for me. (Specific cases: I have SONOS speak to me and tell me when the garage has opened/closed, or when an Alexa timer has sounded). If you have yours doing something cool and intelligent- that's sweet. But the first time I walked into the LR and the system killed the TV audio to play Phantogram my wife would kill me, and if it did that while my kids were watching Phineas and Ferb I would find my Echo tossed out the window. 😉 As for skipping the "Alexa ask XXX to YYY..."; this is how the Echo has been programmed to handle third party integrations- and there are a lot of them coming! I would get used to it ! 🙂 (I have also integrated SmartThings home automation and wrote my own API for NextBus to get bus arrivals near my house.- they all use the "ask" intents.)
Sonos needs to get with it and get on board with Echo before they loose out on speaker marketshare with a Echo/some other speaker bundle.

Sonos is amazing but the control is very limiting.
I've got the integration working like described, for those who are interested:

https://youtu.be/nQ5h1jPsqjI

It's working very smooth, all of the Amazon Echo native commands can be used.
I have Sonos, the Echo, IFTTT, SmartThings, Wink, Hue, and a myriad of devices covering the in between.

I really debated whether to add Sonos which was my most recent purchase (a Playbar, (2) Play:3's, and (2) Play:1's). My initial plan was to instead buy the Definitive Technology W Studio because of the DTS PlayFi system. My guess is that Sonos will stick with a closed system whereas DTS PlayFi is open and they're working on adding more partners beyond Polk and DT who have multi-room systems available with PlayFi today. 

I do wish Sonos had gone a different route, toward licensing their mesh framework or whatever combination of things needs to happen, but that isn't the case. My 45-day Best Buy return policy is nearing, I plan to heading out today and pick up the DT W Studio to do a side-by-side comparison in terms of sound quality. Sonos is a bit more established with regard to their IFTTT integration, etc, but I believe DTS PlayFi might be the better choice in the long run (for me) if I want a system that's likely to have more integration options.
I've got the integration working like described, for those who are interested:

https://youtu.be/nQ5h1jPsqjI

It's working very smooth, all of the Amazon Echo native commands can be used.

Can you package up an app and sell it. I want to be able to just buy a piece of software and or hardware and have my Sonos work with my Amazon Echo.



Why dont you get Echofund money (100 million dollars!!) and get amazon to fund your integration as a extension/app ????? i would buy it!
Sonos definitely needs a voice controller, call it the "Sonos Vox" and charge $149.95. Design it so you can set it on a coffee table and the user can change volume, play favorites, and change tracks with their voice


There, I did the tough part, now go make the product so I can buy it!


I agree with this "sort of". A VOX related addition would be nice, but needs to have more than one room in mind. For example, I have 4 Play 3's, a playbar on my TV (with play 1's and sub) and 2 connect amps powering my back yard speakers. Being in one room of a 3,000 sq Ft house wouldn't provide much benefit. I could technically use my Xbox One to control everything from the living room if I make my playbar the primary and then Groove Music, but that only solves one room, not the whole house... Whatever SonoS does now, it has to be epic because a lot of other players in the market are doing the same thing, if not more.
Badge
I've got the integration working like described, for those who are interested:

https://youtu.be/nQ5h1jPsqjI

It's working very smooth, all of the Amazon Echo native commands can be used.


Nicely done Arjan_7. Smart. The next step could be to create "command songs" that, when played, control other functions of the sonos, e.g. upload SonosShuffleOn.mp3 (fake song, 10s, no sound). Alexa, play SonosShuffleOn, and alexa plays the empty file. This will then be detected in the queue by Pythong server on my desktop, via pitangui call, and results in command to sonos to turn on shuffle, etc etc

The "command song" names should be easily recognized by the Echo (ie not resemble "regular" songs in the library) and sufficiently distinct to ensure the right action is taken... This shows promise!

PS in the ideal case, we would be able to register our echo device in the desktop controller once, which would then poll pitangui to take care of this whole thing without a local python app.
Userlevel 2
It CAN connect to nest if you use IFFT. Google it and you will see someone created recipee to control nest with IFFT and echo.

Interesting, would you mind sharing details how to do this....!