Input_button does not get to Alexa

Hi I have rolled my own Alexa skill as per the ‘Manual setup’ steps in Amazon Alexa - Home Assistant
Its been working fine and I am really only planning on using Alexa as the voice command with all the automations being in Home Assistant.

My problem is I have added two new helper buttons to Home Assistant for 'Open Garage door’ and 'Close Garage door’.
When Alexa ‘discovered new devices’ these did not appear. In fact none of the input_button devices appear.
All the input_boolean and input_number and even internal timer devices are there.
Does anybody know if this is by design? Or is it configurable and if so where ?
(please be specific - I find the Alexa App a maze where you press likely options but end up back at the start! )

Thanks for any Help
JC
p.s. the aim is for Alexa to respond to ‘open garage door’. If that need some other object at Alexa’s end that can pass the message along then that would be acceptable.

Did you ever find the solution to this? I too am using the manual setup and cannot get input_button in to Alexa.

So I never found a way to actually use an input button but I did create an input boolean and tied an automation to it that immediately turns it off (or on) when the button is pressed. I’ve used this methodology for two types of integrations with Alexa.

The first is room sensative “fan” control for alexa. I have two routined set up. One is “turn on the fan” and the other is “turn off the fan”. Each of these triggers a “on” switch or an “off” switch. Once toggled the switches reset and the automation goes to check the Alexa that the last command was issued to using the Alexa media player. It then turns on or off the fan that’s closes to the Alexa the command was issued to. Since Alexa has this for lights, not fans, it’s much easier to say “Alexa turn off the fan” from the spare bedroom than it is to say Alexa turn off the spare bedroom fan. Because routines need to either turn something off or on (no toggle), I use the switch as a push button. When you turn it on, it runs events and then turns off again so the next time the routine is run, the switch is in the right position.

The second things I use this for is to sleep my screen. In this case I just want to tell Alexa to turn off my laptop screen. I have a switch entity that I call laptop screen. It’s on by default. When I tell Alexa to turn off my laptop screen, it turns off the switch which calls and API (I use keyboard maestro) which then sleeps my computer screen. The switch then resets into the “on” position immediately afterward. Since I never have to turn “ON” my screen remotely, I just use it to turn off my screen, having the switch in the “on” position allows me to use better language.

In this case you could have a simply “on” switch and “off” switch which immediately reset themselves. You can “hide” the entities, but expose them through the Alexa integration.

My question though is, why would you want to. In the case of my fan I needed to pull the command to figure out where the command was issued from, which required me to be creative because ALL fans can theoretically use the same two switches (and they do unless you include the room name with the fan you’re trying to control). Alexa knows what a garage door is and exposing a garage door switch to alexa will allow you to simply say “Alexa close the garage door” which will issue the command based on whether the garage door is open or closed.

That said, if you don’t KNOW what the state of the garage door is and you always want the command issues, this momentary “switch” will serve the same purpose as a push button.

It is something to do with ‘Helper’ type of ‘Button’ that creates an Entity_id with input_button. These seem to not be passed to Alexa.
In my case I switched to a ‘Cover’ in configuration.yaml. A ‘Cover’ uses verbs like ‘open’ and ‘close’ rather than ‘on/off’ so it worked well.

cover:
  - platform: template
    covers:
      garage_door:
        device_class: door
        friendly_name: "Garage Door"
        unique_id: "home_garage_door"
        open_cover:
          service: script.Open_garage_door
        close_cover:
          service: script.Close_garage_door