Seite 1 von 8

Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 12:43
von Mr.Burns
Hallo zusammen,

ich versuche seid ein paar Tagen erfolglos eine interne Systemvariable der CCU zu loggen.
Irgendetwas ist falsch mit der Übergabe oder der Aufzeichnung.
Das aufzeichnen von normalen CUxD sowie CCU Datenpunkten funktioniert, ebenso die Trenddarstellung unter Highcharts.

Ein Systemgerät (28) mit dem Namen Logger (CUX.2801002) ist angelegt.

Ist die Systemvariable (STROM,Zeichenkette) größer oder gleich null und ändert sich ihr wert, wird folgendes Script ausgelöst:
object o = dom.GetObject("STROM");
if (o) {
dom.GetObject("CUxD.CUX2801002:1.LOGIT").State(o.Name()#";"#o.Value());
}

Folgende Änderungen in den Parametern wurde vorgenommen:
DEVLOGFILE=/tmp/devlog.txt
DEVLOGSIZE=
DEVLOGMOVE=/media/sd-mmcblk0/cuxd/devlog
SUBSCRIBE_RF=1
SUBSCRIBE_WR=1
LOGIT=CUX2801001:1 << Ist dieser Eintrag nötig bzw. richtig???
Wahrscheinlich ist der Fehler ganz klein, aber ich komme nicht drauf. Hoffe jemand kann mir helfen.

Gruß

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 14:05
von uwe111
Hast Du's schon mal so (wie in der CUxD-Doku beschrieben) probiert?

Code: Alles auswählen

object o = dom.GetObject("$src$");
Mr.Burns hat geschrieben:LOGIT=CUX2801001:1 << Ist dieser Eintrag nötig bzw. richtig???
Nein, ist nicht notwendig!

Viele Grüße

Uwe

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 14:40
von paul53
Mr.Burns hat geschrieben:Ist die Systemvariable (STROM,Zeichenkette) größer oder gleich null und ändert sich ihr wert, wird folgendes Script ausgelöst:
Ob sich der Wert ändert, ist mit den Bedingungen dess WebUI-Programmes nicht feststellbar. Das Programm muss bei Aktualisierung ausgelöst werden.
Ob eine Wertänderung stattgefunden hat, lässt sich innerhalb des Scripts testen:

Code: Alles auswählen

object o = dom.GetObject("$src$");
if (o)
{ if (o.Value() <> o.LastValue()) 
  { dom.GetObject("CUxD.CUX2801002:1.LOGIT").State(o.Name()#";"#o.Value());
  }
}

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 15:58
von Mr.Burns
Hat funktioniert. Ich hab bestimmt 5 verschiedene Script ausprobiert und nichts hat funktioniert. Das aus dem Handbuch wohl in abgewandelter Form...was bedeutet "$src$" ich kann kein "C". Klau mir das immer so zusammen.

Ich vermute mal, das es 2 Fehler waren, das fehlerhafte script und die Ausführung bei Aktualisierung.
Geht das nicht auf die Performance der CCU wenn die jeden Zyklus dieses Programm abarbeitet?
Ist dann wohl auch bei jedem Script, welches über eine Systemvariable getriggert wird, oder?

Das loggen der variable funktioniert jetzt (sieht man unter Info ->Devicelog), allerdings öffnet sich das Highcharts nicht mehr.
Wenn ich versuche direkt über CCU ->Systemsteuerung->Zusatzprogramme->Highcharts->Menu->Charts anzeigen erscheint die Fehlermeldung: Fehler: "keine CUxD LOGIT Zeile gefunden! lade cuxd.ini"
Wenn ich es über CUxD öffne bekomme ich keine Fehlermeldung nur die Ladeseite angezeigt (ohne Datenpunkte, Werte etc.)

Muss vielleicht doch etwas in die LOGIT Zeile unter Parameter?

Gruß

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 16:11
von uwe111
Mr.Burns hat geschrieben:Muss vielleicht doch etwas in die LOGIT Zeile unter Parameter?
es ist möglich, dass HighCharts nach einer LOGIT= Zeile im Setup sucht.
Vielleicht funktioniert dann auch LOGIT=xyz. Einfach probieren.

Viele Grüße

Uwe

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 16:26
von paul53
Mr.Burns hat geschrieben:...was bedeutet "$src$" ich kann kein "C".
Hat nichts mit "C" zu tun, sondern ist in der HM-Script-Doku, Teil 1, Punkt 7.2 beschrieben.
Mr.Burns hat geschrieben:Geht das nicht auf die Performance der CCU wenn die jeden Zyklus dieses Programm abarbeitet?
HomeMatic kennt keine zyklische Abarbeitung von Programmen, außer es ist mittels Zeitmodul eine zyklische Abarbeitung programmiert. Das Programm wird immer dann ausgelöst, nachdem die SV durch das Programm, das die SV setzt, aktualisiert wurde.

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 22:12
von Mr.Burns
Danke, es funktioniert. LOGIT=xyz hab ich noch nicht ausprobiert, aber wenn man einen anderen Datenpunkt setzt z. B. eine Temperatur aus der Homematic, findet er auch Datenpunkte im Highchart und öffnet es problemlos.

Das mit LOGIT=xyz werd ich aber noch ausprobieren.

Danke für die Information bzw. des Scripts. Ich hab die Beschreibung schon mal überflogen aber nicht so gut verstanden, deshalb auch nicht behalten. Muss mich dafür entschuldigen, mit etwas Fleiß hätte ich mir die Frage selber beantworten können.

Prüfen auf Aktualisierung bedeutet also, das auf Änderung der Aktualität nicht des wertes getriggert wird. Hatte ich immer falsch verstanden...wieder was gelernt. Danke.

Gruß

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 29.10.2014, 22:22
von uwe111
Mr.Burns hat geschrieben:Das mit LOGIT=xyz werd ich aber noch ausprobieren.
Musst Du nicht. Das war nur ein Beispiel, falls Dir kein anderer Datenpunkt einfällt. :)
Könnte auch LOGIT=sh7623jsf sein. :)

Viele Grüße

Uwe

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 30.10.2014, 21:05
von peissl.at
Hi,

ich logge mehr als 20 Systemvariablen. Alle mit nur einem Programm, und dem obigen Script.

Es ist definitiv kein "LOGIT=irgendwas" nötig

Sonnige Grüße!
Robert

Gesendet von meinem iPad mit Tapatalk HD

Re: Systemvariable loggen mit CUxD und Highcharts

Verfasst: 30.10.2014, 23:21
von uwe111
Hallo Robert,
peissl.at hat geschrieben:Es ist definitiv kein "LOGIT=irgendwas" nötig
Zum Loggen natürlich nicht! Aber zum Starten von HighCharts schon.

Viele Grüße

Uwe