Actionable Notifications via Alexa Media Player

I took out the entire 3 lines starting with speak_output, but in theory, just removing the return line should be enough as Return is the output value

The ‘speak_output =’ is unnecessary but I wasn’t sure about ‘data = self handler_input attributes_manager request_attributes’ or ‘self.clear_state()’ so I just removed the return…

I was able to build out an automation and the response action works. Nothing fired in the listener until i said “Alexa, Start Custom Actions”.
Everything else is working as expected. Alexa is not identifying that execution of an automation or service means to start speaking. It’s as if the trigger for her to speak the text, is me saying “Alexa start custom actions”.
I’ve gone back through all the documentation and files to make sure I didn’t miss an important step.
I even tried waiting up to 5 min to see if she would trigger it without prompt…no luck.

I have the same issue! I’m going to go back through and make sure I didn’t miss anything but I’m almost positive I didn’t. Does anyone know where this could’ve gone off the rails? Obviously this won’t work if you have to open the skill to get the notification.

I believe I found my specific problem. My wife and I share an account. I built my skill in my account but attempted to send it to an Echo device registered under her account. When I tried sending it to an Echo device registered to me, it worked just fine.

Hey,
actionable notifications are a great way in enhancing my smart home. Thank you for the integration, really appreciated.

However there’s currently a limit that I’m facing: As the maximum number of the state is limited to 255 character promts longer questions and promts are currently not possible via actionable notification.

{"text": "This is a test of the alexa actionable notifications skill. Did it work?", "event": "actionable.skill.test"}
is stored as the state of the entitiy input_text.alexa_actionable_notification.

The attributes of an entity don’t have the limit of 255 characters. And as I’m currently working with a lot longer respones (background: I’m using ChatGPT as a middle man interpreting the response from the user and delivering answers which will than be sent to the alexa_actionable script – some responses are way longer than 255 characters) it would be great to have the option to store the important information not in the state but in an attribute of text_input. But I think that might need a bigger rework of this repository.

1 Like

Hi guys,
I have been trying to get this working for the past few weeks. Followed Mark Watt’s video and read through Keaton Taylor’s Git Hub. I keep getting the error “There was a problem with the requested skill’s response” I tried editing the skill, deleting the whole thing and re-configuring multiple times. Result is the same - There was a problem with the requested skill’s response! No idea where I am going wrong here. I know there are a lot of variables, but anyone have any pointers?

I have used the external URL for HA
I am able to link the skill from the app
I have added the input_text on config.yaml

I really want this to work. Any help would be highly appreciated.

I am still unable to get this to work. Spent several hours on this. Same response. :frowning:

I have attached the screenshot below of the error. I have also copied JSON input below. If this makes sense to anyone, I would appreciate your help in fixing this.

{
“version”: “1.0”,
“session”: {
“new”: true,
“sessionId”: “amzn1.echo-api.session.11111111111111111”,
“application”: {
“applicationId”: “amzn1.ask.skill.11111111111111111”
},
“attributes”: {},
“user”: {
“userId”: “amzn1.ask.account.xxxxxxxxxxxxxxBB3BJQ3B4W2GWHCOAEUGIBFSCOQX4KD3RXE3FNLYA6ZYX2LEH7YKO4OTFZIOGGY4QBDTJL5W4SLE3RZ2ZDAZM36URLVOARUUA4OTZIYDD4R5SK3RTJVLMX2M4AT3IZ6CIXS5W227YYKHWDQFV5UO7U4F42WPX3YFKHQ6EANGAKWUHRLDN25GRMA”,
“accessToken”: “xxxxxxxxxxxxxxnR5cCI6IkpXVCJ9.eyJpc3MiOiIyNmEwOWZhYzllYzc0YzBhYmUyYmRlMzNjMDNjZWZlYyIsImlhdCI6MTY3OTk5NzI3OSwiZXhwIjoxNjc5OTk5MDc5fQ.Yt9VlwFNWGJ2hUtWPJFyw3qQ5XInmhkrX7evFeH3_LE”
}
},
“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.xxxxxxxxxx-4f63-8e80-a7378b5fd841”
},
“user”: {
“userId”: “amzn1.ask.account.xxxxxxxxxxxDLNBB3BJQ3B4W2GWHCOAEUGIBFSCOQX4KD3RXE3FNLYA6ZYX2LEH7YKO4OTFZIOGGY4QBDTJL5W4SLE3RZ2ZDAZM36URLVOARUUA4OTZIYDD4R5SK3RTJVLMX2M4AT3IZ6CIXS5W227YYKHWDQFV5UO7U4F42WPX3YFKHQ6EANGAKWUHRLDN25GRMA”,
“accessToken”: “xxxxxxxxxxxxiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIyNmEwOWZhYzllYzc0YzBhYmUyYmRlMzNjMDNjZWZlYyIsImlhdCI6MTY3OTk5NzI3OSwiZXhwIjoxNjc5OTk5MDc5fQ.Yt9VlwFNWGJ2hUtWPJFyw3qQ5XInmhkrX7evFeH3_LE”
},
“device”: {
“deviceId”: “amzn1.ask.device.xxxxxxxxxxXYSAMO32II33E3VF3UJPQXGAYMR7TQK3RPFRMH7RXQRDH6URVAP3ZUX7XC7MVL56UC56VVYTHPROGVCWSLCRGEE2T7MVHBFACUZTASUR4LTWLX6NHE7PUOEWZR7NQHHAQJE7KCAO3UDM7U4ZWBAAV2RIUOBYUKGBDZUES”,
“supportedInterfaces”: {}
},
“apiEndpoint”: “https://api.eu.amazonalexa.com”,
“apiAccessToken”: “xxxxxxxxxxxxxJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5ldS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmQ5MmI3NWYxLWQ4N2MtNGY2My04ZTgwLWE3Mzc4YjVmZDg0MSIsImV4cCI6MTY3OTk5ODA2NSwiaWF0IjoxNjc5OTk3NzY1LCJuYmYiOjE2Nzk5OTc3NjUsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQVFBWjdXbDI3SmsvWTYxTE0yOEgwaGw5S2dFQUFBQUFBQUFHUzJJOUlPejlmVHQydWVLWGwvNG9zemZldmdzdjhxd1k2TXlJZHFWS01PZFpRUHF1THRocEl1QlZZYmxzMTJpWkdmYkYzQlhZbXV4blFsMWp6NG9VNFpxRSsyWS9WWjBvVTRDM2RFMnJzVm1GQVNvTUZyZFdVenk2NFFFczFMZkpGYnJWQ2o2ai80Vjc5WHV6aVA1b1B4WjRNOFdkbVBoSERhc0twbmVSNUNXbXBNNzFDU2lQM09ZcWhTY000M2pLektRQkwzNFdqWEpUdGRObWNWbTEwUWcxeWl3aXhyZHZuamV2UmJTcWhtNmI3VWJMOHpnZzRQU29EVi8xSis4Rm0xaGZ3eXJPaW5YTUw3VStBNWl4blhBQmNLOG1yZ2pmcmJkTGZSRWVlZFNZaWIrZkVvUmdoTFNOdWdBbkJtRTRmZ2RKUXVIdndienByTjh3MkRQdzJPVk1USnVXaVpHNVVhUDl5TG1kdkxHRWFKSnd2TGVJSmM5a3VnKzdoMWtvd1dweURlajdjWDE5IiwiZGV2aWNlSWQiOiJhbXpuMS5hc2suZGV2aWNlLkFFNEtRTDQzNUZNNU9TS0pYWVNBTU8zMklJMzNFM1ZGM1VKUFFYR0FZTVI3VFFLM1JQRlJNSDdSWFFSREg2VVJWQVAzWlVYN1hDN01WTDU2VUM1NlZWWVRIUFJPR1ZDV1NMQ1JHRUUyVDdNVkhCRkFDVVpUQVNVUjRMVFdMWDZOSEU3UFVPRVdaUjdOUUhIQVFKRTdLQ0FPM1VETTdVNFpXQkFBVjJSSVVPQllVS0dCRFpVRVMiLCJ1c2VySWQiOiJhbXpuMS5hc2suYWNjb3VudC5BRUJIRFc3VUdST1g2Tlo2Mk81RkpETE5CQjNCSlEzQjRXMkdXSENPQUVVR0lCRlNDT1FYNEtEM1JYRTNGTkxZQTZaWVgyTEVIN1lLTzRPVEZaSU9HR1k0UUJEVEpMNVc0U0xFM1JaMlpEQVpNMzZVUkxWT0FSVVVBNE9UWklZREQ0UjVTSzNSVEpWTE1YMk00QVQzSVo2Q0lYUzVXMjI3WVlLSFdEUUZWNVVPN1U0RjQyV1BYM1lGS0hRNkVBTkdBS1dVSFJMRE4yNUdSTUEifX0.J40YP6C9kpFFTuIqeqJtmeLyQzvpjN5N4O4UCgJTPaKz2Gs_BiXlNHPIZ_lDccV2h9VJNRx8z8DrP5jKCaGEBe0eeZ30YVLKw1L0B3X-br–OKE47xL2aZMSo0FSsaBTrrH4YxHwFHn3XueBp9msb0ANzl38J-sgTQ0zkTnhJN3OnjEaZ08XrX3OeRIIkjpvflwDGM-EIxmt0LU79EWuiz1Nue5OAUIGA1wN4OAhDbQIKskD6G4DrDoRQgDypUHqUqTufVz_aCWTATIjYU1H6XLlFxsYFb5Cl-m2upyV5SnqnwmO_4_WsoyasTvXnIibfhfZ_jMiC71O9SLBi9Fkag”
}
},
“request”: {
“type”: “LaunchRequest”,
“requestId”: “amzn1.echo-api.request.xxxxxxx-ed35-4720-a6d7-18c545208ad6”,
“locale”: “en-GB”,
“timestamp”: “2023-03-28T10:02:45Z”,
“shouldLinkResultBeReturned”: false
}
}

my notifications worked until yesterday. now alexa saying something about skill and app shows:


any help?

I don’t know what to tell you, except to give you words of encouragement. Quite honestly, this was the reason why I got into HA instead of staying with SmartThings. (Okay, not the only reason, but the top motivator.)

I spent months on it. I got my HA in January, and just got this working at the end of May. I would delete, rebuild, etc. I used Mark Watt’s tutorial, even though it’s out of date with the changes in HA. I used the walk through on the git hub wiki for the skill. It’s excellent until near the end when it seems they just got tired of creating the tutorial. (Which I totally get.)

I even looked at this One-Click Alexa Actionable Notifications Setups but it was beyond my skill set.

Finally, one day (and I don’t think I did anything different) I started over at the beginning (again) and it worked. I immediately made a back up and set it to never delete.

I made sure my config file had the correct bit at the beginning. In the past, when I would get the error message, I would quit there. This last time I just went on, because at least I was getting a response, right? The worst that would happen is I had to delete it again. I used Keaton Taylor’s instructions for the beginning and Mark Watt’s instructions for the scripts. I even renamed my echo device to the one that Mark Watt had in his video :slight_smile:

Take breaks, start fresh, fail, repeat. That’s what worked for me. I hope the RNG are on your side!

What changed between the last time it worked and now?

i would say new version of ha came out…

Anything else? Because if it were the upgrade, I think tons of people would be having the issue. But have you checked the thread about the new release and any problems that other people are having?

hi guys, anyone help me here please.

I am responding an number to Alexa but she is interpreting it as a DateTime?

Is that correct or I need to change something on the Node-Red flow?

image

Hi everyone. First of all, good job with this custom skill and tutorial. I followed to the very end and everything is working as expected. However, I need a little help cause my programming skills are very limited. What I’m planning to do is to create an automation that recognizes when I walk in home after I’ve been ou for a while and then Alexa welcomes me and asks “How may I help you?”. So far so good. What I need is after offering help, Alexa would wait for a generic command instead of a yes/no question. For example, I enter my house, then Alexa says “Welcome, Mateus, how may I help you?” Then I answer “Turn on the living room lights” or “Set the room temperature to xx degrees”. Is this possible anyhow? Using the script in the tutorial, she won’t recognize any command different than the options defined within the script.

Other than the “cool factor” I’m not sure why you would need the initial “how may I help you?” part.

Couldn’t you just walk in and ask Alexa to just do what you wanted anyway without that prompt?

you can get string responses but you will need to handle the string response received. So coding for all possible responses is going to be very hard if not impossible.

I tried to have a “conversation” to just set the alarm on my phone by it asking questions that only required “yes”, “no” and a number/string for the time and even that was pretty tough to do and was too buggy to be useful.

especially since it seems like what you are asking for is mostly stuff that you can already do with the built-in voice controls it may not be worth the trouble. And especially if you aren’t a programmer.

Yes, I agree, I was just looking for the “cool factor” here. I just assumed it to be simple and easy to do, since I was just trying to replace the trigger word “Alexa” with a custom event of my choice. Anyways, the skill is very useful and I will definitely find other uses for it.

1 Like

Hi

i have setup the alexa app as descripted (Home · keatontaylor/alexa-actions Wiki · GitHub).
But testing the skill always fails without any success - message: “An error occured” :frowning:

How can i get the reason?

I can access my “home assistant” via nabucasa-URL.

Thanks,
Badener

I dont think this integration is supported anymore.

I’m trying to make it where it ask my son which apps he wants to open. I have it able to open netflix and plex. But it wont open youtube kids when he responds. I cant find the reason it wont open.

alias: Jamar TV Source Select
description: Asking which source Jamar would like to view
trigger:
  - alias: Jamar Choice
    platform: event
    event_type: alexa_actionable_notification
    id: jamar Choice
    event_data:
      event_id: alexa_notification_media_jamar_select
      event_response_type: ResponseSelect
  - platform: state
    entity_id:
      - media_player.jamar_fire_tv
    id: Jamar TV
    from: "off"
    to: idle
condition: []
action:
  - alias: Jamar Choice
    choose:
      - conditions:
          - condition: trigger
            id:
              - Jamar TV
        sequence:
          - service: script.activate_alexa_actionable_notification
            metadata: {}
            data:
              text: >-
                I noticed the TV was turned on, what would you like to play,
                Netflix, YouTube Kids  or Plex?
              event_id: alexa_notification_media_jamar_select
              alexa_device: media_player.jamar_echo
  - alias: Jamar Source
    choose:
      - conditions:
          - condition: trigger
            id:
              - jamar Choice
        sequence:
          - service: media_player.select_source
            target:
              entity_id: media_player.jamar_fire_tv
            data:
              source: "{{ trigger.event.data.event_response }}"
        alias: Plex
      - conditions:
          - condition: trigger
            id:
              - jamar Choice
        sequence:
          - wait_template: If "{{ Trigger.event.data.event_response }}" == "Netflix"
            continue_on_timeout: true
          - service: media_player.select_source
            metadata: {}
            data:
              source: com.netflix.ninja
            target:
              entity_id: media_player.jamar_fire_tv
        alias: Netflix Source
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id:
                  - jamar Choice
        sequence:
          - wait_template: If "{{ Trigger.event.data.event_response }}" == "YouTube Kids"
            continue_on_timeout: true
          - service: media_player.select_source
            metadata: {}
            data:
              source: com.amazon.firetv.youtube.kids
            target:
              entity_id: media_player.jamar_fire_tv
        alias: Yotube Kids
mode: single

Had this working for a few years… then I messed with it and broke it.

Now when I follow the new guide, I am only getting the hello world response. “Welcome, you can say hello or help…”

I’ve rebuilt from scratch 5 times and keep getting the hello world action… Also in the developer test same response.

Anyone run into this??? Thanks