WebMatic Verlaufsdiagramme - Eine Kurzanleitung

alternative Weboberfläche für die HomeMatic-Zentrale (CCU)

Moderator: Co-Administratoren

Antworten
Benutzeravatar
maxmillennium
Beiträge: 39
Registriert: 18.02.2013, 13:22

WebMatic Verlaufsdiagramme - Eine Kurzanleitung

Beitrag von maxmillennium » 18.09.2013, 17:40

Vorwort
Nachdem ich mich selbst mühsam und mit einigen Anfängerfehlern durch den Thread Verlaufsdiagramme auf der CCU berechnet gearbeitet hatte und von euren vielen Tipps profitieren durfte fasse ich das Thema hier mal in einer Kurzanleitung für Neueinsteiger zusammen. Die Inhalte sind aus unterschiedlichsten Posts und von verschiedenen Autoren zusammengezogen und sollen dem Interessierten einen ersten kompakten Überblick geben.

Es wäre schön, wenn Fragen und Diskussionen zum Thema weiterhin im oben genannten Thread gepostet werden. Dann bleibt das hier eine übersichtliche Anleitung. Ergänzungen oder Tipps und Tricks sind natürlich herzlich willkommen :)

Wie funktionieren Verlaufsdiagramme mit WebMatic
Der Kilam hatte da wirklich eine geniale Idee: Man nehme die Script Möglichkeiten der CCU, logge die Werte die man gerne als Verlauf sehen würde in eine Systemvariable, gebe in der Beschreibung der Systemvariable an, dass es sich um ein Diagramm handelt und fertig.

Die grafische Aufbereitung erledigt komplett die WebMatic Oberfläche im Browser. Die CCU liefert lediglich die Systemvariable und wird mit der Berechnung der Grafik nicht belastet. Das ganze sieht dann auch noch erstaunlich schick aus und kommt in Form von Linien, Flächen, Kombidiagramm oder als Tankuhr daher.

Erste Schritte
  • WebMatic installieren. Entweder als aktuelle Version direkt als AddOn in der CCU1 oder per FTP Copy auf die CCU2
  • Eine Systemvariable (Typ Zeichenkette) in der WebUI anlegen, die später die geloggten Werte aufnimmt
  • In die Beschreibung der Systemvariable ein (d) für Diagramm eintragen
  • Diese Systemvariable in eine vorhandene oder neu anzulegende Favoritenliste eintragen
Für einen ersten Erfolg und um gleich mal was zu sehen schreiben wir einen vorbereiteten WerteLog von Hand in die Systemvariable. Dies geht am einfachsten mit der WebMatic Oberfläche unter Sonstiges/Systemvariablen.

Hierzu folgenden Inhalt kopieren:

Code: Alles auswählen

4,2013-09-17 22:52:24,24,2013-09-17 22:57:04,23,2013-09-17 23:00:00,21
Und schon hat man die erste eigene Verlaufsgrafik erzeugt, die im Browser unter <CCU-hostname>/addons/webmatic unter dem entsprechenden Favoriten angezeigt wird:
Dateianhänge
bad-diagramm.png
Bad Temperaturverlauf (d) Diagramm
Zuletzt geändert von maxmillennium am 24.09.2013, 09:26, insgesamt 6-mal geändert.
HomeMatic IP - Einfache Alarmanlage - Rolltorsteuerung - Rauchmelder

Benutzeravatar
maxmillennium
Beiträge: 39
Registriert: 18.02.2013, 13:22

Einfache Linien- und Flächendiagramme (d)

Beitrag von maxmillennium » 18.09.2013, 17:45

Neben dem (d) im Beschreibungsfeld einer Systemvariable mit Loginhalten gibt es noch eine Reihe weiterer Parameter die den Grafiktyp und die Formatierung der Grafik beeinflussen:

(d) Liniendiagramm
Hinter dem d können optional noch durch Komma getrennt folgende Parameter angegeben werden:

l - kleinster Wert
Wenn nicht angegeben, dann ist 10% unter dem Minimum der kleinste Wert des Diagramms.
l=m; Genau den kleinsten Wert des Verlaufs als Untergrenze der Anzeige verwenden. z.B. bei Stellantrieben.
l=<zahl>; Die Zahl als Untergrenze nehmen, aber wenn der Wert darunter liegt, dann niedriger gehen. Z.B. 6° bei Thermostaten.

h - größter Wert
Wenn nicht angegeben, dann ist 10% über dem Maximum der größte Wert des Diagramms.
h=m; Genau den größten Wert des Verlaufs als Obergrenze der Anzeige verwenden.
h=<zahl>; Die Zahl als Obergrenze nehmen, aber wenn der Wert darüber liegt, dann höher gehen.
Beispiele:
Temperaturverlauf im Bad mit dem Standard 10% oben und unten: (d)
Oder mit selbst gesetzten Skalenbereich: (d,l=15,h=30)

t - Diagrammtyp
t=l; Liniendiagram. Standard, wenn nicht angegeben.
t=f; Gefüllter Bereich unter der Linie

c - Farben
Die Farbe kann mit einem Farbcode eingestellt werden. Zur Ermittlung des passenden Codes gibt es kleine Helferlein: Farbcode generieren http://www.colorschemer.com/online.html
Wenn es zum Beispiel grün sein soll: (d,c=44AA44)
Dateianhänge
diverse_verlaeufe.png
Diverse Verläufe
Zuletzt geändert von maxmillennium am 09.12.2013, 11:42, insgesamt 1-mal geändert.
HomeMatic IP - Einfache Alarmanlage - Rolltorsteuerung - Rauchmelder

Benutzeravatar
maxmillennium
Beiträge: 39
Registriert: 18.02.2013, 13:22

Tankuhren (g) und Kombidiagramme (h)

Beitrag von maxmillennium » 18.09.2013, 17:49

(g) Tankuhr
Die Tankuhr ist eine stylische Möglichkeit einen einzelnen Wert grafisch darzustellen. Keine Verläufe mit mehreren Werten! Es reicht einfach ein (g) in der Beschreibung und eine Zahl in der Systemvariable. Bei Bedarf kann man noch die Skala und den Farbverlauf beeinflussen.

Beispiele:
Stromverbrauch: (g,s=0/#19DE19,e=5000/#F63A21)
Thermostat: (g,s=-20/#000080,e=40/#F63A21)
s ist der Startwert der Skala
e der Endwert und dahinter die Farben für den Farbverlauf

(h) Kombidiagramme
Diese Diagramme sind speziell für die Heizungsregler gedacht und stellen in geeigneter Art und Weise gleichzeitig Soll Temperatur, Ist Temperatur, Luftfeuchtigkeit und Stellung des Ventils an.

Kombidiagramme benötigen einen eigenen Aufbau der Log Variable, da mehrere Werte gleichzeitig in einer Variable aufgezeichnet werden.
Siehe Logging.
Dateianhänge
h-Diagramm.PNG
H-Diagramm Heizungsregler
Tankuhr.png
Tankuhr
Tankuhr.png (13.24 KiB) 15135 mal betrachtet
Zuletzt geändert von maxmillennium am 09.12.2013, 11:43, insgesamt 3-mal geändert.
HomeMatic IP - Einfache Alarmanlage - Rolltorsteuerung - Rauchmelder

Benutzeravatar
maxmillennium
Beiträge: 39
Registriert: 18.02.2013, 13:22

Logging

Beitrag von maxmillennium » 18.09.2013, 17:54

Die Grafiken schauen jetzt zwar schon mal gut aus aber richtig Sinn machen sie natürlich erst wenn sie sinnvolle reale Logs darstellen. Das Logging erfolgt am einfachsten über vorbereitete Skripte.

Möglichkeit 1 – Beliebige Einzel-Sensorwerte zyklisch loggen für (d) Diagramme

Hierzu hat Kilam folgendes universelles Skript bereitgestellt:
http://homematic-forum.de/forum/viewtop ... 530#p85621

In dem Skript gibt es nur eine Stelle ganz oben an der ihr eure Anpassungen vornehmen müsst:
Die zu loggenden Sensoren in der Form: Log Variablenname, Datenpunkt des Sensors.

Werden mehrere Sensoren aufgezeichnet, so werden diese mit Strichpunkt in gleicher Art und Weise dahinter angehängt. Beispiel:

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";
Variablennamen und Datenpunkte müsst ihr passend zu eurer CCU anlegen und raussuchen.

Möglichkeit 2 – Heizungsregler Daten aufzeichnen für (h) Diagramme

Hierzu gibt es 2 gute Skriptvorlagen. Sie benötigen lediglich die Angabe eurer Räume und scannen dann selbstständig die Räume nach Heizungsreglern ab und loggen deren Werte:

Goglo – Heizung Stellantriebe loggen, Räume automatisch durchsuchen
http://homematic-forum.de/forum/viewtop ... 150#p95328

RoBra81 – Heizung Stellantriebe, nur bei Änderung der Werte loggen
http://homematic-forum.de/forum/viewtop ... 180#p96654

Möglichkeit 3 – Aktuelle Werte für (g) Tankuhren
Das ist streng genommen kein Logging :idea: Es wird lediglich per Skript zyklisch ein aktueller Sensorwert in die anzuzeigende Systemvariable geschrieben.

Beispiel:

Code: Alles auswählen

string TempNow = dom.GetObject("BidCos-RF.JEQ0654441:1.TEMPERATURE").Value();
dom.GetObject("Log Temp Wohnzimmer Aktuell").State(TempNow.ToString(1));
Script zyklich aufrufen
Damit das Skript jetzt auch regelmäßig Daten aufzeichnet muss ein Programm angelegt werden, dass in regelmäßigen Abständen euer Skript aufruft:
Dateianhänge
Zeitmodul.JPG
Zeitmodul - Zyklischer Skriptaufruf
ZyklischerSkriptAufruf.JPG
Programm - Zyklischer Skriptaufruf
Zuletzt geändert von maxmillennium am 09.12.2013, 11:41, insgesamt 1-mal geändert.
HomeMatic IP - Einfache Alarmanlage - Rolltorsteuerung - Rauchmelder

Benutzeravatar
maxmillennium
Beiträge: 39
Registriert: 18.02.2013, 13:22

Kombidiagramme (h) universell eingesetzt

Beitrag von maxmillennium » 09.12.2013, 11:40

(h)-Diagramme lassen sich nicht nur für Heizthermostatregler sinnvoll verwenden.

Die Werte für Luftfeuchtigkeit und Stellantriebstellung sind Prozentwerte und können auch zur Darstellung anderer Größen verwendet werden.

Ich verwende sie zum Beispiel als Aufzeichnung für das Steuer- und Regelverhalten meiner Heizung. Hierbei werden die Steuersignale für Absenkung und Warmwasser als Prozentwerte und die Kessel- und Boilertemperatur als Temperaturen dargestellt.

Ein Steuersignal in Form eines Logikwerts oder auch eine Schalterstellung wird dabei mit einem Faktor (hier 10) und einem Offset (5 und 10 zur Unterscheidung der beiden Signale) in eine Diagrammlinie überführt. Durch ein wenig einfache Umrechnung und Anpassung lassen sich so vier Werte oder Systemvariablen nahezu beliebig in einem Diagramm übersichtlich darstellen.

Code: Alles auswählen

!Diagramm Parameter (h)
!1 Solltemperatur - graue Fläche
!2 Isttemperatur - rote Linie
!3 Luftfeuchte in % - blaue Linie
!4 Die Öffnung des Stellantriebs in % - graue Linie

!Graue Fläche C - Warmwasser Boiler Temperatur
!Rote Linie   C - Kessel Temperatur
!Blaue Linie  % - Warmwasser AN(25%)/AUS(5%) ersetzt
!Graue Linie  % - Brenner Absenkung(10%)/Normalbetrieb(90%)ersetzt

string tempw = dom.GetObject("BidCos-RF.KEQ0543749:1.TEMPERATURE").Value().ToString(1);
string tempk = dom.GetObject("BidCos-RF.KEQ0543749:2.TEMPERATURE").Value().ToString(1);
string statw = ((dom.GetObject("Hzg Warmwasser").Variable().ToInteger()*10)+5).ToString();
string statk = ((dom.GetObject("Hzg Betriebsart").Variable().ToInteger()*10)+10).ToString();
Dateianhänge
h als Kombidiagramm mit Logikwerten.PNG
(h) Diagramm als Kombidiagramm mit Logikwerten
HomeMatic IP - Einfache Alarmanlage - Rolltorsteuerung - Rauchmelder

Antworten

Zurück zu „WebMatic“