ed94d40e96b85085c3be5aaf4a66202d97366aff
Some checks failed
Code Quality Check / Code Formatting (push) Failing after 21s
Code Quality Check / Security Analysis (push) Failing after 20s
Integration Testing / Integration Tests (2024.12.0, 3.13) (push) Failing after 1m32s
Integration Testing / Integration Tests (2025.9.4, 3.13) (push) Failing after 20s
Signed-off-by: Rafal Zielinski <sq4ind@gmail.com>
🛡️ AdGuard Control Hub
The ultimate Home Assistant integration for AdGuard Home
Transform your AdGuard Home into a smart network management powerhouse with comprehensive Home Assistant integration featuring client management, service blocking, and real-time monitoring.
✨ Features
🎯 Smart Client Management
- Automatic Discovery: Automatically discover and manage AdGuard clients
- Individual Controls: Per-client protection and filtering controls
- Real-time Statistics: Monitor client activity and blocking statistics
- Bulk Operations: Manage multiple clients simultaneously
🛡️ Advanced Service Blocking
- Granular Control: Block specific services (YouTube, Netflix, Gaming, etc.) per client
- Emergency Access: Quick emergency unblock for critical situations
- Scheduled Blocking: Time-based service restrictions via automations
- Custom Services: Support for custom service definitions
🏠 Rich Home Assistant Integration
- 🔧 Switches: Global and per-client protection controls
- 📊 Sensors: DNS queries, blocked queries, processing time, client counts
- 🚨 Binary Sensors: Protection status, server status, safety features
- ⚙️ Services: Comprehensive automation-friendly service calls
- 🔌 Device Integration: Proper device registry with configuration URLs
🚀 Quick Start
Prerequisites
- Home Assistant 2024.12.0 or later
- AdGuard Home with API access enabled
- Network connectivity between Home Assistant and AdGuard Home
Installation via HACS (Recommended)
-
Add Custom Repository
- Open HACS → Integrations
- Click the three dots (⋮) → Custom repositories
- Repository:
https://git.sq4ind.eu/sq4ind/adguard-control-hub
- Category: Integration
- Click "Add"
-
Install Integration
- Search for "AdGuard Control Hub"
- Click "Download"
- Restart Home Assistant
-
Configure Integration
- Go to Settings → Devices & Services
- Click "Add Integration"
- Search for "AdGuard Control Hub"
- Follow the configuration wizard
⚙️ Configuration
Basic Configuration
Field | Description | Default | Required |
---|---|---|---|
Host | AdGuard Home IP or hostname | - | ✅ |
Port | AdGuard Home web interface port | 3000 | ✅ |
Username | Admin username | - | ❌ |
Password | Admin password | - | ❌ |
Use SSL | Enable HTTPS connection | False | ❌ |
Verify SSL | Verify SSL certificates | True | ❌ |
📊 Available Entities
Switches
switch.adguard_protection
- Global protection toggleswitch.adguard_{client_name}
- Per-client protection toggle
Sensors
sensor.adguard_dns_queries
- Total DNS queries countsensor.adguard_blocked_queries
- Total blocked queries countsensor.adguard_blocking_percentage
- Blocking percentagesensor.adguard_clients_count
- Number of configured clientssensor.adguard_average_processing_time
- Query processing timesensor.adguard_filtering_rules
- Number of filtering rules
Binary Sensors
binary_sensor.adguard_protection_status
- Protection statusbinary_sensor.adguard_server_running
- Server running statusbinary_sensor.adguard_safebrowsing
- SafeBrowsing statusbinary_sensor.adguard_parental_control
- Parental control statusbinary_sensor.adguard_safe_search
- Safe search status
🔧 Available Services
adguard_hub.block_services
: Block specific services for clientsadguard_hub.unblock_services
: Unblock services for clientsadguard_hub.emergency_unblock
: Temporarily disable protectionadguard_hub.add_client
: Add new client configurationadguard_hub.remove_client
: Remove client configurationadguard_hub.refresh_data
: Manually refresh data from AdGuard Home
🐛 Troubleshooting
Common Issues
Connection Failed
- Verify AdGuard Home is running and accessible
- Check firewall settings on AdGuard Home server
- Ensure correct host and port configuration
Authentication Errors
- Verify username and password are correct
- Check if AdGuard Home has authentication enabled
Missing Clients
- Wait for next refresh cycle (30 seconds by default)
- Use the "Refresh Data" service to force update
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
This project is licensed under the MIT License.
Made with ❤️ for the Home Assistant community
Languages
Python
100%