CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

hmpdr
Beiträge: 16
Registriert: 22.02.2014, 12:45
Hat sich bedankt: 3 Mal

CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von hmpdr » 06.11.2014, 19:12

Hallo Zusammen,

vielleicht kann mir jemand helfen.

Ich würde gerne CCU2 Daten wie Memory Auslastung, CPU Auslastung usw, - welche z.B. im CUxD Status angezeigt werden - in Systemvariablen laden.

Ich habe zwar Artikel im Forum gefunden, welche so etwas mit Unix Scripts beschreiben, aber das verstehe ich nicht so ganz. Ich suche etwas auf Basis WEBIU Script Sprache - einfach zum Verstehen und damit einfach zum Nachbilden.

Ich wäre froh, wenn mir jemand hilft.

Danke und Gruss
Peter

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

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von alchy » 06.11.2014, 19:53

<< H I E R >> wäre doch so was.

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.

hmpdr
Beiträge: 16
Registriert: 22.02.2014, 12:45
Hat sich bedankt: 3 Mal

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von hmpdr » 06.11.2014, 22:30

Hallo Alchy,

Danke für die schnelle Antwort.
Ich kenne den Artikel, wollte aber nicht auf diesem Niveau etwas auf der CCU installieren, sondern auf dem Level des WEBUI & Script bleiben. Ich habe es vor einiger Zeit versucht als WEBUI Script laufen zu lassen, bin aber gescheitert.
Frage: wie kann ich das in ein WEBUI Script umsetzen? Wenn ich das wüsste, würde ich es sofort angehen. Es ist schon genau das, was ich suche.

Danke und Gruss
Peter
CCU2 2.11.6

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

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von alchy » 07.11.2014, 07:28

cuxd vorausgesetzt, schnell mal zusammengetütelt:

1. Erstelle eine Systemvariable Typ Zeichenkette Name SYSfreeMem
2. Erstelle ein Klickibuntiprogramm:

Wenn Zeitsteuerung alle 15min dann Script ausführen.

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /proc/meminfo | grep 'MemFree:'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var x = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
x = x.Substr(15,12);
dom.GetObject("SYSfreeMem").State(x);
Meinst Du so was ?

Alchy
unterwegs getippelt

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.

hmpdr
Beiträge: 16
Registriert: 22.02.2014, 12:45
Hat sich bedankt: 3 Mal

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von hmpdr » 07.11.2014, 08:12

JA, genau das meine ich!
Danke - ich werde es so im Klickibunti :D probieren und wieder berichten.

Gruss
Peter

hmpdr
Beiträge: 16
Registriert: 22.02.2014, 12:45
Hat sich bedankt: 3 Mal

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von hmpdr » 07.11.2014, 09:30

Hallo Alchy,
ich habe es ausprobiert - es funktioniert. Nun habe ich das Prinzip von Dir gezeigt bekommen und kann weiterarbeiten.
Die CPU Verbrauchsangaben habe ich noch nicht gefunden. Da muss ich nochmals weitersuchen.

Danke nochmals für den schnelle Hilfe

Gruss
Peter

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

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von alchy » 07.11.2014, 10:00

hmpdr hat geschrieben:Hallo Alchy,
ich habe es ausprobiert - es funktioniert.
schön. Ist auf dem Handy schwer zu tippeln.
hmpdr hat geschrieben: Nun habe ich das Prinzip von Dir gezeigt bekommen und kann weiterarbeiten.
Die CPU Verbrauchsangaben habe ich noch nicht gefunden. Da muss ich nochmals weitersuchen.
Das war der Sinn des Ganzen. :mrgreen:
Hier solltest Du das Gesuchte finden

Code: Alles auswählen

/proc/loadavg
hmpdr hat geschrieben: Danke nochmals für den schnelle Hilfe
Gruss
Peter
Bitte, keine Ursache. Viel Spass noch.

Alchy
unterwegs getippelt

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.

Segway
Beiträge: 241
Registriert: 07.12.2014, 12:23
Hat sich bedankt: 15 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von Segway » 04.01.2015, 16:29

So, das habe ich soweit verstanden und auch umgesetzt. Variable wird gefüllt (in einem anderen Thread diskutiere ich noch wie ich das im Highcharts angezeigt bekomme - da gibts noch Probleme).

Natürlich hab ich nun "Blut" geleckt und habe mir die Dateien memInfo und loadavg angeschaut.
memInfo ist für mich klar --> wenn ich da noch was angezeigt haben möchte dann füge ich eine neue Systemvariable ein. Nehme ich dafür dann ein neues programm oder erweitere ich das vorhanden ??? Evtl. so:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /proc/meminfo | grep 'MemFree:'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var x = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
x = x.Substr(15,12);
dom.GetObject("CCU2_SYSfreeMem").State(x);

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /proc/meminfo | grep 'MemTotal:'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var y = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
y = y.Substr(15,12);
dom.GetObject("CCU2_SYSTotalMem").State(y);
Bei der datei loadavg gibt es ja so keine "Struktur" wenn ich das mal so sagen darf. Wie sind dann zB die drei ersten Werte in drei Variablen zu setzen ? (so viel ich weiss ist das die CPU Ausnutzung gemittelt 1 Min, 5 Min und 15 Min).

---------------------------------------------------------
Intel NUC6CAYH mit Debian & Proxmox und IoB als VM unter Debian
CCU2 (aktuell FW 2.31.25) mit CUxD, E-mail Addon, Highcharts, HQ WebUI alles in eine SQL-DB; MAX7219 DotMatrix Display mit WeMos D1R2 in Vorbereitung
Komponenten aktuell: viele

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

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von alchy » 04.01.2015, 21:39

Ich kann nicht grossartig probieren, da wieder unterwegs.
Versuch mal folgendes Script im Scriptexecuter

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /proc/loadavg");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var x = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
var eins = x.Substr(0,4);
var zwei = x.Substr(5,4);
var drei = x.Substr(10,4);
WriteLine(x #"\n" #eins # " | "# zwei # " | "# drei);
!dom.GetObject("Load_1min").State(eins);
!dom.GetObject("Load_5min").State(zwei);
!dom.GetObject("Load_15min").State(drei);
Ist die Ausgabe korrekt und immer logisch?
Dann kannst Du ja die Systemvariablen anlegen (im Scriptbeispiel Load_1min + Load_1min + Load_15min)
die Ausrufezeichen vor den letzten 3 Zeilen entfernen und die Writelinezeile entfernen.
Dann zu deinem Speicherabfragescript dazu nehmen usw.
Alles klar?

Kann nur aus dem Gedächtnis schreiben, aber so ungefähr müsste es gehen. :?:

Alchy
unterwegs getippelt

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.

Segway
Beiträge: 241
Registriert: 07.12.2014, 12:23
Hat sich bedankt: 15 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 Systemzustände (Mem, CPU, ..) in Sysvar speichern

Beitrag von Segway » 04.01.2015, 22:10

Einfach nur BOMBE !!!!
Funktioniert hervorragend :-) Und das mal eben so von unterwegs :shock: HUT AB

---------------------------------------------------------
Intel NUC6CAYH mit Debian & Proxmox und IoB als VM unter Debian
CCU2 (aktuell FW 2.31.25) mit CUxD, E-mail Addon, Highcharts, HQ WebUI alles in eine SQL-DB; MAX7219 DotMatrix Display mit WeMos D1R2 in Vorbereitung
Komponenten aktuell: viele

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“