HomeKit component fails with alarm_control_panel entity

For whatever reason, all entities work fine in the Home app (via the HomeKit component) except for my manual alarm_control_panel entity.

The only thing configured for my alarm_control_panel is the name.

I can arm/disarm from Home Assistant just fine, but when I try to use the Home app, it just says “Arming…” or “Disarming…” and it never completes.

Anyone else having troubles or does yours work?

It does work, although it takes forever. You can adjust this by setting pending_time to a lower value. https://www.home-assistant.io/components/alarm_control_panel.manual/

Mine does the same thing did you manage to fix this

No, and the above solution did not seem to work for me.

I have my pending time set to 30 seconds and it works perfectly for me. However I set a code in entity_config but it still disarms the system without a code. Anyone got this working for them?

alarm_control_panel:
  - platform: manual
    code: !secret_code
    pending_time: 30
    delay_time: 20
    trigger_time: 4
    disarmed:
      trigger_time: 0
    armed_home:
      pending_time: 0
      delay_time: 0
.
 homekit:
  pincode: 'XXX-XX-XXX'
  filter:
    exclude_domains:
      - climate
      - cover
      - light
      - sensor
      - remote
      - input_boolean
      - script
  entity_config:
    alarm_control_panel.ha_alarm:
      code: 12345

Anyone else set up an alarm within Homekit and gotten this to work?

@Maaniac Which Home Assistant version do you use? This should be fixed (I think since 0.66.0). Be sure to test it with the current 0.67.0.

@cdce8p I was already using the beta. Deactivating the alarm with the iOS app does not prompt a code.

@Maaniac As far as I know HomeKit doesn’t support entering a pincode. That is why the following section for the homekit component is necessary:

  entity_config:
    alarm_control_panel.ha_alarm:
      code: 12345

@cdce8pyes but I’m pretty sure that even if I remove those lines of code the iOS app will still activate and deactivate the alarm.

@Maaniac That should only work if your pincode is None. That’s at least the default. In every other case it should throw an error (to the log file).

Can you please test it. If it works although it shouldn’t, can you post the log with the following config added?

logger:
  default: warning
  logs:
    homeassistant.components.homekit: debug
    pyhap: debug

I have the same problem that my Alarm.com hangs in Home App but works fine in Home Assistant.

Am I able to integrate the “manual” alarm platform options (pending_time, etc) with the “alarm.com” platform (which has basic log-in info and passcode only)?

Hi,
did anyone managed to solve it? My configuration still says ‘invalid code given for disarmed’…

I’m unable to get this to work.

I was able to set in the alarm control panel that no code is required to arm. And now HomeKit will let me arm, but it seems like adding a code in the config file doesn’t let HomeKit disarm.

code_arm_required: false

Has anyone figured this out?

Is this entity config right? (This matches my entity on HA)

alarm_control_panel.alarm_system:

My yank HomeKit install is basically set as per the example:

homekit:
  - filter:
      include_domains:
        - alarm_control_panel
        - light
        - media_player
      include_entity_globs:
        - binary_sensor.*_occupancy
      include_entities:
        - binary_sensor.living_room_motion
    entity_config:
      alarm_control_panel.alarm_system:
       code: 1234
      binary_sensor.living_room_motion:
        linked_battery_sensor: sensor.living_room_motion_battery
        low_battery_threshold: 31
      light.kitchen_table:
        name: Kitchen Table Light
      lock.front_door:
        code: 1234
      media_player.living_room:
        feature_list:
          - feature: on_off
          - feature: play_pause
          - feature: play_stop
          - feature: toggle_mute
      switch.bedroom_outlet:
        type: outlet
      camera.back_porch:
        support_audio: True
  - name: HASS Bridge 2
    port: 21065
    filter:
      include_domains:
        - alarm_control_panel

The entity config of the alarm control panel needs to be under the same bridge as where you define the entity to include in the filter. Right now you are configuring the alarm control panel in the main bridge, but include the alarm control panel entity in the second bridge toward the bottom of the YAML snippet.

Edit: actually you define the filter to include it twice. Once in the default/main bridge and again in the second bridge. Remove the second bridge and restart HA to try again.

Thanks, that worked!!!

I was using the template on the HomeKit page. Silly that they have two instances in their example.