Files
adguard-control-hub/wiki/Features.md
Rafal Zielinski d4cdcc04c0
Some checks failed
Tests / test (3.13) (push) Failing after 23s
Tests / lint (push) Failing after 20s
Tests / hacs (push) Failing after 52s
Initial commit
Signed-off-by: Rafal Zielinski <sq4ind@gmail.com>
2025-10-02 16:00:15 +01:00

295 lines
8.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Features Overview
AdGuard Control Hub provides comprehensive control and monitoring of your AdGuard Home instance through Home Assistant.
## Switches
All switches provide instant control over AdGuard Home's protection features with real-time status updates.
### AdGuard Protection
- **Entity ID:** `switch.adguard_protection`
- **Function:** Master switch that controls all AdGuard features
- **Icon:** `mdi:shield-check`
**Behavior:**
- **ON:** All AdGuard features are active
- **OFF:** Bypasses all AdGuard features (DNS queries pass through without filtering)
- Acts as a master override for all other protection features
**Use Cases:**
- Temporarily disable all filtering for troubleshooting
- Emergency bypass for important downloads
- Scheduled maintenance windows
### DNS Filtering
- **Entity ID:** `switch.adguard_dns_filtering`
- **Function:** Enables DNS filtering using configured blocklists
- **Icon:** `mdi:filter`
**Behavior:**
- **ON:** DNS queries are filtered against blocklists
- **OFF:** DNS filtering is disabled, but other features remain active
- Only affects blocklist-based filtering
**Use Cases:**
- Disable filtering for specific time periods
- Allow access to falsely blocked domains temporarily
- Maintenance of filter lists
### Safe Browsing
- **Entity ID:** `switch.adguard_safe_browsing`
- **Function:** Blocks known phishing and malware sites
- **Icon:** `mdi:shield-bug`
**Behavior:**
- **ON:** Queries to malicious domains are blocked
- **OFF:** Safe browsing protection is disabled
- Uses AdGuard's malware and phishing database
**Use Cases:**
- Enhanced security for family networks
- Protection for less tech-savvy users
- Corporate security policies
### Parental Control
- **Entity ID:** `switch.adguard_parental_control`
- **Function:** Blocks adult content and inappropriate websites
- **Icon:** `mdi:account-child-circle`
**Behavior:**
- **ON:** Adult content domains are blocked
- **OFF:** Parental controls are disabled
- Blocks based on content category classification
**Use Cases:**
- Protect children from inappropriate content
- School or educational environments
- Time-based content filtering
### Safe Search
- **Entity ID:** `switch.adguard_safe_search`
- **Function:** Enforces safe search on major search engines
- **Icon:** `mdi:shield-search`
**Behavior:**
- **ON:** Forces safe search mode on Google, Bing, Yandex, etc.
- **OFF:** Search engines operate in normal mode
- Redirects search queries to safe search variants
**Use Cases:**
- Additional layer of content protection
- Compliance with content policies
- Educational institution requirements
### Query Log
- **Entity ID:** `switch.adguard_query_log`
- **Function:** Records DNS queries for statistics and analysis
- **Icon:** `mdi:file-document-multiple`
**Behavior:**
- **ON:** All DNS queries are logged and stored
- **OFF:** Query logging is disabled, statistics stop updating
- Required for sensor data and analytics
**Use Cases:**
- Monitor network activity
- Troubleshoot DNS issues
- Privacy mode (disable logging)
## Sensors
Sensors provide real-time statistics and monitoring data from your AdGuard Home instance.
### DNS Queries
- **Entity ID:** `sensor.adguard_dns_queries`
- **Unit:** queries
- **Function:** Total number of DNS queries processed
- **Icon:** `mdi:dns`
**Data Points:**
- Total queries since last statistics reset
- Updates every 30 seconds
- Includes all query types (A, AAAA, CNAME, etc.)
**Usage:**
- Monitor network activity levels
- Track DNS server load
- Historical trending
### Blocked Queries
- **Entity ID:** `sensor.adguard_blocked_queries`
- **Unit:** queries
- **Function:** Number of queries blocked by filtering
- **Icon:** `mdi:shield-check`
**Data Points:**
- Queries blocked by all filtering mechanisms
- Includes blocklist, parental control, and safe browsing blocks
- Updates every 30 seconds
**Usage:**
- Measure filtering effectiveness
- Identify potential threats blocked
- Compare blocking trends
### Blocked Percentage
- **Entity ID:** `sensor.adguard_blocked_percentage`
- **Unit:** %
- **Function:** Percentage of queries that were blocked
- **Icon:** `mdi:percent`
**Calculation:**
- `(Blocked Queries / Total Queries) × 100`
- Automatically calculated by integration
- Provides ratio view of filtering activity
**Usage:**
- Quick assessment of filtering impact
- Performance monitoring
- Historical comparison
### Active Filter Rules
- **Entity ID:** `sensor.adguard_active_filter_rules`
- **Unit:** rules
- **Function:** Number of active filtering rules loaded
- **Icon:** `mdi:filter-check`
**Data Points:**
- Total rules from all enabled filter lists
- Includes custom rules
- Updated when filter lists are refreshed
**Usage:**
- Monitor filter list size and complexity
- Track filter performance impact
- Troubleshoot over-blocking
### Average Processing Time
- **Entity ID:** `sensor.adguard_average_processing_time`
- **Unit:** ms
- **Function:** Average DNS query processing time
- **Icon:** `mdi:clock-fast`
**Measurement:**
- Time from query receipt to response
- Rolling average over recent queries
- Includes upstream server response time
**Usage:**
- Monitor DNS performance
- Identify performance bottlenecks
- Compare different upstream servers
## Binary Sensors
Binary sensors provide simple on/off status information.
### AdGuard Home Running
- **Entity ID:** `binary_sensor.adguard_home_running`
- **Function:** Shows if AdGuard Home is responsive
- **Icon:** `mdi:shield-check-outline`
**States:**
- **ON:** AdGuard Home is responding to API requests
- **OFF:** AdGuard Home is unreachable or not responding
- **UNAVAILABLE:** Integration cannot determine status
**Usage:**
- Monitor AdGuard Home availability
- Trigger alerts for downtime
- Automation conditions
## Device Information
The integration creates a single device representing your AdGuard Home instance:
**Device Attributes:**
- **Name:** "AdGuard Control Hub"
- **Manufacturer:** "AdGuard"
- **Model:** "AdGuard Home"
- **Software Version:** Detected from AdGuard Home API
- **Configuration URL:** Direct link to AdGuard Home web interface
**Device Identifiers:**
- Unique identifier based on host and port
- Allows multiple instances without conflicts
- Persistent across restarts
## Entity Attributes
Each entity provides additional information in its attributes:
### Switch Attributes
```yaml
friendly_name: "AdGuard Protection"
device_class: switch
icon: "mdi:shield-check"
state: "on"
```
### Sensor Attributes
```yaml
friendly_name: "DNS Queries"
device_class: null
unit_of_measurement: "queries"
state_class: "measurement"
icon: "mdi:dns"
state: 1247
```
## Feature Dependencies
Understanding feature relationships:
1. **Query Log Dependency**
- Most sensors require query log to be enabled
- Disabling query log stops statistics updates
- Binary sensor still works without query log
2. **Master Protection Switch**
- When protection is OFF, individual switches show their configured state
- But filtering is bypassed regardless of individual switch states
- Protection switch overrides all other filtering
3. **Network Connectivity**
- All features require network access to AdGuard Home
- Connection loss makes all entities unavailable
- Integration automatically reconnects when connection is restored
## Feature Limitations
**Current Limitations:**
- Client-specific controls not yet implemented
- Custom filter list management not available
- DNS rewrite rules not supported
- DHCP settings not exposed
**Planned Features:**
- Individual client management
- Custom filtering rules via HA
- DNS rewrite configuration
- Advanced statistics and reporting
## Performance Considerations
**Update Frequency:**
- Default: 30-second intervals
- Balances responsiveness vs. resource usage
- Configurable in future versions
**Resource Usage:**
- Minimal CPU impact on AdGuard Home
- Uses standard AdGuard Home API endpoints
- No additional logging or processing required
**Network Traffic:**
- Small API requests every 30 seconds
- Typical response size: < 1KB per request
- Negligible bandwidth impact
## Next Steps
- [Set up advanced automations](Advanced-Usage.md)
- [Troubleshoot issues](Troubleshooting.md)
- [Learn about the API](API-Reference.md)