Trouble getting Manual Alarm Control Panel to work as expected

I’m using the Manual Alarm Control Panel with the MQTT Alarm Control Panel app on my Android

This is my configuration.yaml entry

alarm_control_panel:
  - platform: manual_mqtt
    state_topic: home/alarm
    command_topic: home/alarm/set
    pending_time: 30
    delay_time: 20
    trigger_time: 4
    disarmed:
      trigger_time: 0
    armed_home:
      pending_time: 0
      delay_time: 0

These are my alarm delay settings on the App.

This is my automation to trigger the alarm:

alias: Alarm Trigger
  trigger:
  - entity_id: binary_sensor.ecolink_doorwindow_sensor_sensor
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
  - data:
      entity_id: alarm_control_panel.ha_alarm
    service: alarm_control_panel.alarm_trigger

And automation to sound an alarm:

alias: Sounds Siren
  trigger:
  - entity_id: alarm_control_panel.ha_alarm
    from: pending
    platform: state
    to: triggered
  condition: []
  action:
  - data:
      entity_id: switch.aeotec_zw080_siren_gen5_switch
    service: switch.turn_on

I’m having these issues

  1. with the alarm in armed_home state I change the state of my door switch to trigger the alarm. The alarm control panel shows the keypad with a 20-second countdown. The countdown ends, then 10 seconds later the siren sounds and I see the red “alarm” screen. I was expecting the siren to sound immediately. Instead of the alarm going into a pending stage.

  2. With the alarm in armed_away mode I change the state of my door switch to trigger the alarm. The alarm state changes to pending but the alarm control panel does not change. It just says “system armed away”. I was expecting to see the pin pad and 20-second countdown that I saw for the armed-home state. After 50 seconds the alarm changes from pending to triggered, my siren sounds and the control panel changes to the red alarm screen.

I can’t find out why this is happening this way. Based on my configuration.yaml entry it doesn’t seem like it should operate like this. Any guidance would be appreciated.