Alexa cover component not working

I noticed a a couple of weeks ago that the alexa app stopped working for my garage door control.

I have the garage door configured as a cover in HA and the alexa app shows that it is seeing it as a cover device but when I tell alexa to “close (or open) the north garage door” it says “north garage door doesn’t support that”.

I don’t use it very often so I thought maybe it was a glitch with alexa but I’ve needed to (try to :frowning_face:) use it a few times in the last few days and I get the same response.

I’m pretty sure that it used to work and i haven’t made any changes to the code.

The garage door works and displays correctly as a cover in HA.

I have the entity exposed to alexa thru haaska.

Here is the code in covers.yaml:

- platform: template
    covers:
      north_garage_door:
        friendly_name: 'North Garage Door'
        value_template: "{{ is_state('binary_sensor.garage_door_north_position_sensor', 'on') }}"
        open_cover:
          service: script.turn_on
          entity_id: script.open_gdn
        close_cover:
          service: script.turn_on
          entity_id: script.close_gdn
        stop_cover:
          service: switch.turn_on
          entity_id: switch.garage_door_north_operator_switch
        icon_template: "{% if not is_state('binary_sensor.garage_door_north_position_sensor', 'off') %}mdi:garage-open{% else %}mdi:garage{% endif %}"

example1

example2

All of my other alexa stuff (via haaska) works perfect.

Did something change in regard to this functionality that I’ve missed?

I can’t seem to get covers working either - anyone else had any luck with this?

This has never worked. Home assistant to alexa only supports lights (emulated hue, not sure about cloud). So say ‘on’/‘off’ for the door to work.

This will only work with haaska if you configure it that way. I.E. build the intent in alexa’s haaska app and in home assistant.

I can’t use a cover directly controlled by Alexa but there is a pretty seamless work around.

On your mobile device in the alexa app you can set up routines to do various things based on custom voice commands that you define.

I have two routines set up - one to close the garage door & one to open it. Those routines control a different script in HA, that I have exposed to Alexa, to test whether the door is in the correct position then it will “turn on” the door operator.

For example, If I say “Alexa, close the north garage door” it will trigger the script for closing the north garage door. Then in the script I test that the door is actually open. If it is then I operate the relay for the door and it closes. If the door is already closed then the script stops and there is no other action.

  close_gdn:
    alias: Close the North Garage Door
    sequence:
      - condition: state
        entity_id: binary_sensor.garage_door_north_position_sensor
        state: 'on'
      - service: switch.turn_on
        entity_id: switch.garage_door_north_operator_switch
  
  open_gdn:
    alias: Open the North Garage Door
    sequence:
      - condition: state
        entity_id: binary_sensor.garage_door_north_position_sensor
        state: 'off'
      - service: switch.turn_on
        entity_id: switch.garage_door_north_operator_switch

I’ve moved away from emulated hue and haaska and gone to the cloud component but even the cloud component still won’t allow you to “open” or “close” a cover. At least as of the last time I tried a couple of months ago.

I believe the open/close limitation is actually on the Alexa/Echo side which is why every cover is always exposed as a light.

Yeah, I think you’re right that it’s a Echo limitation.

Looks like there isn’t any mention of covers throughout the alexa dev documentation, the closest that I found was

They mention that it supports “window blinds” as a scene, so I am guessing there isn’t anyway around setting them up individually for each window covering you have.

Luckily I only have three (at the moment!) but its going to get a bit crazy when I deck the whole house out.

Has anyone gotten covers working with just on / off? I can’t even get that working by default e.g.

“Alex turn on sitting room blinds”

“Alex turn off sitting room blinds”

How does that function? Considering there is a up / stop / down action?

If you have a script that opens or closes the blinds, then your script would be passed through as a ‘turn_on’. You could also map said script to a switch template. On opening the cover and off closing the cover. Stop would not work. But… you could attempt to map the cover to a light template with brightness controlling the stop portion. Using the phrase ‘alexa turn on light to 50 %’ would run the script and adjust the cover based on that information.

You can use alexa routines to allow for the “open” or “close” functionality.

I the Alexa app on a mobile device got to the routines section and there you can set up whatever words you want to trigger things.

I now have mine set up so that when I say “open the garage door” it calls the script to open the door.

I don’t know how you would handle the different open gradient settings tho. I’ve never needed it.

Thanks for the advice @finity none of my covers support gradient settings (Except the Xiaomi curtain controls, but I assumed it wouldn’t work as I never configured the fully open / closed position as there is absolutely no documentation on it in english that I Have found :roll_eyes: )

I’ve gotten one setup working, but struggling with others, seems to get confused with similar device names to my routines. I might need to experiment further with this.

What has everyone else done to get around this? Might need to name the devices something that sounds completely different to the routine.

Personally, I’d try to map my cover to a light template if using emulated hue. If not, I’d do a switch template for open/close and a script for moving the cover to a position.

EDIT: Once you get all the functionality to alexa, you can build routines to handle the opening and closing with phonetic sentences. Something like “Alexa, brighten up the living room”. Then she opens the living room blinds. “Alexa, I’d like privacy in the living room”. If you don’t care about your conversations with alexa, treating the items as lights/switches/scripts would be simple phrases “Alexa, turn on living room blinds”.

To add - I’ve got my Fibaro Roller Shutter control set as a Light and so I can also say “Alexa, Set The Table Window to 50%”