Shelly-Daten in Homematic loggen und visualisieren

    • Offizieller Beitrag

    ©2019 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung


    Kann man die Daten der Shelly eigentlich auch direkt in Homematic visualisieren?

    Für die veröffentlichten Kopplungen geht das tatsächlich.

    Bildschirmfoto vom 2020-04-24 18-28-31.png

    (als Beispiel hier die Temperaturkurve von 2 Temp-Addon)


    Es gibt mehrere kostenlose Addon, die das ermöglichen. Ich selbst nutze das Addon "CUxD-Highcharts 1.4.5" und darauf bezieht sich auch diese Anleitung.

    Voraussetzungen:

    • zu loggende(s) Gerät(e) ist/sind in Homematic eingebunden
    • CUxD-Highcharts 1.4.5 ist installiert
    • Speicherort für die geloggten Daten Vorhanden (CCU3 oder Raspi=USB-Stick)


    A.) CUxD-Setup

    Im CUxD-Setup müssen folgende Parameter definiert werden:

    LOGFILEMOVE=/media/usb0/CUxD-Highcharts/old/

    DEVLOGFILE=/media/usb0/CUxD-Highcharts/dev.log

    DEVLOGMOVE=/media/usb0/CUxD-Highcharts/devlog

    Natürlich könnt Ihr die Verzeichnisse auch anders benennen. ;)

    Damit die Daten nun auch visualisiert werden können, müssen sie in die Datei dev.log geschrieben werden. Hier sind 2 unterschiedliche Wege nötig:

    1. Der zu loggende Wert wurde direkt in einen Gerätekanal geschrieben (z.B. Temperatur beim H&T):

    Am Ende des Setups wir der Kanal unter LOGIT eingetragen:

    Code
    LOGIT=CUX9002002:1


    B.) Homematic

    2. Der zu loggende Wert steht in einer Systemvariablen.

    Dann brauchen wir noch ein Programm, dass die Werte der Gerätesystemvariablen in die Datei dev.log schreibt:

    Programm.png

    Funktional ist nur der 1. WENN Block mit den zu loggenden Variablen nötig, der UND-Block kann entfallen.

    Das Skript im DANN-Zweig:

    Code
    object o = dom.GetObject("$src$");
    var ts = o.Timestamp();
    ts = ts.Format('%Y-%m-%dT%H:%M:%S');
    var name = o.Name();
    var value = o.Value();
    var cmd = 'echo "' # ts # ' ';
    cmd = cmd # name # ' ' # value # '" ';
    cmd = cmd # '>> /media/usb0/CUxD-Highcharts/dev.log';
    object c = dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC");
    c.State(cmd);

    Quelle des Codes: Homematic-Forum (den exakten Thread konnte ich leider nicht mehr finden)

    ggf. abweichende CUxD-Exec-Kanaladresse anpassen!

    Viel Spass damit.:)

    ____________________________________________________________

    Die Anleitung inkl. der Skripte und Bilder unterliegt dem Urheberrecht. Wer gegen das Urheberrecht verstößt (z.B. Bilder oder Texte unerlaubt kopiert und auf anderen Webseiten publiziert), macht sich gem. §§ 106 ff UrhG strafbar, kann zudem kostenpflichtig abgemahnt werden und muss Schadensersatz leisten (§ 97 UrhG).

    © 2019 Stefan K. (alias 66er)

    Alle Rechte vorbehalten