homebridge-alarmdotcom-advanced
v1.0.0
Published
Advanced Alarm.com plugin for Homebridge with full doorbell support
Maintainers
Readme
🏠 Homebridge Alarm.com Advanced
Advanced Homebridge plugin for Alarm.com with full doorbell support, video streaming, and complete home automation integration.
This plugin brings your entire Alarm.com ecosystem into Apple HomeKit, including features that other plugins don't support - like doorbell video streaming, real-time notifications, and two-way audio.
✨ Features
🚪 Doorbell Integration
- 🔔 Button press notifications - Instant alerts when someone rings the bell
- 👁️ Motion detection - Know when someone approaches your door
- 📹 Live video streaming - See who's there in real-time
- 🎙️ Two-way audio - Talk to visitors through your doorbell
- 📸 Snapshots - Instant photos in Apple Home app
📷 Camera Support
- 🎬 HD video streaming - Up to 1080p quality
- 🔍 Motion alerts - Get notified of movement
- ☁️ HomeKit Secure Video - Cloud recording (if enabled)
- 📱 Remote viewing - Access from anywhere
🔐 Security System
- 🛡️ Arm/Disarm control - Full security panel integration
- 🚨 Real-time alerts - Instant breach notifications
- 📊 Status monitoring - See current alarm state
- 🕐 Scheduling support - Automate with HomeKit scenes
🔓 Smart Locks
- 🗝️ Lock/unlock control - Remote access control
- 📍 Status monitoring - Know if doors are secured
- 🔄 Auto-lock features - Set up automated locking
- 🏠 HomeKit integration - Works with scenes and automations
🔔 Sensors
- 🚪 Door/window sensors - Open/close detection
- 🏃 Motion sensors - Movement alerts
- 💨 Smoke detectors - Fire safety integration
- 🌡️ Environmental monitoring - Temperature and humidity (if supported)
🚀 Quick Start
Prerequisites
- Homebridge 1.6.0 or later
- Node.js 18 or later
- FFmpeg for video streaming
- Alarm.com account with device access
Installation
# Install via npm
npm install -g homebridge-alarmdotcom-advanced
# Or install via Homebridge UI
# Go to Plugins → Search → "homebridge-alarmdotcom-advanced"FFmpeg Setup (Required for Video)
# Ubuntu/Debian/Raspberry Pi OS
sudo apt update && sudo apt install ffmpeg -y
# macOS (with Homebrew)
brew install ffmpeg
# Verify installation
ffmpeg -versionBasic Configuration
Add this to your Homebridge config.json:
{
"platforms": [
{
"platform": "AlarmDotComAdvanced",
"name": "Alarm.com",
"username": "[email protected]",
"password": "yourpassword"
}
]
}⚙️ Configuration
Basic Settings
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| username | string | required | Your Alarm.com email address |
| password | string | required | Your Alarm.com password |
| mfaCode | string | optional | Two-factor authentication code |
| refreshInterval | number | 15000 | Polling interval in milliseconds |
Device Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| includeDoorbells | boolean | true | Include doorbell devices |
| includeCameras | boolean | true | Include camera devices |
| includeSensors | boolean | true | Include door/window/motion sensors |
| includeLocks | boolean | true | Include smart lock devices |
| includeSecurityPanel | boolean | true | Include security system controls |
Video & Audio Settings
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| videoQuality | string | "high" | Video quality: low, medium, high |
| enableTwoWayAudio | boolean | true | Enable doorbell two-way audio |
| enableRecording | boolean | false | Enable local video recording |
Advanced Settings
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| debugMode | boolean | false | Enable detailed logging |
Complete Configuration Example
{
"platforms": [
{
"platform": "AlarmDotComAdvanced",
"name": "Alarm.com Advanced",
"username": "[email protected]",
"password": "yourpassword",
"mfaCode": "123456",
"refreshInterval": 15000,
"videoQuality": "high",
"enableTwoWayAudio": true,
"enableRecording": false,
"debugMode": false,
"includeDoorbells": true,
"includeCameras": true,
"includeSensors": true,
"includeLocks": true,
"includeSecurityPanel": true
}
]
}🔧 Setup Guide
1. Install the Plugin
npm install -g homebridge-alarmdotcom-advanced2. Install FFmpeg (for video features)
sudo apt install ffmpeg -y3. Configure Credentials
- Add your Alarm.com username and password to config
- If you have MFA enabled, provide a backup code
- Consider creating a dedicated service account
4. Restart Homebridge
sudo systemctl restart homebridge5. Add to Apple Home
- Open Apple Home app
- Tap + → Add Accessory
- Scan QR code or enter PIN
- Your devices will appear automatically!
🎯 What You'll Get in Apple Home
🚪 Doorbell Experience
- Doorbell tile with live video preview
- Instant notifications when button is pressed
- Motion alerts when someone approaches
- Two-way communication with visitors
- Rich notifications with video thumbnails
📱 HomeKit Integration
- Siri control: "Hey Siri, show me the front door"
- Automation: Set up scenes and triggers
- Secure Video: Cloud recording (with iCloud+)
- Family sharing: Everyone gets notifications
- Apple Watch: Alerts on your wrist
🏠 Complete Home Management
- Security system: Arm/disarm with voice or app
- Smart locks: Control all locks remotely
- Sensors: Monitor every door and window
- Cameras: Live view of all areas
- Scenes: "Goodnight" locks doors and arms system
🔍 Troubleshooting
Common Issues
🚫 Login Failed
# Check credentials in Alarm.com web portal
# If MFA is enabled, use backup codes instead of SMS
# Consider creating a service account without MFA📹 Video Not Working
# Verify FFmpeg installation
ffmpeg -version
# Check network connectivity
ping alarm.com
# Try lower video quality in config
"videoQuality": "low"🔍 Devices Not Appearing
# Enable debug mode
"debugMode": true
# Check Homebridge logs
sudo journalctl -u homebridge -f
# Verify devices appear in Alarm.com web portal🔧 Permission Errors
# Fix Homebridge permissions
sudo chown -R homebridge:homebridge ~/.homebridge
sudo systemctl restart homebridgeDebug Mode
Enable detailed logging by setting "debugMode": true in your config:
{
"platform": "AlarmDotComAdvanced",
"debugMode": true
}Then check logs:
# Real-time logs
sudo journalctl -u homebridge -f
# Recent logs
sudo journalctl -u homebridge --since "1 hour ago"🤝 Contributing
We welcome contributions! Here's how to help:
🐛 Bug Reports
- Use the issue tracker
- Include your config (remove passwords!)
- Attach relevant log output
- Describe expected vs actual behavior
💡 Feature Requests
- Check existing issues first
- Describe your use case
- Explain how it would benefit other users
🔧 Pull Requests
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
💬 Discussion
- Join our Discord community
- Ask questions in Discussions
- Share your setup and experiences
📋 Compatibility
✅ Supported Devices
- Doorbells: All Alarm.com video doorbells
- Cameras: Indoor/outdoor security cameras
- Sensors: Door, window, motion, smoke detectors
- Locks: Z-Wave and proprietary smart locks
- Panels: All Alarm.com security panels
✅ Supported Systems
- Homebridge: 1.6.0+
- Node.js: 18.0.0+
- iOS: 14.0+ (for full HomeKit features)
- macOS: 11.0+ (for Home app)
📱 Tested Platforms
- Raspberry Pi 4/5 (Recommended)
- Ubuntu 20.04/22.04
- macOS 12+
- Docker containers
📜 License
This project is licensed under the MIT License - see the license bundled for details.
🔒 Privacy & Security
- Local operation: All communication stays on your network
- No cloud dependencies: Works without internet (except for Alarm.com API)
- Secure authentication: Uses same methods as Alarm.com web portal
- Open source: Full transparency - inspect the code yourself
🙏 Acknowledgments
- Homebridge team - For the amazing platform
- Alarm.com - For providing the services we integrate with
- FFmpeg project - For video streaming capabilities
- Community contributors - For bug reports, feature requests, and PRs
