Skip to content

Multiple keypad beeps / duplicate arm_mode confirmations with multi-area Alarmo setups #4

Description

@rrosson

Summary

With Alarmo configured as a master + multiple areas, one keypad button-press causes Alarmo to fire alarmo_command_success once per area plus twice for the master. This blueprint's event_command_success / event_arm_failure handlers have no entity_id filter, so every one of those events triggers a fresh arm_mode confirmation publish back to the keypad — all with the same transaction ID — and the keypad audibly beeps once per frame it processes.

Reproduction

Alarmo with N areas under one master (e.g. N=4), UEHK2AZ0/XHK1-UE keypad on this blueprint. Press disarm once.

Evidence

Raw MQTT capture of <set_topic> for one disarm press, transaction ID redacted as NNN:

mode:disarm  transaction:NNN
mode:disarm                    <- from to_state_disarmed, no transaction field
mode:disarm  transaction:NNN
mode:disarm  transaction:NNN
mode:disarm  transaction:NNN
mode:disarm  transaction:NNN

Root Cause

AlarmoMasterEntity.async_alarm_disarm in the Alarmo integration fans a disarm out to every area and fires EVENT_DISARM / alarmo_command_success for the master (twice — once via its base-class call, once again after the area loop) and once per area.

This blueprint doesn't filter by ```trigger.event.data.entity_id``.

Suggested Fix

Add to both event_arm_failure and event_command_success top-level conditions:

- condition: template
  value_template: '{{ trigger.event.data.entity_id == alarmo_entity_id }}'

This still leaves the master's own double-fire (same entity_id, same context_id); fully collapsing to one confirmation needs an idempotency guard keyed on context_id / transaction (e.g. an input_text helper storing the last-handled transaction, checked/updated under mode: queued to avoid a race between the two near-simultaneous master events).

Environment

  • Alarmo custom_component 1.10.19
  • Blueprint v1.1
  • Keypad UEHK2AZ0
  • universal_electronics_inc.ts in zigbee-herdsman-converters

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions