π Plugins
NetAlertX supports additional plugins to extend its functionality, each with its own settings and options. Plugins can be loaded via the General -> LOADED_PLUGINS setting. For custom plugin development, refer to the Plugin development guide.
Note
Please check this Plugins debugging guide and the corresponding Plugin documentation in the below table if you are facing issues.
β‘ Quick start
Tip
You can load additional Plugins via the General -> LOADED_PLUGINS setting. You need to save the settings for the new plugins to load (cache/page reload may be necessary).

- Pick your
π dev scannerplugin (e.g.ARPSCANorNMAPDEV), or import devices into the application with anπ₯ importerplugin. (See Enabling plugins below) - Pick a
βΆοΈ publisherplugin, if you want to send notifications. If you don't see a publisher you'd like to use, look at the π_publisher_apprise plugin which is a proxy for over 80 notification services. - Setup your Network topology diagram
- Fine-tune Notifications
- Setup Workflows
- Backup your setup
- Contribute and Create custom plugins
Plugin types
| Plugin type | Icon | Description | When to run | Required | Data source ? |
|---|---|---|---|---|---|
| publisher | βΆοΈ | Sending notifications to services. | on_notification |
β | Script |
| dev scanner | π | Create devices in the app, manages online/offline device status. | schedule |
β | Script / SQLite DB |
| name discovery | π | Discovers names of devices via various protocols. | before_name_updates, schedule |
β | Script |
| importer | π₯ | Importing devices from another service. | schedule |
β | Script / SQLite DB |
| system | β | Providing core system functionality. | schedule / always on |
β/β | Script / Template |
| other | β» | Other plugins | misc | β | Script / Template |
Features
| Icon | Description |
|---|---|
| π§ | Auto-imports the network topology diagram |
| π | Has the option to sync some data back into the plugin source |
Available Plugins
Device-detecting plugins insert values into the CurrentScan database table. The plugins that are not required are safe to ignore, however, it makes sense to have at least some device-detecting plugins enabled, such as ARPSCAN or NMAPDEV.
| ID | Plugin docs | Type | Description | Features | Required |
|---|---|---|---|---|---|
APPRISE |
_publisher_apprise | βΆοΈ | Apprise notification proxy | ||
ARPSCAN |
arp_scan | π | ARP-scan on current network | ||
AVAHISCAN |
avahi_scan | π | Avahi (mDNS-based) name resolution | ||
ASUSWRT |
asuswrt_import | π | Import connected devices from AsusWRT | ||
CSVBCKP |
csv_backup | β | CSV devices backup | ||
CUSTPROP |
custom_props | β | Managing custom device properties values | Yes | |
DBCLNP |
db_cleanup | β | Database cleanup | Yes* | |
DDNS |
ddns_update | β | DDNS update | ||
DHCPLSS |
dhcp_leases | π/π₯/π | Import devices from DHCP leases | ||
DHCPSRVS |
dhcp_servers | β» | DHCP servers | ||
DIGSCAN |
dig_scan | π | Dig (DNS) Name resolution | ||
FREEBOX |
freebox | π/β»/π | Pull data and names from Freebox/Iliadbox | ||
ICMP |
icmp_scan | β» | ICMP (ping) status checker | ||
INTRNT |
internet_ip | π | Internet IP scanner | ||
INTRSPD |
internet_speedtest | β» | Internet speed test | ||
IPNEIGH |
ipneigh | π | Scan ARP (IPv4) and NDP (IPv6) tables | ||
LUCIRPC |
luci_import | π | Import connected devices from OpenWRT | ||
MAINT |
maintenance | β | Maintenance of logs, etc. | ||
MQTT |
_publisher_mqtt | βΆοΈ | MQTT for synching to Home Assistant | ||
NBTSCAN |
nbtscan_scan | π | Nbtscan (NetBIOS-based) name resolution | ||
NEWDEV |
newdev_template | β | New device template | Yes | |
NMAP |
nmap_scan | β» | Nmap port scanning & discovery | ||
NMAPDEV |
nmap_dev_scan | π | Nmap dev scan on current network | ||
NSLOOKUP |
nslookup_scan | π | NSLookup (DNS-based) name resolution | ||
NTFPRCS |
notification_processing | β | Notification processing | Yes | |
NTFY |
_publisher_ntfy | βΆοΈ | NTFY notifications | ||
OMDSDN |
omada_sdn_imp | π₯/π β | UNMAINTAINED use OMDSDNOPENAPI |
π§ π | |
OMDSDNOPENAPI |
omada_sdn_openapi | π₯/π | OMADA TP-Link import via OpenAPI | π§ | |
PIHOLE |
pihole_scan | π/π/π₯ | Pi-hole device import & sync | ||
PUSHSAFER |
_publisher_pushsafer | βΆοΈ | Pushsafer notifications | ||
PUSHOVER |
_publisher_pushover | βΆοΈ | Pushover notifications | ||
SETPWD |
set_password | β | Set password | Yes | |
SMTP |
_publisher_email | βΆοΈ | Email notifications | ||
SNMPDSC |
snmp_discovery | π/π₯ | SNMP device import & sync | ||
SYNC |
sync | π/β/π₯ | Sync & import from NetAlertX instances | π§ π | Yes |
TELEGRAM |
_publisher_telegram | βΆοΈ | Telegram notifications | ||
UI |
ui_settings | β» | UI specific settings | Yes | |
UNFIMP |
unifi_import | π/π₯/π | UniFi device import & sync | π§ | |
UNIFIAPI |
unifi_api_import | π/π₯/π | UniFi device import (SM API, multi-site) | ||
VNDRPDT |
vendor_update | β | Vendor database update | ||
WEBHOOK |
_publisher_webhook | βΆοΈ | Webhook notifications | ||
WEBMON |
website_monitor | β» | Website down monitoring | ||
WOL |
wake_on_lan | β» | Automatic wake-on-lan |
* The database cleanup plugin (
DBCLNP) is not required but the app will become unusable after a while if not executed. β marked for removal/unmaintained - looking for help βIt's recommended to use the same schedule interval for all plugins responsible for discovering new devices.
Enabling plugins
Plugins can be enabled via Settings, and can be disabled as needed.
- Research which plugin you'd like to use, enable
DISCOVER_PLUGINSand load the required plugins in Settings via theLOADED_PLUGINSsetting. - Save the changes and review the Settings of the newly loaded plugins.
- Change the
<prefix>_RUNSetting to the recommended or custom value as per the documentation of the given setting- If using
scheduleon aπ dev scannerplugin, make sure the schedules are the same across allπ dev scannerplugins
- If using
Disabling, Unloading and Ignoring plugins
- Change the
<prefix>_RUNSetting todisabledif you want to disable the plugin, but keep the settings - If you want to speed up the application, you can unload the plugin by unselecting it in the
LOADED_PLUGINSsetting.- Careful, once you save the Settings Unloaded plugin settings will be lost (old
app.conffiles are kept in the/configfolder)
- Careful, once you save the Settings Unloaded plugin settings will be lost (old
- You can completely ignore plugins by placing a
ignore_pluginfile into the plugin directory. Ignored plugins won't show up in theLOADED_PLUGINSsetting.
π Developing new custom plugins
If you want to develop a custom plugin, please read this Plugin development guide.