Enigma 2 Kanalliste verstehen

  • Hallo zusammen,
    ich komme aus der Kathrein-Ecke und habe einen Kanallisteneditor für einige Kathrein-Receiver geschrieben. Nun würde ich gerne auch Enigma2 unterstützen, da es ja bereits eine Alpha von Enigma2 für den Kathrein UFS910 gibt.


    Allerdings habe ich da noch einige Verständnisprobleme und ich hoffe, ihr könnt mir weiterhelfen.


    In der satellites.xml sind die Satelliten und Transponder definiert, die gescannt werden sollen. Allerdings sind die Transponder dort ohne NID und TID...


    In der lamedb sind nochmal alle Transponder gelistet (mit NID und TID) und auch die ganzen services.


    Wie aber stelle ich die Verbindung zwischen lamedb und satellites.xml her? Woher weiss ich, welcher Transponder aus der lamedb zu welchem Satellite aus der satellites.xml gehört? Alleine über die SatPosition?


    Und wieso überhaupt diese Mischung aus XML und TXT files?



    edit: Noch ne Frage:
    In einer Kanalliste hab ich diese Einträge bei den Transpondern gesehen:


    Wie kann es denn sowas geben? Unterschiedliche Anzahl an Argumenten inder zweiten Zeie der Transponder :confused_face:



    schonmal besten Dank für die Hilfe!


    mfG
    Elemental

    2 Mal editiert, zuletzt von Elemental ()

    • Offizieller Beitrag

    Vorsicht ;).


    Die Satellites XML wird nur bei der Kanalsuche zur Hilfe herangezogen, in der lamedb stehen alle TATSÄCHLICH auf der Box verfügbaren Kanäle.


    die 192 an position 5 steht für 19.2° womit sich diese Frage auch erledigt haben sollte :winking_face:
    Die letzten 3 Parameter sind vmtl. optional (DVB-S2 Parameter sind das z.B.).

  • Aber in der lamedb stehen die Satelliten ja garnicht explizit drin, mit Name und so!


    Ich muss also selber die verschiedenen SatPostionen als Satelliten interpretieren? :frowning_face:



    Bei KAthrein sieht die Kanalliste beim UFS910 z.B. so aus (unzusammenhängende Beispiele)

  • Hallo Elemental,


    schau dir das dazu nochmal an (pos 4 von Ghost) : release-dm800_20080912.nfi


    Ich weiss nicht worauf das E2 des UFS910 aufgesetzt wurde, >>>aber ohne Phytonabfragen wird der Kanallisteneditor nicht seine gewünschten Infos herbekommen, vermute ich mal ??? <<<


    EDIT<
    Eine wirklich dumme Vermutung :winking_face:
    Also reines Parsen ...
    <EDIT


    Gruss
    SiennaRoot

    DM8000 HD, (sata) HDD + (sata) SSD - DeLOCK + (usb) Stick, OoZooN OE2.0 (flash)
    QNAP TS-209 Pro, TS-409U, TS-219P
    40'' LCD Toshiba 40ZF355D
    AV : Logitech Z-5500 Digital

    2 Mal editiert, zuletzt von SiennaRoot ()

    • Offizieller Beitrag

    Hi,


    ja.. die Satelliten Bezeichnungen werden aus der satellites.xml geholt.
    Alle anderen Daten in der satellites.xml werden nur bei der Kanalsuche benutzt.


    Hmm warum XML und Text Dateien... das hat wohl historische Gründe. Die satellites.xml ist ein überbleibsel von dbox2 zeiten.. und die lamedb eigentlich auch. Beides wurde schon mit enigma1 benutzt.


    Die lamedb ansich haben wir, weil die wesentlich einfacher zu parsen ist, wie eine riesen XML datei. Oder sagen wir mal schneller und resourcensparender. Desweiteren ist sie auch viel kleiner. Eine XML Datei mit dem selben inhalt wird halt riesig.


    Zum Aufbau hatte ich die Tage schon was geschrieben... der link steht im vorherigen Post


    cu

  • Komisch, komisch! Die zusätzlichen flags bei eingen Transpondern deuten auf lamedb V4 hin, aber in der ersten Zeile der Kanalliste, die ich hier habe, steht V3 ...


    Das mit den Pythonabfragen versteh ich aber ned :confused_face:



    edit: Zeitüberschneidung :grinning_squinting_face:
    Danke Ghost für die Erklärung! Hatte mir schon gedacht, dass das wahrscheinlich historische Gründe hat.


    Bei Neutrino gibts aber sogar ne services.xml, hab ich gelernt, wo die ganzen services in xml drin sind!

    Einmal editiert, zuletzt von Elemental ()

    • Offizieller Beitrag

    Hi,


    hmm das mit python versteh ich auch gerade nicht :winking_face:


    Aber hmm diese 3 zusätzlichen Werte sind für DVB-S2 Transponder.


    Also der Unterschied von V3 -> V4 ist in dem einen Post auch erklärt. V4 hat nochmal einen Parameter mehr. Halt dieser Flags....


    Bei deinem Ausschnitt sind das einfach die -S2 Parameter. Also System, Modulation, Rolloff.. und sowas.. wie gesagt.. steht alles in dem einen Posting.


    Bei -S kann man die einfach weglassen. Deshalb hängen die ja hinten an.


    cu

  • Hallo,
    hab noch eine Frage zur lamedb:


    Ist es eine feste Regel, dass ein Transponder immer 2 Zeilen hat und ein Service immer 3 Zeilen.


    Bei den Transpondern hat man ja wenigstens nach jedem ein / als Trennzeichen, aber bei den Services muss ich Zeilen zählen...

    3 Mal editiert, zuletzt von Elemental ()

  • Kann mir jemand das hier erklären:


    Beide Transponder haben Position 130, also Hotbird, aber wieso unterschiedliche Namespaces :confused_face:

  • Der 2. Eintrag hat keine Transponder-ID. Um den Transponder trotzdem eindeutig zu kennzeichnen wird ein Namespace aus der Position (HIWORD) und der Frequenz (LOWORD) gebildet.

    DM8000HD | DM7020HD | DM800HD | DM800HD | DM7020 | DM7000

    • Offizieller Beitrag

    Hi,


    also in der Theorie braucht man um einen Transponder eindeutig zu erkennen nur TSID/NID... auch Sat übergreifend. Leider hält sich da niemand drann. So dass es etliche Transponder gibt, wo TSID/NID einfach 0 sind. Oder irgendwas anderes falsches. Weil das so ist, haben wir diesen Namespace eingeführt. Diese ist bei Transpondern, wo die TSID/NID okay sind einfach nur orbital position um 16 stellen nach links geshiftet. Wenn e2 nun erkennt, da stimmt was nicht mit TSID/NID.. dann wird da zusätzliche die Frequenz / Polarisation eingebaut. Auf Astra 19.2 findet man sowas eigentlich nicht. Weil dort alles okay ist. Schlimm sind da eher Türksat 42.0E .. bzw feeds eben.


    Die berechnung dazu findest Du in der lib/dvb/frontend.cpp RESULT eDVBFrontendParameters::getHash(unsigned long &hash) const


    Deweiteren wäre dazu noch interessant lib/dvb/scan.cpp
    int eDVBScan::isValidONIDTSID(int orbital_position, eOriginalNetworkID onid, eTransportStreamID tsid)
    und
    eDVBNamespace eDVBScan::buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash)


    Aber eigentlich muss ein Editor den namespace nicht exakt gleich berechnen. Solange nachher im Ergebniss alle Transponder eindeutig sind. Sprich der Namespace kann auch einen anderen eindeutigen Wert enthalten. Schön wäre allerdings wenn zumindest die OrbitalPos drinn stehen würde.. ich glaube an nen paar Stellen wird das benutzt.


    cu

  • there is my vision of diseq/services problem


  • Gibts ne Regel, wann und wo diese Trennzeichen eingefügt werden?
    Wenn im Editor ein Sender umbenannt wird, dann muss ich das ja berücksichtigen, und selber diese Trennzeichen einfügen.

  • Also bei mir gibts jetzt einfach einen "DisplayName", der im Editor angezeigt wird und einen "echten" Namen.


    Sind ja sogar zwei verschieden Seperator-Chars: 134 und 135


    Blos wie das dann mit manuellem Umbenennen von Sendern funktionieren soll is mir noch ned klar...

    Einmal editiert, zuletzt von Elemental ()