Merge pull request #470 from lorki97/feat/german-translation

Add missing German translations - thanks to @lorki97 🙏
This commit is contained in:
jokob-sk
2023-10-13 20:48:54 +11:00
committed by GitHub
16 changed files with 3207 additions and 1764 deletions

1093
front/php/templates/language/de_de.json Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
## Übersicht
ARP-Scan ist ein Kommandozeilen-Werkzeug, welches das ARP-Protokoll nutzt, um IP-Hosts im lokalen Netzwerk zu erkennen und identifizieren. Eine Alternative zum ARP-Scan ist die Aktivierung der PiHole-Integration (`PIHOLE_RUN`) in den Einstellungen. Die Dauer des ARP-Scan (und andere Netzwerkscan-Plugins, welche die `SCAN_SUBNETS`-Einstellung nutzen) ist abhängig von der Anzahl der zu prüfenden IP-Adressen. Daher ist es wichtig, dies mit größter Vorsicht und den korrekten Netzwerkmasken und -interfaces zu konfigurieren. Die [Subnetz-Dokumentation](https://github.com/jokob-sk/Pi.Alert/blob/main/docs/SUBNETS.md) ansehen für mehr Hilfe zum Aufsetzen von VLANs, welche VLANs unterstützt werden und zum Herausfinden der Netzwerkmaske und -interfaces.
### Verwendung
- Zur Einstellungen-Seite gehen und die `SCAN_SUBNETS`-Einstellung anhand der [Subnetz-Dokumentation](https://github.com/jokob-sk/Pi.Alert/blob/main/docs/SUBNETS.md) konfigurieren
- Das Plugin aktivieren, indem der `RUN`-Parameter von `disabled` auf den gewünschten Ausführzeitpunkt gesetzt wird (normalerweise: `schedule`)
- Zeitplan in der `ARPSCAN_RUN_SCHD`-Einstellung setzen
- Zeitlimit nach Bedarf in der `ARPSCAN_RUN_TIMEOUT`-Einstellung setzen
- SPEICHERN
- Auf Ausführung des nächsten Scans warten

View File

@@ -3,19 +3,22 @@
"unique_prefix": "ARPSCAN", "unique_prefix": "ARPSCAN",
"enabled": true, "enabled": true,
"data_source": "script", "data_source": "script",
"mapped_to_table": "CurrentScan", "mapped_to_table": "CurrentScan",
"data_filters": [ "data_filters": [
{ {
"compare_column" : "Object_PrimaryID", "compare_column": "Object_PrimaryID",
"compare_operator" : "==", "compare_operator": "==",
"compare_field_id": "txtMacFilter", "compare_field_id": "txtMacFilter",
"compare_js_template": "'{value}'.toString()", "compare_js_template": "'{value}'.toString()",
"compare_use_quotes": true "compare_use_quotes": true
} }
], ],
"show_ui": true, "show_ui": true,
"localized": ["display_name", "description", "icon"], "localized": [
"display_name",
"description",
"icon"
],
"display_name": [ "display_name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -24,7 +27,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Arp-Scan (Escaneo de red)" "string": "Arp-Scan (Escaneo de red)"
} },
{
"language_code": "de_de",
"string": "ARP-Scan (Netzwerkscan)"
}
], ],
"icon": [ "icon": [
{ {
@@ -34,7 +41,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "<i class=\"fa-solid fa-search\"></i>" "string": "<i class=\"fa-solid fa-search\"></i>"
} },
{
"language_code": "de_de",
"string": "<i class=\"fa-solid fa-search\"></i>"
}
], ],
"description": [ "description": [
{ {
@@ -44,48 +55,77 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Este plugin es para ejecutar un escaneo arp en la red local." "string": "Este plugin es para ejecutar un escaneo arp en la red local."
} },
],
"params" : [
{ {
"name" : "subnets", "language_code": "de_de",
"type" : "setting", "string": "Dieses Plugin wird genutzt, um einen ARP-Scan auf dem lokalen Netzwerk durchzuführen"
"value" : "SCAN_SUBNETS", }
"base64": true ],
}], "params": [
{
"name": "subnets",
"type": "setting",
"value": "SCAN_SUBNETS",
"base64": true
}
],
"settings": [ "settings": [
{ {
"function": "RUN", "function": "RUN",
"type": "text.select", "type": "text.select",
"default_value":"schedule", "default_value": "schedule",
"options": ["disabled", "once", "schedule", "always_after_scan", "on_new_device"], "options": [
"localized": ["name", "description"], "disabled",
"events": ["run"], "once",
"name" :[ "schedule",
{ "always_after_scan",
"language_code":"en_us", "on_new_device"
"string" : "When to run" ],
}, "localized": [
{ "name",
"language_code":"es_es", "description"
"string" : "Cuando ejecutar" ],
}], "events": [
"description": [{ "run"
"language_code":"en_us", ],
"string" : "Specify when your Network-discovery scan will run. Typical setting would be <code>schedule</code> and then you specify a cron-like schedule in the <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD</code>setting</a> " "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "When to run"
"string" : "Especifique cuándo se ejecutará su análisis de descubrimiento de red. La configuración típica sería <code>schedule</code> y luego se especifica una programación similar a cron en la configuración <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD</code></a> " },
}] {
}, "language_code": "es_es",
"string": "Cuando ejecutar"
},
{
"language_code": "de_de",
"string": "Wann ausführen"
}
],
"description": [
{
"language_code": "en_us",
"string": "Specify when your Network-discovery scan will run. Typical setting would be <code>schedule</code> and then you specify a cron-like schedule in the <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD</code>setting</a> "
},
{
"language_code": "es_es",
"string": "Especifique cuándo se ejecutará su análisis de descubrimiento de red. La configuración típica sería <code>schedule</code> y luego se especifica una programación similar a cron en la configuración <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD</code></a> "
},
{
"language_code": "de_de",
"string": "Auswählen wann der Netzwerkscan laufen soll. Typischerweise wird <code>schedule</code> ausgewählt und ein cron-Intervall in der <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD</code>Einstellung</a> gesetzt."
}
]
},
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/arp_scan/script.py userSubnets={subnets}", "default_value": "python3 /home/pi/pialert/front/plugins/arp_scan/script.py userSubnets={subnets}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -94,7 +134,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Comando" "string": "Comando"
} },
{
"language_code": "de_de",
"string": "Befehl"
}
], ],
"description": [ "description": [
{ {
@@ -104,16 +148,22 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Comando para ejecutar. Esto no debe ser cambiado" "string": "Comando para ejecutar. Esto no debe ser cambiado"
} },
{
"language_code": "de_de",
"string": "Auszuführender Befehl. Dieser sollte nicht geändert werden"
}
] ]
}, },
{ {
"function": "RUN_TIMEOUT", "function": "RUN_TIMEOUT",
"type": "integer", "type": "integer",
"default_value": 300, "default_value": 300,
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -122,7 +172,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Tiempo límite de ejecución" "string": "Tiempo límite de ejecución"
} },
{
"language_code": "de_de",
"string": "Zeitlimit"
}
], ],
"description": [ "description": [
{ {
@@ -132,70 +186,126 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, se cancela el script." "string": "Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, se cancela el script."
} },
{
"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": "RUN_SCHD", "function": "RUN_SCHD",
"type": "text", "type": "text",
"default_value":"*/5 * * * *", "default_value": "*/5 * * * *",
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name" : [{ "name",
"language_code":"en_us", "description"
"string" : "Schedule" ],
"name": [
{
"language_code": "en_us",
"string": "Schedule"
}, },
{ {
"language_code":"es_es", "language_code": "es_es",
"string" : "Schedule" "string": "Schedule"
}],
"description": [{
"language_code":"en_us",
"string" : "Only enabled if you select <code>schedule</code> in the <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN</code> setting</a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). For example entering <code>*/3 * * * *</code> will run the scan every 3 minutes. Will be run NEXT time the time passes. <br/> It's recommended to use the same schedule interval for all plugins responsible for discovering new devices."
}, },
{ {
"language_code":"es_es", "language_code": "de_de",
"string" : "Solo está habilitado si selecciona <code>schedule</code> en la configuración <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN</code></a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). Por ejemplo, ingresar <code>*/3 * * * *</code> ejecutará el escaneo cada 3 minutos. Se ejecutará la PRÓXIMA vez que pase el tiempo. <br/> Se recomienda utilizar el mismo intervalo de programación para todos los complementos que analizan su red." "string": "Zeitplan"
}] }
],
"description": [
{
"language_code": "en_us",
"string": "Only enabled if you select <code>schedule</code> in the <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN</code> setting</a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). For example entering <code>*/3 * * * *</code> will run the scan every 3 minutes. Will be run NEXT time the time passes. <br/> 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 <code>schedule</code> en la configuración <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN</code></a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). Por ejemplo, ingresar <code>*/3 * * * *</code> ejecutará el escaneo cada 3 minutos. Se ejecutará la PRÓXIMA vez que pase el tiempo. <br/> Se recomienda utilizar el mismo intervalo de programación para todos los complementos que analizan su red."
},
{
"language_code": "de_de",
"string": "Nur aktiv, wenn <code>schedule</code> in der <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN</code> Einstellung</a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a> testen). <code>*/3 * * * *</code> würde den Scan alle 3 Minuten starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
}
]
}, },
{ {
"function": "WATCH", "function": "WATCH",
"type": "text.multiselect", "type": "text.multiselect",
"default_value":["Watched_Value1", "Watched_Value2"], "default_value": [
"options": ["Watched_Value1","Watched_Value2","Watched_Value3","Watched_Value4"], "Watched_Value1",
"localized": ["name", "description"], "Watched_Value2"
"name" :[{ ],
"language_code":"en_us", "options": [
"string" : "Watched" "Watched_Value1",
"Watched_Value2",
"Watched_Value3",
"Watched_Value4"
],
"localized": [
"name",
"description"
],
"name": [
{
"language_code": "en_us",
"string": "Watched"
}, },
{ {
"language_code":"es_es", "language_code": "es_es",
"string" : "Watched" "string": "Watched"
}] ,
"description":[{
"language_code":"en_us",
"string" : "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is IP</li><li><code>Watched_Value2</code> is Vendor</li><li><code>Watched_Value3</code> is Interface </li><li><code>Watched_Value4</code> is N/A </li></ul>"
}, },
{ {
"language_code":"es_es", "language_code": "de_de",
"string" : "Envía una notificación si los valores seleccionados cambian. Utilice <code>CTRL + clic</code> para seleccionar/deseleccionar. <ul> <li><code>Valor_observado1</code> es IP</li><li><code>Valor_observado2</code> es Proveedor</li><li><code>Valor_observado3</code> es Interfaz </li><li><code>Valor_observado4</code> es N/A </li></ul>" "string": "Überwacht"
}] }
],
"description": [
{
"language_code": "en_us",
"string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is IP</li><li><code>Watched_Value2</code> is Vendor</li><li><code>Watched_Value3</code> is Interface </li><li><code>Watched_Value4</code> is N/A </li></ul>"
},
{
"language_code": "es_es",
"string": "Envía una notificación si los valores seleccionados cambian. Utilice <code>CTRL + clic</code> para seleccionar/deseleccionar. <ul> <li><code>Valor_observado1</code> es IP</li><li><code>Valor_observado2</code> es Proveedor</li><li><code>Valor_observado3</code> es Interfaz </li><li><code>Valor_observado4</code> es N/A </li></ul>"
},
{
"language_code": "de_de",
"string": "Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken</code> zum aus-/abwählen. <ul> <li><code>Watched_Value1</code> ist die IP</li><li><code>Watched_Value2</code> ist der Hersteller</li><li><code>Watched_Value3</code> ist das Interface </li><li><code>Watched_Value4</code> ist nicht in Verwendung </li></ul>"
}
]
}, },
{ {
"function": "REPORT_ON", "function": "REPORT_ON",
"type": "text.multiselect", "type": "text.multiselect",
"default_value": ["new"], "default_value": [
"options": ["new", "watched-changed", "watched-not-changed", "missing-in-last-scan"], "new"
"localized": ["name", "description"], ],
"options": [
"new",
"watched-changed",
"watched-not-changed",
"missing-in-last-scan"
],
"localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Report on" "string": "Report on"
}, },
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Informar sobre" "string": "Informar sobre"
} },
{
"language_code": "de_de",
"string": "Benachrichtige wenn"
}
], ],
"description": [ "description": [
{ {
@@ -205,157 +315,213 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Cuándo debe enviarse una notificación." "string": "Cuándo debe enviarse una notificación."
} },
{
"language_code": "de_de",
"string": "Wann Benachrichtigungen gesendet werden sollen."
}
] ]
} }
], ],
"database_column_definitions": [
"database_column_definitions":
[
{ {
"column": "Object_PrimaryID", "column": "Object_PrimaryID",
"mapped_to_column": "cur_MAC", "mapped_to_column": "cur_MAC",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "device_name_mac", "type": "device_name_mac",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "MAC" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "MAC"
"string" : "MAC" },
}] {
}, "language_code": "es_es",
{ "string": "MAC"
"column": "Watched_Value1", },
"mapped_to_column": "cur_IP", {
"css_classes": "col-sm-2", "language_code": "de_de",
"show": true, "string": "MAC"
"type": "device_ip", }
"default_value":"", ]
"options": [],
"localized": ["name"],
"name":[{
"language_code":"en_us",
"string" : "IP"
},
{
"language_code":"es_es",
"string" : "IP"
}]
}, },
{ {
"column": "Watched_Value2", "column": "Watched_Value1",
"mapped_to_column": "cur_Vendor", "mapped_to_column": "cur_IP",
"css_classes": "col-sm-2",
"show": true,
"type": "label",
"default_value":"",
"options": [],
"localized": ["name"],
"name":[{
"language_code":"en_us",
"string" : "Vendor"
},
{
"language_code":"es_es",
"string" : "Proveedor"
}]
} ,
{
"column": "Dummy",
"mapped_to_column": "cur_ScanMethod",
"mapped_to_column_data": {
"value": "arp-scan"
},
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "device_ip",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Scan method" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "IP"
"string" : "Método de escaneo" },
}] {
} , "language_code": "es_es",
"string": "IP"
},
{
"language_code": "de_de",
"string": "IP"
}
]
},
{
"column": "Watched_Value2",
"mapped_to_column": "cur_Vendor",
"css_classes": "col-sm-2",
"show": true,
"type": "label",
"default_value": "",
"options": [],
"localized": [
"name"
],
"name": [
{
"language_code": "en_us",
"string": "Vendor"
},
{
"language_code": "es_es",
"string": "Proveedor"
},
{
"language_code": "de_de",
"string": "Hersteller"
}
]
},
{
"column": "Dummy",
"mapped_to_column": "cur_ScanMethod",
"mapped_to_column_data": {
"value": "arp-scan"
},
"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": "DateTimeCreated", "column": "DateTimeCreated",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Created" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Created"
"string" : "Creado" },
}] {
}, "language_code": "es_es",
"string": "Creado"
},
{
"language_code": "de_de",
"string": "Erstellt"
}
]
},
{ {
"column": "DateTimeChanged", "column": "DateTimeChanged",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[ "name"
{ ],
"language_code":"en_us", "name": [
"string" : "Changed" {
}, "language_code": "en_us",
{ "string": "Changed"
"language_code":"es_es", },
"string" : "Cambiado" {
} "language_code": "es_es",
] "string": "Cambiado"
}, },
{
"language_code": "de_de",
"string": "Geändert"
}
]
},
{ {
"column": "Status", "column": "Status",
"css_classes": "col-sm-1", "css_classes": "col-sm-1",
"show": true, "show": true,
"type": "replace", "type": "replace",
"default_value":"", "default_value": "",
"options": [ "options": [
{ {
"equals": "watched-not-changed", "equals": "watched-not-changed",
"replacement": "<div style='text-align:center'><i class='fa-solid fa-square-check'></i><div></div>" "replacement": "<div style='text-align:center'><i class='fa-solid fa-square-check'></i><div></div>"
}, },
{ {
"equals": "watched-changed", "equals": "watched-changed",
"replacement": "<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'></i></div>" "replacement": "<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'></i></div>"
}, },
{ {
"equals": "new", "equals": "new",
"replacement": "<div style='text-align:center'><i class='fa-solid fa-circle-plus'></i></div>" "replacement": "<div style='text-align:center'><i class='fa-solid fa-circle-plus'></i></div>"
}, },
{ {
"equals": "missing-in-last-scan", "equals": "missing-in-last-scan",
"replacement": "<div style='text-align:center'><i class='fa-solid fa-question'></i></div>" "replacement": "<div style='text-align:center'><i class='fa-solid fa-question'></i></div>"
} }
], ],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Status" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Status"
"string" : "Estado" },
}] {
} "language_code": "es_es",
"string": "Estado"
},
{
"language_code": "de_de",
"string": "Status"
}
]
}
] ]
} }

View File

@@ -1,6 +1,6 @@
## Overview ## Overview
Plugin to run regular DDNS update tasks. Plugin to run regular DDNS update tasks.
### Usage ### Usage

View File

@@ -0,0 +1,7 @@
## Übersicht
Ein Plugin zur regelmäßigen Aktualisierung eines DynDNS-Eintrags.
### Verwendung
- Einstellungen-Seite für Details ansehen.

View File

@@ -1,7 +1,7 @@
{ {
"code_name": "ddns_update", "code_name": "ddns_update",
"unique_prefix": "DDNS", "unique_prefix": "DDNS",
"enabled": true, "enabled": true,
"data_filters": [ "data_filters": [
{ {
"compare_column": "Object_PrimaryID", "compare_column": "Object_PrimaryID",
@@ -22,18 +22,30 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "DDNS update" "string": "DDNS update"
},
{
"language_code": "de_de",
"string": "DDNS-Aktualisierung"
} }
], ],
"icon": [ "icon": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "<i class=\"fa-solid fa-globe\"></i>" "string": "<i class=\"fa-solid fa-globe\"></i>"
},
{
"language_code": "de_de",
"string": "<i class=\"fa-solid fa-globe\"></i>"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "A plugin update the DDNS record." "string": "A plugin update the DDNS record."
},
{
"language_code": "de_de",
"string": "Ein Plugin zur regelmäßigen Aktualisierung eines DynDNS-Eintrags."
} }
], ],
"params": [ "params": [
@@ -66,7 +78,9 @@
"settings": [ "settings": [
{ {
"function": "RUN", "function": "RUN",
"events": ["run"], "events": [
"run"
],
"type": "text.select", "type": "text.select",
"default_value": "disabled", "default_value": "disabled",
"options": [ "options": [
@@ -90,13 +104,17 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Wann laufen" "string": "Wann ausführen"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "When the plugin should run. An hourly or daily <code>SCHEDULE</code> is a good option." "string": "When the plugin should run. An hourly or daily <code>SCHEDULE</code> is a good option."
},
{
"language_code": "de_de",
"string": "Wann das Plugin ausgeführt werden soll. Eine stündliche oder tägliche <code>SCHEDULE</code> wird empfohlen."
} }
] ]
}, },
@@ -158,7 +176,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Schedule" "string": "Zeitplan"
} }
], ],
"description": [ "description": [
@@ -172,7 +190,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Nur aktiviert, wenn Sie <code>schedule</code> in der <a href=\"#DDNS_RUN\"><code>DDNS_RUN</code>-Einstellung</a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). Wenn Sie beispielsweise <code>0 4 * * *</code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE</ ausgeführt. Code> den Sie oben festgelegt haben</a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht." "string": "Nur aktiv, wenn <code>schedule</code> in der <a href=\"#DDNS_RUN\"><code>DDNS_RUN</code> Einstellung</a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a> testen). <code>0 4 * * *</code> rde den Scan täglich um 4 Uhr in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\">oben ausgewählten <code>TIMEZONE</code></a> starten. Wird erst beim NÄCHSTEN Intervall ausgeführt."
} }
] ]
}, },
@@ -196,7 +214,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Zeitüberschreitung" "string": "Zeitlimit"
} }
], ],
"description": [ "description": [
@@ -231,6 +249,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "URL del dominio DynDNS" "string": "URL del dominio DynDNS"
},
{
"language_code": "de_de",
"string": "DynDNS Domain URL"
} }
], ],
"description": [ "description": [
@@ -241,6 +263,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "URL del host DynDNS (no incluya http:// o https://)." "string": "URL del host DynDNS (no incluya http:// o https://)."
},
{
"language_code": "de_de",
"string": "DynDNS Host URL (do not include http:// or https://)."
} }
] ]
}, },
@@ -261,6 +287,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Usuario de DynDNS" "string": "Usuario de DynDNS"
},
{
"language_code": "de_de",
"string": "DynDNS Benutzer"
} }
], ],
"description": [ "description": [
@@ -271,6 +301,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "El nombre de usuario utilizado para iniciar sesión en el servicio DynDNS (a veces, una dirección de correo electrónico completa)." "string": "El nombre de usuario utilizado para iniciar sesión en el servicio DynDNS (a veces, una dirección de correo electrónico completa)."
},
{
"language_code": "de_de",
"string": "Benutzername, welcher zum Login beim DynDNS-Service verwendet wird (manchmal die E-Mail-Adresse)."
} }
] ]
}, },
@@ -291,6 +325,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Contraseña de DynDNS" "string": "Contraseña de DynDNS"
},
{
"language_code": "de_de",
"string": "DynDNS Passwort"
} }
], ],
"description": [ "description": [
@@ -301,6 +339,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "La contraseña de acceso al servicio DynDNS." "string": "La contraseña de acceso al servicio DynDNS."
},
{
"language_code": "de_de",
"string": "Passwort, welches zum Login beim DynDNS-Service verwendet wird."
} }
] ]
}, },
@@ -321,6 +363,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "URL de actualización de DynDNS" "string": "URL de actualización de DynDNS"
},
{
"language_code": "de_de",
"string": "DynDNS Aktualisierungs-URL"
} }
], ],
"description": [ "description": [
@@ -331,6 +377,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Actualice la URL que comienza con <code>http://</code> o <code>https://</code>." "string": "Actualice la URL que comienza con <code>http://</code> o <code>https://</code>."
},
{
"language_code": "de_de",
"string": "Aktualisierungs-URL beginnend mit <code>http://</code> oder <code>https://</code>."
} }
] ]
}, },
@@ -358,42 +408,73 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Visto" "string": "Visto"
},
{
"language_code": "de_de",
"string": "Überwacht"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is Previous IP (not recommended)</li><li><code>Watched_Value2</code> unused</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>" "string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is Previous IP (not recommended)</li><li><code>Watched_Value2</code> unused</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>"
},
{
"language_code": "de_de",
"string": "Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken</code> zum aus-/abwählen. <ul> <li><code>Watched_Value1</code> ist die Vorige IP (nicht empfohlen)</li><li><code>Watched_Value2</code> ist nicht in Verwendung</li><li><code>Watched_Value3</code> ist nicht in Verwendung </li><li><code>Watched_Value4</code> ist nicht in Verwendung </li></ul>"
} }
] ]
}, },
{ {
"function": "REPORT_ON", "function": "REPORT_ON",
"type": "text.multiselect", "type": "text.multiselect",
"default_value":["new","watched-changed"], "default_value": [
"options": ["new","watched-changed","watched-not-changed", "missing-in-last-scan"], "new",
"localized": ["name", "description"], "watched-changed"
"name" :[{ ],
"language_code":"en_us", "options": [
"string" : "Report on" "new",
}, "watched-changed",
{ "watched-not-changed",
"language_code":"es_es", "missing-in-last-scan"
"string" : "Informar sobre" ],
} ] , "localized": [
"description":[{ "name",
"language_code":"en_us", "description"
"string" : "Send a notification only on these statuses. <code>new</code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed</code> means that selected <code>Watched_ValueN</code> columns changed." ],
}, "name": [
{ {
"language_code":"es_es", "language_code": "en_us",
"string" : "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que las columnas <code>Watched_ValueN</code> seleccionadas cambiaron." "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. <code>new</code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed</code> means that selected <code>Watched_ValueN</code> columns changed."
},
{
"language_code": "es_es",
"string": "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que las columnas <code>Watched_ValueN</code> seleccionadas cambiaron."
},
{
"language_code": "de_de",
"string": "Benachrichtige nur bei diesen Status. <code>new</code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed</code> bedeutet eine ausgewählte <code>Watched_ValueN</code>-Spalte hat sich geändert."
}
]
}
], ],
"database_column_definitions": [ "database_column_definitions": [
{ {
"column": "Object_PrimaryID", "column": "Object_PrimaryID",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "device_name_mac", "type": "device_name_mac",
@@ -410,11 +491,15 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "MAC" "string": "MAC"
},
{
"language_code": "de_de",
"string": "MAC"
} }
] ]
}, },
{ {
"column": "Object_SecondaryID", "column": "Object_SecondaryID",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "device_ip", "type": "device_ip",
@@ -431,6 +516,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "IP" "string": "IP"
},
{
"language_code": "de_de",
"string": "IP"
} }
] ]
}, },
@@ -448,11 +537,15 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Extra" "string": "Extra"
},
{
"language_code": "de_de",
"string": "Extra"
} }
] ]
}, },
{ {
"column": "Dummy", "column": "Dummy",
"mapped_to_column_data": { "mapped_to_column_data": {
"value": "DDNS" "value": "DDNS"
}, },
@@ -472,6 +565,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Método de escaneo" "string": "Método de escaneo"
},
{
"language_code": "de_de",
"string": "Scanmethode"
} }
] ]
}, },
@@ -493,11 +590,15 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Creado" "string": "Creado"
},
{
"language_code": "de_de",
"string": "Erstellt"
} }
] ]
}, },
{ {
"column": "DateTimeChanged", "column": "DateTimeChanged",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
@@ -514,6 +615,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Cambiado" "string": "Cambiado"
},
{
"language_code": "de_de",
"string": "Geändert"
} }
] ]
}, },
@@ -552,6 +657,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Estado" "string": "Estado"
},
{
"language_code": "de_de",
"string": "Status"
} }
] ]
} }

View File

@@ -0,0 +1,51 @@
## Übersicht
Ein Plugin zum Importieren von Geräten aus dhcp.leases-Dateien.
### Verwendung
- Absolute Pfade der `dhcp.leases`-Dateien, welche importiert werden sollen, in der `DHCPLSS_paths_to_check`-Einstellung angeben.
- Angegebene Pfade in der `DHCPLSS_paths_to_check`-Einstellung in der `docker-compose.yml`-Datei mapppen.
#### Beispiel
Auszug aus `docker-compose.yml`:
```yaml
volumes:
...
# mapping different dhcp.leases files
- /first/location/dhcp.leases:/mnt/dhcp1.leases
- /second/location/dhcp.leases:/mnt/dhcp2.leases
...
```
`DHCPLSS_paths_to_check`-Einstellung:
```python
DHCPLSS_paths_to_check = ['/mnt/dhcp1.leases','/mnt/dhcp2.leases']
```
### Notizen
- Keine spezifische Konfiguration benötigt.
- Dieses Plugin erwartet dhcp.leases-Dateien im **dhcp.leases**-Format, welches sich vom von PiHole genutzten Format unterscheidet. [dhcpd.leases(5) - Linux man page]( https://linux.die.net/man/5/dhcpd.leases#:~:text=This%20database%20is%20a%20free,file%20is%20the%20current%20one.)
Beispiel Dateiformat: _(nicht alle Zeilen werden benötigt)_
```text
lease 192.168.79.15 {
starts 0 2016/08/21 13:25:45;
ends 0 2016/08/21 19:25:45;
cltt 0 2016/08/21 13:25:45;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 8c:1a:bf:11:00:ea;
uid "\001\214\032\277\021\000\352";
option agent.circuit-id 0:17;
option agent.remote-id c0:a8:9:5;
client-hostname "android-8182e21c852776e7";
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
## Übersicht
Ein Plugin zur regelmäßigen Prüfung der Internetverbindung und externen IP.
### Verwendung
- Einstellungen-Seite für Details ansehen.

View File

@@ -23,18 +23,30 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Internet check" "string": "Internet check"
},
{
"language_code": "en_us",
"string": "Internet-Check"
} }
], ],
"icon": [ "icon": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "<i class=\"fa-solid fa-globe\"></i>" "string": "<i class=\"fa-solid fa-globe\"></i>"
},
{
"language_code": "de_de",
"string": "<i class=\"fa-solid fa-globe\"></i>"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "A plugin to check your internet connectivity and IP." "string": "A plugin to check your internet connectivity and IP."
},
{
"language_code": "en_us",
"string": "Ein Plugin zur Prüfung der Internetverbindung und externen IP."
} }
], ],
"params": [ "params": [
@@ -53,7 +65,9 @@
"settings": [ "settings": [
{ {
"function": "RUN", "function": "RUN",
"events": ["run"], "events": [
"run"
],
"type": "text.select", "type": "text.select",
"default_value": "schedule", "default_value": "schedule",
"options": [ "options": [
@@ -77,13 +91,17 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Wann laufen" "string": "Wann ausführen"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "When the plugin should run. An hourly or daily <code>SCHEDULE</code> is a good option." "string": "When the plugin should run. An hourly or daily <code>SCHEDULE</code> is a good option."
},
{
"language_code": "de_de",
"string": "Wann das Plugin ausgeführt werden soll. Eine stündliche oder tägliche <code>SCHEDULE</code> wird empfohlen."
} }
] ]
}, },
@@ -145,7 +163,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Schedule" "string": "Zeitplan"
} }
], ],
"description": [ "description": [
@@ -159,7 +177,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Nur aktiviert, wenn Sie <code>schedule</code> in der <a href=\"#INTRNT_RUN\"><code>INTRNT_RUN</code>-Einstellung</a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). Wenn Sie beispielsweise <code>0 4 * * *</code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE</ ausgeführt. Code> den Sie oben festgelegt haben</a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht." "string": "Nur aktiv, wenn <code>schedule</code> in der <a href=\"#INTRNT_RUN\"><code>INTRNT_RUN</code>Einstellung</a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a> testen). <code>0 4 * * *</code> rde den Scan täglich um 4 Uhr in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\">oben ausgewählten <code>TIMEZONE</code></a> starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
} }
] ]
}, },
@@ -183,7 +201,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Zeitüberschreitung" "string": "Zeitlimit"
} }
], ],
"description": [ "description": [
@@ -225,38 +243,69 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Visto" "string": "Visto"
},
{
"language_code": "de_de",
"string": "Überwacht"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is Previous IP (not recommended)</li><li><code>Watched_Value2</code> unused</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>" "string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is Previous IP (not recommended)</li><li><code>Watched_Value2</code> unused</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>"
},
{
"language_code": "de_de",
"string": "Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken</code> zum aus-/abwählen. <ul> <li><code>Watched_Value1</code> ist die Vorige IP (nicht empfohlen)</li><li><code>Watched_Value2</code> ist nicht in Verwendung</li><li><code>Watched_Value3</code> ist nicht in Verwendung </li><li><code>Watched_Value4</code> ist nicht in Verwendung </li></ul>"
} }
] ]
}, },
{ {
"function": "REPORT_ON", "function": "REPORT_ON",
"type": "text.multiselect", "type": "text.multiselect",
"default_value":["new","watched-changed"], "default_value": [
"options": ["new","watched-changed","watched-not-changed", "missing-in-last-scan"], "new",
"localized": ["name", "description"], "watched-changed"
"name" :[{ ],
"language_code":"en_us", "options": [
"string" : "Report on" "new",
}, "watched-changed",
{ "watched-not-changed",
"language_code":"es_es", "missing-in-last-scan"
"string" : "Informar sobre" ],
} ] , "localized": [
"description":[{ "name",
"language_code":"en_us", "description"
"string" : "Send a notification only on these statuses. <code>new</code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed</code> means that selected <code>Watched_ValueN</code> columns changed." ],
}, "name": [
{ {
"language_code":"es_es", "language_code": "en_us",
"string" : "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que las columnas <code>Watched_ValueN</code> seleccionadas cambiaron." "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. <code>new</code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed</code> means that selected <code>Watched_ValueN</code> columns changed."
},
{
"language_code": "es_es",
"string": "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que las columnas <code>Watched_ValueN</code> seleccionadas cambiaron."
},
{
"language_code": "de_de",
"string": "Benachrichtige nur bei diesen Status. <code>new</code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed</code> bedeutet eine ausgewählte <code>Watched_ValueN</code>-Spalte hat sich geändert."
}
]
}
], ],
"database_column_definitions": [ "database_column_definitions": [
{ {
@@ -278,6 +327,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "MAC" "string": "MAC"
},
{
"language_code": "de_de",
"string": "MAC"
} }
] ]
}, },
@@ -300,6 +353,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "IP" "string": "IP"
},
{
"language_code": "de_de",
"string": "IP"
} }
] ]
}, },
@@ -317,6 +374,10 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Extra" "string": "Extra"
},
{
"language_code": "de_de",
"string": "Extra"
} }
] ]
}, },
@@ -342,6 +403,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Método de escaneo" "string": "Método de escaneo"
},
{
"language_code": "de_de",
"string": "Scanmethode"
} }
] ]
}, },
@@ -363,6 +428,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Creado" "string": "Creado"
},
{
"language_code": "de_de",
"string": "Erstellt"
} }
] ]
}, },
@@ -385,6 +454,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Cambiado" "string": "Cambiado"
},
{
"language_code": "de_de",
"string": "Geändert"
} }
] ]
}, },
@@ -423,6 +496,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Estado" "string": "Estado"
},
{
"language_code": "de_de",
"string": "Status"
} }
] ]
} }

View File

@@ -0,0 +1,3 @@
## Übersicht
Ein Plugin zur periodischen Durchführung von Internetgeschwindigkeitstests.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
## Übersicht
Ein Plugin zum Importieren von nicht erkennbaren Geräten aus einer Datei. Das Plugin findet Verwendung, wenn "dumme" Netzwerkkomponenten (z.B. Unmanaged Hubs/Switches) zur Netzwerkansicht hinzugefügt werden sollen. Möglicherweise gibt es weitere Anwendungsfälle, bitte informiert uns darüber.
### Verwendung
- Einstellungen aufrufen und Nicht erkennbare Geräte in der Liste der Plugins finden
- Plugin aktivieren, indem der `RUN`-Parameter von `disabled` zu `once` oder `always_after_scan` geändert wird
- Gerätenamen der Liste hinzufügen (Beispieleintrag zuerst entfernen)
- SPEICHERN
- Auf Abschluss des nächsten Scans warten
#### Beispiele
Einstellungen:
![settings](https://github.com/Data-Monkey/Pi.Alert/assets/7224371/52883307-19a5-4602-b13a-9825461f6cc4)
Resultat:
![devices](https://github.com/Data-Monkey/Pi.Alert/assets/7224371/9f7659e7-75a8-4ae9-9f5f-781bdbcbc949)
Erlaubt nicht erkennbare Geräte wie Hubs, Switches oder APs in der Netzwerkansicht:
![network](https://github.com/Data-Monkey/Pi.Alert/assets/7224371/b5ccc3b3-f5fd-4f5b-b0f0-e4e637c6da33)
### Bekannte Einschränkungen
- Nicht erkennbare Geräte erscheinen immer als Offline. Pi.Alert kann diese Geräte nicht erkennen (wie erwartet).
- Alle IPs werden auf 0.0.0.0 gesetzt, daher kann es sein, dass das "Zufällige MAC"-Icon erscheint

View File

@@ -3,10 +3,13 @@
"unique_prefix": "UNDIS", "unique_prefix": "UNDIS",
"enabled": true, "enabled": true,
"data_source": "script", "data_source": "script",
"mapped_to_table": "CurrentScan", "mapped_to_table": "CurrentScan",
"show_ui": true, "show_ui": true,
"localized": ["display_name", "description", "icon"], "localized": [
"display_name",
"description",
"icon"
],
"display_name": [ "display_name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -15,7 +18,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Dispositivos no detectables" "string": "Dispositivos no detectables"
} },
{
"language_code": "de_de",
"string": "Nicht erkennbare Geräte"
}
], ],
"icon": [ "icon": [
{ {
@@ -25,7 +32,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "<i class=\"fa-solid fa-binoculars\"></i>" "string": "<i class=\"fa-solid fa-binoculars\"></i>"
} },
{
"language_code": "de_de",
"string": "<i class=\"fa-solid fa-binoculars\"></i>"
}
], ],
"description": [ "description": [
{ {
@@ -35,46 +46,74 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Este complemento es para importar dispositivos no detectables desde un archivo." "string": "Este complemento es para importar dispositivos no detectables desde un archivo."
} },
],
"params" : [
{ {
"name" : "devices", "language_code": "en_us",
"type" : "setting", "string": "Ein Plugin zum Importieren von nicht erkennbaren Geräten aus einer Datei."
"value" : "UNDIS_devices_to_import" }
}], ],
"params": [
{
"name": "devices",
"type": "setting",
"value": "UNDIS_devices_to_import"
}
],
"settings": [ "settings": [
{ {
"function": "RUN", "function": "RUN",
"events": ["run"], "events": [
"type": "text.select", "run"
"default_value":"disabled", ],
"options": ["disabled", "once", "always_after_scan"], "type": "text.select",
"localized": ["name", "description"], "default_value": "disabled",
"name" :[{ "options": [
"language_code":"en_us", "disabled",
"string" : "When to run" "once",
}, "always_after_scan"
{ ],
"language_code":"es_es", "localized": [
"string" : "Cuándo ejecuta" "name",
}], "description"
"description": [{ ],
"language_code":"en_us", "name": [
"string" : "When enabled, ONCE is the preferred option. It runs at startup and after every save of the config here.<br> Changes will only show in the devices <b> after the next scan!</b>" {
}, "language_code": "en_us",
{ "string": "When to run"
"language_code":"es_es", },
"string" : "Cuando está habilitado, ONCE es la opción preferida. Se ejecuta al inicio y después de cada guardado de la configuración aquí.<br> ¡Los cambios solo se mostrarán en los dispositivos <b> después del próximo escaneo!</b>" {
}] "language_code": "es_es",
}, "string": "Cuándo ejecuta"
},
{
"language_code": "de_de",
"string": "Wann ausführen"
}
],
"description": [
{
"language_code": "en_us",
"string": "When enabled, ONCE is the preferred option. It runs at startup and after every save of the config here.<br> Changes will only show in the devices <b> after the next scan!</b>"
},
{
"language_code": "es_es",
"string": "Cuando está habilitado, ONCE es la opción preferida. Se ejecuta al inicio y después de cada guardado de la configuración aquí.<br> ¡Los cambios solo se mostrarán en los dispositivos <b> después del próximo escaneo!</b>"
},
{
"language_code": "de_de",
"string": "Wenn dieses Plugin aktiviert ist, ist <code>once</code> die bevorzugte Methode. Das Plugin wird dann bei jedem Start und nach jedem Speichern der Einstellungen ausgeführt.</br>Änderungen scheinen in den Geräten erst <b>nach dem nächsten Scan</b> auf!"
}
]
},
{ {
"function": "CMD", "function": "CMD",
"type": "text", "type": "text",
"default_value": "python3 /home/pi/pialert/front/plugins/undiscoverables/script.py devices={devices}", "default_value": "python3 /home/pi/pialert/front/plugins/undiscoverables/script.py devices={devices}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -83,7 +122,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Comando" "string": "Comando"
} },
{
"language_code": "de_de",
"string": "Befehl"
}
], ],
"description": [ "description": [
{ {
@@ -93,16 +136,22 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Comando a ejecutar. Esto no se puede cambiar" "string": "Comando a ejecutar. Esto no se puede cambiar"
} },
{
"language_code": "de_de",
"string": "Befehl zum Ausführen. Dies kann nicht geändert werden"
}
] ]
}, },
{ {
"function": "RUN_TIMEOUT", "function": "RUN_TIMEOUT",
"type": "integer", "type": "integer",
"default_value": 10, "default_value": 10,
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -111,7 +160,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Tiempo límite de ejecución" "string": "Tiempo límite de ejecución"
} },
{
"language_code": "de_de",
"string": "Zeitlimit"
}
], ],
"description": [ "description": [
{ {
@@ -121,7 +174,11 @@
{ {
"language_code": "es_es", "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." "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."
}
] ]
}, },
{ {
@@ -129,7 +186,10 @@
"type": "readonly", "type": "readonly",
"default_value": [], "default_value": [],
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -138,7 +198,12 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Visto" "string": "Visto"
}], },
{
"language_code": "de_de",
"string": "Überwacht"
}
],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -147,15 +212,27 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Los dispositivos no detectables no pueden cambiar su estado, ningún reloj está habilitado." "string": "Los dispositivos no detectables no pueden cambiar su estado, ningún reloj está habilitado."
} },
{
"language_code": "de_de",
"string": "Status von nicht erkennbaren Geräten können sich nicht ändern, keine Überwachung aktiviert."
}
] ]
}, },
{ {
"function": "REPORT_ON", "function": "REPORT_ON",
"type": "readonly", "type": "readonly",
"default_value": [], "default_value": [],
"options": ["new", "watched-changed", "watched-not-changed", "missing-in-last-scan"], "options": [
"localized": ["name", "description"], "new",
"watched-changed",
"watched-not-changed",
"missing-in-last-scan"
],
"localized": [
"name",
"description"
],
"name": [ "name": [
{ {
"language_code": "en_us", "language_code": "en_us",
@@ -164,7 +241,11 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Informar sobre" "string": "Informar sobre"
} },
{
"language_code": "de_de",
"string": "Benachrichtige wenn"
}
], ],
"description": [ "description": [
{ {
@@ -174,162 +255,237 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "No se enviarán notificaciones." "string": "No se enviarán notificaciones."
} },
{
"language_code": "de_de",
"string": "Keine Benachrichtigungen werden versendet."
}
] ]
}, },
{ {
"function": "devices_to_import", "function": "devices_to_import",
"type": "list", "type": "list",
"default_value":["dummy_router"], "default_value": [
"dummy_router"
],
"options": [], "options": [],
"localized": ["name", "description"], "localized": [
"name" : [{ "name",
"language_code":"en_us", "description"
"string" : "UnDiscoverable Devices" ],
}, "name": [
{ {
"language_code":"es_es", "language_code": "en_us",
"string" : "Dispositivo no detectable" "string": "UnDiscoverable Devices"
}], },
"description": [{ {
"language_code":"en_us", "language_code": "es_es",
"string" : "Devices to be added to the devices list." "string": "Dispositivo no detectable"
}, },
{ {
"language_code":"es_es", "language_code": "de_de",
"string" : "Dispositivos que se añadirán a la lista de dispositivos." "string": "Nicht erkennbare Geräte"
}] }
} ],
"description": [
{
"language_code": "en_us",
"string": "Devices to be added to the devices list."
},
{
"language_code": "es_es",
"string": "Dispositivos que se añadirán a la lista de dispositivos."
},
{
"language_code": "de_de",
"string": "Geräte, welche der Geräteliste hinzugefügt werden."
}
]
}
], ],
"database_column_definitions": [
"database_column_definitions":
[
{ {
"column": "Watched_Value1", "column": "Watched_Value1",
"mapped_to_column": "cur_Name", "mapped_to_column": "cur_Name",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Device Name" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Device Name"
"string" : "Nombre del dispositivo" },
}] {
}, "language_code": "es_es",
{ "string": "Nombre del dispositivo"
"column": "Object_PrimaryID", },
"mapped_to_column": "cur_MAC", {
"css_classes": "col-sm-2", "language_code": "de_de",
"show": true, "string": "Gerätename"
"type": "label", }
"default_value":"", ]
"options": [],
"localized": ["name"],
"name":[{
"language_code":"en_us",
"string" : "MAC address"
},
{
"language_code":"es_es",
"string" : "Dirección MAC"
}]
}, },
{ {
"column": "Object_SecondaryID", "column": "Object_PrimaryID",
"mapped_to_column": "cur_IP", "mapped_to_column": "cur_MAC",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "device_ip", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "IP" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "MAC address"
"string" : "IP" },
}] {
} , "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", "column": "DateTimeCreated",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Created" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Created"
"string" : "Creado" },
}] {
}, "language_code": "es_es",
"string": "Creado"
},
{
"language_code": "de_de",
"string": "Erstellt"
}
]
},
{ {
"column": "DateTimeChanged", "column": "DateTimeChanged",
"mapped_to_column": "cur_DateTime", "mapped_to_column": "cur_DateTime",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Changed" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Changed"
"string" : "Cambiado" },
}] {
"language_code": "es_es",
"string": "Cambiado"
},
{
"language_code": "de_de",
"string": "Geändert"
}
]
}, },
{ {
"column": "Dummy", "column": "Dummy",
"mapped_to_column": "cur_ScanMethod", "mapped_to_column": "cur_ScanMethod",
"mapped_to_column_data": { "mapped_to_column_data": {
"value": "UNDIS" "value": "UNDIS"
}, },
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": true, "show": true,
"type": "label", "type": "label",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "Scan method" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "Scan method"
"string" : "Método de escaneo" },
}] {
} , "language_code": "es_es",
"string": "Método de escaneo"
},
{
"language_code": "de_de",
"string": "Scanmethode"
}
]
},
{ {
"column": "ForeignKey", "column": "ForeignKey",
"css_classes": "col-sm-2", "css_classes": "col-sm-2",
"show": false, "show": false,
"type": "device_mac", "type": "device_mac",
"default_value":"", "default_value": "",
"options": [], "options": [],
"localized": ["name"], "localized": [
"name":[{ "name"
"language_code":"en_us", ],
"string" : "MAC" "name": [
}, {
{ "language_code": "en_us",
"language_code":"es_es", "string": "MAC"
"string" : "MAC" },
}] {
} "language_code": "es_es",
"string": "MAC"
},
{
"language_code": "de_de",
"string": "MAC"
}
]
}
] ]
} }

View File

@@ -0,0 +1,7 @@
## Übersicht
Ein Plugin zum Herunterladen einer MAC- und Hersteller-Datenbank für die Erkennung vom Hersteller eines Gerätes. Das Resultat des Plugins ist eine Liste von Herstellern, verknüpft zu Geräten, deren Hersteller bisher unbekannt war.
### Verwendung
- Einstellungen-Seite für Details ansehen.

View File

@@ -13,25 +13,39 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Vendor update" "string": "Vendor update"
},
{
"language_code": "de_de",
"string": "Hersteller Update"
} }
], ],
"icon": [ "icon": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "<i class=\"fa-solid fa-landmark-flag\"></i>" "string": "<i class=\"fa-solid fa-landmark-flag\"></i>"
},
{
"language_code": "de_de",
"string": "<i class=\"fa-solid fa-landmark-flag\"></i>"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "A plugin to schedule vendor database updates for mac based vendor resolution." "string": "A plugin to schedule vendor database updates for mac based vendor resolution."
},
{
"language_code": "de_de",
"string": "Ein Plugin zum Updaten der Herstellerdatenbank für MAC-basierte Herstellerauflösung."
} }
], ],
"params": [], "params": [],
"settings": [ "settings": [
{ {
"function": "RUN", "function": "RUN",
"events": ["run"], "events": [
"run"
],
"type": "text.select", "type": "text.select",
"default_value": "schedule", "default_value": "schedule",
"options": [ "options": [
@@ -55,13 +69,17 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Wann laufen" "string": "Wann ausführen"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "When the plugin should run. An overnight weekly <code>SCHEDULE</code> is recommended." "string": "When the plugin should run. An overnight weekly <code>SCHEDULE</code> is recommended."
},
{
"language_code": "de_de",
"string": "Wann das Plugin ausgeführt werden soll. Eine wöchentliche <code>SCHEDULE</code> in der Nacht wird empfohlen."
} }
] ]
}, },
@@ -123,7 +141,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Schedule" "string": "Zeitplan"
} }
], ],
"description": [ "description": [
@@ -137,7 +155,7 @@
}, },
{ {
"language_code": "de_de", "language_code": "de_de",
"string": "Nur aktiviert, wenn Sie <code>schedule</code> in der <a href=\"#VNDRPDT_RUN\"><code>VNDRPDT_RUN</code>-Einstellung</a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a>). Wenn Sie beispielsweise <code>0 4 * * *</code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE</ ausgeführt. Code> den Sie oben festgelegt haben</a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht." "string": "Nur aktiv, wenn <code>schedule</code> in der <a href=\"#VNDRPDT_RUN\"><code>VNDRPDT_RUN</code> Einstellung</a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru</a> testen). <code>0 4 * * *</code> rde den Scan täglich um 4 Uhr in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\">oben ausgewählten <code>TIMEZONE</code></a> starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
} }
] ]
}, },
@@ -203,12 +221,20 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Visto" "string": "Visto"
},
{
"language_code": "de_de",
"string": "Überwacht"
} }
], ],
"description": [ "description": [
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is vendor name</li><li><code>Watched_Value2</code> is device name</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>" "string": "Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is vendor name</li><li><code>Watched_Value2</code> is device name</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>"
},
{
"language_code": "de_de",
"string": "Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken</code> zum aus-/abwählen. <ul> <li><code>Watched_Value1</code> ist der Herstellername</li><li><code>Watched_Value2</code> ist der Gerätename</li><li><code>Watched_Value3</code> ist nicht in Verwendung </li><li><code>Watched_Value4</code> ist nicht in Verwendung </li></ul>"
} }
] ]
}, },
@@ -237,6 +263,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Informar sobre" "string": "Informar sobre"
},
{
"language_code": "de_de",
"string": "Benachrichtige wenn"
} }
], ],
"description": [ "description": [
@@ -247,6 +277,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que seleccionó <code>Watched_ValueN Las columnas </code> cambiaron." "string": "Envíe una notificación solo en estos estados. <code>new</code> significa que se descubrió un nuevo objeto único (combinación única de PrimaryId y SecondaryId). <code>watched-changed</code> significa que seleccionó <code>Watched_ValueN Las columnas </code> cambiaron."
},
{
"language_code": "de_de",
"string": "Benachrichtige nur bei diesen Status. <code>new</code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed</code> bedeutet eine ausgewählte <code>Watched_ValueN</code>-Spalte hat sich geändert."
} }
] ]
} }
@@ -270,6 +304,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "N/A" "string": "N/A"
},
{
"language_code": "de_de",
"string": "N/A"
} }
] ]
}, },
@@ -291,6 +329,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "N/A" "string": "N/A"
},
{
"language_code": "de_de",
"string": "N/A"
} }
] ]
}, },
@@ -313,6 +355,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Dirección MAC" "string": "Dirección MAC"
},
{
"language_code": "de_de",
"string": "MAC-Adresse"
} }
] ]
}, },
@@ -335,6 +381,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "IP" "string": "IP"
},
{
"language_code": "de_de",
"string": "IP"
} }
] ]
}, },
@@ -356,6 +406,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Creado" "string": "Creado"
},
{
"language_code": "de_de",
"string": "Erstellt"
} }
] ]
}, },
@@ -378,6 +432,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Cambiado" "string": "Cambiado"
},
{
"language_code": "de_de",
"string": "Geändert"
} }
] ]
}, },
@@ -403,6 +461,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Método de escaneo" "string": "Método de escaneo"
},
{
"language_code": "de_de",
"string": "Scanmethode"
} }
] ]
}, },
@@ -421,6 +483,10 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "Vendor" "string": "Vendor"
},
{
"language_code": "de_de",
"string": "Hersteller"
} }
] ]
}, },
@@ -443,6 +509,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Nombre de host" "string": "Nombre de host"
},
{
"language_code": "de_de",
"string": "Hostname"
} }
] ]
}, },
@@ -460,6 +530,10 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "N/A" "string": "N/A"
},
{
"language_code": "de_de",
"string": "N/A"
} }
] ]
}, },
@@ -477,6 +551,10 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "N/A" "string": "N/A"
},
{
"language_code": "de_de",
"string": "N/A"
} }
] ]
}, },
@@ -498,6 +576,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Comentarios" "string": "Comentarios"
},
{
"language_code": "de_de",
"string": "Kommentare"
} }
] ]
}, },
@@ -515,6 +597,10 @@
{ {
"language_code": "en_us", "language_code": "en_us",
"string": "N/A" "string": "N/A"
},
{
"language_code": "de_de",
"string": "N/A"
} }
] ]
}, },
@@ -553,6 +639,10 @@
{ {
"language_code": "es_es", "language_code": "es_es",
"string": "Estado" "string": "Estado"
},
{
"language_code": "de_de",
"string": "Status"
} }
] ]
} }