das hatten wir doch schon mal in viewtopic.php?f=65&t=46377&p=464307&hilit=free#p464130
RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 215
- Registriert: 19.01.2015, 07:42
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 8 Mal
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
RaspberryMatic 3.73.9.20231130 on Proxmox, HB-RF-ETH and Aurel Groundplane binded by openHAB 4.1.1
- klana
- Beiträge: 1087
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 54 Mal
- Danksagung erhalten: 26 Mal
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Hallo Jens,
hier das Script dazu. Den DutyCycle hab ich auskommentiert, da der ja jetzt automatisch kommt.
Code: Alles auswählen
! Systeminfos auslesen und in Systemvariablen speichern
!--------------------------------------------------------------
! Folgende Systemvariablen in der CCU2 anlegen:
! CCU2_DutyCycle,
! CCU2_Load_1min,
! CCU2_Load_5min,
! CCU2_Load_15min,
! CCU2_SYSfreeMem,
! CCU2_SYSTotalMem
! CCU2_UpTime,
! CCU2_FWVersion
! CCU2_ReGa_Version
!--------------------------------------------------------------
boolean debug = false; ! Debug einschalten mit true
string strOut = ""; ! Outputpuffer für Rückgaben
string command = ""; ! Auszuführendes Commando
string stdout;
string stderr;
string list = "";
!--------------------------------------------------------------
! DutyCycle CCU mit HM Script und CUxD.exec (c) by Alchy v 0.1
!--------------------------------------------------------------
! command = "echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]'|tclsh |grep -o 'DUTY_CYCLE.[0-9]*.'";
! dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(command);
! dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
! if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_DutyCycle"))
! {
! if(debug)
! {
! WriteLine((dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex(" ",1)).ToFloat());
! }
! else
! {
! dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_DutyCycle").State((dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex(" ",1)).ToFloat());
! list = system.Date("%H:%M:%S") # " Raspi-DutyCycle " #(dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex(" ",1)).T
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
! }
!}
!--------------------------------------------------------------
! CCU2 Load-Average
! FEHLT NOCH : 10s-cpu-load: 28.3%
!--------------------------------------------------------------
command = "cat /proc/loadavg";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(command);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
strOut = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_Load_1min"))
{
var loadA_1Min = strOut.Substr(0,4);
var loadA_5Min = strOut.Substr(5,4);
var loadA_15Min = strOut.Substr(10,4);
var vier = strOut.Substr(15,5);
var fuenf = strOut.Substr(21,5);
if (debug) {
WriteLine("?? : "#strOut);
WriteLine("Gemittelt 1 Minute : " #loadA_1Min);
WriteLine("Gemittelt 5 Minuten : " #loadA_5Min);
WriteLine("Gemittelt 15 Minuten : " #loadA_15Min);
WriteLine("aktuell lauffähigen (runnable) Prozesse / Anzahl der Kernel Scheduling Entities im System : " #vier);
WriteLine("PID des jüngsten im System erzeugten Prozesses : " #fuenf);
} else {
dom.GetObject("CCU2_Load_1min").State(loadA_1Min);
dom.GetObject("CCU2_Load_5min").State(loadA_5Min);
dom.GetObject("CCU2_Load_15min").State(loadA_15Min);
! list = system.Date("%H:%M:%S") # " Raspi-Load-1min " #loadA_1Min;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
! list = system.Date("%H:%M:%S") # " Raspi-Load-5min " #loadA_5Min;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
! list = system.Date("%H:%M:%S") # " Raspi-Load-15min " #loadA_15Min;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
}
!--------------------------------------------------------------
! Memory Frei
!--------------------------------------------------------------
command = "cat /proc/meminfo | grep 'MemFree:'";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(command);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
strOut = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
strOut = strOut.Substr(15,12);
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_SYSfreeMem"))
{
if (debug) {
WriteLine("CCU2 SYSfreeMem : " #strOut);
} else {
dom.GetObject("CCU2_SYSfreeMem").State(strOut);
! list = system.Date("%H:%M:%S") # " Raspi-SYSfreeMem " #strOut;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
}
!--------------------------------------------------------------
! Memory Total
!--------------------------------------------------------------
command = "cat /proc/meminfo | grep 'MemTotal:'";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(command);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
strOut = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
strOut = strOut.Substr(15,12);
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_SYSTotalMem"))
{
if (debug) {
WriteLine("CCU2 SYSTotalMem : "#strOut);
} else {
dom.GetObject("CCU2_SYSTotalMem").State(strOut);
! list = system.Date("%H:%M:%S") # " Raspi-SYSTotalMem " #strOut;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
}
!--------------------------------------------------------------
! Uptime (Betriebszeit) der CCU2 oder Raspberry auslesen
!--------------------------------------------------------------
command = "cat /proc/uptime | awk '// { printf \"%d Tage %02d Std %02d Min\", $1/86400, $1/3600%24, $1/60%60 }'";
dom.GetObject ("CUxD.CUX2801001:1.CMD_SETS").State (command);
dom.GetObject ("CUxD.CUX2801001:1.CMD_QUERY_RET").State (1);
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_UpTime"))
{
if(debug) {
WriteLine("CCU2_UpTime : " #dom.GetObject ("CUxD.CUX2801001:1.CMD_RETS").State());
}
else {
dom.GetObject ("CCU2_UpTime").State(dom.GetObject ("CUxD.CUX2801001:1.CMD_RETS").State());
! list = system.Date("%H:%M:%S") # " Raspi-UpTime " #dom.GetObject ("CUxD.CUX2801001:1.CMD_RETS").State();
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
}
!--------------------------------------------------------------
! CCU2 Firmwareversion
!--------------------------------------------------------------
command = "cat /boot/VERSION";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(command);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
strOut = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_FWVersion"))
{
if(strOut)
{
if(debug) {WriteLine("strOut:" #strOut);}
strOut = strOut.StrValueByIndex("=",1).Trim();
if (debug) {
WriteLine("CCU2 Version : "#strOut);
WriteLine("Lange: "#strOut.Length());
} else {
dom.GetObject("CCU2_FWVersion").State(strOut);
! list = system.Date("%H:%M:%S") # " Raspi-Version " #strOut;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
}
}
! CPU Temperatur Raspi auslesen und noch mit Parse das Ergebnis splitten
! # vcgencmd measure_temp
! temp=41.2'C
string temp;
system.Exec("vcgencmd measure_temp | cut -d '=' -f2 | cut -d\"'\" -f1", &temp);
if(temp != "")
{
temp = temp.ToFloat();
dom.GetObject(ID_SYSTEM_VARIABLES).Get("CPU_Temp").State(temp);
! list = system.Date("%H:%M:%S") # " Raspi-CPU-Temp " #temp;
! system.Exec("logger -t script -p user.debug [CuxD-Timer-15Minuten : "# list #"]", &stdout, &stderr);
}
dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU2_ReGa_Version").State(dom.BuildLabel());
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
- jmaus
- Beiträge: 9846
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Ok, Dank. MemFree kannst du zu dem Zwecke wie du es nutzt wirklich nicht nutzen, denn das sagt absolut nichts aus denn du musst da den gemachten RAM mit dazuaddieren. Verwende doch am besten mal einen meiner folgenden Sysinfo Skripte:
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("CPU_Temp").State(temp);
}
system.Exec("cat /proc/loadavg | cut -d' ' -f-3 | tr -d '\n'", &temp);
if(temp != "") {
dom.GetObject(ID_SYSTEM_VARIABLES).Get("CPU_Load").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("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("SYS_Uptime").State(temp);
}
system.Exec("/usr/bin/ntpq -pn | grep '*' | awk '{print $9}'", &temp);
if(temp != "") {
dom.GetObject(ID_SYSTEM_VARIABLES).Get("SYS_NTPOffset").State(temp);
}
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- klana
- Beiträge: 1087
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 54 Mal
- Danksagung erhalten: 26 Mal
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
jmaus hat geschrieben: ↑19.12.2018, 13:59Ok, Dank. MemFree kannst du zu dem Zwecke wie du es nutzt wirklich nicht nutzen, denn das sagt absolut nichts aus denn du musst da den gemachten RAM mit dazuaddieren.
...
Das sollte alles im Grunde fast genauso berechnen/ermitteln wie deins. Lediglich den Memory lass ich dort als Prozentuale Ausnutzung berechnen was IMHO mehr Sinn macht als das was du da versuchst zu vergleichen.
Hallo Jens,
Danke schön...hier die Ausgaben aus deinem Script.
Die Variablen hab ich vom Namen angepasst, damit ich alle zusammen habe in der Anzeige.
Einige Fragen habe ich noch:
1. Was ist "gemachter RAM"?
2. Was ist NTPOffset?
Gruß
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
tja was soll ich sagen, da der Thread ewig lang ist, wirst du meine Ursprungs frage etc. einfach nicht gelesen haben.NickHM hat geschrieben: ↑11.12.2018, 23:33Vielen Dank. Das ist jetzt deutlich allgemeiner und nichts sagender. Damit besteht keine Gefahr mehr, dass jemand antwortet.
Lies einfach den Verlauf nach wenn es dich interessieren sollte ...
Mein Frage bleibt bestehen ob es immer noch Probleme im HmIP BEreich gibt weil alle HmIP Geräte immer noch Probleme verursachen bzw. einfach teilweise nicht senden bzw. empfangen können
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
ich habe festgestellt, dass in der neuen Raspberrymatic Software (3.41.11.20181126 Raspberry PI3+) sich die 1. Dimmaktor Kanäle(CH:8) der BSL nicht mit einem Programm ansprechen lassen. Die Kanäle CH:12 sind auswählbar. In der Geräteliste werden diese korrekt angezeigt.
Testweise bin ich zurück auf 3.37.8.20181026. Hier funktioniert es korrekt.
Jemand eine Idee ?
Dankeschön
Testweise bin ich zurück auf 3.37.8.20181026. Hier funktioniert es korrekt.
Jemand eine Idee ?
Dankeschön
- stan23
- Beiträge: 2038
- Registriert: 13.12.2016, 21:14
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Altmühltal
- Hat sich bedankt: 582 Mal
- Danksagung erhalten: 336 Mal
- Kontaktdaten:
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Das sollte wohl gecachter RAM heißen.
Linux lädt quasi schon Dinge voraus, die es glaubt mal brauchen zu können. Wenn sie tatsächlich gebraucht werden, ist das positiv weil sie eben schon im Arbeitsspeicher liegen. Wenn der Speicherplatz anderweitig gebraucht wird, kann der gecachte Bereich verworfen werden ohne dass es weh tut.
Das spekulative Laden im Voraus (immer in den nächst-schnelleren Speichertyp) ist eines der hauptsächlichen Mittel um die Geschwindigkeit zu erhöhen.
Viele Grüße
Marco
RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)
Marco
RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)
- klana
- Beiträge: 1087
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 54 Mal
- Danksagung erhalten: 26 Mal
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Hallo stan23,
die Rechtschreibkorrektur ist manchmal wirklich "doof"
"gecachter RAM" ist natürlich besser verständlich.
Danke für die Ausführungen
Ich hoffe nur das dieser auch wirklich wieder frei gegeben wird, denn es wird immer noch weniger.
Soviel wie das Ding cacht hab ich gar nicht...
Gruß
Klana
die Rechtschreibkorrektur ist manchmal wirklich "doof"
"gecachter RAM" ist natürlich besser verständlich.
Danke für die Ausführungen
Ich hoffe nur das dieser auch wirklich wieder frei gegeben wird, denn es wird immer noch weniger.
Soviel wie das Ding cacht hab ich gar nicht...
Gruß
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
-
- Beiträge: 325
- Registriert: 10.03.2015, 10:54
- Wohnort: Süd NDS
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 8 Mal
Re: RaspberryMatic 3.41.11.20181126 – Erfahrungsberichte
Hallo,
die alten Heizkörperthermostate zicken bei mir.
HM-CC-VD
Alle von einen alten Thermostat (HM-CC-TC) gehen gemeinsam auf kein Empfang (Störung in der CCU).
Sie kommen auch nicht wieder. NAch Neustart der CCU sind sie wieder da (für eine Zeit) um dann wieder in Störung zu gehen.
die alten Heizkörperthermostate zicken bei mir.
HM-CC-VD
Alle von einen alten Thermostat (HM-CC-TC) gehen gemeinsam auf kein Empfang (Störung in der CCU).
Sie kommen auch nicht wieder. NAch Neustart der CCU sind sie wieder da (für eine Zeit) um dann wieder in Störung zu gehen.
MfG
Sissiwup
--------------------------------------------
CCu3,CCu2Gateway,RaspiGateway,LanGateway
--------------------------------------------
Sissiwup
--------------------------------------------
CCu3,CCu2Gateway,RaspiGateway,LanGateway
--------------------------------------------
Firmware Updates mit Raspberrymatic
Hallo,
nachdem ich mit Firmware-Updates der Thermostatventile (HM-CC-RT-DN) auf 1.5. nur Probleme hatte, frage ich mich nun:
Es werden in der RaspberryMatic Firmware-Updates angeboten, welche ich in der EQ3 Downloadseite nicht finde.
Es gibt dann auch keine Dokumentation der Änderungen! Oder muss ich woanders suchen?
Der Thermostat HM-CC-RT-DN steht dort nach wie vor unter 1.4. - RaspberryMatic bietet 1.5 an.
Die Wetterstation HmIP-SWO-B steht dort mit FW 1.0.14 während RaspberryMatic mir den Update auf 1.0.18 anbietet.
Woher nimmt Raspberrymatic die Firmware-Updates und wo finde ich die Dokumentation zu den Änderungen?
Der Firmware-Update einzelner HM-IP Geräte (z.B. Wetterstation) dauerte beim letzten Mal 2-3 Tage.
Woran könnte das liegen?
Insgesamt frage ich mich, ob ich die angebotenen FW-Updates nicht besser ignoriere, da diese in den letzten 2 Jahren nur Probleme bereitet haben.
Grüße
Thomas
nachdem ich mit Firmware-Updates der Thermostatventile (HM-CC-RT-DN) auf 1.5. nur Probleme hatte, frage ich mich nun:
Es werden in der RaspberryMatic Firmware-Updates angeboten, welche ich in der EQ3 Downloadseite nicht finde.
Es gibt dann auch keine Dokumentation der Änderungen! Oder muss ich woanders suchen?
Der Thermostat HM-CC-RT-DN steht dort nach wie vor unter 1.4. - RaspberryMatic bietet 1.5 an.
Die Wetterstation HmIP-SWO-B steht dort mit FW 1.0.14 während RaspberryMatic mir den Update auf 1.0.18 anbietet.
Woher nimmt Raspberrymatic die Firmware-Updates und wo finde ich die Dokumentation zu den Änderungen?
Der Firmware-Update einzelner HM-IP Geräte (z.B. Wetterstation) dauerte beim letzten Mal 2-3 Tage.
Woran könnte das liegen?
Insgesamt frage ich mich, ob ich die angebotenen FW-Updates nicht besser ignoriere, da diese in den letzten 2 Jahren nur Probleme bereitet haben.
Grüße
Thomas