Scripts not exposing to Alexa. Why?

Backstory: I have historically used alexa to toggle input booleans as the trigger for automations. While bulky, this was reliable until recently when my toggles “got out of sync”. Researching the problem a saw multiple threads that suggested you have alexa toggle a script. This seemed like a more reliable solution for the long run.

Problem: When I create scripts, they are not getting exposed to alexa. It is my understanding that they should appear as scenes. I have done full reboots of home assistant. Removed all devices and rediscovered in alexa and still nothing. I could rewrite my scripts as scenes but scenes continue to lose functionality over the releases and multiple threads have suggested that scripts are the way to go. Yamllint shows that my scripts and config are valid.

Expected result: Created scripts will be exposed to alexa after a reboot.

Actual result: Alexa discovery does not capture any scripts.

Side Note: I did move scripts to a folder for organization. I used the include_dir_merge_list in my config which has worked for me when working with automations and sensors, don’t know why it wouldnt work in this situation. Viewing other configs they have the same setup as me.

configuration.yaml


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
frontend:
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

#climate:
#  - platform: generic_thermostat
#    name: Study
#    heater: switch.study_heater
#    target_sensor: sensor.study_temperature

# Text to speech
tts:
  - platform: google_translate

##############################################
#         Testing Area
# !include automations.yaml DOES work and nothing else does
#automation: !include automations.yaml

# "!include_dir_merge_list automations" does not work
# Error code below:

# Invalid config for [automation]: not a valid value for dictionary value @ data['action'][0]['entity_id']. 
#Got None. (See /config/configuration.yaml, line 20). 
#Please check the docs at https://home-assistant.io/components/automation/


#!include dir_merge_named does not  work
#automation: !include_dir_merge_named automations


##############################################
group: !include groups.yaml
automation: !include_dir_merge_list automations/
sensor: !include_dir_merge_list sensors/
input_boolean: !include input_boolean.yaml
script: !include_dir_merge_list scripts/
scene: !include scenes.yaml

zwave:
  # usb_path: /dev/ttyACM0
  usb_path: /dev/serial/by-id/usb-0658_0200-if00

climate:
  - platform: zwave

speedtestdotnet:
  scan_interval:
    minutes: 60
  monitored_conditions:
    - ping
    - download
    - upload

lutron_caseta:
  host: 192.168.1.18
  keyfile: /ssl/lutron/caseta.key
  certfile: /ssl/lutron/caseta.crt
  ca_certs: /ssl/lutron/caseta-bridge.crt
  
cloud:
  alexa:
    filter:
#      include_entities:
      include_domains:
        - switch
        - group
        - scene
        - input_boolean
        - fan
        - light
        - script
      exclude_entities:
        - group.all_switches
        - group.all_lights
        - group.all_fans
        - group.all_automations
        - light.upstairs_hallway_repeater
        - scene.flash_kitchen_lights_5
        - scene.good_morning_scene
        - scene.flash_kitchen_lights
       

scripts/good_night_script.yaml

good_night_script:
  alias: 'Good Night Script'
  sequence:
    - service: light.turn_off
      data:
        entity_id: light.master_cans
        transition: 60

    - service: light.turn_off
      data:
        entity_id: light.master_closet_anne
        transition: 60

    - service: light.turn_off
      data:
        entity_id: light.master_closet_drew
        transition: 60

    - service: light.turn_off
      data:
        entity_id: light.hall_cans
        transition: 60

    - service: light.turn_off
      data:
        entity_id: group.kitchen_lights

    - service: light.turn_off
      data:
        entity_id: light.entry_chandelier

    - service: light.turn_off
      data:
        entity_id: light.den_cans
        transition: 10

    - service: fan.turn_on
      data:
        entity_id: fan.master_fan

scripts/good_morning_script.yaml

good_morning_script:
  alias: 'Good Morning Script'
  sequence:
    - service: light.turn_on
      data:
        entity_id: light.master_cans
        brightness_pct: 100
        transition: 60
    - service: light.turn_on
      data:
        entity_id: light.master_closet_anne
        brightness_pct: 100
        transition: 60
    - service: light.turn_on
      data:
        entity_id: light.master_closet_drew
        brightness_pct: 100
        transition: 60
    - service: light.turn_on
      data:
        entity_id: light.hall_cans
        brightness_pct: 100
        transition: 10
    - service: light.turn_on
      data:
        entity_id: group.kitchen_lights
        brightness_pct: 100
    - service: light.turn_on
      data:
        entity_id: light.entry_chandelier
        brightness_pct: 100
    - service: light.turn_on
      data:
        entity_id: light.den_cans
        brightness_pct: 100
        transition: 10
    - service: fan.turn_off
      data:
        entity_id: fan.master_fan

Did you find a solution? I have the same issue

Late reply but I just checked, and scripts are now exposed in Alexa. Up until this point, my scripts are still the backbone but they are triggered via an input Boolean.

Now I have the classic dilemma of “if it’s not broke, don’t fix it” vs continuous improvement/simplification.

Is your system working? If so were you able to identify what changed?

Do you guys have any idea what could be the issue when your scripts are shown in the Alexa app but when you try to execute them via voice command, Alexa says it can’t find it? Same for routines. If I launch an Alexa routine with said scene/script inside it just doesn’t get executed.