Version 2.1.1+: ECi Series only (MODE 4 support, enhanced features)
Version 1.x: ESX Elite-SX support available here
Integration implemented by smarthomehellas.gr supported by iascom.gr - Exclusive Greek Arrowhead Distributor
✅ Better commands handilg (handle message sequences) ✅ Real-time updates (<200ms instead of 0-30 sec) ✅ No more "Failed to bypass" errors ✅ Instant zone state changes ✅ Responsive UI
Two-Tier System:
- Main Panel Entity: Arms/disarms ALL areas simultaneously (MODE 4)
- Area Entities: Individual control per area (MODE 4 ARM, MODE 2 DISARM)
Key Features:
- ✅ Individual Area Arming: ARMAREA/STAYAREA commands (requires P74E/P76E configuration)
- ✅ Individual Area Disarm: Automatic MODE 2/4 switching for area-specific disarm
- ✅ Smart Protocol: Client handles mode switching automatically
Panel Requirements:
P74E- Configure areas for individual away armingP76E- Configure areas for individual stay arming
Note: Without P74E/P76E configuration, ARMAREA/STAYAREA will fail with ERR 2
| Feature | v1.x | v2.1.1 |
|---|---|---|
| Panel Support | ESX + ECi | ECi Only |
| MODE 4 Protocol | ❌ | ✅ Full Support |
| Individual Areas | ❌ | ✅ Per-Area Control |
| Individual Disarm | ❌ | ✅ MODE 2 Support |
| Keypad Alarms | ❌ | ✅ Panic/Fire/Medical |
| Bulk Operations | ✅ Full Support | |
| Sealed Zones | ✅ Enhanced |
- 🎯 ECi-Only Focus: Streamlined exclusively for ECi Series panels
- 🚀 MODE 4 Support: Full support for firmware 10.3.50+ enhanced features
- 🏠 Individual Area Panels: Separate alarm panel entity for each configured area
- ⚡ Enhanced Services: 36+ services including bulk operations and keypad alarms
- 🔍 Improved Detection: Better zone detection with sealed zone support
- 🐛 Bug Fixes: Numerous fixes for stability and reliability
- 📊 Better Monitoring: Health tracking and improved diagnostics
For ECi Users:
- ✅ Backup your current configuration
- ✅ Remove v1.x integration
- ✅ Install v2.1.1
- ✅ Reconfigure with manual area specification
- ✅ Update automations with new entity IDs
For ESX Users:
- ❌ Stay on v1.x - ESX support removed in v2.0.1
Breaking Change: Version 2.0.1+ only supports ECi Series panels. ESX Elite-SX users should continue using version 1.x.
Before installing the Home Assistant integration, you must configure your Arrowhead ECi panel with the following settings:
- Enable Serial Over IP - This is required for TCP/IP communication with Home Assistant
- Enable Serial Authorization in Option C under the options tab
- This setting is essential for the integration to authenticate with the panel
-
Access Panel Programming Mode
- Enter installer/programming mode on your panel
- Navigate to the network and serial port settings
-
Configure Network Settings
- Go to P201E4E (Network Settings)
- Enable Serial Over IP functionality
- Note the IP address and port (default: 9000)
-
Configure Serial Authorization⚠️ DO NOT ENABLE- Navigate to P25E19-21E (Serial Port Options)
- Select Option C under the options tab
Enable Serial AuthorizationLEAVE DISABLED
-
Save Configuration
- Save all changes and exit programming mode
- The panel may require a restart to apply network settings
Note: Without these panel configurations, the Home Assistant integration will not be able to establish communication with your alarm system.
This integration provides complete Home Assistant support for Arrowhead ECi Series alarm panels, featuring MODE 4 protocol support, advanced zone detection, and individual area management.
Key Specifications:
- Up to 248 zones
- 32 outputs
- Dynamic zone detection
- Multiple area support (up to 32 areas)
- Zone expander compatibility
- MODE 4 protocol (firmware 10.3.50+)
Compatible Firmware:
- ✅ ECi F/W Ver. 10.3.51 (MODE 4 fully functional)
- ✅ ECi F/W Ver. 10.3.50 (MODE 4 supported)
- ✅ Earlier firmware versions (MODE 1 fallback)
- Main Alarm Control Panel - Controls all areas together
- Individual Area Panels - Separate panel entity for each configured area
- Zone Monitoring - Individual sensors for zone state, alarms, troubles, and bypass
- System Status - AC power, battery, phone line, and system health monitoring
- Output Control - Switches for panel outputs (lights, sirens, automation)
- Zone Bypass - Individual bypass buttons and bulk bypass services
- Keypad Alarms - Trigger panic, fire, and medical alarms
- Enhanced Area Commands - ARMAREA and STAYAREA for better area control
- User Tracking - See which user armed/disarmed each area
- Enhanced Timing - Precise entry/exit delay information
- Programming Queries - Access panel configuration programmatically
- Auto Zone Detection - Automatic discovery of configured zones
- Manual Area Config - User-specified areas for maximum reliability
- Custom Zone Names - Personalize zone names during setup or later
- Output Detection - Automatic or manual output configuration
- Protocol Adaptation - Automatic selection of best protocol for your firmware
- Connection Management - Automatic reconnection with exponential backoff
- Error Recovery - Comprehensive error handling and status reporting
- Health Monitoring - Track connection quality and success rates
- Performance Optimization - Panel-specific timing and protocol selection
Before installing the Home Assistant integration, you must configure your Arrowhead ECi panel with the following settings:
- Access panel programming mode
- Navigate to P201E4E (Network Settings)
- Enable Serial Over IP functionality
- Note the IP address and port (default: 9000)
- Navigate to P25E19-21E (Serial Port Options)
- Go to the Options tab
- Select Option C
- Enable Serial Authorization
Important: Without these settings, the integration cannot communicate with your panel!
-
Add Custom Repository:
- Open HACS in Home Assistant
- Click on "Integrations"
- Click the three dots menu (⋮) in the top right
- Select "Custom repositories"
- Add repository URL:
https://github.com/thanoskas/arrowhead_alarm - Select category: "Integration"
- Click "Add"
-
Install Integration:
- Find "Arrowhead Alarm Panel" in HACS
- Click "Download"
- Restart Home Assistant
-
Add Integration:
- Go to Settings → Devices & Services
- Click "Add Integration"
- Search for "Arrowhead Alarm Panel"
- Follow the configuration wizard
-
Download Files:
wget https://github.com/thanoskas/arrowhead_alarm/archive/refs/tags/v2.2.0.zip unzip v2.2.0.zip
-
Copy Integration:
cp -r arrowhead_alarm-2.2.0/custom_components/arrowhead_alarm /config/custom_components/
-
Restart Home Assistant and add the integration through the UI.
The integration uses a guided configuration wizard with the following steps:
- Connection Setup - Enter IP address, port, and credentials
- Zone Configuration - Auto-detect zones or set manually
- Area Configuration - Specify which areas are active (manual, required)
- Zone Naming - Optionally customize zone names
- Output Setup - Specify number of outputs to control
| Parameter | Description | Default | Required |
|---|---|---|---|
| Host | IP address of ECi panel | - | Yes |
| Port | TCP port for communication | 9000 | No |
| User PIN | User number and PIN code | "1 123" | Yes |
| Username | "admin" | No | |
| Password | "admin" | No | |
| Areas | Active areas (comma-separated) | "1" | Yes |
| Max Outputs | Number of outputs to control | 4 | No |
⚠️ Authentication Note: Username/password authentication is NOT currently supported. The ECi panel uses no encryption for TCP/IP communication. Only User PIN is required for arm/disarm operations.
The User PIN should be formatted as: [User Number] [PIN Code]
- ✅ Correct:
"1 123"(user 1 with PIN 123) - ✅ Correct:
"2 456"(user 2 with PIN 456) - ❌ Wrong:
"123"or"1123"
Areas must be manually specified as comma-separated numbers:
- Single area:
"1" - Multiple areas:
"1,2,3" - Valid range: 1-32
Why Manual? Area auto-detection can be unreliable. You know your system best!
- Arrowhead ECi Series - Main panel controlling all areas
- Arrowhead ECi Series Area 1 - Individual control for area 1
- Arrowhead ECi Series Area 2 - Individual control for area 2
- (Additional area panels for each configured area)
Each panel provides:
- States: Disarmed, Armed Away, Armed Home, Pending, Triggered
- Attributes: Zone status, system health, area information
- Zone [XXX] - Zone open/closed state
- Zone [XXX] Alarm - Zone alarm condition
- Zone [XXX] Trouble - Zone trouble/fault condition
- Zone [XXX] Bypassed - Zone bypass status
- ECi AC Power - Mains power status
- ECi Battery - Battery status
- ECi Ready to Arm - System ready state
- ECi Phone Line - Phone line status
- ECi Dialer - Dialer status
- ECi Fuse/Output - Fuse and output status
- ECi Panel Tamper - Tamper alarm status
- Output 1-32 - Control panel outputs (based on configuration)
- Zone [XXX] Bypass - Toggle zone bypass for each zone
# Arm all areas in away mode
service: arrowhead_alarm.arm_away
# Arm all areas in stay/home mode
service: arrowhead_alarm.arm_stay
# Disarm all areas
service: arrowhead_alarm.disarm
data:
user_code: "1 123" # Optional override# Arm specific area in away mode
service: arrowhead_alarm.arm_away_area
data:
area: 2
user_code: "1 123" # Optional
use_mode_4: true # Use MODE 4 if available
# Arm specific area in stay mode
service: arrowhead_alarm.arm_stay_area
data:
area: 1
use_mode_4: true
# Disarm specific area
service: arrowhead_alarm.disarm_area
data:
area: 2
user_code: "1 123"# Trigger keypad-based alarm
service: arrowhead_alarm.trigger_keypad_alarm
data:
alarm_type: panic # panic, fire, or medical# Arm multiple areas at once
service: arrowhead_alarm.bulk_arm_areas
data:
areas: [1, 2, 3]
mode: away # away, stay, or home
delay: 1 # seconds between commands
# Disarm multiple areas
service: arrowhead_alarm.bulk_disarm_areas
data:
areas: [1, 2]
delay: 1
# Bulk zone bypass
service: arrowhead_alarm.bulk_bypass
data:
zones: [1, 2, 3, 5]
action: bypass # or "unbypass"# Trigger output for duration
service: arrowhead_alarm.trigger_output
data:
output_number: 1
duration: 5 # seconds (0 = momentary)
# Turn output on permanently
service: arrowhead_alarm.turn_output_on
data:
output_number: 2
# Turn output off
service: arrowhead_alarm.turn_output_off
data:
output_number: 2# Bypass single zone
service: arrowhead_alarm.bypass_zone
data:
zone_number: 1
# Remove zone bypass
service: arrowhead_alarm.unbypass_zone
data:
zone_number: 1# Arm when leaving home
automation:
- alias: "Arm Alarm When Away"
trigger:
- platform: zone
entity_id: device_tracker.phone
zone: home
event: leave
action:
- service: arrowhead_alarm.arm_away
# Disarm when arriving
- alias: "Disarm When Home"
trigger:
- platform: zone
entity_id: device_tracker.phone
zone: home
event: enter
action:
- service: arrowhead_alarm.disarm# Arm ground floor at night
automation:
- alias: "Arm Ground Floor Night"
trigger:
- platform: time
at: "23:00:00"
action:
- service: arrowhead_alarm.arm_stay_area
data:
area: 1
use_mode_4: true# Light when door opens
automation:
- alias: "Front Door Light"
trigger:
- platform: state
entity_id: binary_sensor.zone_001
to: 'on'
condition:
- condition: sun
after: sunset
action:
- service: light.turn_on
entity_id: light.front_porch
# Notification for alarms
- alias: "Zone Alarm Alert"
trigger:
- platform: state
entity_id: binary_sensor.zone_001_alarm
to: 'on'
action:
- service: notify.mobile_app
data:
title: "🚨 Security Alert"
message: "Front Door alarm!"# Auto-bypass garage when door open
automation:
- alias: "Bypass Garage Door Zone"
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'on'
action:
- service: arrowhead_alarm.bypass_zone
data:
zone_number: 6
- alias: "Restore Garage Bypass"
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'off'
for: "00:05:00"
action:
- service: arrowhead_alarm.unbypass_zone
data:
zone_number: 6Problem: Cannot connect to panel
Solutions:
- ✅ Verify IP address and port (default: 9000)
- ✅ Check network connectivity
- ✅ Ensure Serial Over IP is enabled (P201E4E)
- ✅ Verify Serial Authorization enabled (P25E19-21E Option C)
Problem: Authentication failed
Solutions:
- ✅ Check User PIN format:
"1 123"(with space!) - ✅ Verify username/password (default: admin/admin)
- ✅ Ensure Serial Authorization is enabled
- ✅ Try different user account
Problem: Zones not detected
Solutions:
- ✅ Check zones are configured in panel
- ✅ Verify areas are active
- ✅ Try manual zone configuration
- ✅ Review P4075Ex responses in debug logs
Problem: Wrong zone count
Solutions:
- ✅ Override max zones in options
- ✅ Check expander configuration
- ✅ Verify zone programming
Problem: MODE 4 features not working
Solutions:
- ✅ Verify firmware is 10.3.50 or later
- ✅ Check debug logs for MODE 4 activation
- ✅ Ensure areas configured at P74E/P76E (if using ARMAREA/STAYAREA)
Problem: Slow or timeouts
Solutions:
- ✅ Increase scan interval in options
- ✅ Check network latency
- ✅ Verify panel not overloaded
- ✅ Consider firmware update
# configuration.yaml
logger:
default: warning
logs:
custom_components.arrowhead_alarm: debugCustomize during setup or in integration options:
Zone 001: "Front Door"
Zone 002: "Kitchen Window"
Zone 003: "Living Room Motion"
Zone 004: "Basement Door"
Zone 005: "Garage Motion"Each panel needs a separate integration instance:
- Add first panel normally
- Add additional via "Add Integration"
- Use different IP addresses
- Entities get panel-specific names
- ECi Pro - ✅ Fully tested and supported
- ECi Standard - ✅ Compatible
- Other ECi variants -
⚠️ Should work (feedback welcome)
Firmware Compatibility:
- ✅ ECi F/W Ver. 10.3.51 (MODE 4 fully functional)
- ✅ ECi F/W Ver. 10.3.50 (MODE 4 supported)
- ✅ Earlier firmware versions (MODE 1 fallback)
⚠️ ESX Support: ESX Elite-SX panels are supported in version 1.x. Please use v1.x if you have an ESX panel.
ESX Features (in v1.x):
- Up to 32 zones
- 16 outputs
- RF supervision support
- Dual area configuration
- Tamper detection
To install v1.x for ESX panels:
# Download v1.x release
wget https://github.com/thanoskas/arrowhead_alarm/archive/refs/tags/v1.0.0.zipContributions welcome! See CONTRIBUTING.md for guidelines.
git clone https://github.com/thanoskas/arrowhead_alarm.git
cd arrowhead_alarm
pip install -r requirements-dev.txt
pytest tests/Please include:
- Home Assistant version
- Integration version (2.1.0)
- ECi firmware version
- Debug logs (sanitized)
- Steps to reproduce
MIT License - see LICENSE file.
- Arrowhead Alarm Products - Panel documentation and support
- Home Assistant Community - Testing and feedback
- HACS - Distribution platform
- Iascom.gr - Greek Arrowhead distributor
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Community: Home Assistant Forum
- Website: Smart Home Hellas


