Innerhalb der CCU gibt es viele Möglichkeiten zum Loggen von Daten. Hierfür stehen unter anderem die Funktionen „Diagramme“ oder das „Systemprotokoll“ zur Verfügung.

Diese beiden Varianten sind nur bedingt alltagstauglich, da sie wenig Spielraum zur Personalisierung und Konfiguration zulassen. Ein beliebtes Add-On für die Zentrale ist das das mit CUxD in Kombination einzusetzende Diagrammtool „CUxD Highcharts“.

Bevor ihr mit dem Loggen von Diagrammen starten könnt, benötigt ihr also zunächst eine laufende CuxD-Installation sowie CUxD-Highcharts. Wie dieses einzurichten ist, habe ich in einem separaten Bericht für euch zusammengefasst.

Einrichtung CuxD zum Loggen der Datenpunkte

Im CuxD müsst ihr nach der Installation zunächst einige Einstellungen tätigen. Hierfür wechselt in in der Systemsteuerung auf das Feld „CUx-Deamon“. Es öffnet sich die Deamon. Klickt bitte im nächsten Schritt auf SETUP.

Hier fügt ihr bitte die unten markierten Einträge in die CUxD Einstellungen mit ein. Vom Prinzip beschreiben diese Zeilen, wo die Log-Dateien abgelegt werden. 

DEVLOGFILE=/media/usb0/devlog.txt
DEVLOGSIZE=
DEVLOGMOVE=/media/usb0/cuxd/devlog
SUBSCRIBE_RF=1

Der letzte Parameter SUBSCRIBE_RF=1 beschreibt, dass grundsätzlich alle Homematic Funk-Komponenten mitgeloggt werden können. Solltet ihr noch Homematic Wired Geräte im Einsatz haben, so ist ein zusätzlicher Eintrag SUBSCRIBE_WR=1 hinzuzufügen. Für alle, die auch Homematic IP (FUNK oder Wired) mitloggen möchten, bitte ich an dieser Stelle noch um etwas Geduld. Hier ist ein Zwischenschritt nötig, den ihr am Ende des Berichtes nachlesen könnt.

Damit die Dateien auch entsprechend auf dem USB Stick abgelegt werden können, benötigt ihr noch ein Verzeichnis /cuxd/devlog/ auf eurem eingelegten USB Stick.

Hierfür klickt ihr auf der Startseite „Status“ des CUxD oben rechts auf den Punkt „Service“ und lasst folgendes Shell-Kommando durchlaufen:

mkdir -p /media/usb0/cuxd/devlog/

Nachfolgend wir das notwendige Verzeichnis auf eurer CCU3 bzw. dem USB-Stick abgelegt.

Einfügen der zu loggenden Geräte

Ebenso müsst Ihr bereits in den CUxD-Einstellungen festlegen, welche Geräte ihr mitprotokollieren und damit auch in Form von Diagrammen darstellen wollt. Hierfür schreiben wir jeweils den Eintrag LOGIT=SERIENNUMMER DES GERÄTES in die Konfiguration.

Der Logit-Parameter bietet dabei mehrere verschiedene Einstellungen:

Alle Datenpunkte aller Geräte loggen:          LOGIT=: 

Alle Datenpunkte eines Gerätes loggen:      LOGIT=MEQ1234567

Alle Datenpunkte eines Kanals loggen:        LOGIT=MEQ1234567:1

Einen Datenpunkte eines Kanals loggen:    LOGIT=MEQ1234567:1 HUMIDITY

 

Speichert nun die CUxD Einstellung und lasst die Zentrale ein paar Stunden Datenpunkte „sammeln“. 

Anzeige der Diagramme

Zum Ansehen der Diagramme wählt ihr im CUxD den Punkt INFO aus und klickt auf DEVICE-LOG.

Hier solltet ihr nun bereits viele Einträge erkennen, denn CUxD speichert die Werte der einzelnen Datenpunkte und gibt Sie an dieser Stelle protokollarisch aus. Um diese protokollarisch erfassten Werte nun als Diagramm anzeigen zu lassen, klickt ihr auf Chart.

Nachfolgend öffnet sich die Applikation CUxD-Highcharts und ihr könnt sehr einfach über Anwählen der Datenpunkte tolle Diagramme ausgeben lassen, wie beispielsweise hier das Diagramm einer Leistungsmessung.

Damit ihr nicht immer wieder CUxD-Highcharts über die WebUI, mit allen Zwischenschritten, aufrufen müsst, kann man sich den Link ins CUxD-Highcharts nun auch einfach als URL kopieren und ein Lesezeichen in seinen Browser legen. Ebenso könnt ihr diese URL natürlich auch in eure bestehenden Visualisierungen einbauen.

Besonderheit bei Homematic IP Geräten

Die oben aufgeführte Anleitung gilt ausschließlich für Homematic FUNK oder Homematic WIRED Geräte. Sofern ihr auch Homematic IP Geräte über CUxD-Highcharts als Diagramm abbilden wollt, müsst ihr einen Zwischenschritt wählen, denn Highcharts kann von Haus aus nicht die Datenpunkte von Homematic IP Geräten verarbeiten. 

Ihr benötigt hierfür zunächst einmal CUxD-EXEC Gerät. Wie ihr dieses anlegt, zeige ich euch in einem weiteren Bericht. Erstellt euch nun ein Zentralenprogramm mit folgendem Inhalt:

Die Bedingung eures Programm beinhaltet hierbei euren Datenpunkt, den ihr protokollieren wollt. In meinem Fall entspricht es der IST-Temperatur im Wohnzimmer. Bitte als Auslöser „bei Aktualisierung auslösen“ wählen, damit das Skript immer dann aufgerufen wird, wenn ein neuer Messwert vom Gerät gekommen ist.

Im zweiten Teil des Programms fügt ihr folgendes Skript ein:

object log = dom.GetObject(„$src$“);
if (log)
{
dom.GetObject(„CUxD.CUX2801001:1.LOGIT“).State( (dom.GetObject((log.Channel()))).Name() #“ „# log.HssType() #“;“#log.Value());
}

Denkt daran, dass ihr hierfür unbedingt ein CUxD-EXEC Gerät benötigt.

Nachfolgend werden die Datenpunkte nun ebenfalls als auswählbare Diagramme im CUxD-Highcharts angezeigt.

Variablenwerte im Diagramm

Wenn ihr Variablen als Diagramm darstellen wollt, könnt ihr ein ähnliches Programm schreiben. Hier wird als Auslöser die entsprechende Variable gewählt und als Aktivität folgendes Skript verwendet:

object o = dom.GetObject(„VARIABLENNAME“);
dom.GetObject(„CUxD.CUX2801001:1.LOGIT“).State(o.Name()#“;“#o.Value());

 

So könnt ihr beispielsweise den Wert eures DutyCycles als Diagramm darstellen lassen:

Ich wünsche euch nun viel Spaß beim Anfertigen eurer Lieblingsdiagramme mit CUxD-Highcharts.

3 Kommentare
  1. Avatar
    Markus S. sagte:

    Schöner Artikel, kleiner Verbesserungsvorschlag:
    Zusäztlich zum Screenshot einen CODE Block mit den Zeilen für das Setup im CUxD bereitstellen – das spart viel Tipperei ;-)

    Danke und Gruß
    Markus

    Antworten
  2. Avatar
    Saibot sagte:

    Danke für die super Anleitung! Hat einwandfrei Funktioniert. Schade, dass man die Diagramme nicht auf die eh schon vorhandene interne microSD Karte speichern kann. Habe da eine 32GB Karte darin da sie nur noch minimal teuerer sind als 8GB Karten.

    Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

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

Ich akzeptiere die Speicherung der Daten.