ACHTUNG
Ich beschreibe hier, was bei mir in einem TWS950 V1.6 funktioniert hat. Beim Austesten des korrekten XML-Codes ist es mir 2x passiert, dass ich meinen TWS mit einer neu anglegten Timeseries lamgelegt habe und ich musste den vorherigen Zustand mit einer Sicherungsdatei wiederherstellen. Deshalb : Unmittelbar vor dem Ausprobieren unbedingt eine Sicherung des TWS durchführen, auch wenn die hier gezeigte Lösung bei mir am Ende mehrfach funktioniert hat und seit 2-3 Wochen keine Probleme erzeugt hat.
Hier wird eine vorhandene Funktion des Wiregate-Importer für einen Zweck "missbraucht", für den diese nicht geschaffen wurde. Insofern gibt es dazu auch keine Unterstützung seites ElabNet und die Durchführung geschieht vollständig auf eigenes Risiko. Kern des Ganzen ist der PLUGIN-RRD-Import des Wiregate Abschnittes im TWS, bei dem ein User RRD-Dateien, die im Wiregate erzeugt wurden, übernehmen kann.
Man legt sich eine XML-Datei mit folgendem Text an (in einem Texteditor wie Note oder Note++.
Mir ist dabei völlig klar, dass einige der Zeilen vermutlich nicht nur überflüssig und inhaltlich eigentlich falsch sind, aber so hat es bei mir geklappt und ich habe nicht weiter versucht den Code zu kürzen, nachdem es geklappt hat. Denn als ich einige der hier unnötig erscheinenden Zeilen mal weggelassen hatte, wurden fehlerhafte Timeseries erzeugt, die in der TWS GUE mit einem roten Ausrufezeichen versehen waren und und die den TWS vollständig lahmgelegt haben. Vielleicht ergänzt später ja Jemand noch eine kürzere Vorlage.
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump -->
<rrd>
<version> 0003 </version>
<step> 60 </step> <!-- Seconds -->
<ds>
<name> value </name>
<type> GAUGE </type>
<minimal_heartbeat> 1 </minimal_heartbeat>
<min> 2.3400000000e+04 </min>
<max> 2.3400000000e+04 </max>
</ds>
<!-- Round Robin Archives -->
<rra>
<cf> AVERAGE </cf>
<pdp_per_row> 1 </pdp_per_row> <!-- 60 seconds -->
<params>
<xff> 2.0000000000e+04 </xff>
</params>
<database>
<!-- / 1427846400 --> <row><v> 9.0000000000e-01 </v></row>
</database>
</rra>
</rrd>
Nun erzeugt man sich z.B. mit Excel für jeden Eintrag den man in seiner neuen Timeseries haben möchte eine Zeile
Code: Alles auswählen
<!-- / 1427846400 --> <row><v> 9.0000000000e-01 </v></row>
Ich habe hier penibel genau darauf geachtet, dass alle meine Zahlen exakt die gleiche Anzahl von Stellen hatte!!!
10 stelliger Unix-Zeitcode und die e Zahl mit 10 Stellen zwischen dem Punkt und dem e.
Ob das für den Import wichtig ist, weiß ich nicht, aber so hat es funktioniert.
Diese Zeilen kopiert man sich nun in die XML Datei in den Bereich "database" und ersetzt damit auch den einen oben bereits einthaltenen Eintrag.
Achtung, beim herauskopieren aus Excel entstehen je nach Excelformatierung eventuell Anführungszeichen...diese sollte man im Editor in der XML Datei dann löschen, zum Beispiel durch markieren des Bereiches "database" und dann Suchen-Ersetzen-Funktion - aber Achtung...Die Anführungszeichen in den anderen Abschnitten (siehe erste Zwei Zeilen) müssen erhalten bleiben.
Nachträglicher Edit aufgrund des Hinweises von Ives in Post #2:
Nun braucht man ein Programm, dass .gz Dateien erzeugen kann, ich nutze z.B. 7-Zip.
Bei 7-Zip: In Windows 10 Explorer kann man jetzt mit der rechten Maustaste eine gz-Datei erzeugen: Standardmässig wird der Name oben mit einem .xml vor dem Ende .gz vorgeschlagen. Das .xml habe ich stets gelöscht, weil ich befürchtet habe, dass zwei Punkte im Dateinamen ein Problem beim Import sein könnten.
Die erzeugten .gz Dateien habe ich auf einen ansonsten leeren USB-Stick in ein leeres Verzeichnis
WireGateExport/RRD/
Diesen USB Stick in den TWS stecken und dann 1-wire -> Import WG Server -> Haken bei Importieren "Plugin" RRD's in Zeitreihen -> START
Warten
Erledigt
Wichtig, die Dateinamen müssen eindeutig sein, die Zeitreihen nehmen den Namen mit! Verwendet Ihr einen Dateinamen, der schon einmal verwendet wurde, werden die Daten meines Erachtens in die bestehende Zeitreihe integriert. Ob das eine nutzbare Funktion ist und was z.B. bei Daten mit gleichen Zeitstempeln passiert, habe ich nicht getestet. Wenn ich Daten noch einmal neu eingespielt habe, habe ich die vorher erzeugen Zeitreihen immer gelöscht.
Bei Bedarf kann abschliessend noch im Objekt Manager eine Wert (z.B. eine KNX-Wert) mit der Zeitreihe verknüpfen.
Viel Spaß.