Files
adguard-control-hub/README.md
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

166 lines
4.6 KiB
Markdown

# 🛡️ AdGuard Control Hub
[![HACS Custom Integration](https://img.shields.io/badge/HACS-Custom-orange.svg)](https://github.com/custom-components/hacs)
[![Gitea Release](https://img.shields.io/gitea/v/release/your-username/adguard-control-hub?gitea_url=https://git.sq4ind.eu)](https://git.sq4ind.eu/sq4ind/adguard-control-hub/releases)
[![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
**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)
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
```yaml
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
```yaml
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
```yaml
service: adguard_hub.emergency_unblock
data:
duration: 600 # 10 minutes
clients: ["all"]
```
---
## 📱 Dashboard Examples
**Main Control Panel:**
```yaml
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:**
```yaml
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](LICENSE) file for details.
---
Made with ❤️ and professional care, so you control your AdGuard Home network integration!
---
[![HACS Custom Integration](https://img.shields.io/badge/HACS-Custom-orange.svg)](https://github.com/custom-components/hacs) | [Releases](https://git.sq4ind.eu/sq4ind/adguard-control-hub/releases) | [Issues](https://git.sq4ind.eu/sq4ind/adguard-control-hub/issues) | [License](LICENSE)