Initial commit
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
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
Signed-off-by: Rafal Zielinski <sq4ind@gmail.com>
This commit is contained in:
166
README.md
Normal file
166
README.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# 🛡️ AdGuard Control Hub
|
||||
|
||||
[](https://github.com/custom-components/hacs)
|
||||
[](https://git.sq4ind.eu/sq4ind/adguard-control-hub/releases)
|
||||
[](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!
|
||||
|
||||
---
|
||||
|
||||
[](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)
|
Reference in New Issue
Block a user