[Update]: Beta hier zum Download: http://homematic-forum.de/forum/viewtop ... 300#p86300
ich bin gerade dabei, in WebMatic Verlaufsdiagramme einzubauen. Das geht natürlich auch mit CCU-Historian, aber dazu brauche ich einen Rechner, der immer läuft. Deswegen habe ich nach einer anderen Lösung gesucht. CCU-Historian ist natürlich nicht ersetzbar, wenn es darum geht, über länger Zeiträume und viele Datenpunkte zu loggen. Aber ich wollte eine kleine Lösung schaffen, mit der ich ein paar Datenpunkte über kürzere Zeiträume loggen und darstellen kann.
Ich wollte euch die Idee und Screenshot vom Prototypen hier vorstellen und diskutieren, was ihr dazu meint. Denn ich habe etwas Bedenken, was die Performance der CCU betrifft -> Ich bin mir nicht sicher, ab wann das zu viel wird und vielleicht könnt ihr mir dazu was sagen.
Ok, jetzt erst mal zwei Screenshots als Teaser
Die Verlaufswerte stehen dabei in einer Variable. Wer WebMatic kennt, sieht auch das (d) in der Variablenbeschreibung. Damit erkenne ich, dass der Inhalt der Variable als Diagramm dargestellt werden soll (analog zu (r) für ReadOnly).
Da SystemExec ja nicht zu viel verwendet werden sollte, wollte ich einfach alles in eine Variable loggen. Anscheinend kann eine Zeichenkette sehr lang sein, also wollte ich ein Script schreiben, der die Datenpunkte in Variablen loggt. Glücklicherweise hat das schon mal jemand gemacht:
http://homematic-forum.de/forum/viewtop ... =32#p62941
Das Script habe ich genommen und ein wenig abgeändert, dass es gleich mehrere Datenpunkte loggen kann. Ich muss nun nur in der ersten Zeile des Scripts die Variablen und Datenpunkte angeben, immer abwechselnd mit Komma und Strichpunkt getrennt:
Code: Alles auswählen
string logValues = "Verlauf Temp Arbeitszimmer,BidCos-RF.IEQ0528362:1.TEMPERATURE;Verlauf Ventil Arbeitszimmer,BidCos-RF.IEQ0529757:1.VALVE_STATE;Verlauf Temp Aussen,BidCos-RF.IEQ0404444:1.TEMPERATURE";
Code: Alles auswählen
125,2013-01-07 21:32:43,17.300000,2013-01-07 21:45:00,17.100000,2013-01-07 22:00:00,16.900000,2013-01-07 22:15:01,16.800000,2013-01-07 22:30:00,16.700000,2013-01-07 22:45:00,17.200000,2013-01-07 23:00:00,17.700000,2013-01-07 23:15:00,18.100000,2013-01-07 23:30:01,18.500000,2013-01-07 23:45:00,19.000000,2013-01-08 00:00:07,19.400000,2013-01-08 00:02:10,... usw.
In WebMatic nehme ich mir nun den String raus und wandle den in das Diagramm um.
Die ganze Rechenzeit für die Diagrammerstellung läuft im Browser ab, damit nicht auf der CCU. Aber der Rolling-Logger läuft auf der CCU. Ich habe jetzt 4 Datenpunkte, die ich alle 15 Minuten logge. Maximale Anzahl ist 288, damit habe ich 3 Tage im Puffer. Man könnte auch z.B. nur einmal am Tag loggen, dann kriegt man mit 365 Werten auch ein Jahr voll. Allerdings weiß ich nicht, ob die Variablen bei einem Neustart evtl. mal geleert werden? Das ist auch wie gesagt eher was für CCU-Historian, ich wollte hier nur von ein paar Räumen die letzten paar Tage sehen und IST/SOLL/STELLMOTOR gegenüberstellen. Oder Stromverbrauch usw.
Das wird dann auch das nächste, dass ich Diagramme überlagern kann, aber das ist alles WebMatic und damit Sache des Browsers. Es wird auch Optionen geben, ob Linie oder gefüllt und Farben usw. Aber was meint ihr denn zu der Performance Sache? Kann man das irgendwie messen? Kann so ein Script, wenn es zu lange läuft, auch die CCU abschießen? Wie verlangsamt sich das Script mit mehr Datenpunkten pro Variable? Zumindest mit den 4 läuft es bei mir seit paar Tagen ohne Probleme.
Grüße,
Kilam.