Rafal Zielinski e29f7c025b
Some checks failed
🧪 Integration Testing / 🔧 Test Integration (2023.12.0, 3.11) (push) Successful in 2m11s
🧪 Integration Testing / 🔧 Test Integration (2023.12.0, 3.12) (push) Successful in 2m2s
🧪 Integration Testing / 🔧 Test Integration (2024.1.0, 3.11) (push) Successful in 1m4s
🧪 Integration Testing / 🔧 Test Integration (2024.1.0, 3.12) (push) Successful in 1m19s
🛡️ Code Quality & Security Check / 🔍 Code Quality Analysis (push) Failing after 56s
Initial commit
Signed-off-by: Rafal Zielinski <sq4ind@gmail.com>
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00
2025-09-28 13:30:43 +01:00

🛡️ AdGuard Control Hub

HACS Custom Integration
Gitea Release
License MIT

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

  1. Open Home Assistant and go to HACS > Integrations
  2. Click menu (⋮) → Custom repositories
  3. Add repository URL:
    https://git.sq4ind.eu/sq4ind/adguard-control-hub
  4. Set category to Integration, click Add
  5. Search for AdGuard Control Hub
  6. Click Install, then restart Home Assistant
  7. Go to Settings > Devices & Services > Add Integration
  8. Search and select AdGuard Control Hub, enter your AdGuard Home details

🛠️ Method 2: Manual Installation

  1. Download the latest release zip from your Gitea repository
  2. Extract custom_components/adguard_hub into your Home Assistant config directory
  3. Restart Home Assistant
  4. 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!


HACS Custom Integration | Releases | Issues | License

Description
🛡️ Complete Home Assistant integration for AdGuard Home with smart client management and automation
Readme MIT 206 KiB
Languages
Python 100%