{ "code_name": "dhcp_leases", "unique_prefix": "DHCPLSS", "plugin_type": "device_scanner", "execution_order" : "Layer_3", "enabled": true, "data_source": "script", "data_filters": [ { "compare_column": "Object_PrimaryID", "compare_operator": "==", "compare_field_id": "txtMacFilter", "compare_js_template": "'{value}'.toString()", "compare_use_quotes": true } ], "show_ui": true, "localized": ["display_name", "description", "icon"], "mapped_to_table": "CurrentScan", "display_name": [ { "language_code": "en_us", "string": "DHCP Leases (Device import)" }, { "language_code": "es_es", "string": "DHCP Leases (Importación de dispositivos)" }, { "language_code": "de_de", "string": "DHCP Leases (Geräteimport)" } ], "icon": [ { "language_code": "en_us", "string": "" }, { "language_code": "de_de", "string": "" } ], "description": [ { "language_code": "en_us", "string": "This plugin is to import devices from dhcp.leases files." }, { "language_code": "es_es", "string": "Este plugin es para importar dispositivos desde archivos dhcp.leases." }, { "language_code": "de_de", "string": "Ein Plugin zum Importieren von Geräten aus dhcp.leases-Dateien." } ], "params": [ { "name": "paths", "type": "setting", "value": "DHCPLSS_paths_to_check" } ], "database_column_definitions": [ { "column": "Index", "css_classes": "col-sm-2", "show": true, "type": "none", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Index" } ] }, { "column": "Plugin", "css_classes": "col-sm-2", "show": false, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "N/A" }, { "language_code": "es_es", "string": "N/A" }, { "language_code": "de_de", "string": "N/A" } ] }, { "column": "Object_PrimaryID", "mapped_to_column": "cur_MAC", "css_classes": "col-sm-2", "show": true, "type": "device_mac", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "MAC address" }, { "language_code": "es_es", "string": "Dirección MAC" }, { "language_code": "de_de", "string": "MAC-Adresse" } ] }, { "column": "Object_SecondaryID", "mapped_to_column": "cur_IP", "css_classes": "col-sm-2", "show": true, "type": "device_ip", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "IP" }, { "language_code": "es_es", "string": "IP" }, { "language_code": "de_de", "string": "IP" } ] }, { "column": "DateTimeCreated", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Created" }, { "language_code": "es_es", "string": "Creado" }, { "language_code": "de_de", "string": "Erstellt" } ] }, { "column": "DateTimeChanged", "mapped_to_column": "cur_DateTime", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Changed" }, { "language_code": "es_es", "string": "Cambiado" }, { "language_code": "de_de", "string": "Geändert" } ] }, { "column": "Watched_Value1", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Is active" }, { "language_code": "es_es", "string": "Está activo" }, { "language_code": "de_de", "string": "Ist aktiv" } ] }, { "column": "Watched_Value2", "mapped_to_column": "cur_Name", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Hostname" }, { "language_code": "es_es", "string": "Nombre de host" }, { "language_code": "de_de", "string": "Hostname" } ] }, { "column": "Watched_Value3", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Hardware" }, { "language_code": "es_es", "string": "Hardware" }, { "language_code": "de_de", "string": "Hardware" } ] }, { "column": "Watched_Value4", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "State" }, { "language_code": "es_es", "string": "Estado" }, { "language_code": "de_de", "string": "Zustand" } ] }, { "column": "UserData", "css_classes": "col-sm-2", "show": false, "type": "textbox_save", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Comments" }, { "language_code": "es_es", "string": "Comentarios" }, { "language_code": "de_de", "string": "Kommentare" } ] }, { "column": "Extra", "css_classes": "col-sm-3", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "DHCP leases file" }, { "language_code": "es_es", "string": "Archivo DHCP leases" }, { "language_code": "de_de", "string": "DHCP Leases Datei" } ] }, { "column": "ScanMethod", "mapped_to_column": "cur_ScanMethod", "mapped_to_column_data": { "value": "DHCPLSS" }, "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Scan method" }, { "language_code": "es_es", "string": "Método de escaneo" }, { "language_code": "de_de", "string": "Scanmethode" } ] }, { "column": "Status", "css_classes": "col-sm-1", "show": true, "type": "replace", "default_value": "", "options": [ { "equals": "watched-not-changed", "replacement": "
" }, { "equals": "watched-changed", "replacement": "
" }, { "equals": "new", "replacement": "
" }, { "equals": "missing-in-last-scan", "replacement": "
" } ], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Status" }, { "language_code": "es_es", "string": "Estado" }, { "language_code": "de_de", "string": "Status" } ] } ], "settings": [ { "function": "RUN", "events": ["run"], "type": { "dataType": "string", "elements": [ { "elementType": "select", "elementOptions": [], "transformers": [] } ] }, "default_value": "disabled", "options": [ "disabled", "once", "schedule", "always_after_scan", "on_new_device" ], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "When to run" }, { "language_code": "es_es", "string": "Cuándo ejecutar" }, { "language_code": "de_de", "string": "Wann ausführen" } ], "description": [ { "language_code": "en_us", "string": "Enable import of devices from dhcp.leases files. If you select schedule the scheduling settings from below are applied. If you select once the scan is run only once on start of the application (container) or after you update your settings. ⚠ Use the same schedule if you have multiple Device scanners enabled." }, { "language_code": "es_es", "string": "Habilite la importación de dispositivos desde archivos dhcp.leases. Si selecciona schedule, se aplican las configuraciones de programación de abajo. Si selecciona once, el análisis se ejecuta solo una vez al inicio de la aplicación (contenedor) o después de actualizar su configuración." }, { "language_code": "de_de", "string": "Aktiviere den Import aus dhcp.leases-Dateien. Wenn schedule ausgewählt ist, werden die unten gesetzten Zeitplan-Einstellungen verwendet. Ist once ausgewählt, so wird bei jedem Start der Applikation (Container) und nach jedem Speichern der Einstellungen der Imnport durchgeführt." } ] }, { "function": "CMD", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementOptions": [], "transformers": [] } ] }, "default_value": "python3 /app/front/plugins/dhcp_leases/script.py paths={paths}", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Command" }, { "language_code": "es_es", "string": "Comando" }, { "language_code": "de_de", "string": "Befehl" } ], "description": [ { "language_code": "en_us", "string": "Command to run" }, { "language_code": "es_es", "string": "Comando a ejecutar" }, { "language_code": "de_de", "string": "Auszuführender Befehl" } ] }, { "function": "paths_to_check", "type": { "dataType": "array", "elements": [ { "elementType": "input", "elementOptions": [ { "placeholder": "Enter value" }, { "suffix": "_in" }, { "cssClasses": "col-sm-10" }, { "prefillValue": "null" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": ["_in"] }, { "separator": "" }, { "cssClasses": "col-xs-12" }, { "onClick": "addList(this, false)" }, { "getStringKey": "Gen_Add" } ], "transformers": [] }, { "elementType": "select", "elementHasInputValue": 1, "elementOptions": [ { "multiple": "true" }, { "readonly": "true" }, { "editable": "true" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": [] }, { "separator": "" }, { "cssClasses": "col-xs-6" }, { "onClick": "removeAllOptions(this)" }, { "getStringKey": "Gen_Remove_All" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": [] }, { "separator": "" }, { "cssClasses": "col-xs-6" }, { "onClick": "removeFromList(this)" }, { "getStringKey": "Gen_Remove_Last" } ], "transformers": [] } ] }, "default_value": ["/mnt/dhcp1.leases", "/mnt/dhcp2.leases"], "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Files" }, { "language_code": "es_es", "string": "Archivos" }, { "language_code": "de_de", "string": "Dateien" } ], "description": [ { "language_code": "en_us", "string": "Add all dhcp.leases mapped paths to watch. Enter full path within the container, e.g. /mnt/dhcp2.leases. You must map these files accordingly in your docker-compose.yml file. Supports pihole, dnsmasq, and generic formats.

For dnsmasq or pihole the path in the container must contain pihole or dnsmasq; e.g.: :/etc/pihole/dhcp.leases). See the above docs for details." } ] }, { "function": "RUN_SCHD", "type": { "dataType": "string", "elements": [ { "elementType": "span", "elementOptions": [ { "cssClasses": "input-group-addon validityCheck" }, { "getStringKey": "Gen_ValidIcon" } ], "transformers": [] }, { "elementType": "input", "elementOptions": [ { "focusout": "validateRegex(this)" }, { "base64Regex": "Xig/OlwqfCg/OlswLTldfFsxLTVdWzAtOV18WzAtOV0rLVswLTldK3xcKi9bMC05XSspKVxzKyg/OlwqfCg/OlswLTldfDFbMC05XXwyWzAtM118WzAtOV0rLVswLTldK3xcKi9bMC05XSspKVxzKyg/OlwqfCg/OlsxLTldfFsxMl1bMC05XXwzWzAxXXxbMC05XSstWzAtOV0rfFwqL1swLTldKykpXHMrKD86XCp8KD86WzEtOV18MVswLTJdfFswLTldKy1bMC05XSt8XCovWzAtOV0rKSlccysoPzpcKnwoPzpbMC02XXxbMC02XS1bMC02XXxcKi9bMC05XSspKSQ=" } ], "transformers": [] } ] }, "default_value": "0 2 * * *", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Schedule" }, { "language_code": "es_es", "string": "Schedule" }, { "language_code": "de_de", "string": "Zeitplan" } ], "description": [ { "language_code": "en_us", "string": "Only enabled if you select schedule in the DHCPLSS_RUN setting. Make sure you enter the schedule in the correct cron-like format (e.g. validate at crontab.guru). For example entering 0 4 * * * will run the scan after 4 am in the TIMEZONE you set above. Will be run NEXT time the time passes.
It's recommended to use the same schedule interval for all plugins responsible for discovering new devices." }, { "language_code": "es_es", "string": "Solo está habilitado si selecciona schedule en la configuración DHCPLSS_RUN. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en crontab.guru). Por ejemplo, ingresar 0 4 * * * ejecutará el escaneo después de las 4 a.m. en el TIMEZONE que configuró arriba. Se ejecutará la PRÓXIMA vez que pase el tiempo." }, { "language_code": "de_de", "string": "Nur aktiv, wenn schedule in der INTRNT_RUNEinstellung ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf crontab.guru testen). 0 4 * * * würde den Scan täglich um 4 Uhr in der oben ausgewählten TIMEZONE starten. Wird erst beim NÄCHSTEN Intervall ausgeführt.
Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen." } ] }, { "function": "RUN_TIMEOUT", "type": { "dataType": "integer", "elements": [ { "elementType": "input", "elementOptions": [{ "type": "number" }], "transformers": [] } ] }, "default_value": 5, "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Run timeout" }, { "language_code": "es_es", "string": "Tiempo de espera de ejecución" }, { "language_code": "de_de", "string": "Zeitlimit" } ], "description": [ { "language_code": "en_us", "string": "Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted." }, { "language_code": "es_es", "string": "Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela." }, { "language_code": "de_de", "string": "Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen." } ] }, { "function": "WATCH", "type": { "dataType": "array", "elements": [ { "elementType": "select", "elementOptions": [{ "multiple": "true" }], "transformers": [] } ] }, "default_value": ["Watched_Value1", "Watched_Value4"], "options": [ "Watched_Value1", "Watched_Value2", "Watched_Value3", "Watched_Value4" ], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Watched" }, { "language_code": "es_es", "string": "Visto" }, { "language_code": "de_de", "string": "Überwacht" } ], "description": [ { "language_code": "en_us", "string": "Send a notification if selected values change. Use CTRL + Click to select/deselect. " }, { "language_code": "es_es", "string": "Enviar una notificación si los valores seleccionados cambian. Utilice CTRL + clic para seleccionar/deseleccionar. " }, { "language_code": "de_de", "string": "Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. STRG + klicken zum aus-/abwählen. " } ] }, { "function": "REPORT_ON", "type": { "dataType": "array", "elements": [ { "elementType": "select", "elementOptions": [{ "multiple": "true" }], "transformers": [] } ] }, "default_value": ["new", "watched-changed"], "options": [ "new", "watched-changed", "watched-not-changed", "missing-in-last-scan" ], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Report on" }, { "language_code": "es_es", "string": "Informar sobre" }, { "language_code": "de_de", "string": "Benachrichtige wenn" } ], "description": [ { "language_code": "en_us", "string": "Send a notification only on these statuses. new means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. watched-changed means that selected Watched_ValueN columns changed." }, { "language_code": "es_es", "string": "Envíe una notificación solo en estos estados. new significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). watched-changed significa que las columnas Watched_ValueN seleccionadas cambiaron." }, { "language_code": "de_de", "string": "Benachrichtige nur bei diesen Status. new bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. watched-changed bedeutet eine ausgewählte Watched_ValueN-Spalte hat sich geändert." } ] } ] }