Actionable Notifications via Alexa Media Player

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

I wonder if Amazon has changed something? When importing code from AlexaActionsNoBinaryLinux I hear the appropriate question at first but no matter what I say, I then hear “you have triggered the Fallback Intent”. Importing from AlexaActionsWithBinaryLinux changes the response to “you have triggered the HelloWorld Intent”. Same thing in the developer console.

Same here. I just installed the skill. I’m getting the appropriate question. But it doesn’t matter what I answer, Alexa always says: “You just triggered AMAZON.FallbackIntent.”

Can anyone help? That would be great!

@tbearman

Hey there, guess who cracked the code?

So, here’s the scoop: head on over to your Alexa developer console and open your skill. Then, venture over to the right side of the screen, where all the cool stuff hides, and dive into the menu under “Interaction Model” > “Intents” > “JSON Editor”. Now, here’s the kicker: when I peeked, I only saw a measly 6 intents lounging around. Can you believe it?


(Look up in the top left corner of the menu. There’s this little gem labeled “Intents” with a number 6 next to it.)

The intents for the yes and no responses were missing. Sneaky little devils, aren’t they? You need to add these to the JSON party. You can find the intents for your JSON-File at this link.

Pick your language, then slap that messy chunk of text into the JSON editor and click on “save”. Once that’s done, voila! The yes and no intents are ready.


(Look up in the top left corner of the menu. Now we have 11 intents.)

Now it’s time for the magic button: give that “Build Skill” a good ol’ clickety-click, and watch the sparks fly!

Keep on rocking’!

Stay crispy 8)

@Flutz

Hah! You are a brilliant man/woman/entity. :smile: Thanks for that!

Crispy critters “'R” us… :sunglasses:

This is fixed and Wiki has been updated. [Bug]: Chapter: "Alexa Talking to Home Assistant (The Skill)" - Not working at all! · Issue #242 · keatontaylor/alexa-actions · GitHub

I’ve been tearing my hair out for a few days now trying to figure this one out. I suspect it’s probably a bug.
I have installed the skill successfully, and set up HA as shown in the example with the simple Yes or No example.
Yes or No response works perfectly with an event being generated to HA as expected.
However my primary use case for this feature is the No Response case where the user does not say anything when Alexa asks “Yes or No”, and that’s where things go wrong.
Using my Echo Dot as the Alexa device, the no response case works perfectly.
The Dot says “Yes or No”
The Dot waits for a response for about 10s with the ring light on.
HA gets the event with event_response: ResponseNone, event_response_type: ResponseNone

HOWEVER, now using my Fire Tablet, or Echo Show 8 as the Alexa device, the no response case fails (Yes or No cases work perfectly).
The Fire says “Yes or No”
Screen on the Fire or Show changes to black screen with “Alexa Actionable Notifications” in the middle, and “To quit, try “Alexa exit”” at the bottom left.
Flashing blue bar appears at bottom of screen.
After about 25s the blue bar disappears.
After about 55s the black screen saying “Alexa Actionable Notifications” disappears and the screen goes back to the normal Show or Fire screen.
HA never gets any event.

If I now call the skill again after a few minutes, HA will IMMEDIATELY get a No Response event.
It’s almost as if the No Response event was buffered somewhere and now it gets sent.

If I say “Alexa exit” while the Alexa Actionable Notifications screen is up on the Fire or Echo show, HA will get the No Response event.

It seems devices with a screen like the Echo Show or Fire Tablet behave very differently to devices without a screen like the Echo Dot.
I found this article on the Amazon Developer website where it talks about How devices with screens affect the skill session
https://developer.amazon.com/en-US/docs/alexa/custom-skills/manage-skill-session-and-session-attributes.html
I tried playing around with setting shouldEndSession = True or False in LaunchRequestHandler but didn’t seem to help.
e.g. handler = handler_input.response_builder.speak(speak_output).set_should_end_session(False)

On a side note I was able to customize the screen that pops up on the Show by doing this:
from ask_sdk_model.ui import SimpleCard
handler = handler_input.response_builder.speak(speak_output).set_card(SimpleCard(“Hello World”, speech_text))
Maybe a useful feature in the future !

I captured logs for the passing Echo Dot case and the failing Echo Show case.
In the passing case I see “Session Ended Request Handler triggered” happening.
In the failing case this never seems to happen.

Passing case:-

INIT_START Runtime Version: python:3.8.v51	Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:a768321bd39c88f083afe0a045064adc3615105a319dbbcd583856654db68283
START RequestId: 8c2f795b-cefd-438e-86ca-88851365c076 Version: 22
Locale is en
[INFO]	2024-06-27T15:18:07.370Z	8c2f795b-cefd-438e-86ca-88851365c076	Locale is en
[DEBUG]	2024-06-27T15:18:07.682Z	8c2f795b-cefd-438e-86ca-88851365c076	Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

[DEBUG]	2024-06-27T15:18:07.682Z	8c2f795b-cefd-438e-86ca-88851365c076	Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

[DEBUG]	2024-06-27T15:18:07.682Z	8c2f795b-cefd-438e-86ca-88851365c076	event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
END RequestId: 8c2f795b-cefd-438e-86ca-88851365c076
REPORT RequestId: 8c2f795b-cefd-438e-86ca-88851365c076	Duration: 402.80 ms	Billed Duration: 403 ms	Memory Size: 512 MB	Max Memory Used: 59 MB	Init Duration: 655.36 ms	
START RequestId: b73d04ba-be2f-43dd-80f9-36c585a48da2 Version: 22
Locale is en
[INFO]	2024-06-27T15:18:20.001Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	Locale is en
Session Ended Request Handler triggered
[INFO]	2024-06-27T15:18:20.001Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	Session Ended Request Handler triggered
Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
[DEBUG]	2024-06-27T15:18:20.278Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
[DEBUG]	2024-06-27T15:18:20.278Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
[DEBUG]	2024-06-27T15:18:20.278Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
[DEBUG]	2024-06-27T15:18:20.361Z	b73d04ba-be2f-43dd-80f9-36c585a48da2	Clearing Home Assistant local state
Clearing Home Assistant local state
END RequestId: b73d04ba-be2f-43dd-80f9-36c585a48da2
REPORT RequestId: b73d04ba-be2f-43dd-80f9-36c585a48da2	Duration: 363.71 ms	Billed Duration: 364 ms	Memory Size: 512 MB	Max Memory Used: 60 MB	

Fail case:

INIT_START Runtime Version: python:3.8.v51	Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:a768321bd39c88f083afe0a045064adc3615105a319dbbcd583856654db68283
START RequestId: 3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54 Version: 22
Locale is en
[INFO]	2024-06-27T15:33:29.792Z	3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54	Locale is en
[DEBUG]	2024-06-27T15:33:30.112Z	3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54	Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
Raw response: b'{"entity_id":"input_text.alexa_actionable_notification","state":"{\\"text\\": \\"Yes or no?\\", \\"event\\": \\"alexa_actionable_notification_test\\", \\"suppress_confirmation\\": \\"\\"}","attributes":{"editable":true,"min":0,"max":255,"pattern":null,"mode":"text","friendly_name":"alexa_actionable_notification"},"last_changed":"2024-06-27T00:02:08.619833+00:00","last_reported":"2024-06-27T00:02:08.619833+00:00","last_updated":"2024-06-27T00:02:08.619833+00:00","context":{"id":"01J1BFZRK7T1DT30P1N6MB55ND","parent_id":null,"user_id":"64697241df824d8fb8d27628a5ed30fe"}}'
[DEBUG]	2024-06-27T15:33:30.112Z	3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54	Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

Decoded response: 
{
    "text": "Yes or no?",
    "event": "alexa_actionable_notification_test",
    "suppress_confirmation": ""
}

event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
[DEBUG]	2024-06-27T15:33:30.113Z	3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54	event_id='alexa_actionable_notification_test' suppress_confirmation=False text='Yes or no?'
END RequestId: 3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54
REPORT RequestId: 3bd7a0b9-ddea-4e1e-ad05-a7ec792cea54	Duration: 452.76 ms	Billed Duration: 453 ms	Memory Size: 512 MB	Max Memory Used: 60 MB	Init Duration: 682.61 ms	

Is anyone else seeing this problem, or have a solution for it ?

Came up with a workaround to use to handle the no response case.
Using the Hello World example, created a very basic script that waits for the event with a timeout instead of the Hello World Response automation from the example.

alias: alexa_actionable_notification_response_with_timeout
fields:
  alexa_device:
    description: Alexa device you want to trigger
    example: media_player.your_media_player
  timeout:
    name: "?? Timeout Duration"
    description: Amount of seconds to wait for a response before firing timeout action.
    selector:
      number:
        min: 1
        max: 100
    required: true
sequence:
  - wait_for_trigger:
      - platform: event
        event_type: alexa_actionable_notification
        event_data:
          event_id: hello_world
          event_response_type: ResponseYes
      - platform: event
        event_type: alexa_actionable_notification
        event_data:
          event_id: hello_world
          event_response_type: ResponseNo
    timeout: "{{ timeout}}"
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ wait.trigger.event.data.event_response_type == \"ResponseNo\" }}"
        sequence:
          - service: notify.alexa_media
            data:
              message: You said no
              target: "{{ alexa_device }}"
      - conditions:
          - condition: template
            value_template: "{{ wait.trigger.event.data.event_response_type == \"ResponseYes\" }}"
        sequence:
          - service: notify.alexa_media
            data:
              message: You said yes
              target: "{{ alexa_device }}"
    default:
      - service: notify.alexa_media
        data:
          message: No Response Received
          target: "{{ alexa_device }}"
description: ""

1 Like

Hi, I have a problem… I’ll explain what I would like to do.
As soon as a sensor is activated I want Alexa to ask me if I want to activate a Gaming zone or a Relaxation zone; once I answer I would like Alexa to ask me what color I want to set the LEDs in the area I have chosen.
I succeed in the first step and I receive the question about the area to choose but when it has to ask me the second question it freezes and doesn’t ask me anything (the switch node does not receive the Gaming or Relax response)… I think the response should be set to the skill of Alexa but I can’t and I can’t find anything online.
Am I doing something wrong?
Thanks for the reply

hi everyone, need a big help please.
I’m trying to make the actionable notifications work but no sound comes out of any chosen alexa device.
I followed the guide and every test is fine except the last one: in HA, if I run the service I get the green flag but alexa does not speak.
Also I’m not getting the actionable notification listener under events in HA.

I’m running HAOS on a raspberry pi4
any idea?

I finally figured out how to setup alexa actionable notifications using Home assistant UI. Trying to get most of my stuff off of node red and not much info out there on how to do Alexa actionable notifications