I followed the official docs/instructions for the Routine Stream skill. When it comes to setting your “Stream URL”, it gives you 3 example URLs to test (URLs to demo .mp3 files). Make sure you hear those demo mp3’s on your Echo.
The “Stream URL” can be a URL to a .m3u, instead of a .mp3. The .m3u can contain URLs that end in .mp3 and/or filenames, or paths to filenames. If filenames or paths to filenames, then these are relative to the webserver’s directory serving the .m3u file.
It seems the .m3u and song files must be publicly, world-readable. But no one visits my website, and I implemented some basic do-not-crawl, no-indexing. It may be possible to put URLs with private IPs (eg. http://192.168.1.1) in the .m3u and serve locally, but I haven’t tried.
At this point, “Alexa, open Routine Stream” should work and should play your .m3u playlist.
For HA integration, this is what I did:
In the Alexa iOS app, I created a custom Routine that opens Routine Stream. For the “When you say” field, I entered random characters like “wzqxejj”.
Then I used Node Red to call the media_player.play_media service with data:
which runs the custom Routine, which opens the Routine Stream skill, which plays the “Stream URL”, which is a .m3u playlist, which is randomized hourly by a py script I wrote.
Hope that helps explain, and I’d love to hear how this could be made better because it’s quite cobbled together.
Thanks for the new event! I implemented an automation on my end. Just waiting for it to fire for the first time when the login will be required in order to test it out.
I guess I could speed up this process by deleting the pickle, right? Will share my code afterwards.
Actually no. That would only impact startup and we don’t throw the event during startup. It’s only when Amazon starts rejecting connections for some reason after startup.
Long time user here, and I cannot get past the capcha. I’ve restarted using ssh, etc… There’s no pickle file to delete. I am approving the phone alert each time it asks me to. I’m running out of ideas to try. Can someone suggest something?
Enable 2FA is the workaround. Or if you want to help debug it you can review this thread where we were in the middle of trying to figure out how to get past it but it went away for that particular user. The downside to debugging is you may be down for a few days while we figure it out.
The trouble is, it seems I can only use entities that start with media_player when testing this within Developer Tools -> Services, so the group entity isn’t available.
If there is a way, can all the devices sync what they play back?
I see in the Wiki there’s a section titled “Play in Alexa groups”, but I don’t understand what it’s trying to say or how playing to any entity on the account then plays in a group.
I’ve created a group called group.alexa_media_players with seven media_player entities, and I can successfully send a TTS notification to this group using the following, it’s just a shame I can’t see how to use it with media_player:
2fa got it me going. Thanks for this (and everything else you do). Once I get back in town next week, I’ll turn off 2fa and participate in the debugging thread.
I really appreciate your help, however I mentioned in my post that I am able to send text to a group in the same way you describe, but my issue is that I’d like to use the media_player service instead.
EDIT. So, I never actually tried using a group because when in Developer Tools -> Services, if you choose “media_player.play_media” it only lists “media_player” entities in the drop down menu, so I assumed groups wouldn’t work. However, just putting in the group entity actually works!
Sorry all, I should have at least tried it. (it doesn’t sync audio, but that’s ok for now)
Thanks for the time spent in creating this component; it looks to be absolutely awesome. How “safe” is it to give my credentials to it? I can see that it seems to use the unofficial API to pretend to be the alexa web UI. If there are any malicious updates in future; what’s the risk for my amazon account etc?
So yesterday, like @_Mike and others, I had multiples Captcha failing on me. It ended up working after more than 12 times. Can’t say why.
Which brings me to the automation that was previously setup. This was the way I though I could get an alert when authenticattion was required by Amazon.
I am experiencing problems again with the Alexa Media Player integration. It starts prompting for logging in again in the notification area. And then you do that. It asks for Capcha. It looks like it accepts it but it fails. And you can continue like this many time. The integration does not work at all in this mode.
Only way out is to remove the integration and install it again and then it works for a week or so. It is a bit annoying.
As safe as giving your Amazon credentials to any code you find on the internet. If it’s not clear, the risk is whoever has your username and password can log in as you (of course Amazon provides 2FA and other mechanisms to try to help you).
If you’re concerned, you can read the component code or the underlying API code. Otherwise, I’m not sure there’s much value in asking “is it safe?” because if it was intended to be malicious, why would you trust any random internet stranger’s word on it? A malicious author could just say, “yes it’s very safe, but please make sure you have your highest limit credit card in your Amazon account before using it.” . As with all open source, it’s provided as-is so please review it including updates before you use it.
That said the component will save your username and password in the HA storage folder and the component will also create a .pickle file with the necessary cookies to login as you. So the question is do you trust HA or any of the other components you use not to grab that information and send it somewhere else?
I’m being blunt but that’s the reality of the situation. If you have any doubts, please don’t use it. That’s the only way to be safe.
That’s the purpose of dev tools. It lets you fire events so in theory you could test your automations. I haven’t tested your specific use case though.
I can’t fix what isn’t reported (including details). For example, an issue for what you described was fixed in 2.8.7, but again I’m guessing what you’re seeing since there’s not enough information in your post. Assuming you’ve updated and it’s not the existing “authentication required” issue (which has been discussed recently) or some other already reported bug, please submit a new bug report with the requested information.
Yeah I’m aware but it seems that you can’t fire an event with the dev tools that contains “/” like alexa_media_player/relogin_required. Can you confirm?