alandtse / alexa_media_player

This is a custom component to allow control of Amazon Alexa devices in Home Assistant using the unofficial Alexa API.
Apache License 2.0
1.46k stars 283 forks source link

Run-Custom-Command not working with skill #2116

Closed tam481 closed 7 months ago

tam481 commented 10 months ago

NOTE: For a feature to be created it has to be doable in the Amazon app because we are basically replicating the app for HA. If you can't find it in the app, we probably can't create it here.

Is your feature request related to a problem? Please describe. I don't think the "run-custom-command" is able to send a command to skills? For example, I have a custom skill where I call it play music from my own Navidrome server by saying "Alexa, tell NaviSonic" or "Alexa, ask NaviSonic". I can create a service call in HASS to send "What's the weather like today" and it works fine but if I use it to call a skill it doesn't work

Describe the solution you'd like Would it be possible to make this work? Also, allow the custom command to be followed by a follow-up command.

Describe alternatives you've considered I cannot think of any way to get this to work without the component

Additional context Add any other context or screenshots about the feature request here.

alandtse commented 10 months ago

This is the same function as available in the Alexa app. Can you confirm it actually does what you want in the app when you interact with skills?

tam481 commented 10 months ago

In the Alexa app, I can say "Tell NaviSonic" which is the custom skill (https://github.com/rosskouk/asknavidrome), Alexa thinks for a couple of seconds and says "Ready" (once it's connected to my home server) . After than I can say "Play music by xyz" and it thinks again and says "Playing music by xyz" and starts streaming music from Navidrome

In Home Assistant, if I enter "Tell NaviSonic" in the "Content ID" field Alexa says "hmm I don't know that one"

alandtse commented 10 months ago

Can you create an Alexa routine with a custom action do what you're saying. That is what I'm referring to.

tam481 commented 10 months ago

I don't seem to be able to do it in a routine. It doesn't recognise the command. Is this because routines use a different method to "call" the skill?

alandtse commented 10 months ago

I guess. This is literally what we implement. If they don't support skill interaction, then we won't be able to do it.

Ralstlin commented 9 months ago

I assume this is the same problem I have with the skill myTuner ?

Using my voice I can: Alexa Open MyTuner -> Alexa: (Welcome to MyTuner .... Please say which station you want to play) -> play X station from

I cant do the same using: {"media_content_id":"amzn1.ask.skill.**","media_content_type":"skill"} -> Start skill properly, same welcome message. {"media_content_id":"play X station from ","media_content_type":"custom"} -> fails, seems the command is not sent to the skill but to the root? even if my echo dot is on, waiting for an input for the skill

Is this as expected? any workaround?

tam481 commented 9 months ago

I couldn't find a workaround.

@alandtse are you saying that the skill itself has to support this specific type of interaction?

alandtse commented 9 months ago

No I'm saying we can only do what the app does. If the app can't do it, we can't do it.

github-actions[bot] commented 7 months ago

The issue has received no activity for 60 days and will be closed in a week.

tam481 commented 5 months ago

Hello @alandtse Any chance we can re-open this and consider incorporating Alexa CLI? https://github.com/xeb/alexa-cli

It would make a great addition to existing capabilities.