With "Verify SSL" working, the login request checks the Pi-hole certificate when that setting is on. In a live test with the setting on and Pi-hole behind a reverse proxy with an untrusted certificate, the login failed with "Connection error during Pi-hole auth. Check PIHOLEAPI_URL and PIHOLEAPI_PASSWORD", although URL and password were right. requests.exceptions.SSLError is a subclass of ConnectionError, so the certificate error fell into that branch. Changes: - pihole_api_auth() catches requests.exceptions.SSLError before ConnectionError (server/plugins/pihole_api_scan/pihole_api_scan.py) and logs: "TLS certificate check failed during Pi-hole auth: <error>. Turn off PIHOLEAPI_VERIFY_SSL if Pi-hole uses a self-signed certificate." - test/plugins/test_pihole_api_scan_verify_ssl.py: _login_failure() runs pihole_api_auth() with a failing login request. test_certificate_error_points_to_verify_ssl_setting checks the new message (fails without this change); test_plain_connection_error_still_points_to_url_and_password checks that other connection errors keep the old one. Impact: A user who turns on "Verify SSL" while Pi-hole uses a self-signed or otherwise untrusted certificate gets a log line that names the cause and the setting. Other connection errors are reported as before.
Overview - PIHOLEAPI Plugin — Pi-hole v6 Device Import
The PIHOLEAPI plugin lets NetAlertX import network devices directly from a Pi-hole v6 instance. This turns Pi-hole into an additional discovery source, helping NetAlertX stay aware of devices seen by your DNS server.
The plugin connects to your Pi-hole’s API and retrieves:
- MAC addresses
- IP addresses
- Hostnames (if available)
- Vendor info
- Last-seen timestamps
NetAlertX then uses this information to match or create devices in your system.
See the Pi-hole guide for a walkthrough covering this plugin alongside the other Pi-hole integrations (PIHOLE, PIHOLEMON, DHCPLSS).
Quick setup guide
- You are running Pi-hole v6 or newer.
- The Web UI password in Pi-hole is set.
- Local network devices appear under Settings → Network in Pi-hole.
No additional Pi-hole configuration is required.
Usage
- Head to Settings > Plugin name to adjust the default values.
| Setting Key | Description |
|---|---|
| PIHOLEAPI_URL | Your Pi-hole base URL. |
| PIHOLEAPI_PASSWORD | The Web UI base64 encoded (en-/decoding handled by the app) admin password. |
| PIHOLEAPI_VERIFY_SSL | Whether to verify HTTPS certificates. Disable only for self-signed certificates. |
| PIHOLEAPI_RUN_TIMEOUT | Request timeout in seconds. |
| PIHOLEAPI_API_MAXCLIENTS | Maximum number of devices to request from Pi-hole. Defaults are usually fine. |
| PIHOLEAPI_FAKE_MAC | Generate FAKE MAC from IP. |
⚠️ Troubleshooting
Below are the most common issues and how to resolve them.
❌ Authentication failed
Check the following:
-
The Pi-hole URL is correct and includes a trailing slash
http://192.168.1.10/✔http://192.168.1.10/admin❌
-
Your Pi-hole password is correct
-
You are using Pi-hole v6, not v5
-
SSL verification matches your setup (disable for self-signed certificates)
❌ Connection error
Usually caused by:
- Wrong URL
- Wrong HTTP/HTTPS selection
- Timeout too low
Try:
PIHOLEAPI_URL = http://<pi-hole-ip>/
PIHOLEAPI_RUN_TIMEOUT = 60
❌ No devices imported
Check:
- Pi-hole shows devices under Settings → Network
- NetAlertX logs contain:
[PIHOLEAPI] Pi-hole API returned data
If nothing appears:
- Pi-hole might be returning empty results
- Your network interface list may be empty
- A firewall or reverse proxy is blocking access
Try enabling debug logging:
LOG_LEVEL = debug
Then re-run the plugin.
❌ Some devices are missing
Check:
- Pi-hole shows devices under Settings → Network
- NetAlertX logs contain:
[PIHOLEAPI] Skipping invalid MAC (see PIHOLEAPI_FAKE_MAC setting) ...
If devices are missing:
- The app skipps devices with invalid MACs
- Enable PIHOLEAPI_FAKE_MAC if you want to import these devices with a fake mac and you are not concerned with data inconsistencies later on
Try enabling PIHOLEAPI_FAKE_MAC:
PIHOLEAPI_FAKE_MAC = 1
Then re-run the plugin.
❌ Wrong or missing hostnames
Pi-hole only reports names it knows from:
- Local DNS
- DHCP leases
- Previously seen queries
If names are missing, confirm they appear in Pi-hole’s own UI first.
Notes
-
Additional notes, limitations, Author info.
-
Version: 1.0.0
-
Author:
jokob-sk,leiweibau -
Release Date:
11-2025