CCU3 interne Variablen / Stati nutzen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
HMWired-Rookie
Beiträge: 15
Registriert: 03.06.2021, 20:36
System: CCU
Hat sich bedankt: 7 Mal

CCU3 interne Variablen / Stati nutzen

Beitrag von HMWired-Rookie » 29.11.2021, 18:58

Hallo zusammen!

Ich werde einfach nicht fündig, ich suche wahrscheinlich nach den falschen Begriffen :roll: Bin Anfänger mit der CCU3, also bitte um Nachsicht :wink:
Komme eher aus der Welt der Automatisierung mit SPSen, daher kenne ich auch die Nutzung der internen Variablen wie Status, Taktmerker, etc...
Ich würde gerne interne Stati der CCU auslesen um diese dann nutzen zu können - z.B. CCU fährt gerade hoch, CCU läuft, etc. Hintergrund ist, dass ich optisch anzeigen will, ob die CCU sauber läuft... hat jemand eine Übersicht über nutzbare Variablen?

Vielen Dank schonmal vorab,
Grüße, Nicolas.

Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: CCU3 interne Variablen / Stati nutzen

Beitrag von Xel66 » 29.11.2021, 19:07

Bei Raspberrymatic kann man entsprechenden Daten (Speicher- und Prozessorauslastung) auslesen und in Systemvariablen hinterlegen. Wie sinnvoll und ob es notwendig ein permanentes Monitoring ist, muss jeder für sich selbst entscheiden. Aber viel mehr Daten wirst Du nicht auslesen können und benötigen. Wenn die CCU nicht läuft, wirst Du das schon schon merken. Solche Status wie "fährt hoch" u.ä. sind mehr oder minder aussagekräftig, da sich eine Hausautomatik-Zentrale 99,999...% der Zeit im Betriebsstatus befindet (vorausgesetzt, man hat sein System nicht absichtlich kaputt gemacht). Wichtiger wäre es, solche Dinge wie den Duty Cycle oder den Carrier Sense im Auge zu behalten als die Vitaldaten des Pi.

Bei mir läuft zyklisch dieses Script, welches ich aus mehreren Quellen zusammengestückelt habe.

Code: Alles auswählen

string temp;
system.Exec("cat /sys/class/thermal/thermal_zone0/temp | sed 's/.\{3\}$/.&/'", &temp);
if(temp != "") {
  dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU-Temperatur").State(temp);
}
system.Exec("cat /proc/loadavg | cut -d' ' -f-3 | tr -d '\n'", &temp);
if(temp != "") {
  dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU-ProzessorLoad").State(temp);
}
system.Exec("cat /proc/meminfo | egrep 'Mem(Total|Available)' | tr -d '\n' | awk '{ printf(\"%.1f\", 100-$4/$2*100) }'", &temp);
if(temp != "") {
  dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU-RAM_Usage").State(temp);
}
system.Exec("awk '{s=int($1);d=int(s/86400);h=int(s % 86400/3600);m=int(s % 3600 / 60); printf \"%d Tage, %dh %d min\", d, h, m}' /proc/uptime", &temp);
if(temp != "") {
  dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU-SYS_Uptime").State(temp);
}

Gruß Xel66
Zuletzt geändert von Xel66 am 29.11.2021, 19:12, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

HMWired-Rookie
Beiträge: 15
Registriert: 03.06.2021, 20:36
System: CCU
Hat sich bedankt: 7 Mal

Re: CCU3 interne Variablen / Stati nutzen

Beitrag von HMWired-Rookie » 29.11.2021, 19:11

Xel66 hat geschrieben:
29.11.2021, 19:07
Bei Raspberrymatic kann man entsprechenden Daten (Speicher- und Prozessorauslastung) auslesen und in Systemvariablen hinterlegen. Wie sinnvoll und ob es notwendig ein permanentes Monitoring ist, muss jeder für sich selbst entscheiden. Aber viel mehr Daten wirst Du nicht auslesen können und benötigen. Wenn die CCU nicht läuft, wirst Du das schon schon merken. Solche Status wie "fährt hoch" u.ä. sind mehr oder minder aussagekräftig, da sich eine Hausautomatik-Zentrale 99,999...% der Zeit im Betriebsstatus befindet (vorausgesetzt, man hat sein System nicht absichtlich kaputt gemacht). Wichtiger wäre es, solche Dinge wie den Duty Cycle oder den Carrier Sense im Auge zu behalten als die Vitaldaten des Pi.

Gruß Xel66
:) Ok, verstanden. Vielen Dank! Ich werde den Status einfach durch ein Programm anzeigen lassen. Wenn das Programm ausgeführt wird, dann sollte die CCU ja auch laufen! :)

Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: CCU3 interne Variablen / Stati nutzen

Beitrag von Xel66 » 29.11.2021, 19:13

Habe oben noch nachträglich das Script ("geklaut" bei jmaus :lol:) für ein paar Vitaldaten hinterlegt.

Gruß Xel66

EDIT: Quelle
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

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