GFThe Grown-Ass Field Guide

Smart Home / Automations

Building a Fully Local Multi-Zone Alarm System with Hardwired Sensors and Keypad Sync

A blueprint for modernizing legacy door and window contacts using Home Assistant, custom alarm software, and physical keypads while keeping operation entirely offline.

Automation

Older homes frequently contain robust, hardwired reed switches in door frames and window sills wired back to an abandoned central junction box. Rather than replacing these zero-latency, battery-free sensors with wireless equivalents, you can ingest their binary state changes into Home Assistant using an interface board (such as Konnected or generic ESPHome boards) and manage them through the Alarmo integration. Pair this with a dedicated Z-Wave or Zigbee physical keypad (such as a Ring Keypad v2 via Z-Wave JS) to create a multi-zone alarm system that operates completely on local control without mandatory subscription fees.

### Core Objective

The goal is to provide reliable multi-zone perimeter and interior intrusion detection (Armed Home, Armed Away, Armed Night) that bridges hardwired legacy contacts with modern physical keypads. The system must synchronize arm/disarm states across touch panels, mobile interfaces, and entry keypads while avoiding cloud dependencies, nuisance false alarms, and unmanaged siren loops.

### Triggers and Detection Logic

1. **Sensor Trigger:** A state transition from `off` (closed) to `on` (open) on any assigned binary sensor zone (e.g., perimeter contacts, interior motion). 2. **Keypad Event Trigger:** Entering a valid user PIN and pressing `Armed Away`, `Armed Home`, or `Disarm` on the physical keypad. 3. **Schedule / Presence Trigger:** Optional geofence exits or scheduled bedtime routines that request state changes.

### Operational Conditions and Zones

Sensory inputs are divided into discrete zones within Alarmo: - **Perimeter (Armed Home / Away / Night):** Exterior doors, ground-floor windows, sliding doors. Immediate or delayed entry trigger. - **Interior Motion (Armed Away only):** PIR or presence sensors located in hallways and common areas, bypassed during Armed Home or Night modes. - **Sensor Readiness Guard:** Arming requests check for open sensors. If an exterior window is open, arming is rejected or triggers a warning chirp at the keypad unless explicitly configured for auto-bypass.

### Actions and Synchronization

- **Entry Delay:** When an entry door opens while armed, Home Assistant triggers an entry delay (e.g., 30 to 45 seconds). The keypad sounds an entry tone, and accent lights pulse yellow. - **Alarm Execution:** If disarming does not occur before the countdown ends, the system sets `alarm_control_panel` to `triggered`. Actions fire in staggered stages: first, non-auditory notifications to resident phones; second (e.g., after a 10-second grace window), strobe lights activate; third, high-decibel local sirens sound. - **Bidirectional Keypad Sync:** Blueprint automations sync Alarmo's internal state directly to the physical keypad LEDs and audio prompts, ensuring entry delays, exit delays, and arming errors provide immediate physical and auditory feedback at the door.

### Safeguards and Siren Protection

- **Auto-Cutoff Timer:** Sirens must have a hardware or software hard cutoff limit (typically 3 to 5 minutes) to comply with municipal noise ordinances and prevent deafening noise during system hang-ups. - **Two-Stage Trigger (Interior):** High-sensitivity motion sensors can require two detections within 30 seconds before escalating to a full siren event, reducing false positives caused by shifting shadows or small pets. - **Entry Grace Window:** Entry doors should provide sufficient exit/entry delays (minimum 30–45 seconds) to prevent accidental trips by family members carrying groceries.

### Failure Behavior and Power Outages

A local security system must withstand power flickers and network loss: - **Battery Backup:** The Home Assistant host, networking equipment, and sensor interface board must run from an uninterruptible power supply (UPS) or a 12V auxiliary backup battery commonly found in legacy alarm enclosures. - **Local Network Isolation:** If external internet connectivity drops, local Z-Wave and LAN communication between the keypad, panel, and sirens continues uninterrupted. - **Controller Crashes:** If the Home Assistant host restarts or crashes while armed, state persistence should re-arm the panel upon boot. Sirens wired to normally-open relays remain silent by default if the interface board loses power.

### Privacy and Maintenance Burden

- **Privacy:** Because sensor states and PIN handling remain strictly within the local network, credential and occupancy logs are never transmitted to third-party cloud monitoring centers. - **Maintenance:** Hardwired sensors require minimal ongoing maintenance since they lack batteries, but physical alignment of magnetic reed switches should be inspected annually. Physical keypads require periodic battery recharging or hardwiring via USB. Ensure local backup snapshots are maintained whenever alarm scripts or PIN mappings are modified.

Practical outline

What it takes to make this useful.

  1. 01

    Map legacy junction box wire pairs to an open-source or local interface board to convert hardwired contacts into binary sensors.

  2. 02

    Configure distinct alarm modes (Home, Away, Night) in Alarmo, isolating interior motion sensors from perimeter doors.

  3. 03

    Sync a local Z-Wave or Zigbee keypad using verified blueprints to mirror system states and entry/exit delay beeps.

  4. 04

    Implement a hard 3-to-5-minute software and relay cutoff on external sirens to prevent continuous sound loops.

  5. 05

    Back up the Home Assistant host, network switch, and sensor boards with a dedicated UPS or 12V battery circuit.

  6. 06

    Test sensor states and physical switch alignment twice a year to catch loose door magnets before they cause false triggers.

Source trail

Evidence and examples behind the guide.