Homekit Alarm failing to arm/disarm due to invalid code

Hello!
I have the following manual alarm created + HomeKit component:

alarm_control_panel:
  - platform: manual
    name: Home Alarm
    code: '1234'
    arming_time: 30
    delay_time: 20
    trigger_time: 4
    disarmed:
      trigger_time: 0
    armed_home:
      arming_time: 0
      delay_time: 0      

homekit:
  - entity_config:
      alarm_control_panel.home_alarm:
        code: '1234'

Every time I try to arm/disarm the alarm through HomeKit App, homeAssistant raises the following error:

2020-08-24 10:23:48 WARNING (SyncWorker_47) [homeassistant.components.manual.alarm_control_panel] Invalid code given for armed_home

As you can see, both codes are correct.

Any idea?

Thanks in advance

Hi! did you solve the problem?

I’m having the exact same issue, the codes match and the homekit was originally set up inside the GUI. I don’t know if it is not respecting the config.yaml file or if there is something else going on.

My problem was that I had the HomeKit integration set up by the GUI, and the configuration from the YAML file was not being picked up. I removed the HomeKit integration from the Integrations Menu; and redid it on the configuration.yaml file, and it was working as expected

Did you find a solution to this not involving the manual configuration? I tried adding the lines about the code in the config file but it does not seem to be possible to use both the integration and manual configuration and since I have more entities to be added to Homekit and I am new to this, I would prefer to stick with the GUI.

Was anybody able to solve this issue of the Homekit GUI not allowing pin code parameter?

I solved it by exposing a HA script which disarm the alrm with the code and then exposed this script as a momentary switch in homekit… but it is not super elegant

1 Like