EPGRefresh 2.2.0 nur für DreamOS?

  • Hi,


    ist die neue Version nur für DreamOS? Ich habe gerade die Version aus dem master brunsh auf die 7020hd kopiert und nach dem Neustart und dem Versuch EPGRefresh zu starten gab es die Meldung das einige Plugins nicht vorhanden sind.

    MfG
    latte

  • Naja. Dafür gibt es im enigma2-repository auf github ja mehrere Branches je nach enigma2-Version. Master ist immer der aktuellste, also inzwischen OE 2.5. Der Branch 4.2 ist für e2 4.2 das im OE 2.2 stable vorliegt und 4.0 gibt es im OE 2.0.


    Da die verschiedenen OE- und E2-Versionen unterschiedliche APIs haben, kannst du nicht einfach eine Version für eine e2-Version auf einer anderen e2-Version laufen lassen. Da ist dann vielleicht 99% des Codes gleich, aber das 1% wird es crashen lassen.
    Das ist ja das schöne an git :winking_face: Du kannst verschiedene Versionen desselben Codes im gleichen git halten und neue Änderungen auch immer nach Bedarf in andere Branches übernehmen oder nicht.


    Die neueste Änderung für das event-basierte EPGrefresh wurde auch nur in den master-Branch eingeführt, weil die zugrunde liegende API für das EPG erst ab enimga2 4.2 vorhanden ist.


    Edit: zu langsam :grinning_squinting_face: EPG-Datenbank gibt es ja erst ab 4.2. Das meinte ich damit :winking_face:

    so long
    m0rphU

  • Hi,


    ok, das mit den git Versionen muß ich mir mal aufschreiben oder ausdrucken da ich das immer vergesse. Das master immer das aktuellste OS ist ist mal ein guter Hinweis.
    Könnte nicht wenigstens die Funktion das nur solange gescannt wird wie nötig in OE2.0 übernommen werden? Auf der 7080Hd hat sich die Zeit die EPGRefresh jetzt benötigt ziemlich verringert.

    MfG
    latte

  • Da ist eigentlich nicht viel aufzuschreiben. Es gibt für jede enigma2-Version einen Branch. Dann noch diverse Branches für irgendwelche Spielereien oder Tests, aber die sind alle alt :winking_face: Siehe auch: https://github.com/opendreambox/enigma2-plugins/branches


    Und als weitere Frage hätte ich jetzt eher die nach OE 2.2 stable erwartet :grinning_squinting_face: Da sollte es eigentlich einbaubar sein :winking_face: Aber das ist eben das stable und da kommt so experimenteller Kram eben nicht sofort rein.
    Für OE 2.0 muss der entsprechende EPG-Code im enigma2-Core sicher deutlich erweitert werden, damit das dort geht. Ich glaube kaum, dass DMM das noch für die epg.dat einbauen will. Mit einer vernünftigen EPG-Datenbank ist das eben alles einfacher umzusetzen :grinning_squinting_face:

    so long
    m0rphU

  • Mit dem letzten anderungen von Dr. Best crasht EPG-Refresh nicht mehr
    Ich habe ein USALS motor und wann ich den neue 'use timebased duration' auf 'nein' setze, wirkt das nicht!
    Jedem satellite auf ein andere position wird direkt ubersprungen.
    Nur eine transponder auf dem selben satellite oder eine DVB-C frequency wird gescant.


    Ich dachte, das problem mit eine motorized dish was behoben EPG-Refresh commit drbest2 line 90?

  • Die anpassungen sind noch experimentell und daherhab ich das nur nach master eingecheckt. Denke aber, dass es auch nur dort sein wird in zukunft. Und das mit motor kann ich nicht prüfen. Bitte log anhängen.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • @dre


    Ich habe eine sender von Hotbird 13E angesehen.
    Jetzt habe ich ein log von enigma2 gestartet, handmassig EPG-refresh gestartet und gewartet biss es zum ende gelaufen ist.
    Alle sender DVB-S sender wirden nich eingelesen.
    Nur 2 DVB-C sender, SBS9 HD und RTL4 HD, wirden von EPG-refresh eingelesen.
    Ich hatte die einstellung 'use time based duration' auf nein.


    Ich hoffe das log helpt dir.
    enigma2.log

  • @Ghost,


    Das ware ein OE 2.5 Exp. image auf ein DM7080HD.
    Was meine sie mit 'welchen stand' und 'ein komplettes Logfile'?
    Ich habe ein log gestartet befor ich EPG-Refresh handmassig gestartet habe und gewartet biss EPG-Refresh beended ware.


    Ich wurde das gerne nochmahls tun mit andere einstellungen oder langer loggen.

    • Offizieller Beitrag

    Okay.. wenn das Logfile von dem Stand war bevor der EPGRefresh gestartet wurde, dann trifft den EPG Refresh keine Schuld.


    Im Logfile sieht man, dass der EPGRefresh nicht tunen konnte, weil kein freier Tuner verfügbar war... bzw. kein Tuner über den der gewünschte Satellit hätte empfangen werden können.


    Das sieht man an folgender Ausgabe:
    Jan 23 22:24:03 dm7080 enigma2[25557]: recording service: <enigma.eServiceReference; proxy of <Swig Object of type 'eServiceReference *' at 0x54360260> >
    Jan 23 22:24:03 dm7080 enigma2[25557]: record: 0
    Jan 23 22:24:03 dm7080 enigma2[25557]: allocate channel.. 0c82:0003:00eb0000
    Jan 23 22:24:03 dm7080 enigma2[25557]: available channel.. 2cec:013e:00820000
    Jan 23 22:24:03 dm7080 enigma2[25557]: allocate Channel: res -6


    "allocate channel" war der Transponder den der EPGRefresh aktualisieren wollte... available channel ... ist die liste der Kanäle die aktuell auf der Box liefen.
    und allocate Channel: res -6 heisst dass keine Resourcen vorhanden waren. also kein freier tuner...


    Wieviele Tuner hat denn deine Box? Also es könnte schon sein, dass einfach im Vordergrund.. also auf dem TV ein Sender auf einem anderen Satelliten gelaufen hat.


    Der EPGRefresh läuft ja im Hintergrund .. also ohne priorität den Motor zu verdrehen.


    Ansonsten musst du anstelle den EPGrefresh über eine Aufnahme im Hintergrund auszuführen die Option aktualisierung mit dem Hauptsender wählen. Dann hätte der EPGrefresh auch umschalten können.


    cu

  • @Ghost : beim entwickeln hatte ich öfters mal diese meldung während des epg-updates:

    Code
    Jan 12 20:50:34 dm900 enigma2[537]: reserved 0

    weisst du, was das bedeutet?

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

    • Offizieller Beitrag

    Das kommt vom DVB-String nach UTF-8 Konverter... da ist im String eine 0 gesetzt.. was aber laut dem entsprechenden Standard "reserved" ist... also eigentlich gar nicht gesetzt werden sollte / dürfte. Also bei Zeichenketten die über DVB empfangen werden steht normalerweise im ersten Zeichen der Zeichenkette das Charset... also iso8859-x oder andere tables... was es alles gibt ist in der EN300468 beschrieben... und anderen Specs.. und dort steht eine 0 ... was es nicht gibt.. oder irgendwie ich nicht verstehe.


    Also ist nichts kritisches... sollte nur als hinweis dienen, dass da eventuell irgendwas gemacht wird, was e2 entweder nicht unterstützt .. oder halt kaputt ist.


    Aber wie gesagt.. entweder ich verstehe den DVB Standard da nicht.. oder der Provider versteht es nicht :winking_face:


    Ist aber nicht kritisch.


    cu

  • Der EPGRefresh läuft ja im Hintergrund .. also ohne priorität den Motor zu verdrehen.


    Ansonsten musst du anstelle den EPGrefresh über eine Aufnahme im Hintergrund auszuführen die Option aktualisierung mit dem Hauptsender wählen. Dann hätte der EPGrefresh auch umschalten können.

    Wo finde ich diesen option?
    Im EPG-Refresh kann ich sie nicht finden.


    Meine DM0780HD hat 2 orginal DVB-S2 tuner A+B, ein extra DVB-S2 tuner und noch ein DVB-C/T tuner.
    Ich habe das option 'Aufname haben prioritat' auf ein und hatte mir gedacht, das 'Fake recordings' dann auch immer prioritat haben.
    Vielleicht habe ich falsch gedacht :frowning_face:


    Aber jetzt glaube ich weis warum meine EPG nicht 'refreshed'.
    Es wird die epgTimeout function (zeile 90 im EPGRefresh.py) angerufen nach 5 sekunden.
    Wann das motor noch dreht, wird diesem function nach 5 sekunden wirder angerufen.
    Wann das motor nicht mehr dreht, wird ein fehler meldung gegeben und das nachste service versucht.


    Ich habe dieses morgen im log gesehen, das meine motor genau 5 sekunden dreht!
    Das EPG-refresh wartet noch auf dem motor und wann epgTimeout angerufen wird, dreht das motor auch nicht mehr!


    Ich weiss nicht wie ich das behoben kann, ausser dan mit ein grosseres timeout.
    Noch einige interesanten linien von das log


  • Also entweder ist dein log nicht komplett oder du verwendest nicht die event-basierte version (use time based = false). Sonst müsste nämlich zuerst mal eine instance geholt werden.


    Edit: also das fehlt im log:

    Code
    [EPGRefresh] - myEpgCacheInstance is None. Get it

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • @dre,


    Naturlich ist mein log nicht complet, das komplette log war uber 25 Mb!
    Und ich habe das event-basierte option gebraucht.
    Ohne event-basierten version wird es nimmer ein 'epgTimeout' meldung geben im log!
    Die linien von log sind nur um zu zeigen, das mein motor dreht, aber EPG-refresh ein timeout gebt und kein refresh macht.

  • Ich habe die erste epgTimeout van 5 sekunden erhoht nach 30 sekunden und jetzt wird auch ein EPGRefresh gemacht wann die motor drehen muss. :smiling_face:


    Code: EPGRefresh.py
    if config.plugins.epgrefresh.usetimebased.value == False:
    	# set timeout timer for eEPGCache-signal based refresh
    	self.epgTimeoutTimer.start(30000, True)

    Vielleicht konnte das im GIT version angepast werden?