keatontaylor / alexa-actions

A README and associated code to get actionable notifications setup for Alexa devices.
GNU General Public License v3.0
398 stars 187 forks source link

alexa skill does not work correctly.. skill triggers but echo says nothing #125

Closed MrThiemann closed 1 year ago

MrThiemann commented 2 years ago

Hey Community,

I hope I'm in the right place with my problem...

For some time my "custom action" hasn't worked "reasonably" anymore. At the moment I don't know what information you need. Tell me and I'll provide you with everything!


The problem is that the script is triggered somehow, but doesn't automatically trigger on an echo.

I basically have to give the command (start custom actions) first. then I also see the updated input_text

I just started a test event. As you can see it triggers but no echo is activated

Bildschirmfoto 2022-09-27 um 07 04 53

if it should be helpful, here is my script and the input_text

description: Activates an actionable notification on a specific echo device
fields:
  text:
    description: The text you would like alexa to speak.
    example: What would you like the thermostat set to?
  event_id:
    description: Correlation ID for event responses
    example: ask_for_temperature
  alexa_device:
    description: Alexa device you want to trigger
    example: media_player.bedroom_echo
sequence:
  - service: input_text.set_value
    data:
      entity_id: input_text.alexa_actionable_notification
      value: "{\"text\": \"{{ text }}\", \"event\": \"{{ event_id }}\"}"
  - service: media_player.play_media
    data_template:
      entity_id: "{{ alexa_device }}"
      media_content_type: skill
      media_content_id: amzn1.ask.skill.xxx-xxx-xxx-xxx-xxx
mode: single
alexa_actionable_notification:
  name: Alexa Actionable Notification Holder
  max: 255
  initial: '{"text": "Dies ist ein Test des Alexa-Skills. Hat es funktioniert?", "event": "actionable.skill.test"}'

even if I start a call service manually, the state is changed, but the echo remains silent

Bildschirmfoto 2022-09-27 um 07 19 20 Bildschirmfoto 2022-09-27 um 07 19 29

I've been at it for 3 days now and really don't know what else I could do.

I deleted the skill and created it again. the connection between alexaApp and skill was cut and reconnected.....

DEADSEC-SECURITY commented 2 years ago

Is the device entity id correct? Try removing the "" from the script service call. Is the skill language the same as the app and/or echos?

MrThiemann commented 2 years ago

thank you for answering me!

So I do think that the device_id is correct. removing " " made no difference.

With "is the skill language the same as the app and echo" do you mean the "locale_xx_xx.json" ? Here I tried the (preferred) German version, but also the English version. No difference.

In the developer console under test I get the following debug if I trigger there manually after "start custom action".

JSON Input 1

{
    "version": "1.0",
    "session": {
        "new": true,
        "sessionId": "amzn1.echo-api.session.82756e16-0a97-45d3-8a01-xxx",
        "application": {
            "applicationId": "amzn1.ask.skill.1b0cb845-1766-4015-a8d0-xxx"
        },
        "attributes": {},
        "user": {
            "userId": "amzn1.ask.account.AE7NVOKZOJV2Kxxx"
        }
    },
    "context": {
        "Viewports": [
            {
                "type": "APL",
                "id": "main",
                "shape": "RECTANGLE",
                "dpi": 213,
                "presentationType": "STANDARD",
                "canRotate": false,
                "configuration": {
                    "current": {
                        "mode": "HUB",
                        "video": {
                            "codecs": [
                                "H_264_42",
                                "H_264_41"
                            ]
                        },
                        "size": {
                            "type": "DISCRETE",
                            "pixelWidth": 1280,
                            "pixelHeight": 800
                        }
                    }
                }
            }
        ],
        "Viewport": {
            "experiences": [
                {
                    "arcMinuteWidth": 346,
                    "arcMinuteHeight": 216,
                    "canRotate": false,
                    "canResize": false
                }
            ],
            "mode": "HUB",
            "shape": "RECTANGLE",
            "pixelWidth": 1280,
            "pixelHeight": 800,
            "dpi": 213,
            "currentPixelWidth": 1280,
            "currentPixelHeight": 800,
            "touch": [
                "SINGLE"
            ],
            "video": {
                "codecs": [
                    "H_264_42",
                    "H_264_41"
                ]
            }
        },
        "Extensions": {
            "available": {
                "aplext:backstack:10": {}
            }
        },
        "System": {
            "application": {
                "applicationId": "amzn1.ask.skill.1b0cb845-1766-4015-a8d0-xxx"
            },
            "user": {
                "userId": "amzn1.ask.account.AE7NVOKZOJV2Kxxx"
            },
            "device": {
                "deviceId": "amzn1.ask.device.AFIDASW4HIT2xxx",
                "supportedInterfaces": {}
            },
            "apiEndpoint": "https://api.eu.amazonalexa.com",
            "apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGxxx"
        }
    },
    "request": {
        "type": "LaunchRequest",
        "requestId": "amzn1.echo-api.request.bf4ecba9-fbaa-490d-9d77-xxx",
        "locale": "de-DE",
        "timestamp": "2022-09-27T18:03:41Z",
        "shouldLinkResultBeReturned": false
    }
}

and JSON Output 1

{
    "body": {
        "version": "1.0",
        "response": {
            "outputSpeech": {
                "type": "SSML",
                "ssml": "<speak>Testmessage for Github</speak>"
            },
            "reprompt": {
                "outputSpeech": {
                    "type": "SSML",
                    "ssml": "<speak></speak>"
                }
            },
            "shouldEndSession": false,
            "type": "_DEFAULT_RESPONSE"
        },
        "sessionAttributes": {},
        "userAgent": "ask-python/1.11.0 Python/3.7.13"
    }
}

maybe this will help you?

DEADSEC-SECURITY commented 2 years ago

Can you share the alexa skill logs?

MrThiemann commented 2 years ago

can you tell me where i can find it?

But I'm a bit further. I've now reinstalled HomeAssistant (fortunately that's very quick on proxmox ;) ) I created a new subdomain and created the skill again. everything now listens to the new domain and WILL be distributed correctly by nginx. I also factory reset my Echo. Lo and behold... I get a statement.

That sort of solves the problem, but it doesn't actually fix it. I would now unearthly rebuild my entire HA. If a restore should suffice here, then that might be another consideration... But like I said, I don't get it

DEADSEC-SECURITY commented 2 years ago

There is probably a error with configuration. No need to reset everything. In the skill developer where you put your code in the top should be a button called logs or cloudwatch logs

neofraz03 commented 1 year ago

I am also experiencing the same issue. When I check the logs from CloudWatch, nothing is logged until I manually ask Alexa to open "Custom Actions". Then it will starting logging events. So my issues seems to be with the script as it is not telling my Echo device what to say. However, the script is literally copy/pasted from the Github guide.

neofraz03 commented 1 year ago

Resolved my issue by reloading Alexa Media Player from the Integrations screen. Then recreating the Alexa Actionable Notification skill by following the below video guide:

https://youtu.be/uoifhNyEErE

Hope this helps anyone else that happens across this post.