Hi, I have a problem with a wait_for_trigger: event
.
When the event fires, the event trigger becomes blue and is marked as triggered, but the wait_for_trigger
doesn’t resume and results in a None
after timeout. When i click on the blue line, I can see all information of the event that was fired and triggered.
The interesting thing is, that the same wait_for_trigger: event
works well in a different script (which is called previously in the first script where I have the problem.
The first script with the problem:
alias: Alexa - Hello World
sequence:
- variables:
device: media_player.echo_dot_wohnzimmer
- service: script.activate_alexa_actionable_notification
data:
text: Ja oder nein?
event_id: hello_world
alexa_device: "{{ device }}"
- wait_for_trigger:
- platform: event
event_type: alexa_actionable_notification
event_data:
event_id: hello_world
alias: Auf Antwort warten
timeout:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- variables:
response_type: "{{ wait.trigger.event.data.event_response_type }}"
response: "{{ wait.trigger.event.data.event_response }}"
The second script which is working:
alias: Activate alexa_actionable_notification
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
suppress_confirmation:
description: Set true if you want to suppress 'okay' confirmation
example: "true"
sequence:
- if:
- condition: not
conditions:
- condition: template
value_template: "{{ event_id is search('(external_request)') }}"
then:
- service: script.alexa_lautstarke_einstellen
data: {}
alias: Bei nicht-externer Anfrage die Lautstärke einstellen
enabled: false
- service: input_text.set_value
data_template:
entity_id: input_text.alexa_actionable_notification
value: >-
{"text": "{{ text }}", "event": "{{ event_id }}",
"suppress_confirmation": "{{ suppress_confirmation }}"}
alias: Ausgabetext setzen
- service: media_player.play_media
data_template:
entity_id: "{{ alexa_device }}"
media_content_type: skill
media_content_id: amzn1.ask.skill.999
alias: Actionable Notification senden
- wait_for_trigger:
- platform: event
event_type: alexa_actionable_notification
event_data:
event_id: "{{ event_id }}"
alias: Auf alexa_actionable_notification response warten
- service: input_text.set_value
data_template:
entity_id: input_text.alexa_actionable_notification
value: >-
{"text": "Was kann ich für dich tun?", "event": "external_request",
"suppress_confirmation": "true"}
alias: Default-Text setzen
Here is a screenshot from the fired event which triggered the event trigger and the error message because of the timeout which has no event data:
It makes no difference wheather I define a timeout or not, but this way I can try it several times without a never ending script…
It also makes no difference wheather I define the event_id
fix or via variable.