CCU-Partition voll?

Virtualisierte CCU für Raspberry Pi und Clones

Moderator: Co-Administratoren

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: CCU-Partition voll?

Beitrag von MichaelN » 30.05.2022, 12:20

Da du ja anscheinend diese Grenze erreicht hast, wäre es ganz praktisch, wenn du uns die konkret mitteilen könntest. Mir ist da keine bekannt.

Code: Alles auswählen

string ccuinfo = "";
var info_programs = dom.GetObject(ID_PROGRAMS).Count();
var info_variables = dom.GetObject(ID_SYSTEM_VARIABLES).Count();
var info_devices = dom.GetObject(ID_DEVICES).Count();
var info_channels = dom.GetObject(ID_CHANNELS).Count();

ccuinfo = ("Programme: " # info_programs # " - Variablen: " # info_variables # " - Aktoren: " # info_devices # " - Kanäle: " # info_channels  );
WriteLine(ccuinfo);   
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: CCU-Partition voll?

Beitrag von Hugo Oberstein » 30.05.2022, 14:53

Hallo Michael,
ich weiß nicht, ob ich da die Grenze erreicht habe, oder ob da noch was anderes im Argen ist, was ich nur nicht so sehe.
WIe gesagt, ich konnte MEIN Problem durch das Löschen von inaktiven Programmen lösen. Ob das bei anderen auch funktioniert, weiß ich nicht.
Es kommt aber meiner Erfahrung nach auch auf die "Länge" des Programms an bzw die Anzahl der Einträge im Programm. Als ich damals das Problem hatte, konnte ich zwei kleine Programme beispielsweise anlegen (das dritte nicht), ein großes Programm für die drei Fälle (mit sonst , wenn.. ) verknüpft nicht.
Wurde ein altes Programme gelöscht, konnte ich sowohl die drei kleinen, als auch das große Programm ohne Probleme anlegen.

Ich habe mal Deinen Code ausgeführt, wobei ich zuvor ja schon ausgemistet hatte:

Programme: 447 - Variablen: 248 - Aktoren: 310 - Kanäle: 1964

Ich weiß nicht, ob das aber die Sache korrekt wieder gibt, kann man irgendwie die Gesamtzahl der Einträge in den Programmen ausgeben ?

LG
Hugo

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: CCU-Partition voll?

Beitrag von MichaelN » 30.05.2022, 15:03

Hugo Oberstein hat geschrieben:
30.05.2022, 14:53
kann man irgendwie die Gesamtzahl der Einträge in den Programmen ausgeben ?
ob das vollumfassend ist, weiß ich auch nicht. Versuch es mal damit:

Code: Alles auswählen

string ccuinfo = "";
var info_programs = dom.GetObject(ID_PROGRAMS).Count();
var info_cond = dom.GetObject(ID_SCONDITIONS).Count();
var info_dest = dom.GetObject(ID_SDESTINATIONS).Count();
var info_variables = dom.GetObject(ID_SYSTEM_VARIABLES).Count();
var info_devices = dom.GetObject(ID_DEVICES).Count();
var info_channels = dom.GetObject(ID_CHANNELS).Count();

ccuinfo = ("Programme: " # info_programs # " mit " # info_cond # " Bedingungen und " # info_dest # " Aktionen - Variablen: " # info_variables # " - Aktoren: " # info_devices # " - Kanäle: " # info_channels  );
WriteLine(ccuinfo);       
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: CCU-Partition voll?

Beitrag von Hugo Oberstein » 30.05.2022, 15:10

Hallo Michael,
here it comes:

Programme: 447 mit 4264 Bedingungen und 1777 Aktionen - Variablen: 248 - Aktoren: 310 - Kanäle: 1964


Hugp

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: CCU-Partition voll?

Beitrag von MichaelN » 30.05.2022, 15:29

Nun gut, wir können wohl festhalten, das Du überdurchschnittlich viele Programme hast. Ob es da ein Limit gibt, weiß am ehesten @jmaus. Daher ist der Beitrag in piVCCU nicht sonderlich gut aufgehoben. Auch der Threadtitel könnte aussagekräftiger sein. Ich an deiner Stelle würde mal den ! Button drücken und einen Mod um Verschiebung bitten.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: CCU-Partition voll?

Beitrag von Hugo Oberstein » 30.05.2022, 17:26

Hab ich gemacht.
Ich bin mal gespannt,ob noch was dabei heraus kommt.

Danke und lg

Hugo

Benutzeravatar
Baxxy
Beiträge: 10827
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 608 Mal
Danksagung erhalten: 2225 Mal

Re: CCU-Partition voll?

Beitrag von Baxxy » 30.05.2022, 23:26

Interessant.
Bisher habe ich noch nichts von irgendwelchen Programm-Limits gelesen.
Die ganze Struktur steckt ja in der homematic.regadom und das ist quasi eine XML-Datei.
Ob die "größenbeschränkt" ist oder dem System vielleicht irgendwie der Speicher ausgeht...?

Mein Ferienhaus-Hauptsystem hat jedenfalls scheinbar noch Luft... 8)

Code: Alles auswählen

Programme: 147 mit 843 Bedingungen und 398 Aktionen - Variablen: 342 - Aktoren: 75 - Kanäle: 552
Hier mal noch ein kleines Scriptchen für die Statistik:

Code: Alles auswählen

string stdout; string stderr;
system.Exec("free -h", &stdout, &stderr);
WriteLine(stdout);
system.Exec("df -h /usr/local", &stdout, &stderr);
WriteLine(stdout);
system.Exec("ls -lh /usr/local/etc/config/homematic.regadom | awk '{ print $5 }'", &stdout, &stderr);
WriteLine("homematic.regadom: "# stdout);
Ergibt bei mir (Pi4B-2GB):

Code: Alles auswählen

              total        used        free      shared  buff/cache   available
Mem:           1.8G      752.1M      525.3M        1.6M      617.0M        1.1G
Swap:          1.9G           0        1.9G

Filesystem                Size      Used Available Use% Mounted on
/dev/mmcblk0p3           12.8G     56.0M     12.1G   0% /usr/local

homematic.regadom: 12.7M

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: CCU-Partition voll?

Beitrag von Hugo Oberstein » 31.05.2022, 17:00

Hallo Baxxy,
mit Sicherheit kann man das bei mir viiiiiel eleganter und einfacher programmieren. Ich lerne immer noch und wenns einmal funktioniert, lasse ich es meistens auch so :-). Aber dadurch nimmts wahrscheinlich dreimal so viel Platz ein, wie nötig :D .

Swapiness ist bei mir auf 0


Dein Script ergibt bei mir auf dem Pi4 4GB

Code: Alles auswählen

Filesystem                Size      Used Available Use% Mounted on
/dev/root                29.0G     11.6G     16.2G  42% /
homematic.regadom: 26.2M

Benutzeravatar
jmaus
Beiträge: 9862
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1880 Mal
Kontaktdaten:

Re: CCU-Partition voll?

Beitrag von jmaus » 15.06.2022, 21:39

MichaelN hat geschrieben:
30.05.2022, 15:29
Ob es da ein Limit gibt, weiß am ehesten @jmaus.
Nein, feste Limits gibts da inzwischen nicht mehr. Ganz früher zu anfänglichen CCU2 Zeiten war das mal so, aber das hab ich mit der CCU3 alles von statischen Arrays in dynamische Arrays geändert und daher sollte es da - zumindest theoretisch - keine Limits geben.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Hugo Oberstein
Beiträge: 266
Registriert: 05.10.2019, 21:17
Hat sich bedankt: 110 Mal
Danksagung erhalten: 2 Mal

Re: CCU-Partition voll?

Beitrag von Hugo Oberstein » 16.06.2022, 18:27

Vielen Dank für die Rückerstattung, jmaus.
Woher könnte das beobachtete Verhalten denn kommen? Ursprünglich hatte ich eine ccu2. Das Backup habe ich dann auf die pivccu3 übertragen.... Kann es daran liegen?

Gibt es eine Möglichkeit,weitere Programme zu erstellen, wenn das "Limit" erreicht wird? Gibt es was, was ich dann testen kann?

Hugo

Antworten

Zurück zu „piVCCU“