Systemvariable loggen mit CUxD und Highcharts

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von alchy » 06.01.2019, 19:33

Du wendest Methoden auf die falschen Objekte an und dadurch werden entsprechende Fehler erzeugt.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Gut-Drauf
Beiträge: 121
Registriert: 22.01.2018, 19:29
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von Gut-Drauf » 06.01.2019, 20:04

Verstehe ich nicht ganz. Es wird doch der Status der im WebUI-Programm abgefragten Systemvariablen für CUxD unter der im Script angegebenen "CUxD.CUX2801001:1.LOGIT" mitgeschrieben.
Gruß aus dem Norden Bayerns, F.

CCU3, HMIP-HAP, 1x HMIP-SWDO, 3x HM-LC-Sw4-PCB, 1x HM-LC-Sw1-Ba-PCB, 3x HM-WDS30-OT2-SM, 5x HmIP-BWTH, 3x HmIP-SRH, 1x HM-LC-Sw2PBU-FM, 8x HM-Sec-SCo, 1x Weatherman, CUxD, CUxD-Highcharts, CCU-Historian,1x Shelly1PM

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von alchy » 06.01.2019, 21:20

Gut-Drauf hat geschrieben:
06.01.2019, 20:04
Es wird doch der Status der im WebUI-Programm abgefragten Systemvariablen für CUxD unter der im Script angegebenen "CUxD.CUX2801001:1.LOGIT" mitgeschrieben.
Das ist de Theorie, aber dein Script macht das eben nicht, weil es fehlerhaft ist.
Dein Script funktioniert so nur bei einem Gerätedatenpunkt (unter bestimmten Voraussetzungen) und nicht bei einer Systemvariablen als Programmtrigger.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von uwe111 » 07.01.2019, 09:22

Gut-Drauf hat geschrieben:
06.01.2019, 20:04
Verstehe ich nicht ganz. Es wird doch der Status der im WebUI-Programm abgefragten Systemvariablen für CUxD unter der im Script angegebenen "CUxD.CUX2801001:1.LOGIT" mitgeschrieben.
Nein, wird er nicht.
Gut-Drauf hat geschrieben:
06.01.2019, 18:55
Was mache ich falsch?
Schau Dir mal die Beispiele in den ersten Beiträgen dieses Themas an. Dann solltest Du den Unterschied erkennen.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

manolo
Beiträge: 197
Registriert: 04.12.2018, 11:23
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von manolo » 07.01.2019, 09:26

Gut-Drauf hat geschrieben:
06.01.2019, 18:55
Hallo,
ich bekomme vom "Rainyman" div. Werte in verschiedene Systemvariable eingetragen. Jetzt möchte ich diese mit CUxD und Highchart loggen. Ich habe in der WebUI ein Programm erstellt, welches bei Aktualisierung einer Variablen (Ein oder Aus) folgendes Script auslöst:

object o = dom.GetObject("$src$");
if (o) {
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State( (dom.GetObject((o.Channel()))).Name() #";"#(o.Value().ToInteger() * 10));
}

In CUxD wird zwar etwas gelogged, aber da steht dann immer:

2019-01-06T18:23:22 null
2019-01-06T18:24:28 null

Was mache ich falsch?

Code: Alles auswählen

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

}
Raspi 3 mit piVCCU3

Benutzeravatar
NilsG
Beiträge: 1684
Registriert: 09.08.2013, 23:44
System: CCU
Hat sich bedankt: 381 Mal
Danksagung erhalten: 30 Mal
Kontaktdaten:

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von NilsG » 05.05.2019, 09:37

Moin zusammen!

Wie löst ihr denn das Script zuverlässig aus, auch wenn die CCU mal neugestartet wurde?!

Wie löst ihr das Script genrell aus? Welchen Trigger nehmt ihr da?

Wenn ich auf die Aktualisierung der jeweiligen Variable trigger, geht das ja nur solange die sich auch ändert :|
Bin ich im Urlaub, und Wasser z.B. läuft nicht, klappt das nicht!

DANKE!

Gruß,
Nils
Grüße und DANKE! 🍻

Nils

-----------------------------------------
CCU3 + 2x LAN-Gateway

joesch
Beiträge: 789
Registriert: 03.02.2007, 14:57
Hat sich bedankt: 64 Mal
Danksagung erhalten: 2 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von joesch » 01.11.2020, 21:27

Wie muss ich das Skript

Code: Alles auswählen

object o = dom.GetObject("$src$");
if (o) {
dom.GetObject("CUxD.CUX2801003:1.LOGIT").State(o.Name()#";"#o.Value());
}
ändern bzw. wodurch muss ich das Attribut "Name" ersetzen, um statt des Namens der Systemvariable deren Beschreibung in den Charts dargestellt zu bekommen?

VG, joesch

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von alchy » 01.11.2020, 21:55

.DPInfo() verwenden statt .Name()

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

MathiasZ

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von MathiasZ » 02.11.2020, 08:06

Ich hatte das gleiche Problem.
Die Systemvariablen lassen sich einfach nicht loggen.
Nun bin ich auf CCU-Historian umgestiegen und es läuft prima!
Nur so am Rande bemerkt.

joesch
Beiträge: 789
Registriert: 03.02.2007, 14:57
Hat sich bedankt: 64 Mal
Danksagung erhalten: 2 Mal

Re: Systemvariable loggen mit CUxD und Highcharts

Beitrag von joesch » 02.11.2020, 08:33

Hallo Matthias,
MathiasZ hat geschrieben:
02.11.2020, 08:06
Ich hatte das gleiche Problem...
das Problem hatte ich hier nicht. Ich wollte nur eine andere Bezeichnung im Diagramm. Das hat dann auch wie von alchy beschrieben gut geklappt.

Zugegebnermaßen musste ich davor auch erst etwas "basteln". Da es erst nicht klappte, habe ich nach dem Lesen im Forum einfach mal "resettet" ;-)
- ein leeres Programm erstellt
- o.g. Skript hineinkopiert
- als Auslöser zum Testen erst einmal nur eine Systemvariable "auf Aktualisieren" gewählt
- geprüft, ob das CuxD-Gerät mit dem angegebenen Kanal tatsächlich im System existiert
- im CUuxD-Setup die Zeile "LOGIT=xyz" ergänzt (zum Starten von HighChart)

Und was soll ich sagen - es hat geklappt. Von diesem Punkt aus habe ich dann nach und nach die zu loggenden Sysvar's ergänzt.

VG, Jörg
System: RaspberryMatic auf Raspberry Pi 3 Model B Rev 1.2 (rpi3) mit RPI-RF-MOD (4.4.22)

Antworten

Zurück zu „CUxD“