Converter zur Anzeige des Aufnahmestatus vom aktuellen Sender

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

    • Super vielen Dank. Teste ich Morgen Vormittag. Für heute lasse ich Dich in Ruhe.
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Waaahnsinn!!!!! Mit diesem Converter funktioniert das tadellos.

      Habe zwar bisher nur in der Infobar getestet, allerdings auf der Duo 4K SE und mit meinem umgebauten Skin. Aber hier werden auf jeden Fall schon mal die Sendungsnamen in der erwarteten Farbe angezeigt und die Icons haben ja vorher auch schon funktioniert. Klappt super.

      Habe mir mal so einen kleinen Testscreen gebaut, in welchem fast alle Abfragestati dargestellt werden. Vielleicht kann ja jemand etwas damit anfangen (siehe unten).

      Ich werde mich zwar noch etwas mit der Logik hinter den Abfragestati auseinandersetzen müssen, aber das alles funktioniert genau so wie ich mir das vorgestellt habe.

      @WeFraJo
      Nochmals herzlichen Dank für Deine Unterstützung und Die Arbeit, die Du in diesen Converter gesteckt hast. GREAT JOB!!!!

      XML-Quellcode

      1. <colors>
      2. <color name="orange" value="#00ff7400"/>
      3. <color name="lightgrey" value="#00c0c0c0"/>
      4. </colors>
      5. <fonts>
      6. <font filename="/usr/share/fonts/PIZZADUDEBULLETS.ttf" name="Icons" scale="85" />
      7. <font filename="/usr/share/fonts/PVR-Icons.ttf" name="Icons2" scale="85" />
      8. </fonts>
      9. <screen backgroundColor="transparent" flags="wfNoBorder" name="RecordStateBar" position="0,1" size="1920,250">
      10. <eLabel backgroundColor="lightgrey" position="0,0" size="1920,280" zPosition="-2"/>
      11. <eLabel backgroundColor="background" foregroundColor="white" font="Regular;29" position="50,10" size="200,35" text="Now NoRec" transparent="1" zPosition="4" valign="top"/>
      12. <widget backgroundColor="background" font="Regular; 29" foregroundColor="white" position="250,10" render="Label" size="550,35" source="session.Event_Now" transparent="0" zPosition="3">
      13. <convert type="RecordStateWeFr">NOREC</convert>
      14. </widget>
      15. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="50,60" size="200,35" text="Now Full" transparent="1" zPosition="4" valign="top"/>
      16. <widget backgroundColor="background" font="Regular; 29" foregroundColor="red" position="250,60" render="Label" size="550,35" source="session.Event_Now" transparent="0" zPosition="4">
      17. <convert type="RecordStateWeFr">FULL, Volle Aufnahme</convert>
      18. </widget>
      19. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="50,110" size="200,35" text="Now Part" transparent="1" zPosition="4" valign="top"/>
      20. <widget backgroundColor="background" font="Regular; 29" foregroundColor="orange" position="250,110" render="Label" size="550,35" source="session.Event_Now" transparent="0" zPosition="4">
      21. <convert type="RecordStateWeFr">PART</convert>
      22. </widget>
      23. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="50,160" size="200,35" text="Now Now" transparent="1" zPosition="4" valign="top"/>
      24. <widget backgroundColor="background" font="Regular; 29" foregroundColor="yellow" position="250,160" render="Label" size="550,35" source="session.Event_Now" transparent="0" zPosition="4">
      25. <convert type="RecordStateWeFr">NOW</convert>
      26. </widget>
      27. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="50,210" size="200,35" text="Any Now" transparent="1" zPosition="4" valign="top"/>
      28. <widget backgroundColor="background" font="Regular; 29" foregroundColor="white" position="250,210" render="Label" size="550,35" source="session.Event_Now" transparent="0" zPosition="4">
      29. <convert type="RecordStateWeFr">ANY</convert>
      30. </widget>
      31. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="900,10" size="200,35" text="Next NotFull" transparent="1" zPosition="4" valign="top"/>
      32. <widget backgroundColor="background" font="Regular; 29" foregroundColor="blue" position="1100,10" render="Label" size="800,35" source="session.Event_Next" transparent="0" zPosition="4">
      33. <convert type="RecordStateWeFr">NOTFULL</convert>
      34. </widget>
      35. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="900,60" size="200,35" text="Next Full" transparent="1" zPosition="4" valign="top"/>
      36. <widget backgroundColor="background" font="Regular; 29" foregroundColor="red" position="1100,60" render="Label" size="800,35" source="session.Event_Next" transparent="0" zPosition="4">
      37. <convert type="RecordStateWeFr">FULL</convert>
      38. </widget>
      39. <eLabel backgroundColor="background" foregroundColor="white" font="Regular; 29" position="900,160" size="200,35" text="Now Remaining" transparent="1" zPosition="4" valign="top"/>
      40. <widget backgroundColor="background" font="Regular; 29" foregroundColor="red" position="1100,160" render="Label" size="250,35" source="session.Event_Now" transparent="0" halign="center" zPosition="4">
      41. <convert type="RecordStateWeFr">REMAINING_INCL</convert>
      42. </widget>
      43. <widget backgroundColor="background" font="Icons2; 32" foregroundColor="red" position="1550,400" render="Label" size="100,100" source="session.Event_Now" valign="center" halign="center" transparent="0" zPosition="5">
      44. <convert type="RecordStateWeFr">Icon,!,",#,$</convert>
      45. </widget>
      46. <widget backgroundColor="background" font="Icons2; 32" foregroundColor="red" position="1550,520" render="Label" size="100,100" source="session.Event_Next" valign="center" halign="center" transparent="0" zPosition="5">
      47. <convert type="RecordStateWeFr">Icon,!,",#,$</convert>
      48. </widget>
      49. </screen>
      Alles anzeigen
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Freut mich und sorry für den Bug.

      Gleichzeitig auch der Hinweis an alle, die den Converter verwenden wollen: den aus #120 verwenden.
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter
    • Absolut kein Grund sich zu entschuldigen. Freue mich dass es nun wie erhofft funktioniert.

      Habe gerade nochmal etwas rumgespielt und festgestellt, dass wenn man im EPG per REC-Taste eine laufende Sendung aufnimmt, diese von RecordState als vollständige Aufnahme gewertet wird. Macht man das im Laufenden Programm wertet RecordState das korrekt als Teilaufnahme. Ist das so gewollt?
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Der Converter prüft den erstellten Timer gegen die EPG-Daten. Es wird also nicht geprüft, ob und was tatsächlich aufgenommen wird, sondern es wird davon ausgegangen, dass die Aufnahme so wie im Timer eingestellt erfolgt.

      Aufnahme mit Rec aus dem EPG und und Sofortaufnahme des laufenden Programmes mittels Rec setzen die Beginn-Zeiten unterschiedlich. Im zweiten Fall wird auch kein Timer in timers gespeichert. Wenn bei einer laufenden Aufnahme ein GUI-Restart gemacht wir, wird daher erstere fortgesetzt (neue Aufnahmedatei), letztere abgebrochen.

      Die Ursache der unterschiedlichen Ausgabe im Converter ist also im VTI begründet.
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter
    • Nicht falsch verstehen, Du kennst den Converter sicher in- und auswendig. Aber könnte man das nicht mit einer relativ einfachen Abfrage lösen: Wenn EPG-Beginn-Zeit kleiner als Ist-Zeit dann Status = Part? Oder beißt sich das mit anderen Bedingungen?
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Diese 'relativ einfache Abfrage' braucht man nicht, das ist in der Source definiert.

      Es geht ja darum, ob die Sendung in der Source gesamt, teilweise oder gar nicht aufgenommen wird. Das lässt sich nur über Auswertung der Timer feststellen. Wenn der Timer 'falsch' ist ist auch der Rückgabewert des Converters entsprechend. Da musst du dich an das VTI-Team wenden und hoffen, dass dein Wunsch in eine zukünftige Version aufgenommen wird.

      Den Check der Timer gegen die IST-Zeit gibt es übrigens auch (Parameter NOW).
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter
    • Danke für die Aufklärung. Wollte auch nicht "klugscheißern". Habe selbst etwas Erfahrung im Programmieren, nur leider nicht mit Python und auch nicht im VTI-Umfeld. Aber einen Versuch war es wert.
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Ich habe eine Idee, wie ich dein Problem lösen kann. Melde mich, wenn ich das umgesetzt habe, kann aber ein wenig dauern.
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter
    • Das klingt toll. Aber bitte nicht stressen. Das alles hier ist Jammern auf ganz hohem Niveau (von mir). Habe eh noch diverse Dinge an "meinem" (ist ja nur ein Umbau) Skin zu tun, bevor der scharfgeschaltet und meiner Regierung vorgestellt werden kann.
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Anbei eine neue Version des Converters.

      Bei diesem kann geprüft werden, ob eine Sendung wirklich komplett aufgenommen wird, wenn der Beginn des Timers vor dem Sendungsbeginn liegt.

      Die Prüfung erfolgt, wenn im ersten Parameter zusätzlich check_start eingegeben wird (z. B. 'Full check_start').

      Berücksichtigt wird das bei folgenden Parametern:
      PART
      FULL
      NOTFULL
      ICON

      Bitte nur im Zusammenhang mit der source session.Event_Now verwenden. Bei session.Event_Next ist es sinnlos.

      Wenn check_start gesetzt ist und der Aufnahmebeginn im Timer vor dem Sendungsstart liegt, wird beim ersten Aufruf der Infobar nach Start der Aufnahme geprüft, wann die zugehörige META-Datei erstellt wurde. Dazu müssen alle META-Dateien des Aufnahmeverzeichnisses, die im Aufnahmezeitraum erstellt wurden, gelesen werden, damit die richtige gefunden werden kann (aufgrund Service-Referenz, Programmname und Startzeit). Da dies aufwändig ist, werden nach der ersten Überprüfung zur Vermeidung weiterer Prüfungen bei der Programmbeschreibung im Timer vier Leerzeichen hinzugefügt. Wurde die Aufnahme tatsächlich erst nach Sendungsbeginn gestartet wird im Timer der Aufnahmebeginn auf die Erstellungszeit der META-Datei gesetzt.

      Wenn bei den Aufnahmen keine Vorlaufzeit eingestellt ist kann das auch zu (scheinbar) fehlerhafen Ausgaben führen, weil die Erstellungszeit der Metadatei dann kurz nach dem Programmbeginn liegt. Da manche Sendungen überpünktlich beginnen ist es m. M. ohnehin notwendig, eine Vorlaufzeit einzustellen, wenn man immer auch den Anfang eines Filmes sehen will.

      Detail am Rande: Die Programm-Kurzbeschreibung (description) im EPG, im aus dem EPG gesetzten Timer, im Sofortaufnahme-Timer und in den META-Daten kann unterschiedlich sein und ist daher zur Identifikation einer laufenden Aufnahme nicht verwendbar.

      Ich habe es jetzt nur mit dem Parameter 'Icon' getestet. Bitte um Rückmeldung, wenn dir etwas Negatives auffällt.

      LG WeFraJo
      Dateien
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von WeFraJo ()

    • Vielen herzlichen Dank für Deine Mühe. Kann das leider frühestens Morgen, wahrscheinlich aber erst Freitag, Abend testen, da ich gerade geschäftlich unterwegs bin :wall1:
      Bin schon ganz gespannt. Melde mich dann aber sofort.
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • Hallo WeFraJo,

      Habe jetzt getestet aber leider funzt das bei mir gar nicht.

      Mein widget:

      XML-Quellcode

      1. <widget source="session.Event_Now" position="24,940" size="750,43" backgroundColor="ib_bg_medium_dark" foregroundColor="orange" font="Regular; 28" render="Label" halign="left" valign="center" transparent="1" noWrap="1" zPosition="3">
      2. <convert type="RecordStateWeFr">PART check_start</convert>
      3. </widget>
      Der Ablauf:
      • Nach Einbau der Abfrage Neustart der GUI.
      • Start einer Sofortaufnahme aus dem laufenden Programm
      • kein Problem, Anzeige Titel in der Infobar wie erwartet in Orange
      • Start einer Sofortaufnahme aus dem EPG heraus
      • solange ich im EPG bleibe kein Problem
      • Verlassen des EPG kein Problem, es erscheint die Anzeige "Aufnahme wurde gestartet" und der Zähler zählt auf Null runter
      • Anschließend Aufrufen der Infobar Sprung in eine Endlosschleife aus GUI-Neustarts
        Dieses Verhalten ist unabhängig davon, ob ich vorher eine andere Aufnahme gestartet habe oder nicht
        Tausche ich während der Endlosschleife den Skinpart gegen einen aus welcher die Abfrage nicht enthält, startet die Box wieder und die Sofortaufnahme aus dem EPG läuft weiter
      Das vorgenannte Verhalten zeigt sich bei allen 4 Abfragen.
      Einen Crashlog habe ich angehängt.
      Sorry aber das ist der offenbar der Fluch der guten Tat.
      Dateien
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -

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

    • Hallo,

      vermutlich hast du in den Aufnahmeverzeichnissen bei 'Timer-Aufnahmeverzeichnis' kein Verzeichnis eingetragen, sondern auf ein anderes Verzeichnis referenziert (z. B. auf 'Standard-Speicherort für FIlme').
      Dort muss ein bestehendes Verzeichnis eingetragen werden, da ansonsten in der timers.xml nichts steht und die Abfrage 'None' widergibt, was wiederum nicht verwertbar ist und zum Absturz führt.

      LG WeFraJo
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von WeFraJo ()

    • Trifft leider nicht zu.

      Meine Aufnahmepfade sehen so aus:

      2023-03-09 22_51_44-Vu+ Duo 4K SE - OpenWebif.png

      Die Festplatte ist eine 2 TB SSD, ist eingehängt und wird auch fleißig beschrieben. Die letzte timers.xml und den zeitlich zugehörigen crashlog habe ich auch nochmal angehängt.

      Mach Dir aber keinen Stress, ich muss jetzt sowieso Schluss machen, der Wecker klingelt früh.
      Dateien
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • In deinen Timern fehlt der Eintrag location="Verzeichnis für Speichern der Aufnahme". Das ist aber unabdingbar, weil das Programm sonst nicht weiss, wo es nachlesen soll, wann die Aufnahme gestartet wurde. Kann sein, dass das durch AEL ausgelöst wird.

      Ich werden jetzt einbauen:

      * Wenn location fehlt, wird das eingestellte Verzeichnis 'Timer-Aufnahmeverzeichnis' verwendet. Steht dort z. B. <current> oder ein anderer Verweis werde ich den Standardspeicherort für Filme verwenden. Ist auch dort nichts eingetragen findet keine Prüfung statt, die Aufnahme würde dann jedenfalls als vollständig aufgenommen behandelt.

      Edit: Datei angefügt
      Dateien
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von WeFraJo ()

    • Habe den neuen Converter eben mal kurz zwischendurch getestet. Die gute Nachricht ist: die Box hängt sich nicht mehr auf. Es werden jedoch nach wie vor alle Sofortaufnahmen aus dem EPG heraus als vollständige Aufnahmen gewertet. Alles andere funzt einwandfrei.


      WeFraJo schrieb:

      * Wenn location fehlt, wird das eingestellte Verzeichnis 'Timer-Aufnahmeverzeichnis' verwendet. Steht dort z. B. <current> oder ein anderer Verweis werde ich den Standardspeicherort für Filme verwenden. Ist auch dort nichts eingetragen findet keine Prüfung statt, die Aufnahme würde dann jedenfalls als vollständig aufgenommen behandelt.
      Wo schaut denn Dein Converter nach dem Timer-Aufnahmeverzeichnis, bzw. wo steht der Standardspeicherort. An irgendeiner Stelle muss bei mir ja etwas eingetragen sein, was bei Anderen nicht steht.

      Ich werde heute Nachmittag/Abend mal meine alte Box hernehmen und alles was mit AEL zu tun hat deinstallieren, dann Deinen neuesten Converter dort noch einmal testen und dann berichten.
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -
    • larihinz schrieb:

      Wo schaut denn Dein Converter nach dem Timer-Aufnahmeverzeichnis, bzw. wo steht der Standardspeicherort
      Das Aufnahmeverzeichnis der laufenden Aufnahme wird in folgender Reihenfolge ermittelt:

      1) aus dem Timer (der regelmässig in timers.xml gespeichert wird - abgefragt wird aber aus den im VTI zwischegespeicherten Daten)
      2) wenn im Timer nichts hinterlegt ist (was bei dir der Fall ist): im Timer-Aufnahmeverzeichnis (wird in den settings gespeichert, gelesen wird jedoch auch hier der im VTI zwischengespeicherte Wert aus config.usage.timer_path. Aber nur, wenn hier bereits ein Verzeichnis steht und nicht ein Verweis darauf (also wenn der Eintrag mit / beginnt)
      3) Aus dem Standard Filmverzeichnis (detto, Wert aus config.usage.default_path)


      Wenn bis hier noch kein Verzeichnis ermittelt werden konnte, wird angenommen, dass die Startzeit im Timer stimmt. Das gleiche gilt auch, wenn das ermittelte Verzeichnis aus 2) oder 3) nicht das ist, wo tatsächlich aufgenommen wird.

      Ich kann das bei mir nicht nachvollziehen, meine Timer enthalten immer das Aufnahmeverzeichnis (mit einer Aufnahme, da hatte ich eingestellt, in das aktuelle Verzeichnis für Filme zu speichern - aber nicht reproduzierbar). Ich habe zum Testen dem Programm nur bewusst gesagt, dass im Timer nichts steht (deine Situation), und es hat bei mir funktioniert.

      Bitte beachten, dass in /etc/enigma2/settings erst dann der eingestellte Wert steht, wenn du einen (GUI-)Restart gemacht hast.

      Ich bin dann mal bis Sonntagabend weg. Deine Nachrichten kann ich lesen und ev. beantworten, habe aber keinen Zugang zur VU.
      Skin: Nemesis FHD (mit vielen eigenen Skinparts), MyEPG, EMC, OScam 1.20 rev.11682, ORF-Karte, MCC MovieCutCenter

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von WeFraJo ()

    • Danke für die Aufklärung

      Was bedeutet denn "im VTI zwischengespeichert", weil in der settings-Datei sind die beiden Werte korrekt eingetragen.

      Allerdings habe ich für Timeshift-Dateien ein anderes Verzeichnis gesetzt, weil ich diese nicht in der Movieliste sehen wollte. Könnte es sein, dass dies die korrekte Auswertung verhindert?
      Sonnige Grüße aus Bremen



      Die reinste Form des Wahnsinns ist es, alles beim Alten zu lassen und gleichzeitig zu hoffen, dass sich etwas ändert.

      - Albert Einstein -