Ich versuche gerade die scripte vdrstats und temperature einzubinden. Die Daten (CPU und Speicherauslastung sowie CPU Temperatur) werden in die drei verschiedene Dateien geschrieben, jedoch zeigt mir skindesigner unter metrixhd keine Auslastung oder Temperatur an. Gibt es da eine Lösung?
[skindesigner] Aktuelle Version
-
-
Ich würde aus der Ferne darauf tippen, dass die Pfade zu den Stat-Dateien in den xml-Settings von metrixhd nicht zu jenen drei Dateien passen, die beschrieben werden. Viel Erfolg!
-
davie2000 kannst du mir nen Tip geben wo die xml-Settings liegen könnten bzw. wie der Dateiname lautet?
-
Wo genau das eingestellt ist (XML?) konnte ich nicht herausfinden. Gilt vielleicht global.
Jedenfalls liegen die Scripts bei mir (Ubuntu) hier: /usr/lib/vdr/plugins/skindesigner/scripts
Hast du auch die symlinks eingerichtet? siehe Readme:Code: cat README
Display MoreScripts for: - system temperatures - "temperatures" is called - vdr statistics (vdr cpu load and memory usage) "vdrstats" is called You must manually create a link for each script to the script you want to use, for example: ln -s temperatures.default temperatures ln -s vdrstats.default vdrstats The scripts will be executed every time the according viewelement is displayed, so please keep it short and fast. Please install lm-sensors and configure it for your system.Schaut bei mir hier so aus:
Code: ls -l/usr/lib/vdr/plugins/skindesigner/scripts$ ls -l insgesamt 28 -rw-r--r-- 1 root root 474 Jan 4 2024 README lrwxrwxrwx 1 root root 64 Okt 25 2023 temperatures -> /usr/lib/vdr/plugins/skindesigner/scripts/temperatures.davie2000 -rwxr-xr-x 1 root root 1765 Okt 25 2023 temperatures.davie2000 -rwxr-xr-x 1 root root 1057 Jan 4 2024 temperatures.default -rwxr-xr-x 1 root root 1136 Sep 7 2023 temperatures.frodo -rwxr-xr-x 1 root root 1066 Jan 4 2024 temperatures.g2v lrwxrwxrwx 1 root root 58 Okt 25 2023 vdrstats -> /usr/lib/vdr/plugins/skindesigner/scripts/vdrstats.default -rwxrwxrwx 1 root root 454 Jan 4 2024 vdrstats.default -
Ja, das ist bei mir alles so eingestellt, Symlinks sind auch erstellt und wie gesagt werden die Scripte korrekt aufgerufen und die Daten in die zugehörigen Dateien geschrieben. Aber irgendwie werden die Daten dann vom Skindesigner nicht abgerufen bzw. angezeigt.
-
Zeigen andere Skindesigner-Skins (zB estuary4vdr) oder Themes die Temperatur an?
Oder hast du das Problem bei allen Skins?
Dann ist es vielleicht ein Rechteproblem der symlinks oder echten Dateien?
Viel Erfolg jedenfalls! -
JoeBar ,
der skindesigner sucht die entsprechenden Ausgaben in Ordner "/tmp/skindesigner". Wenn dort die entsprechenden Dateien (cpu, gpu, motherboard, vdrcpu und vdrmem) liegen und befüllt sind, werden die Daten im skin auch angezeigt. Das kannst Du leicht prüfen, indem Du die Scripte per Hand ausführst. Danach sollten die Daten angezeigt werden.
Wenn die Dateien im Ordner "/tmp/skindesigner" nicht existieren oder nicht aktualisiert werden, so ca. alle 3 Sekunden, dann findet der skindesigner diese Scripte nicht. Ich weiß jetzt nicht wo bei Dir diese Scripte liegen müssen, das hängt von verschiedenen Faktoren ab.
Ich werde in der nächsten Version eine Debug-Ausgabe einbauen, die im Fehlerfall ausgibt, wo diese Scripte erwartet werden.
Falls Du selbst kompilierst, habe ich mal einen Patch angehängt, der das nachrüstet.Vielleicht führt das ja bei Dir zum Erfolg.
Grüße
kamel5 -
Hallo kamel5,
ich versuche das gerade unter VDR*Elec ans laufen zu bekommen, leider kann LE/CE nicht nach /tmp/skindesigner schreiben, da das im read only Bereich liegt. wäre es nicht möglich den Pfad in der Konfig vom Plugin anzugeben.
Bei mir würde der dann /storage/tmp/skindesigner lauten.
Liebe Grüße
JoeBar
-
OK, wenn Du das sowieso selbst kompilierst, kannst Du erst einmal in "config.h" die Variable "SCRIPTOUTPUTPATH" entsprechend Deinen Wünschen anpassen. Dann sollten die Daten aus diesem Verzeichnis gelesen werden. Die Scripte musst Du dann auch entsprechend anpassen.
wäre es nicht möglich den Pfad in der Konfig vom Plugin anzugeben.
Das kann ich mir gerne für die nächste Version mit ansehen.
Grüße
kamel5 -
Das kann ich mir gerne für die nächste Version mit ansehen.
Das hört sich für mich sehr gut an, in der Zwischenzeit kann ich ja mich ja mal an der config.h versuchen

-
Hallo,
es gibt ein neues Release 1.3.0:
- Check if scripts "temperatures" and "vdrstats" exists
- Add conf/skindesigner.conf
- Add a configureable temporary directory
- Add MenuCategory "mcRecordingDel"
- Update scriptsIn dieser Version gibt es jetzt ein konfigurierbares temporäres Verzeichnis, das in der "skindesigner.conf" definiert werden kann. Bisher war das fest "/tmp/skindesigner" und das ist weiterhin das Default-Verzeichnis. Bei Installationen, bei denen "/tmp" readonly ist, kann damit dieses Verzeichnis an eine beschreibbare Stelle verlegt werden. JoeBar kannst Du das bitte bei Dir prüfen, ob das so wie erwartet funktioniert.
An die Scripte "temperatures" and "vdrstats" wird dieses temporäre Verzeichnis jetzt automatisch mit übergeben, so das bei geändertem temporärem Verzeichnis diese nicht mehr angepasst werden müssen.
Außerdem wird jetzt im Falle, das diese Scripte nicht gefunden werden, eine Debug-Meldung ausgegeben mit der erwarteten Lage dieser Dateien.Grüße
kamel5 -
kamel5 Funktioniert soweit

Zum nächsten Update wenn möglich noch die Beschreibtung für das Temporäre Verzeichnis in das skindesigner.conf File mit rein packen dann ist es top.
z.B.
Code
Display More# possible command line arguments # -s <SKINPATH>, --skinpath=<SKINPATH> Set directory where xml skins are stored by Package Manager # -i <INSTALLERPATH>, --installerpath=<INSTALLERPATH> Set directory where xml skins are stored by Installer # -l <LOGOPATH>, --logopath=<LOGOPATH> Set directory where a common logo set for all skins is stored # -e <EPGIMAGESPATH>, --epgimages=<IMAGESPATH> Set directory where epgimages are stored # -t <TMPPATH>, --tmppath=<TMPPATH> Set dierectory where temporary (Temperature,Sysload etc.) files are stored [skindesigner] -s /storage/.config/vdropt/plugins/skindesigner/skins -i /storage/.config/vdropt/plugins/skindesigner/installerskins -l /storage/channellogos/logosLight -e /storage/cache/epgimages -t /storage/tmp/skindesignerEine Frage habe ich noch, hinter Systemlast kommen bei mir nur drei Punkte, ist das weil der Platz nicht ausreicht? Was kann man da machen?
-
die Beschreibung für das Temporäre Verzeichnis in das skindesigner.conf File mit rein packen
Das kann ich gerne machen.
Eine Frage habe ich noch, hinter Systemlast kommen bei mir nur drei Punkte, ist das weil der Platz nicht ausreicht? Was kann man da machen?
Bei mir wird das angezeigt. Wenn da 3 Punkte zu sehen sind, kann das z.B. an der Schriftgröße liegen. Hast Du denn alle nötigen Schriften installiert? Die nötigen Schriften für den Skin, stehen jeweils im Skin-Verzeichnis in der Datei "globals.xml" ganz unten.
Du kannst auch in der "xmlfiles/displaymenumain.xml" im Abschnitt "<systemload>" an den Werten etwas optimieren.
Hier: "<drawtext x="5" valign="center" font="{light}" fontsize="100%" color="{fontdefault}" text="System Load: {load}" />" den font oder die fontsize anpassen, um zu sehen, ob es dann angezeigt wird.
Im Endeffekt kannst Du ja alles in diesen xml-Dateien ändern, was Du willst.Grüße
kamel5 -
Danke kamel5 für die neue Version,
ich bekomme Fehler beim Compilieren in /coreengine/viewelementsdisplaymenu.c und zwar wird 2x SetHeaderScrapInfo() nicht gefunden.
Ich habe beide Aufrufe (Zeile 1161 und Zeile 1302) auskommentiert und komme damit klar.
Er meldet, daß er einen Kandidaten in /extensions/scrapmanager.h gefunden hat, der aber von der Anzahl der Parameter nicht passt.
Ich benutze gcc 15.2 und zZt. nicht TVScraper.
Ich wollte es nur melden.

LG,
Michael
The content cannot be displayed because you do not have authorisation to view this content. PS: die Zeilennummern im Screenshot entsprechen den oben genannten (aus der Originaldatei), ich habe schon lange Ergänzungen in der Datei
-
Mike838 , dann stimmt bei Deiner Installation etwas nicht. Bei mir steht in der "extensions/scrapmanager.h":
"void SetHeaderScrapInfo(skindesignerapi::cTokenContainer *tk, const cEvent *event = NULL, const cRecording *recording = NULL);"Vielleicht vor dem "make" mal ein "make clean" machen.
Ich weiß zwar nicht was bei Dir falsch ist, Deine "extensions/scrapmanager.h" scheint aber nicht aktuell zu sein.Grüße
kamel5 -
git update hatte nicht geklappt, also hatte ich mit git clone neu geholt.
Bei mir sieht die Deklaration genauso aus, ich habe make clean (im Skindesigner Directory) noch einmal gemacht.
Gleicher Fehler

vielen Dank und herzliche Grüße,
Michael
-
Jetzt geht es, @kamel5 sorry für die Meldung und vielen Dank!
Irgendwie hatte das Überschreiben der alten Datei nicht geklappt
(ohne Meldung) und da stand nicht die richtige Deklaration drin.Jetzt muß ich "nur" noch den Fehler durch den menuorg-Patch (beim endgültigen Löschen von mehr als 1 gelöschten Aufzeichnung) finden, denn
ohne das menuorg-Plugin gefällt mir das nicht

Herzliche Grüße
Michael
-
Moin zusammen,
ich hab noch die Version von hier https://github.com/vdr-projects/vdr-plugin-skindesigner (1.2.8)
Die ist an drei Stellen gecrashed:Da wird beim new der Platz für die terminierende Null vergessen, unglaublich dass das erst jetzt auf dem M1 auffällt. Wird durch das Memory alignment wohl immer noch irgendwie gepasst haben
, +1 dazu jetzt crashed es nicht mehr.
Dabei habe ich festgestellt das das Repository inzw. read olny ist und ihr hier über eine Version 1.3 schreibt.
Wo finde ich die? (habe es beim durchstöbern des Thread nicht gefunden)
Danke,
horchi -
Wo finde ich die? (habe es beim durchstöbern des Thread nicht gefunden)
-
sehe da sind die drei Stellen bereits behoben
Codeskinsetup.c:139: char *s = new char[strlen(option.c_str())+1]; skinsetup.c:299: char *s = new char[strlen(optionTranslated.c_str())+1]; skinsetup.c:303: char *s = new char[strlen(option.c_str())+1];
man könnte auch option.size()+1 oder option.length()+1 verwenden da ein std::string seine Größe kennt, ist etwas 'billiger' wobei es an der Stelle ja nicht aus die Performance ankommt. -
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!