Replaces the raw sqlite3 query in get_netalertx_devices() with
DeviceInstance().getAll() as suggested in code review, applying the
archived/offline/new filters in Python. Removes the sqlite3 and
fullDbPath imports. Updates tests to mock DeviceInstance.getAll().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- config.json: add show:true to all visible column definitions so they
render in the plugin output table
- script.py: fix managed_names adoption bug — update/skip branches no
longer add unowned clients to managed state; rename tracking now
scoped to plugin-created clients only
- README.md: fix ADGUARDEXP_URL default (localhost:3000, not local IP),
add language tags to fenced code blocks, normalise metadata block to
Other info / Maintainer / DD-Mon-YYYY format
- test_adguard_export.py: add regression test for manual client matched
by ID not being adopted into managed state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a new NetAlertX plugin that syncs known devices from the NetAlertX
database to AdGuard Home as persistent clients, keeping names, MACs, IP
addresses, and device-type tags in sync.
Also fixes the adguard_import config.json description placeholder and a
minor indentation inconsistency in that file.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>