Systemdata (Converter)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Systemdata (Converter)

      Der All-in-One-Converter SystemData fasst die Möglichkeiten der Konverter sysinfo, cpuusage und tempfan zusammen.
      Er wurde er von Grund auf neu programmiert und um zusätzliche Optionen ergänzt, um eine variablere Nutzbarkeit zu bieten.

      Ergänzungen:
      - Werte mit Text mischbar
      - Rotierende Anzeigen (z.B. total - frei - belegt)
      - Erweiterte Prozessinfos (avgload)
      - Rundung der Werte (in bisherigen Konvertern i.d.R. abgeschnitten)
      - Temperaturwarnung (inkl. ConditionalShowHide-Unterstützung für Warn-Icon)
      - Skalierbare Progressbar-Unterstützung (Range)
      - Asynchroner Start (keine Verzögerung beim Aufbau des Parent-Screens)

      Die folgende Dokumentation, die auch im Quelltext des Konverters hinterlegt ist, habe ich in Englisch verfasst, da hier im Forum auch anderssprachige Nutzer unterwegs sind.
      (Die Funktion TempFan konnte ich nicht testen, es wäre schön, wenn sie jemand prüfen könnte.)

      types (1)HDDInfo|HDD
      MemInfo|Mem
      SwapInfo|Swap
      USBInfo|USB
      FlashInfo[2]/Flash[2]
      switches (1) Total|Used|Free|usedPercent|freePercent|Temp*
      (*Hdd only)

      type 2CPUInfo|CPU
      switches 2
      Used|Free|UsedList*|FreeList*,Temp,[Systemp,]SinceBoot**
      (*list of all CPUs, **Average load since boot)

      type 3ProcInfo|LoadAVG
      switches 3
      1min*|5min*|15min*|Now**|NowFull*
      (*average Tasks per 1/5/15 Minutes, **Active Tasks, ***Act.Tasks/CPU)

      type 4Sys|SysInfo
      switches 4
      Temp (can also be defined by "CPU,SysTemp")



      Skin-Example:
      <widget source="Title" render="Label" position="10,10" size="300,20">
      <convert type="SystemData">Hdd,Title,Total,Free,Used</convert>
      </widget>


      Additional switches:

      Switch:Default --> Switch (example)
      Round111.78 MB --> 112 MB
      (default: 111.78 MB --> 117.8 MB)
      Frac111.78 MB --> 111 MB
      Percent1D11% --> 11.1%
      Comma11.1% --> 11,1%
      NoPercentLabel10% --> 10
      ShortUnit" MB", " GB" ... --> " M", " G"....
      XShortUnit" MB", " GB" ... --> "M", "G"....
      NoUnit11.1 MB --> 11.1
      Proc1D0.28/5m --> 0.3/5m
      XDegDegree Symbol only (no C[elsius])
      TitleTitle inserted before value (example "HDD Temp: ")



      Parameters:

      RoundFrom=StartPos for Rounding (see Switches)
      example: RoundFrom=10 --> 9.7, 9.8, 9.9, 10, ... 10, 11 ... 11, 12...
      Separator=for element lists (Default is " ")
      Interval=efresh(Poll) interval (ms)
      RotateInterval=interval for text rotation (text usage: see below)
      Range=for progressbar (default[empty]==100)
      Delay=start delay (ms) to prevent screen lag (0->no delay)
      add ";text" for initial text (f.e.: delay=100;n/a)
      Text =individual output (see description below)
      Alert=limit warning : temperature / cpu load / low disk space(%)



      How to use ALERT:
      alert=Limit;Mode;Text (use ';' as separator!)
      Modes: Blink | AlertOnly* | Rotate** | [none]
      (* only visible on Alert, ** rotate between Temperatur and Warnung Text)
      Limit: 0|[none]: no alert check
      1..x: value>=limit
      -1..-x: abs(value)<=limit
      Text: ....%..... (%==value)

      Example:
      <convert type="SystemData">HDDInfo,TempAlert=65;Blink;Hot %</convert>
      ________________
      Alert Icon with ConditionalShowHide (example):
      <widget source="title" alphatest="blend" pixmap="skin_default/icons/input_info.png"
      scale="1" position="10,10" render="Pixmap" size="32,32" >
      <convert type="SystemData">Hddtemp,TempAlert=65</convert>
      <convert type="ConditionalShowHide">Blink</convert>
      </widget>

      How to use "TEXT":
      Insert %Switch% into Text
      Examples:
      ...>HDD,Text=Free Space: %FREE% (%Freepercent%)</convert>
      ..>ProcInfo,NoUnit,Text=Active Jobs: %NOW%</convert>

      Text-Rotation:
      Use "_|_" as Separator for Text-Rotation:
      ...>HDD,RotateInterval=5000,Text=Free: %free%_|_Used: %used%</convert>
      ...>CPU,RotateInterval=2000,Text=CPU 1: %used%$1_|_CPU 2: %used%$2</convert>

      How to use Progressbar (for percent and temperature values)
      <widget source="Title" render="Progress" borderWidth="1"
      foregroundColor="#ffffff" position="10,10" size="400,20">
      <convert type="SystemData">CPU,Range=50,interval=500</convert>
      </widget>

      Text-Placeholders (reserved)
      %gt% > (greater than)
      %lt% < (lower than)
      %,% , (Comma)
      ;; , (Comma)
      %deg% (Degree Symbol)

      Types and Switches are not case sensitive (MEM,FREE == mem,free)
      One type and switch can be combined (MemTotal=mem,total)

      ----------------------------------------------------------------------------------
      Neu in Version 2: Erweiterte HDD-Erkennung
      ----------------------------------------------------------------------------------

      Viel Spaß beim Skinnen,
      Oberhesse
      Dateien

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Oberhesse ()

    • Nice!

      Drei Anmerkungen dazu: in der Überschrift und im Code heisst der Converter "SystemData", im ersten Satz "SystemStat" und in den Beispielen unter "Example" dann noch "SystemInfo". Richtig ist aber wohl doch nur "SystemData" - das solltest Du korrigieren ;)

      Dann: der Converter macht meiner Meinung nach absolut Sinn, aber nur, wenn er im VTi selber integriert ist oder aber als eigenständiges Paket (ipk), welches dann als Abhängigkeit in Skins integriert werden kann. Sonst läufst du Gefahr, dass jeder Skin eine eigene Kopie mitbringt; das könnte dazu führen, dass sich zwei Skins nicht parallel installieren lassen, weil der Converter schon installiert ist.

      Ich würde auch noch ein Copyright in den Source-Code packen. Ist immerhin eine Menge Code.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Danke. Das ist korrigiert.Den Converter habe ich auf Wunsch eines Anwenders gepostet, der die Möglichkeiten der Temperaturwarnung (aus meinem Plugin Temperatur Monitor) direkt seinen Skin einbauen möchte.

      Zum Problem, dass er in den hier verbreiteten Skins integriert wird, muss es ja erstmal kommen.
      An die Skinner, die hier mitlesen: Ich habe kein Problem damit, wenn der Konverter und Klassenname ggf. umbenannt wird, damit die Skin-Installation individualisiert ist. Wenn mein Name nicht aus der 1. Codezeile gelöscht wird, ist das erstmal so ok.

      Die Nutzung, Integration und Weitergabe des Tools ist natürlich frei.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Oberhesse ()

    • Hallo Oberhesse,
      vielen Dank, dass du meinem Wunsch nachgekommen bist :thumbup:
      Ich werde am Wochenende versuchen in den IFLAD7.1 -Skin wie unten einzubauen.
      Danke für deine Bemühungen. Ich melde mich dann
      Ich hoffe, dass Nathanael und Eismann für diese kleine Veränderung nichts dagegen haben. Auch viel Dank an beide für diesen Skin und Skinparts
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tarantul ()

    • mich interessiert das hier schon, aber als Normal-User ohne Skinning Erfahrung, geschweige denn Programmierkenntnissen, kann ich nix damit anfangen. ;(
      Wäre schön wenn man das z.B. mit dem Original VU HD 1080p Skin nutzen könnte, und die Einstellungen über ein Menü vornehmen könnte. Das bitte als Hinweis und nicht als Forderung verstehen. :)
      Gruß aus Mittelhessen ;)
      cu
      RickKing

      SAT Anlage - Kathrein: CAS 75 mit UAS 584 LNB & EXR 1512 (Multischalter 5 auf 12), Astra 19.2°E
      VU+ ULTIMO 4K DVB-S2x FBC + Samsung 870 QVO 2TB SSD - jeweils 1 Kabel an Tuner 1 und Tuner 2


      SmartEPGvu+ & SmartFilervu+ Wiki

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RickiKing ()

    • Hallo Oberhesse,
      danke für deinen Converter. Ich habe in den Skinpart eingebunden. Dein "SystemData.py" converter muss nur unter /Converter kopiert werden.
      "convert type="SystemData">Hddtemp,TempAlert=50;Blink; %</convert>"
      In dem Fall blinkt z.B. die Temperaur mit 50 und mit angegebener Farbe.

      Ich wollte, dass die Hdd Temperatur, wie bei deinem "TemperaturMonitor" nach bestimmen Temperatur
      in Gelb und nach einem höheren Grad in Rot geht.
      Diese Einstellung ist mir nicht gelungen. Mit meinen VB Kenntnissen komme ich hier nicht weiter.
      Es kann auch sein, dass mit "convert type="? nicht zu machen ist.
      Hast du eine Idee?

      Noch eine Info:
      Wenn die Hdd-Temperatur in Skinpart ausgeführt wird, wird der Ladebalken oben links ca. 5 bis 6 Sec. aktiv. wenn man besonders Z.B. m3u Dateien aus dem Internet oder aus der Festplatte ausführen will. Bei SAT-Sendungen ist es aber nicht der Fall.
      Es hat aber mit deinem "SystemData.py" nichts zutun. Es scheint ein allgemeines Problem zu sein, dass die Abfrage der Hdd-Temperatur zu dieser Ladebalken Effekt führt. Vielleicht wissen die Spezialisten über diesen Effekt mehr!
      Grüße aus Mittelhessen
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tarantul ()

    • Es gäbe die Möglichkeit, dass Du das Widget mehrmals definierst.
      Im beigefügten Beispiel wird das rote Widget durch "alertonly" erst dann eingeblendet, wenn die Temperatur erreicht ist.

      Durch zPosition="..." lässt sich sicherstellen, dass das rote Widget über dem anderen Widget liegt.
      Das sollte aber auch ohne zPosition klappen, da ansonsten die Reihenfolge der Definition gilt.

      Auf diese Weise kannst Du auch 3 Farben (Standard, Gelb, Rot) definieren, dann ist es aber so, dass es bei jeden Skinaufruf 3 Temperaturabfragen gibt.
      Es wäre hier aber zu testen, ob es hier wegen des erscheinenden Ladebalken einen Konflikt gibt.

      Zum Ladebalken: Im Skin ist source="session.CurrentService" eingetragen.
      Vielleicht führt das in der Folge zu dem Ladebalken. Versuch doch mal, ob auch source="Title" funktioniert.
      Dateien
    • Hallo Oberhesse,
      Es hat geklappt. vielen Dank, für deine Bemühungen. :thumbup:
      Ich hatte zwar auch die Widgets mehrmals definiert aber die Farbfolge funktionierte irgendwie nicht.
      Es lag wohl an der zPosition="..."
      Jetzt kann man alle drei Farben in Skinpart vorgegebenen Temp-Werte mit deinem Hinweis definieren.

      Nochmals vielen Dank.

      Grüße
    • Hallo Oberhesse,
      Zum Ladebalken Problem;
      Du hattest mit deiner Vermutung recht.
      Der Ladebalken kam deshalb, weil in dem Skinpart bei HddTemp Abschnitten
      source="session.CurrentService"
      eingetragen war. Nachdem ich diese Stellen mit source="Title" ersetz habe, kommt der Ladebalken nicht mehr.
      Grüsse