Homekit Integration Question (Need a little help from the community)

Hello, hope you all can help me out with the following question about the homekit integration that I don’t fully understand. Even better would be if a few of you could give me some examples of your homekit integration portion of your config.yaml so that I can learn by seeing.

The first question I have is, if I load my entities by doing everything within the yaml, what will that look like if I am wanting to do both items like lights that don’t need accessory mode and a few door locks which require the accessory mode.

Also, is there no way to tell homekit what room to put the entity in within the config? Below is an example of my current configuration for the homekit section of my configuration.yaml.

Most important question I have in this thread is the below:

It revolves around the entities that need to be added in accessory mode. If I have added my bridge through yaml (as in the example below) and I now see the bridge on the integrations page, can I now add the accessory mode entities through the UI?

Thank you all for any help you can give me. (The below works well for all items that don’t require accessory mode, but as soon as I add the last 10 or so lines starting at -name: Front Door Lock, I get a configuration error popup)I don’t know how to finish this .yaml with regards to making it work for the remotes–i.e. harmony hubs and locks)

In the end, I would like to have my lights, switches, garage door, scripts, harmony hubs (I have 2), and door locks in homekit when I call this complete.

Thank you all again for any help/guidance you can give.


    filter:
#      include_domains:
#        - alarm_control_panel
#        - light
#        - media_player
#        - script
#        - vacuum
#        - binary_sensor
#        - climate
#        - cover
#        - device tracker
#        - fan
#        - light
#        - sensor
#        - switch
      include_entities:
        - alarm_control_panel.alarmo
        - climate.thermostat
        - cover.garage_door
        - fan.master_bedroom_ceiling_fan
        - light.back_porch_light
        - light.dining_room_light
        - light.front_porch_light
        - light.garage_accents
        - light.gym_cabinet
        - light.gym_power_rack
        - light.hallway_light
        - light.kitchen_light
        - light.left_vols_light
        - light.living_room_light
        - light.master_bedroom_bed_accents
        - light.master_bedroom_light
        - light.right_vols_light
#        - lock.530i_xdrive_lock
#        - lock.back_door_lock
#        - lock.front_door_lock
#        - lock.garage_entry_door_lock
#        - remote.harmonyhub_living_room
#        - remote.harmonyhub_master_bedroom
        - script.start_muscle_hustle
        - script.stop_muscle_hustle
        - switch.back_hallway_outlet
        - switch.back_porch_fountain
        - switch.back_porch_speaker_power
        - switch.dining_room_outlet_left
        - switch.dining_room_outlet_right
        - switch.front_porch_fountain
        - switch.front_porch_speaker_power
        - switch.guest_bedroom_outlet_left
        - switch.guest_bedroom_outlet_right
        - switch.gym_outlet_left_right
        - switch.gym_outlet_right_left
        - switch.gym_outlet_center_left
        - switch.gym_outlet_center_right
        - switch.hallway_outlet
        - switch.master_bedroom_floor_fan_power
        - switch.master_bedroom_outlet_right
        - switch.projector_power
    entity_config:
      alarm_control_panel.alarmo:
        name: Alarmo
        code: 631131
      climate.thermostat:
        name: Thermostat
      cover.garage_door:
        name: Garage Door
      fan.master_bedroom_ceiling_fan:
        name: Master Bedroom Ceiling Fan
      light.back_porch_light:
        name: Back Porch Light
      light.dining_room_light:
        name: Dining Room Light
      light.front_porch_light:
        name: Front Porch Light
      light.garage_accents:
        name: Garage Accents
      light.gym_cabinet:
        name: Gym Cabinet
      light.gym_power_rack:
        name: Gym Power Rack
      light.hallway_light:
        name: Hallway Light
      light.kitchen_light:
        name: Kitchen Light
      light.left_vols_light:
        name: Left Vols Light
      light.living_room_light:
        name: Living Room Light
      light.master_bedroom_bed_accents:
        name: Master Bedroom Bed Accents
      light.master_bedroom_light:
        name: Master Bedroom Light
      light.right_vols_light:
        name: Right Vols Light
      lock.530i_xdrive_lock:
        name: 530I Xdrive Lock
        code: 631131
#      lock.back_door_lock:
#        name: Back Door Lock
#        code: 631131
#      lock.front_door_lock:
#        name: Front Door Lock
#        code: 631131
#      lock.garage_entry_door_lock:
#        name: Garage Entry Door Lock
#        code: 631131
#      remote.harmonyhub_living_room:
#        name: Harmonyhub Living Room
#      remote.harmonyhub_master_bedroom:
#        name: Harmonyhub Master Bedroom
      script.start_muscle_hustle:
        name: Start Muscle Hustle
      script.stop_muscle_hustle:
        name: Stop Muscle Hustle
      switch.back_hallway_outlet:
        name: Back Hallway Outlet
      switch.back_porch_fountain:
        name: Back Porch Fountain
      switch.back_porch_speaker_power:
        name: Back Porch Speaker Power
      switch.dining_room_outlet_left:
        name: Dining Room Outlet Left
      switch.dining_room_outlet_right:
        name: Dining Room Outlet Right
      switch.front_porch_fountain:
        name: Front Porch Fountain
      switch.front_porch_speaker_power:
        name: Front Porch Speaker Power
      switch.guest_bedroom_outlet_left:
        name: Guest Bedroom Outlet Left
      switch.guest_bedroom_outlet_right:
        name: Guest Bedroom Outlet Right
      switch.gym_outlet_left_right:
        name: Gym Outlet Left Right
      switch.gym_outlet_right_left:
        name: Gym Outlet Right Left
      switch.gym_outlet_center_left:
        name: Gym Outlet Center Left
      switch.gym_outlet_center_right:
        name: Gym Outlet Center Right
      switch.hallway_outlet:
        name: Hallway Outlet
      switch.master_bedroom_floor_fan_power:
        name: Master Bedroom Floor Fan Power
      switch.master_bedroom_outlet_right:
        name: Master Bedroom Outlet Right
      switch.projector_power:
        name: Projector Power
  - name: "Front Door Lock"
    port: 51828
    mode: accessory
    filter:
      include_entities:
        - lock.front_door_lock
    entity_config:
      lock.front_door_lock:
        name: "Front Door Lock"

Have you tried adding HomeKit bridge mode through the GUI? It lets you choose the domains then lists the entities based on those domains.

Once you’ve selected your entities, you can choose the rooms within the home app.

Yeah, but the issue with that for me is that I am wanting to use the alarm with the integration and if you set if to require the code to arm/ disarm through homekit, the only way you can give that arguement is through yaml integration-- that’s why I’m kind of stuck trying to figure this out. The arm/ disarm doesn’t work on the iphone unless that part gets hashed out.

Also, I updated my original post with the code of what I have tried (the last 10 or so lines are the part I can’t get right I believe; I don’t know if it’s spacing or what)

Also, thank you for your response and trying to help. It’s very appreciated.

For anyone taking a look at this thread in the future. I ended up getting this straightened out, essentially as soon as you end up adding a second bridge to your yaml if you end up having to go the yaml route as I did, you have to put the “name:” arguement in for every bridge instance, even the first one (that has your regular entities, i.e. lights, switches etc.).