bbc7f72578e77bd343d7335b11855959cf5a556f
Some checks failed
🧪 Integration Testing / 🔧 Test Integration (2025.9.4, 3.11) (push) Failing after 48s
🧪 Integration Testing / 🔧 Test Integration (2025.9.4, 3.12) (push) Failing after 20s
🧪 Integration Testing / 🔧 Test Integration (2025.9.4, 3.13) (push) Failing after 1m17s
🛡️ Code Quality & Security Check / 🔍 Code Quality Analysis (push) Failing after 20s
Signed-off-by: Rafal Zielinski <sq4ind@gmail.com>
🛡️ AdGuard Control Hub
The ultimate Home Assistant integration for AdGuard Home
✨ Features
🎯 Smart Client Management
- Automatic discovery of AdGuard clients as Home Assistant entities
- Add, update, and remove clients directly from Home Assistant
- Bulk operations to manage multiple clients simultaneously with pattern matching
🛡️ Granular Service Blocking
- Per-client service blocking for YouTube, Netflix, Gaming, Social Media, etc.
- Time-based scheduled blocking with per-day rules
- Global and per-client toggles for protection
- Emergency unblock for temporary internet access
🏠 Home Assistant Ecosystem Integration
- Rich entity support: switches, sensors, binary sensors
- Beautiful and customizable Lovelace dashboard cards
- Automation-friendly services for advanced workflows
- Real-time DNS and blocking statistics
📦 Installation
🔧 Method 1: HACS (Recommended)
- Open Home Assistant and go to HACS > Integrations
- Click menu (⋮) → Custom repositories
- Add repository URL:
https://git.sq4ind.eu/sq4ind/adguard-control-hub
- Set category to Integration, click Add
- Search for AdGuard Control Hub
- Click Install, then restart Home Assistant
- Go to Settings > Devices & Services > Add Integration
- Search and select AdGuard Control Hub, enter your AdGuard Home details
🛠️ Method 2: Manual Installation
- Download the latest release zip from your Gitea repository
- Extract
custom_components/adguard_hub
into your Home Assistant config directory - Restart Home Assistant
- Add integration via UI as per above
⚙️ Configuration
- Host: IP or hostname of your AdGuard Home
- Port: Default 3000 unless customized
- Username & Password: Admin credentials for AdGuard Home
- SSL: Enable if AdGuard Home runs HTTPS
- Verify SSL: Disable for self-signed certificates
🎬 Use Cases & Examples
Parental Controls - Kids Bedtime Automation
automation:
- alias: "Kids Bedtime - Block Entertainment"
trigger:
platform: time
at: "20:00:00"
action:
service: adguard_hub.block_services
data:
client_name: "Kids iPad"
services:
- youtube
- netflix
- gaming
- social
Work Productivity - Focus Mode
automation:
- alias: "Work Focus Mode"
trigger:
platform: state
entity_id: input_boolean.work_focus_mode
to: 'on'
action:
service: adguard_hub.bulk_update_clients
data:
client_pattern: "Work*"
settings:
blocked_services: ["social", "entertainment", "shopping"]
Emergency Unblock
service: adguard_hub.emergency_unblock
data:
duration: 600 # 10 minutes
clients: ["all"]
📱 Dashboard Examples
Main Control Panel:
type: vertical-stack
title: 🛡️ AdGuard Control Hub
cards:
- type: glance
entities:
- switch.adguard_protection
- sensor.adguard_blocked_percentage
- sensor.adguard_queries_today
- sensor.adguard_blocked_today
- type: entities
title: Family Devices
entities:
- switch.adguard_client_kids_ipad
- switch.adguard_client_work_laptop
- switch.adguard_client_guest_network
Emergency Button:
type: button
name: "🚨 Emergency Unblock"
icon: mdi:shield-off
tap_action:
action: call-service
service: adguard_hub.emergency_unblock
service_data:
duration: 600
clients: ["all"]
🤝 Support & Contribution
- Full documentation and setup examples in the repository wiki.
- Report issues or request features via the repository's issue tracker.
- Contributions welcome—please read the contribution guidelines.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
Made with ❤️ and professional care, so you control your AdGuard Home network integration!
Languages
Python
100%