Add Troubleshooting
517
Troubleshooting.md
Normal file
517
Troubleshooting.md
Normal file
@@ -0,0 +1,517 @@
|
||||
# 🔧 Troubleshooting Guide
|
||||
|
||||
Having issues with AdGuard Control Hub? This comprehensive guide covers common problems and their solutions.
|
||||
|
||||
## 🚨 Common Issues
|
||||
|
||||
### Integration Not Found
|
||||
|
||||
**Problem**: AdGuard Control Hub doesn't appear in the integrations list.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **HACS Users**:
|
||||
```bash
|
||||
# Verify repository was added correctly
|
||||
# Go to HACS > Integrations > Menu > Custom repositories
|
||||
# Check if your repository URL is listed
|
||||
```
|
||||
|
||||
2. **Manual Installation**:
|
||||
```bash
|
||||
# Check file location
|
||||
ls -la /config/custom_components/adguard_hub/
|
||||
|
||||
# Should show:
|
||||
# __init__.py, manifest.json, config_flow.py, etc.
|
||||
```
|
||||
|
||||
3. **General**:
|
||||
- Restart Home Assistant
|
||||
- Clear browser cache (Ctrl+F5)
|
||||
- Check Home Assistant logs for errors
|
||||
|
||||
### Cannot Connect to AdGuard Home
|
||||
|
||||
**Error**: "Failed to connect to AdGuard Home"
|
||||
|
||||
**Diagnostic Steps**:
|
||||
|
||||
```bash
|
||||
# Test basic connectivity
|
||||
ping 192.168.1.100 # Replace with your AdGuard IP
|
||||
|
||||
# Test HTTP access
|
||||
curl -I http://192.168.1.100:3000/
|
||||
|
||||
# Test with authentication
|
||||
curl -u admin:password http://192.168.1.100:3000/control/status
|
||||
```
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Check IP Address and Port**:
|
||||
- Verify AdGuard Home IP address
|
||||
- Confirm port (usually 3000)
|
||||
- Test from Home Assistant server directly
|
||||
|
||||
2. **Authentication Issues**:
|
||||
- Verify username/password in AdGuard Home web interface
|
||||
- Create dedicated user for Home Assistant
|
||||
- Ensure user has admin privileges
|
||||
|
||||
3. **Network Issues**:
|
||||
```bash
|
||||
# Check if AdGuard Home is running
|
||||
sudo systemctl status AdGuardHome
|
||||
|
||||
# Check listening ports
|
||||
netstat -tlnp | grep :3000
|
||||
|
||||
# Check firewall
|
||||
sudo ufw status
|
||||
```
|
||||
|
||||
4. **SSL/TLS Issues**:
|
||||
- Disable "Verify SSL" for self-signed certificates
|
||||
- Use HTTP instead of HTTPS for testing
|
||||
- Check certificate validity
|
||||
|
||||
### No Entities Created
|
||||
|
||||
**Problem**: Integration connects but creates no entities.
|
||||
|
||||
**Diagnostic**:
|
||||
|
||||
```yaml
|
||||
# Enable debug logging in configuration.yaml
|
||||
logger:
|
||||
default: warning
|
||||
logs:
|
||||
custom_components.adguard_hub: debug
|
||||
```
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Check AdGuard Home Configuration**:
|
||||
- Ensure AdGuard Home has clients configured
|
||||
- Verify API endpoints are accessible
|
||||
- Check AdGuard Home logs for errors
|
||||
|
||||
2. **Integration Issues**:
|
||||
- Reload integration: Settings > Devices & Services > AdGuard Control Hub > Reload
|
||||
- Remove and re-add integration
|
||||
- Check entity registry for disabled entities
|
||||
|
||||
3. **Permissions**:
|
||||
```bash
|
||||
# Check file permissions
|
||||
sudo chown -R homeassistant:homeassistant /config/custom_components/
|
||||
sudo chmod -R 755 /config/custom_components/
|
||||
```
|
||||
|
||||
### Services Not Working
|
||||
|
||||
**Problem**: Service calls fail or don't have expected effect.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Check Service Calls**:
|
||||
```yaml
|
||||
# Test in Developer Tools > Services
|
||||
service: adguard_hub.emergency_unblock
|
||||
data:
|
||||
duration: 60
|
||||
clients: ["all"]
|
||||
```
|
||||
|
||||
2. **Verify Client Names**:
|
||||
- Use exact client names as they appear in AdGuard Home
|
||||
- Check entity names in Home Assistant
|
||||
- Use Developer Tools > States to verify entity IDs
|
||||
|
||||
3. **API Limitations**:
|
||||
- Some AdGuard Home versions have API limitations
|
||||
- Check AdGuard Home version compatibility
|
||||
- Review AdGuard Home documentation
|
||||
|
||||
## 📊 Performance Issues
|
||||
|
||||
### Slow Response Times
|
||||
|
||||
**Symptoms**: Long delays when toggling switches or calling services.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Adjust Scan Interval**:
|
||||
```yaml
|
||||
# In configuration.yaml
|
||||
adguard_hub:
|
||||
scan_interval: 60 # Increase from default 30
|
||||
```
|
||||
|
||||
2. **Reduce Entity Count**:
|
||||
```yaml
|
||||
# Disable unnecessary features
|
||||
adguard_hub:
|
||||
blocked_services_as_switches: false
|
||||
enable_statistics: false
|
||||
```
|
||||
|
||||
3. **Network Optimization**:
|
||||
- Use wired connection instead of Wi-Fi
|
||||
- Check network latency to AdGuard Home
|
||||
- Consider AdGuard Home hardware resources
|
||||
|
||||
### High CPU Usage
|
||||
|
||||
**Problem**: Home Assistant shows high CPU usage from the integration.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Optimize Configuration**:
|
||||
```yaml
|
||||
adguard_hub:
|
||||
scan_interval: 120 # Reduce update frequency
|
||||
auto_create_clients: false # Manual client management
|
||||
```
|
||||
|
||||
2. **Check Logs**:
|
||||
```bash
|
||||
# Look for excessive API calls or errors
|
||||
grep "adguard_hub" /config/home-assistant.log
|
||||
```
|
||||
|
||||
3. **System Resources**:
|
||||
- Monitor AdGuard Home resource usage
|
||||
- Check Home Assistant system resources
|
||||
- Consider hardware upgrades
|
||||
|
||||
## 🔐 Authentication & Security Issues
|
||||
|
||||
### Authentication Failures
|
||||
|
||||
**Error**: "Invalid username or password"
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Verify Credentials**:
|
||||
- Test login in AdGuard Home web interface
|
||||
- Check for special characters in password
|
||||
- Ensure caps lock and keyboard layout
|
||||
|
||||
2. **Create Dedicated User**:
|
||||
```
|
||||
AdGuard Home Web Interface:
|
||||
Settings > General Settings > Authentication
|
||||
Add user: "homeassistant" with admin privileges
|
||||
```
|
||||
|
||||
3. **Check Account Status**:
|
||||
- Ensure account isn't locked or disabled
|
||||
- Verify admin privileges
|
||||
- Check AdGuard Home user management
|
||||
|
||||
### SSL Certificate Issues
|
||||
|
||||
**Error**: "SSL certificate verification failed"
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **For Self-Signed Certificates**:
|
||||
- Disable "Verify SSL" in integration settings
|
||||
- Or add certificate to trusted store
|
||||
|
||||
2. **For Invalid Certificates**:
|
||||
```bash
|
||||
# Check certificate validity
|
||||
openssl s_client -connect 192.168.1.100:443 -servername your-domain
|
||||
```
|
||||
|
||||
3. **Use HTTP for Testing**:
|
||||
- Temporarily switch to HTTP
|
||||
- Test basic functionality
|
||||
- Re-enable HTTPS after fixing certificates
|
||||
|
||||
## 📡 Network & Connectivity Issues
|
||||
|
||||
### DNS Resolution Problems
|
||||
|
||||
**Problem**: Home Assistant can't resolve AdGuard Home hostname.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Use IP Address**:
|
||||
- Replace hostname with IP address
|
||||
- Test connectivity with IP first
|
||||
|
||||
2. **Check DNS Configuration**:
|
||||
```bash
|
||||
# Test DNS resolution
|
||||
nslookup adguard.local
|
||||
dig adguard.local
|
||||
```
|
||||
|
||||
3. **Update /etc/hosts**:
|
||||
```bash
|
||||
# Add to /etc/hosts if needed
|
||||
echo "192.168.1.100 adguard.local" >> /etc/hosts
|
||||
```
|
||||
|
||||
### Port Conflicts
|
||||
|
||||
**Problem**: Port 3000 is not accessible or in use by another service.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Check Port Usage**:
|
||||
```bash
|
||||
# See what's using port 3000
|
||||
sudo lsof -i :3000
|
||||
netstat -tlnp | grep :3000
|
||||
```
|
||||
|
||||
2. **Change AdGuard Home Port**:
|
||||
```yaml
|
||||
# In AdGuard Home configuration
|
||||
http:
|
||||
address: 0.0.0.0:3001 # Change port
|
||||
```
|
||||
|
||||
3. **Update Integration Configuration**:
|
||||
- Remove and re-add integration
|
||||
- Use new port number
|
||||
|
||||
### Firewall Issues
|
||||
|
||||
**Problem**: Connection blocked by firewall.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Check Firewall Status**:
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo ufw status
|
||||
|
||||
# CentOS/RHEL
|
||||
sudo firewall-cmd --list-all
|
||||
```
|
||||
|
||||
2. **Allow AdGuard Home Port**:
|
||||
```bash
|
||||
# UFW
|
||||
sudo ufw allow from 192.168.1.10 to any port 3000
|
||||
|
||||
# firewalld
|
||||
sudo firewall-cmd --add-port=3000/tcp --permanent
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
3. **Test Without Firewall** (temporarily):
|
||||
```bash
|
||||
# Disable firewall for testing (CAUTION)
|
||||
sudo ufw disable
|
||||
# Test connection, then re-enable
|
||||
sudo ufw enable
|
||||
```
|
||||
|
||||
## 🔄 Update & Upgrade Issues
|
||||
|
||||
### Update Failures
|
||||
|
||||
**Problem**: Integration fails to update via HACS.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Manual Update**:
|
||||
```bash
|
||||
# Remove old version
|
||||
rm -rf /config/custom_components/adguard_hub
|
||||
|
||||
# Download and install new version
|
||||
# (Follow manual installation steps)
|
||||
```
|
||||
|
||||
2. **HACS Cache Issues**:
|
||||
- Restart Home Assistant
|
||||
- Clear HACS cache
|
||||
- Re-add custom repository if needed
|
||||
|
||||
3. **Version Conflicts**:
|
||||
- Check Home Assistant version compatibility
|
||||
- Review integration changelog
|
||||
- Consider rolling back if needed
|
||||
|
||||
### Configuration Migration
|
||||
|
||||
**Problem**: Settings lost after update.
|
||||
|
||||
**Solutions**:
|
||||
|
||||
1. **Backup Before Updates**:
|
||||
```bash
|
||||
# Backup configuration
|
||||
cp -r /config/custom_components/adguard_hub /config/backup/
|
||||
```
|
||||
|
||||
2. **Reconfigure Integration**:
|
||||
- Remove integration
|
||||
- Re-add with previous settings
|
||||
- Verify entity names haven't changed
|
||||
|
||||
## 🐛 Debugging Steps
|
||||
|
||||
### Enable Debug Logging
|
||||
|
||||
```yaml
|
||||
# configuration.yaml
|
||||
logger:
|
||||
default: warning
|
||||
logs:
|
||||
custom_components.adguard_hub: debug
|
||||
custom_components.adguard_hub.api: debug
|
||||
custom_components.adguard_hub.config_flow: debug
|
||||
```
|
||||
|
||||
### Collect Diagnostic Information
|
||||
|
||||
When reporting issues, collect:
|
||||
|
||||
1. **Home Assistant Version**:
|
||||
```bash
|
||||
# In Home Assistant
|
||||
Settings > System > Repairs > Three dots > System Information
|
||||
```
|
||||
|
||||
2. **Integration Version**:
|
||||
```bash
|
||||
# Check manifest.json
|
||||
cat /config/custom_components/adguard_hub/manifest.json | grep version
|
||||
```
|
||||
|
||||
3. **AdGuard Home Version**:
|
||||
```bash
|
||||
# Check in AdGuard Home web interface or API
|
||||
curl -u admin:password http://192.168.1.100:3000/control/status | grep version
|
||||
```
|
||||
|
||||
4. **Error Logs**:
|
||||
```bash
|
||||
# Extract relevant logs
|
||||
grep -i "adguard" /config/home-assistant.log
|
||||
```
|
||||
|
||||
### Test API Manually
|
||||
|
||||
```bash
|
||||
# Test basic connectivity
|
||||
curl -u admin:password http://192.168.1.100:3000/control/status
|
||||
|
||||
# Test client list
|
||||
curl -u admin:password http://192.168.1.100:3000/control/clients
|
||||
|
||||
# Test statistics
|
||||
curl -u admin:password http://192.168.1.100:3000/control/stats
|
||||
```
|
||||
|
||||
## 📞 Getting Help
|
||||
|
||||
### Before Seeking Support
|
||||
|
||||
1. ✅ Check this troubleshooting guide
|
||||
2. ✅ Enable debug logging
|
||||
3. ✅ Collect diagnostic information
|
||||
4. ✅ Test with minimal configuration
|
||||
5. ✅ Review recent changes
|
||||
|
||||
### Where to Get Help
|
||||
|
||||
1. **GitHub Issues**: [Repository Issues](https://your-gitea-domain.com/your-username/adguard-control-hub/issues)
|
||||
- Search existing issues first
|
||||
- Provide detailed information
|
||||
- Include logs and configuration
|
||||
|
||||
2. **Home Assistant Community**: [Community Forum](https://community.home-assistant.io/)
|
||||
- General Home Assistant questions
|
||||
- Integration discussions
|
||||
|
||||
3. **AdGuard Home Support**: [AdGuard Home GitHub](https://github.com/AdguardTeam/AdGuardHome)
|
||||
- AdGuard Home specific issues
|
||||
- API-related questions
|
||||
|
||||
### Issue Report Template
|
||||
|
||||
```markdown
|
||||
**Environment**:
|
||||
- Home Assistant Version:
|
||||
- Integration Version:
|
||||
- AdGuard Home Version:
|
||||
- Installation Method: HACS/Manual
|
||||
|
||||
**Problem Description**:
|
||||
Brief description of the issue
|
||||
|
||||
**Steps to Reproduce**:
|
||||
1. Step one
|
||||
2. Step two
|
||||
3. Step three
|
||||
|
||||
**Expected Behavior**:
|
||||
What you expected to happen
|
||||
|
||||
**Actual Behavior**:
|
||||
What actually happened
|
||||
|
||||
**Logs**:
|
||||
```
|
||||
[Paste relevant logs here]
|
||||
```
|
||||
|
||||
**Configuration**:
|
||||
```yaml
|
||||
# Paste relevant configuration (sanitize passwords)
|
||||
```
|
||||
```
|
||||
|
||||
## 🔧 Quick Fixes
|
||||
|
||||
### Reset Integration
|
||||
|
||||
```bash
|
||||
# Complete reset
|
||||
1. Remove integration from UI
|
||||
2. Restart Home Assistant
|
||||
3. rm -rf /config/custom_components/adguard_hub
|
||||
4. Reinstall integration
|
||||
5. Restart Home Assistant
|
||||
6. Re-add integration
|
||||
```
|
||||
|
||||
### Emergency Recovery
|
||||
|
||||
```yaml
|
||||
# If automations are causing issues
|
||||
# Disable automations temporarily
|
||||
automation: []
|
||||
|
||||
# Or disable specific automation
|
||||
automation old_automation_id:
|
||||
mode: single
|
||||
trigger: []
|
||||
action: []
|
||||
```
|
||||
|
||||
### Test Configuration
|
||||
|
||||
```yaml
|
||||
# Minimal test configuration
|
||||
adguard_hub:
|
||||
scan_interval: 60
|
||||
auto_create_clients: false
|
||||
enable_statistics: false
|
||||
blocked_services_as_switches: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Still having issues?** Open an issue on the repository with detailed information, logs, and your configuration (remember to sanitize sensitive data).
|
Reference in New Issue
Block a user