Der ioBroker Log Parser Adapter

In diesem Artikel zeige ich Dir die Verwendung des Log Parser Adapters für das Parsing des ioBroker Logs.

Mit dem Adapter Log Parser kannst Du das ioBroker Log komfortabel parsen und JSON-Tabellen erstellen lassen. In diesem Artikel zeige ich Dir, wie Du den Adapter installieren und konfigurieren kannst. Zudem werden wir uns zwei JSON-Tabellen speziell für die Visualisierung anlegen, in denen wir dann bestimmte Einträge des Logs darstellen können.

Im ersten Schritt wechseln wir nun auf den Bereich Adapter und suchen hier nach dem Adapter Log Parser. Über die hier im Screenshot gelb markierte Schaltfläche können wir den Adapter zu unseren Instanzen hinzufügen.

Nach der Installation des Adapters wird direkt die Konfiguration geöffnet. In der Adapter-Konfiguration können wir nun die Filter erstellen, mit denen das ioBroker Log gefiltert werden soll. In der Liste der Filter-Regeln findest Du hier die bereits angelegten Filter. Diese zeigen eigentlich ziemlich gut, wie der Adapter funktioniert.

Der Filter Error z.B. filtert alle Einträge aus dem ioBroker Log und stellt die einzelnen Einträge im Datenpunkt logparser.0.filters.Error.json als JSON-Tabelle zur Verfügung. Über die Whitelist können die Einträge weiter eingegrenzt werden.

So können z.B. über die Eigenschaft Whitelist: UND Worte definiert werden, die im Eintrag erhalten sein müssen (Und-Verknüpfung).

Über die Eigenschaft Whitelist: ODER können Suchbegriffe definiert werden, von denen mindestens einer im Eintrag enthalten sein muss.

Über die Blacklist Eigenschaft können Einträge aus dem Log ignoriert werden. Sobald einer der Begriffe enthalten ist, wird der Eintrag nicht übernommen.

Im folgenden Screenshot siehst Du die angelegten Datenpunkte des Filters Error. Jeder Filter generiert den folgenden Aufbau:

Im Datenpunkt emptyjson steht ein logischer Wert (true oder false) mit dem geprüft werden kann, ob ein Eintrag vorhanden ist. Im Datenpunkt json werden die einzelnen Eintäge in Form einer JSON-Tabelle gespeichert. Die Anzahl Einträge in der Tabelle findest Du im Datenpunkt jsonCount. Der Timestamp des neuesten Eintrags in der Tabelle wird im Datenpunkt mostRecentLogTime gespeichert.

Über die Lasche Weitere Einstellungen können zusätzliche Einstellungen hinterlegt werden. Über die Option PID entfernen kann die Prozess-ID im Log entfernt werden. Auch Scriptnamen können über die entsprechende Option entfernt werden. Mit den Datumsoptionen kann das heutige Datum automatisch zur Zeichenfolge heute sowie das gestrige Datum zu gestern ersetzt werden.

In der Tab-Lasche Visualisierung können zusätzliche Tabellen speziell für die Visualisierung angelegt werden.

Über die globale Blacklist können Ausnahmen verwaltet werden. Wenn eine der Ausdrücke in einem Eintrag gefunden wird wird dieser dann im Log ignoriert und nicht in die JSON-Tabelle übernommen.

Im folgenden Screenshot siehst Du nochmals die gesamt Struktur auf meinem Test-System.

Im folgenden Beispiel habe ich nun die beiden JSON-Tabellen für Infos und Errors jeweils mit einem JSON-Table Widget auf meiner Visualisierung dargestellt. Dazu werden nur die JSON-Datenpunkte im Widget hinterlegt.

Ich finde diesen Adapter wirklich sehr hilfreich. Die eigenen Filter und Blacklists ermöglichen eine sehr komfortable Konfiguration der JSON-Tabellen z.B. für Debug-Zwecke oder einfach nur zur Darstellung auf der Visualisierung.

Ich hoffe ich konnte Dir damit weiterhelfen und freue mich wie immer über Deine Fragen, Anregungen oder Kommentare zum Thema 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „Der ioBroker Log Parser Adapter

  • 27. Juni 2020 um 15:00
    Permalink

    Matt,
    Thank you for your ioBroker related materials. I have a question for you, what platform offers more features for developing smart home controls, Blockly or node red?

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.