Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Moderator: Co-Administratoren
- Henke
- Beiträge: 1538
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 144 Mal
- Danksagung erhalten: 312 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Der Fehler dürfte eher in dem flow liegen. Ich würde den erst einmal deaktivieren. Bitte dazu ein neues Thema aufmachen.
-
- Beiträge: 658
- Registriert: 03.01.2017, 17:39
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 9 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Kurze Frage. Muss ich noch irgendwelche Variablen anlegen? Testweise mal gemacht wo sehe ich dann die Werte?
PI3+ mit RaspberryMatic; PI4 mit IOBroker; Samsung Tab A mit Mediola Visualisierung; Harmony Hub; Philips Hue; Drei IP Cams; Zwei Leseköpfe an den Stromzählern; Reedkontakt (Arduino) am Wasserzähler; Drucksensor (Arduino); CUL433 für Intertechno und Somfy RTS; Nuki Bridge
-
- Beiträge: 86
- Registriert: 24.03.2012, 11:40
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 2 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Hallo Michael,
danke für den Tip für das Skript-läuft einwandfrei (im Zusammenhang mit meinem Buderus-Thema). Zum sicheren Verständnis noch die Frage nach dem Swap. Der steht bei mir auf 100%. Ich gehe mal davon aus, dass hier der Auslagerungsbereich gemeint ist, wenn der Arbeitsspeicher voll ist. Und bei 100% wird der Swap also bei mir nicht gebraucht?
Danke und Grüße
Volker
danke für den Tip für das Skript-läuft einwandfrei (im Zusammenhang mit meinem Buderus-Thema). Zum sicheren Verständnis noch die Frage nach dem Swap. Der steht bei mir auf 100%. Ich gehe mal davon aus, dass hier der Auslagerungsbereich gemeint ist, wenn der Arbeitsspeicher voll ist. Und bei 100% wird der Swap also bei mir nicht gebraucht?
Danke und Grüße
Volker
- Henke
- Beiträge: 1538
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 144 Mal
- Danksagung erhalten: 312 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Swap ist die Auslagerung, aber bei 100% ist der voll ausgeschöpft.
-
- Beiträge: 86
- Registriert: 24.03.2012, 11:40
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 2 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
OHA. Was hat dies für Konsequenzen auf die Steuerung? Bisher stelle ich keine Probleme fest. Sollte man dies vermeiden und wenn ja: Wie?
Danke und Grüße
Volker
Danke und Grüße
Volker
-
- Beiträge: 5557
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 763 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Hallo @Henke,
das Script lief einige Zeit ganz normal, doch seit einiger Zeit wird mir als CPU-Nutzung konstant 100% angezeigt. Das kann aber schon mal angesichts der ganz normalen CPU-Temperaturen nicht sein.
Ich habe mal nachgeforscht im Script und bin auf folgendes gestoßen:
In Zeile 348 wird aus der Zeichenkette line (was immer die auch enthält) der Wert idle extrahiert.
Die Zeichenkette sieht so aus:
"129609182 1716768 63922712 2185898318 13278034 0 5424154 0 0 0 cpu"
Der Befehl
liefert aber als Ergebnis idle = 2147483647
Aus diesem falschen (stets gleichen) Wert resultiert dann eine fehlerhafte Weiterverarbeitung. Ich hab's mal probiert, aus der ToInteger()-Methode kommt wohl nie eine Zahl > 2147483647! Das scheint die Typ-Grenze zu sein.
Ist nun die Zahl im string zu groß (warum?) oder reicht hier der Variablentyp nicht aus?
das Script lief einige Zeit ganz normal, doch seit einiger Zeit wird mir als CPU-Nutzung konstant 100% angezeigt. Das kann aber schon mal angesichts der ganz normalen CPU-Temperaturen nicht sein.
Ich habe mal nachgeforscht im Script und bin auf folgendes gestoßen:
In Zeile 348 wird aus der Zeichenkette line (was immer die auch enthält) der Wert idle extrahiert.
Die Zeichenkette sieht so aus:
"129609182 1716768 63922712 2185898318 13278034 0 5424154 0 0 0 cpu"
Der Befehl
Code: Alles auswählen
integer idle = line.StrValueByIndex(" ", 3).ToInteger();
Aus diesem falschen (stets gleichen) Wert resultiert dann eine fehlerhafte Weiterverarbeitung. Ich hab's mal probiert, aus der ToInteger()-Methode kommt wohl nie eine Zahl > 2147483647! Das scheint die Typ-Grenze zu sein.
Ist nun die Zahl im string zu groß (warum?) oder reicht hier der Variablentyp nicht aus?
- Henke
- Beiträge: 1538
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 144 Mal
- Danksagung erhalten: 312 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Nun ja, nachgeforscht ist untertrieben.
Matsch hat den Fehler gefunden, im Script behoben und die eine oder andere Stelle noch aufgeräumt. Seine Verbesserungen sind in die aktuelle Version drin.
Herzlichen Dank dafür!
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Moin!
ich wollte gern mal Dein Script testen, aber auf meiner RaspberryMatic Version: 3.71.12.20231020 (rpi4) kommt er nicht über die ersten Prüfungen auf $src$ und $this$ hinweg.
Warum sind die beiden Variablen bei mir leer?
ich wollte gern mal Dein Script testen, aber auf meiner RaspberryMatic Version: 3.71.12.20231020 (rpi4) kommt er nicht über die ersten Prüfungen auf $src$ und $this$ hinweg.
Warum sind die beiden Variablen bei mir leer?
- Baxxy
- Beiträge: 11027
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 631 Mal
- Danksagung erhalten: 2284 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Die werden durch den (Programm)-triggernden Datenpunkt automatisch befüllt.
Man kann das Script also nicht einfach so im "Script testen" ausführen.
Man kann das Script also nicht einfach so im "Script testen" ausführen.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 75
- Registriert: 10.10.2015, 10:19
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 2 Mal
Re: Script CCU-Auslastung, Temperatur und Load in Systemvariablen schreiben
Hallo,
vielen Dank für das Script läuft super.
Was ich jetzt sehe ist:
Mem 65%
Swap 100%
Mittels ssh mal auf der CCU3 geschaut und dann mit free gesehen das bei swap überall 0 steht (total, used, free)
Habt ihr eine Erklärung für mich?
Danke
BG Jörg
vielen Dank für das Script läuft super.
Was ich jetzt sehe ist:
Mem 65%
Swap 100%
Mittels ssh mal auf der CCU3 geschaut und dann mit free gesehen das bei swap überall 0 steht (total, used, free)
Habt ihr eine Erklärung für mich?
Danke
BG Jörg