Homekit Garage Door Shows Up as Cover?

I installed the homekit integration and it is working great. Just one small issue, I can only get my garage door to show up as a cover. I found an old thread where you can change the device class using the configuration.yaml, but is there any way to do it in lovelace?

Just bumping this up, still haven’t figured out a fix.

  1. Delete the existing cover entity seen in Homekit using the Homekit app.
  2. Set the cover entity’s device_class to garage_door in customize.yaml.
  3. Restart Home Assistant.
  4. The cover entity appears as a garage door in Home Assistant.
  5. Add the cover entity back to Homekit using the app.
  6. The cover entity should now appear as a garage door (or at least it did for me when I followed these steps).

Thank you for the information. I tried adding a customize.yaml and added the following…but it keeps telling me there is no customize integration.

customize:
  cover.garage.door:  
    device_class: garage_door

If what you posted represents the contents of your customize.yaml file then the mistake is that it contains customize: on the first line. Remove it and shift the indentation of everything to the left by two spaces:

cover.garage.door:  
  device_class: garage_door

That was the issue with the code. However, it didn’t seem to work for me. I unchecked the “cover” option in the homekit bridge integration. That removed the device from the homekit app on my phone. I restarted Home Assistant. Checked off the “cover” button again and the device popped back up on my phone. Unfortunately, it still shows up as blinds.

That’s a new one for me. I used Apple’s app to delete the accessory (first line in the instructions above). All I can say is that “It worked for me.” :man_shrugging:

that doesn’t look correct… typo?

Yes, sorry. Just a typo…

I added this to the configuration.yaml

homeassistant:
 customize: !include customize.yaml

Then this in the customize.yaml.

cover.garage_door:
  device_class: garage_door

This is what I get in HA

You aren’t using the correct device_class

   device_class: garage

Yes, that’s a typo and dammit I looked at device_class for binary_sensor for a garage door and forgot it’s different than for a cover (garage_door vs garage).

I feel the two ought to be the same because I can’t think of a reason why they should be different.

Anyway, here’s the version without the typo and with the correct device_class:

cover.garage_door:
  device_class: garage

(I should’ve just referred to my own customize.yaml file … :man_facepalming:)

Bingo! That did the trick…thank you so much! Now on to figure out why my cameras are not showing up with the new DSM Synology…lol.

I’m surprised we have this much consistency in the software with how large it is

Either way, thank you for the help!

1 Like

Hi!

I know that this is a very old topic but I hope you can still help me. I am trying to do the same thing and I am running into a similar issue with a small twist.

I have a device that controls the gate switch. It is visible in HA as switch.my_garage_door_name
How do I go from that to a switch recognizeble by Homekit as a garage door?

My customize.yaml looks like this:

cover.garage_door_ha:  
  device_class: garage

I cannot figure out how this part works. Do I mention a specific entity here or is it more general and it should look the same for everyone no matter how the entity is called?

My relevant parts (I think) of the configuration.yaml look like this, where my original switch’s name is: switch.garage_gate_ha

homeassistant:
  customize: !include customize.yaml
homekit:
  - filter:
      include_entities:
        - cover.garage_door
cover:
  - platform: template
    covers:
      garage_door:
        device_class: garage
        friendly_name: "Garage Door HA"
        value_template: "{{ is_state('binary_sensor.garage_gate', 'on') }}"
        open_cover:
          service: switch.turn_on
          entity_id: switch.garage_gate_ha
        close_cover:
          service: switch.turn_on
          entity_id: switch.garage_gate_ha
        stop_cover:
          service: switch.turn_on
          entity_id: switch.garage_gate_ha
        icon_template: >-
          {% if states('binary_sensor.garage_door')|float > 0 %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}

I have 2 issues. First of all, the switch appears in Homekit as a cover not garage door. Them the second part is that it now says “No response”. I had it working for a moment yesterday but then after a restart it stopped working. I think I changed something in the meantime.

Any tips?

May be a bit dated, but I exposed my garage door to Homekit and it showed up as a cover. It worked fine, but I could not get it to show up in CarPlay. I changed to garage door in Home Assistant to “show as garage door” (Dashboard/click garage door icon/select settings (gear icon)/show as garage door). Like magic, the garage door now shows up in the carplay dashboard when I am close to the house.

1 Like