Rund ums smarte Heim - Technik, Tipps und Tricks

Kategorie: Tools

Logdateien lokal mitschneiden

RWE / innogy / Livisi Smarthome
Logdateien lokal mitschneiden

© Dipl.-Ing. Michael Sagner

Stand: 02.01.2021

Der Support verlangt ja bei fast jedem Problem, das man ihm meldet, die Seriennummer der Zentrale und das Hochladen der Logdateien. Die Logdateien sind notwendig, um etwaige Fehler analysieren zu können. (die Seriennummer der Zentrale dient dabei zum Auffinden der Logdateien, die nach dem Hochladen im Backend gespeichert werden).

Oft haben User nachgefragt, ob es denn nicht möglich sei, diese Logdateien selbst auszuwerten.

Die Antwort lautet: ja und nein.

Für beide Zentralentypen gilt, dass nach dem Einstecken eines USB-Sticks die aktuellen Logs auf den Stick geschrieben werden und dann dort als Datei vorgefunden werden.

Die Zentrale der ersten Generation verschlüsselt jedoch diese Datei; nur der Support ist in der Lage, sie zur Auswertung wieder in Klartext zurückzuverwandeln.

Bei der Zentrale der zweiten Generation erfolgt keine Verschlüsselung; die Logdatei kann also mit jedem beliebigen ASCII-Editor (z.B. notepad.exe) angesehen werden.

Trotzdem besteht ein Problem: In vielen Fällen, insbesondere, wenn das detaillierte Logging eingeschaltet wurde (über „Hilfe | Fehlerbehebung | Fehlersuche aktivieren“), werden so viele Ereignisse im Log festgehalten, dass die Speicherkapazität auf der Zentrale schnell erschöpft ist. In vielen Fällen enthält dann eine Logdatei nur noch Einträge der letzten halben Stunde. Ereignisse, die vorher stattgefunden haben, können dadurch dann nicht mehr analysiert werden.

Es gibt allerdings eine Möglichkeit, die Logs der Zentrale mit nahezu unbegrenzter Kapazität mitzuschneiden.

Wie geht das, was wird dazu benötigt?

Zunächst ist ein wenig Hardware erforderlich, nämlich ein handelsübliches USB-UART-Wandlerkabel, das mit TTL-Pegel arbeitet.

(und ja – ich habe mich auch über die eigenwillige Farbgebung des USB-Steckers gewundert)

Hier ein Link zu einem solchen Teil (es gibt viele Anbieter, auch z.B. als China-Direktimport. Wichtig ist, dass der Adapter mit TTL-Pegel (5V) arbeitet)):

https://www.amazon.de/gp/product/B07RG77VWD/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

  1. Logdateien mitschneiden an der Zentrale 1. Generation:

    * Öffnen Sie die Zentrale (dazu ist ein Torx-6-Schraubendreher erforderlich.

    * Rechts unterhalb des Displays sieht man auf der Hauptplatine eine Reihe von 5 Lötaugen. Hier lötet man nun eine 5-polige Stiftleiste (abgewinkelt) ein

    Link zur Stiftleiste:

    https://www.amazon.de/gp/product/B00UQ8HJEQ/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1

    An diese Stiftleiste werden anschließend die Steckverbinder des o.g. UART-USB-Wandlers gesteckt:

    Beispiel mit einer nicht abgewinkelten Stiftleiste (das Problem dabei ist, dass sich das Gehäuse dann nicht mehr zusammenbauen lässt):

    Noch einmal mit abgewinkelter Stiftleiste:

    Von rechts nach links (!) ist die Stiftbelegung:

    GND/Masse, Tx/Senden, RX/Empfangen

    („Senden“ und „Empfangen“ gelten sinngemäß jeweils für die Zentrale – auf den Tx-Pin der Stiftleiste muss deshalb der Rx-Stecker des Adapterkabels, auf den Rx-Pin der Stiftleiste muss der Tx-Pin des Adapterkabels gesteckt werden)

    Dann bitte einen USB-Stick nehmen und darauf ein neues, leeres Verzeichnis anlegen und dieses mit „EnableSerialLog“ benennen. Diesen USB-Stick dann bitte an der Zentrale einstecken. Dann die Zentrale einmal neu starten. Sobald die Zentrale wieder läuft, kann der Stick nach einigen Minuten wieder abgezogen werden. Er wird fortan auch nicht wieder benötigt.

    Man kann dann die Zuleitung des USB/Serial-Adapters wie auf dem zweiten Bild gezeigt aus dem Gehäuse führen und dieses wieder zusammenbauen.

    Weiter unter 3!

  2. Logdateien mitschneiden an der Zentrale 2. Generation:

    Auf der Unterseite der Zentrale 2. Generation befinden sich vier Gummifüße. Mit einem Messer kann man diese geklebten Gummifüße nun vorsichtig vom Gehäuse lösen und z.B. mit Hilfe ihrer Rest-Klebkraft direkt neben ihrem bisherigen Ort wieder aufkleben, wie im Bild zu erkennen ist:

    Anschließend kann man die Gehäuseunterseite vorsichtig abheben.

    Man erkennt am Rand der Platine eine 4-polige Stiftleiste (s. Bilder):

    Hier ist also kein Löten erforderlich!

    Die Stiftbelegung von rechts nach links (!) ist hier:

    Tx/Senden – Rx/Empfangen – GND/Masse

    („Senden“ und „Empfangen“ gelten sinngemäß jeweils für die Zentrale – auf den Tx-Pin der Stiftleiste muss deshalb der Rx-Stecker des Adapterkabels, auf den Rx-Pin der Stiftleiste muss der Tx-Pin des Adapterkabels gesteckt werden)

    Das Kabel des USB/Serial-Adapters kann, ohne Veränderungen am Gehäuse vornehmen zu müssen, durch eine vorhandene Öffnung im Boden herausgeführt werden.

  3. Mitschneiden der Logdaten

    Der auf diese Weise an der Zentrale verbundene USB-Serial-Adapter kann nun an einen Rechner angeschlossen werden.

    Unter Windows ist das Freeware-Programm PuTTY geeignet, die von der Zentrale ausgegebenen Daten mitzuschneiden. PuTTY kann hier kostenlos heruntergeladen werden:

    https://www.putty.org/

PuTTY wird auf „Serial“ mit 115200 Baud Übertragungsrate eingestellt:

Man kann dann noch angeben, in welcher Datei die empfangenen Daten abgespeichert werden. Siehe hierzu die PuTTY-Dokumentation.

Eine andere Möglichkeit ist, die Daten durch einen Einplatinenrechner permanent aufzuzeichnen. Gut geeignet hierfür ist z.B. der Raspberry Pi (ab Version 2).

Ich habe z.B. einen Raspi 2 dafür im Einsatz, der permanent die Logs von zwei Smarthomezentralen mitschneidet. Die Speicherung der Dateien erfolgt dabei auf einen USB-Stick, der am Raspi eingesteckt ist. Dadurch wird das vorzeitige Ableben der SD-Speicherkarte des Raspi vermieden.

Die Aufzeichnung der Daten erledigt bei mir ein Python-Script, das auf dem Raspi läuft.

https://blog.smarthomeman.de/Downloads/innogy/HowTos/FastDatalogger.zip

Wenn man dann noch auf dem Raspi das Verzeichnis, in dem die Logdateien gespeichert werden, im Netzwerk freigibt, kann man komfortabel vom PC aus darauf zugreifen. Zur Freigabe von Verzeichnissen des Raspi im Netzwerk gibt es einschlägige Anleitungen im Internet.

Smarthome Commander

Das Tool zu Livisi Smarthome
Version 1.0

© 2016 – 2021 Dipl.-Ing. Michael Sagner

  1. SmarthomeCommander – Download und Installation
    Der Smarthome Commander ist Donationware, steht also kostenlos zur Verfügung und kann hier heruntergeladen werden
    Der SmarthomeCommander besteht aus einer einzigen Datei (SmarthomeCommander.exe), die auf einem Windows-Rechner ausführbar ist (ab Windows 7 aufwärts).
    Die Downloadversion ist dabei eine Zip-Archivdatei, die diese ausführbare Datei enthält. Entpacken Sie die .exe-Datei in ein beliebiges Verzeichnis auf Ihrer Festplatte.
  2. SmarthomeCommander starten
    Durch Doppelklick auf die Datei SmarthomeCommander.exe wird das Programm gestartet.

    Um mit SmarthomeCommander arbeiten zu können, muss die Konfiguration des Smarthome-Systems geladen werden.
    Dazu geben Sie bitte Ihren Smarthome Usernamen und das dazugehörige Passwort ein.
    Anschließend lädt der SHCommander die Konfiguration, was einige Sekunden in Anspruch nehmen wird.

    Wenn der Ladevorgang abgeschlossen ist, wird die Konfiguration in zwei Baumstrukturen angezeigt:

    Links werden die installierten Geräte angezeigt, rechts die angelegten Szenarien.

  3. Geräte- und Szenarien-Übersicht:
    Im linken Baum werden, wie erwähnt, die installierten Geräte angezeigt.
    Es kann zwischen unterschiedlichen Sortierungen gewählt werden (nach Gerätetyp, nach Räumen, nach Kategorien usw.)
    Anmerkung: Zur besseren Identifizierung vergibt der SHCommander beim Einlesen der Konfiguration eindeutige Kürzel für Geräte (G), logische Geräte (LG), Szenarien (SC) und Regeln (R). Dadurch ist es möglich, auch gleich bezeichnete Elemente voneinander zu unterscheiden.
    Die hinter dem jeweiligen Kennbuchstaben vergebenen laufenden Nummern können bei jedem Einlesen der Konfiguration unterschiedlich sein!

    Man kann sich nun durch den linken Baum „durchklicken“; im Anzeigefeld neben der Baumstruktur werden dann Detaildaten zu dem gerade ausgewählten Gerät angezeigt:

    Es werden die wichtigsten Geräteparameter angezeigt; klickt man auf das „+“-Symbol unterhalb der Datenanzeige:

    so werden zusätzlich darunter grundsätzlich alle zur Verfügung stehenden Daten angezeigt:


    Diese Daten sind ungefiltert und werden so wiedergegeben, wie sie in der Konfiguration vorgefunden werden.

    Unterhalb der Konfigurationsdaten eines Geräts werden dessen Verknüpfungen mit Szenarien angezeigt:

    Ein Doppelklick auf einen der dort angezeigten Szenarien- oder Regelnamen öffnet das entsprechende Szenario/Regel in der rechten Baumstruktur und zeigt – nach demselben Prinzip wie bereits beschrieben – dessen Detaildaten:

  4. Funktionen des SHCommander
    Grundsätzlich bietet der SHCommander nur solche Funktionen, die in der Livisi-App bzw. der Livisi Web-Oberfläche nicht zur Verfügung stehen.

    Umgekehrt bedeutet das, dass Funktionen, die in der Livisi-App ausgeführt werden können, auch dort ausgeführt werden müssen.

    Beispiel: das Einbinden eines Gerätes muss in der Livisi-App ausgeführt werden.

  5. Austausch eines defekten Geräts
    Häufig kommt es vor, dass ein defektes Gerät gegen ein anderes desselben Typs ausgetauscht werden muss. Die Livisi-App bietet dafür keine Hilfestellung; das Gerät muss manuell in jedes betroffene Szenario eingetragen, das alte Gerät dort ausgetragen werden.

    Diese zeitaufwändige Arbeit kann SHCommander übernehmen:

    Zunächst das neue Gerät in der Livisi-App einbinden!

    Dann im SHCommander in der linken Baumstruktur das alte, defekte Gerät auswählen und dann auf den Button „Gerät tauschen“ klicken:


    Der nun erscheinende Dialog zeigt links das alte (defekte) Gerät an; rechts kann man das neu eingebundene Gerät desselben Typs auswählen.
    Durch Klick auf „OK“ wird dann in allen betroffenen Szenarien das defekte Gerät durch das neue Gerät ersetzt.

    Anmerkung: Nach allen Aktionen, bei denen SHCommander Änderungen an der Konfiguration vornimmt, bitte auf den Button „Aktualisieren“ klicken!

 

  1. Erweitern des „virtuellen Bewohners“
    Alle Szenarien, die einen „virtuellen Bewohner“ realisieren, können mit Hilfe des SmarthomeCommander erweitert werden:

    Sobald eine Konfiguration geladen ist, die mindestens ein solches Szenario enthält, wird der Button „Virtuellen Bewohner erweitern“ freigeschaltet.
    Dieser Button bewirkt, dass für jedes VB-Szenario eine neue Status-Variable („Zustand“) angelegt wird. Diese Variablen werden mit „Virtueller Bewohner x aktiv“ benannt und innerhalb des virtuellen Bewohner-Szenarios so verknüpft, dass die Aktionen des VB nur dann ausgeführt werden, wenn diese Zustandsvariable auf „EIN“ steht.
    Man kann also jeden virtuellen Bewohner mit Hilfe dieser Zustandsvariablen ein- und ausschalten, und zwar sowohl manuell über die App oder regelgesteuert in einem Szenario.

    Anmerkung: Wird der virtuelle Bewohner in der App verändert, so geht die Erweiterung wieder verloren (nicht jedoch die angelegten Zustandsvariablen)! Die Funktion „VB erweitern“ muss dann einfach noch einmal im SHCommander ausgeführt werden!

  2. Szenarien kopieren
    Ein Szenario oder auch eine einzelne Szenarienregel kann mit Hilfe des SHCommander kopiert werden.
    Dazu wird im rechten Baum das betreffende Element (Szenario oder Regel) ausgewählt. Dadurch wird der Kopier-Button freigeschaltet.
    Wird dieser Button angeklickt, so erscheint zunächst ein Auswahldialog, der es erlaubt, alle Geräte, die innerhalb des gewählten Elements verwendet werden, durch andere Geräte des gleichen Typs zu ersetzen.
    Bestätigt man diese Auswahl dann mit „OK“, so wird das Element als Kopie angelegt und in der Konfiguration abgelegt.
    Das resultierende Szenario ist dabei zunächst deaktiviert, damit gegebenenfalls noch einmal der korrekte Aufbau kontrolliert werden kann.


    Diese Funktion macht es z.B. möglich, komplexe Szenarien vor einer größeren Änderung zu kopieren, um im Notfall (wenn die Änderung nicht das gewünschte Resultat bringt) wieder auf die vorherige Version zurückkehren zu können, ohne alle im Rahmen der Änderung durchgeführten Schritte wiederholen zu müssen.

    (wird fortgesetzt)