Files
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

109 lines
2.8 KiB
Python

"""Constants for the AdGuard Control Hub integration."""
from homeassistant.const import Platform
DOMAIN = "adguard_control_hub"
DEFAULT_NAME = "AdGuard Control Hub"
DEFAULT_PORT = 3000
DEFAULT_SSL = False
DEFAULT_VERIFY_SSL = True
# Configuration
CONF_HOST = "host"
CONF_PORT = "port"
CONF_USERNAME = "username"
CONF_PASSWORD = "password"
CONF_SSL = "ssl"
CONF_VERIFY_SSL = "verify_ssl"
# AdGuard API endpoints
API_STATUS = "/control/status"
API_DNS_CONFIG = "/control/dns_config"
API_STATS = "/control/stats"
API_CLIENTS = "/control/clients"
API_REWRITE = "/control/rewrite"
API_FILTERING = "/control/filtering"
# Switch types
SWITCH_PROTECTION = "protection"
SWITCH_FILTERING = "filtering"
SWITCH_SAFEBROWSING = "safebrowsing"
SWITCH_PARENTAL = "parental"
SWITCH_SAFESEARCH = "safesearch"
SWITCH_QUERY_LOG = "query_log"
SWITCHES = {
SWITCH_PROTECTION: {
"name": "AdGuard Protection",
"icon": "mdi:shield-check",
"api_key": "protection_enabled",
},
SWITCH_FILTERING: {
"name": "DNS Filtering",
"icon": "mdi:filter",
"api_key": "filtering_enabled",
},
SWITCH_SAFEBROWSING: {
"name": "Safe Browsing",
"icon": "mdi:shield-bug",
"api_key": "safebrowsing_enabled",
},
SWITCH_PARENTAL: {
"name": "Parental Control",
"icon": "mdi:account-child-circle",
"api_key": "parental_enabled",
},
SWITCH_SAFESEARCH: {
"name": "Safe Search",
"icon": "mdi:shield-search",
"api_key": "safesearch_enabled",
},
SWITCH_QUERY_LOG: {
"name": "Query Log",
"icon": "mdi:file-document-multiple",
"api_key": "querylog_enabled",
},
}
# Sensor types
SENSOR_DNS_QUERIES = "dns_queries"
SENSOR_BLOCKED_QUERIES = "blocked_queries"
SENSOR_BLOCKED_PERCENTAGE = "blocked_percentage"
SENSOR_ACTIVE_FILTERS = "active_filters"
SENSOR_AVG_PROCESSING_TIME = "avg_processing_time"
SENSORS = {
SENSOR_DNS_QUERIES: {
"name": "DNS Queries",
"icon": "mdi:dns",
"unit": "queries",
"api_key": "num_dns_queries",
},
SENSOR_BLOCKED_QUERIES: {
"name": "Blocked Queries",
"icon": "mdi:shield-check",
"unit": "queries",
"api_key": "num_blocked_filtering",
},
SENSOR_BLOCKED_PERCENTAGE: {
"name": "Blocked Percentage",
"icon": "mdi:percent",
"unit": "%",
"api_key": "blocked_percentage",
},
SENSOR_ACTIVE_FILTERS: {
"name": "Active Filter Rules",
"icon": "mdi:filter-check",
"unit": "rules",
"api_key": "num_replaced_safebrowsing",
},
SENSOR_AVG_PROCESSING_TIME: {
"name": "Average Processing Time",
"icon": "mdi:clock-fast",
"unit": "ms",
"api_key": "avg_processing_time",
},
}
# Update interval
DEFAULT_SCAN_INTERVAL = 30