Beiträge von tdoe

    Moin Moin,

    "Content Refresh must bei higher than Screenshots Refresh"

    Ich hab bei meinen Tests für Content Refresh 180 / 120 / 30 getestet. Screen Refresh immer auf 5.

    Sollte eigentlich funktionieren.
    Blöde Frage:
    Hast du nach dem verstellen der Refresh Zeiten auf ok gedrückt und kodi restartet?

    Falls ja Bitte NODEBUG=False und mir das Log zukommen lassen. Gerne per PN.

    Werde jedoch vor Donnerstag kein kodi in den Finger haben um zu testen.

    Gruß Tobias

    Moin sveni_lee,


    nichts ist unmöglich, nur ist das notwendig? Gibts da nicht direkt was in xbmc mit dem man das macht?

    Mit PVRID hast ja schonmal die channelnr.
    gibts nix in der Art:

    <onclick>XBMC.PVR.SwitchChannel($INFO[Window(Home).Property(TVHighlightsToday.Info.PVRID)])</onclick>


    ATM wird das nicht geparst, hier ist tvdigital auch etwas "schlampig". viele Sendungen ist die Minutenanzeige einfach leer. Hier steht dann nur "Min" dran.
    Prinzipiell kann quasi alles geparst werden was als Beispiel hier steht:

    http://www.tvdigital.de/tv-sendung/im-feuer/

    Gruß Tobias

    Moin Moin,

    Vorab: welche Version hast du getestet?

    Zu deinen Fragen:


    Code
    $INFO[Window(Home).Property(TVHighlightsToday.Mastermode)]


    Hier findest du wie der Benutzer den Mastermode konfiguriert hat, welche Kategorie.

    XML
    <onclick condition="Substring(Control.GetLabel(778),sport)">XBMC.RunScript(plugin.program.tvhighlights,"?methode=mastermode&watchtype=spielfilm")</onclick>


    Damit wird OHNE die Einstellungen vom User zu ändern, er hat sich ja für eine Kategorie entschieden, einfach ein content refresh einer bestimmten Kategorie erzwungen. Die screen refreshs funktionieren hier weiter, beim nächsten automatischen Content-Refresh wird wieder auf die vom User eingestellte Kategorie umgeschaltet.

    Somit ist diese Methode nicht dafür gedacht den Mastermode zu verstellen.

    Wenn du wissen willst in welcher Kategorie ein Highlight ist, dann kannst du

    Code
    $INFO[Window(Home).Property(TVHighlightsToday.1.WatchType)]

    verwenden.

    Muss ich jetzt eigentlich noch aktualisieren?


    Meinst du damit was ins onload packen?

    Eigentlich nicht. dann hast den eingestellten screenrefresh wert. Das heisst dass nach diesem Wert die Anfangszeiten der Highlights geprüft werden. Wenn in der Vergangenheit dann wird der eintrag verworfen.

    get_master_elements (schreibt TVHighlightsToday.Mastermode)
    get_split_elements (schreibt TVHighlightsToday.Splitmode.*)


    Das funktioniert so:
    Das Plugin startet und schaut sich an ob master oder splitmode und schreibt dann

    Code
    TVHighlightsToday.Mode

    Dann wird entschieden je nachdem ob mastermode oder splitmode eingestellt ist, welche Kategorie gewählt wurde.

    Im Mastermode:

    Code
    TVHighlightsToday.Mastermode


    oder im Splitmode:

    Code
    TVHighlightsToday.Slitmode.Spielfilm
    TVHighlightsToday.Slitmode.Sport
    TVHighlightsToday.Slitmode.Serien
    TVHighlightsToday.Slitmode.Unterhaltung
    TVHighlightsToday.Slitmode.Doku
    TVHighlightsToday.Slitmode.Kinder


    Diese Einträge stellen somit die Einstellungen wie in den Settings dar.
    Sie werden immer beim Systemstart, und beim ändern der Einstellungen im Settingsmenü neu geschrieben.


    refresh_splitmode (aktualisiert nur Anzeige, zwecks timeframe,kein unnötiger Abruf von Daten von tvdigital)
    refresh_mastermode (aktualisiert nur Anzeige, zwecks timeframe,kein unnötiger Abruf von Daten von tvdigital)

    Diese 2 "brauchst" du in dem Sinn auch nicht unbedingt, wenn dir das Delay das durch screen refresh entsteht (min 5 Minuten) nicht zu lange ist. Damit kannst du forcieren, dass das was angezeigt wird gegen die aktuelle zeit geprüft wird. Diese beiden könnte man in ein onload packen vielleicht.... Müsstest testen ob das der Performance schadet. Notwendig ists nicht unbedingt.

    Zum Python Fehler:


    Mist, dachte der wäre jetzt durch den Workaround weg... :(
    Ich hab kodi auf nem rpi2 laufen, und da bekomm ich den threadding fehler nicht...

    Gruß Tobias

    Moin,

    Hallo Super Idee gefällt mir gut hab das auch so eingefügt klappt auch soweit hab den CCM Helix Skin da ist so einiges anders, jetzt hab ich das Problem das der Widget nicht bei live-TV steht sondern bei System...

    Danke ;)
    Also dazu musst du rausfinden welche nummer dein TV Button hat, und dann kannst du in Zeile 7 in der Datei script-tvhighlights.xml die 12 gegen die id deines TV Buttons austauschen.

    XML
    <visible>Container(9000).Hasfocus(12) + !Skin.HasSetting(HomepageHideRecentlyAddedVideo)</visible>

    Außerdem aktualisiert er sich zum start von Kodi nicht, das muss ich immer manuel anklicken...
    aber dann läufts...


    Hast du mal den Contentrefresh auf was anderes wie "0" gestellt. Und am besten mal neu gestartet?

    Denn ja es werden zwar im normalen Betrieb alle Einstellungen mittlerweile instant geschrieben, da ich aber beim Dienst-Start prüfe ob hier contentrefresh auf 0 gestellt ist und wenn ja sich der dienst beendet, ist der weg bis zum system neustart (oder Plugin deaktivieren/aktivieren?)

    Wenn das alles nix bringt, bitte mir mal dein [definition='1','0']log[/definition] zukommen lassen.

    Nachtrag: Hast du die Version 0.1.4 ?

    Gruß Tobias

    Moin,

    im 1. Post hängt die neue Version.

    Folgende Änderungen:

    - ChannelTranslate.json
    die forcierte Zuordnung von tvdigital zu PVR Kanälen kann in dem externen File im Plugin Verzeichnis erfolgen
    - Settingsaktualisierung
    Beim Verlassen der Settings werden alle benötigten Properties geschrieben und ein content refresh getriggert
    - README.txt aufgeräumt ;)
    - Bugfix 'True'=>'true'
    - Bugfix Python Error (Danke BJ1)
    - XML-File gegen das aufgeräumte ausgetauscht. (Danke blauesgruen)
    - Defaultcontrol auf Timer Button
    - Timer Button von visible -> enable
    - Timer Button um 'icon' Parameter ergänzt
    - Neue methoden:
    - set_mastermode
    - set_splitmode


    Gruß Tobias

    Moin,

    Ich muß nochmal eine Anfängerfrage stellen,

    nach dem ich meine Widget-Panels in den Griff bekommen habe, wollte ich mich nun dem Info-Panel widmen. normalerweise wird ja das Popup wir folgt aufgerufen:

    XML
    <onclick>RunScript(plugin.program.tvhighlights,"?methode=infopopup&detailurl=$INFO[Window.Property(TVHighlightsToday.1.Popup)]")</onclick>


    was auch problemlos funktioniert...

    In dem Skin, in dem ich das Addon eingebaut habe gibt es bereits einen widget-Info Panel, das ich gern nutzen würde. das wird mit

    XML
    <onclick>SetFocu(5014)</onclick>

    aufgerunfen. Wie müsste jetzt die das entsprechende <onclick>RunSkript....</onclick> aussehen, wenn ich das nutzen möchte? also das mitgelieferte Popup gar nicht aufpoppen soll sondern nur das Property(TVHighLightToday.Info... gesetzt werden soll damit die infos zur Verfügung stehen...

    nicht sicher ob das in der aktuellen Version schon drin ist, bei mir ists mit eingebaut.

    Versuch mal folgende Methode:
    set_details_to_home


    Code
    <onclick>RunScript(plugin.program.tvhighlights,"?methode=set_details_to_home&detailurl=$INFO[Window.Property(TVHighlightsToday.1.Popup)]")</onclick>


    Gruß Tobias

    Moin,

    Wenn man den Timer auf eine Sendung setzt die in der Vergangenheit liegt, was passiert dann?
    Vielleicht sollte man den Timerbutton noch abhängig von der aktuellen Zeit machen oder ob die Einstellung "zeige Vergangene" im TVHighlights Addon aktiviert ist.
    bg

    Edit:
    habe gerade einen Timer gesetzt und Kodi beendet. Dann Neustart und dann das:

    ja das ist noch der Python Bug.
    Den hab ich in meiner aktuellen Version bereits geflickt.

    Auch das mit dem "verlassen der Settings" mit automatischer änderung ohne Neustart ist drin.
    Auch hab ich nun zwei Funktionen mit denen man instant aus dem Skin raus zwischen split und mastermode umschalten kann.

    Den Bug mit "True"->true" hab ich auch geflickt.

    Denke heut Abend kann ich die euch zur Verfügung stellen.

    Gruß Tobias

    @tdoe
    ... und alle Hauptsender sind in HD.

    Ich hab ne priorisierung eingebaut, er schaut immer zuerst ob in deiner senderliste ein passender Sender mit der Endung "HD" ist, erst dann würde er nen SD Sender auswählen.

    Ich dachte mir jemand mit nur SD packt sich keine nicht funktionablen HD Sender in die Liste, Jemand mit HD Sendern kann jedoch SD Sender ebenfalls in seiner Liste haben, würde aber dann lieber HD schauen und nicht SD.

    Dieser Test ist jedoch obsolet, wenn du deinen Sender in das JSON reinpackst.


    Gruß Tobias

    Moin Berni,

    @tdoe
    Bei mir findet er die Sendernamen nicht richtig, anstatt RTL HD wird rtl - 102.5 genommen und zb. EinsFestival, Arte HD, Kika HD usw. wird erst garnicht gefunden.
    Ich nutze Simple pvr mit Iptv als m3u liste und alle Hauptsender sind in HD.

    Übersehe ich vielleicht etwas?

    Dadurch dass bei jedem die Sender anders heissen, hab ich hier schon mit problemen gerechnet. Es wird ja wie weiter oben beschrieben versucht zu erahnen welche sender von tvspielfilm bei dir vorhanden sind.
    Bei den meisten sollte es klappen.
    Für die wenigen die nicht zuordenbar sind hab ich was eingebaut in Zeile 57 von der default.py. Das ist momentan noch nicht update sicher, das muss noch in ein File ausgelagert werden. Für den Moment kannst du die Zuordnung dort fixen.

    Code
    56 
      57 ChannelTranslate = '[{"name":"Discovery Channel","pvrname":"Discovery HD"},{"name":"National Geographic Channel","pvrname":"NatGeo HD"}]'
      58


    Bei "name" muss der Sendername von tvdigital hin, und bei "pvrname" wie der Sender bei dir heisst.

    Gruß Tobias

    Moin,

    Jetzt muss ich mal nachhaken....Kann man über das Addon auch den Switcher von dir @BJ1 auslösen?
    Direkt aus einem Widget oder aus dem InfoPopup herraus?

    Ich sehe mich morgen schon den kompletten Thread durchlesen... ich steh ständig aufm Schlauch ;(

    Jipp, das ist auch bereits eingebaut. Ich hab hier in meiner test/produktivumgebung das ganze erfolgreich getestet und es hat umgeschaltet.... bin somit etwas confused dass es bei BJ1 nicht geht.

    Gruß Tobias

    Moin,

    Code
    13:33:45 T:8488 WARNING: Trying to add unsupported control type 1
    13:33:45 T:8528   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                 - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                Error Type: <type 'exceptions.UnicodeEncodeError'>
                                                Error Contents: 'ascii' codec can't encode character u'\xf6' in position 21: ordinal not in range(128)
                                                Traceback (most recent call last):
                                                  File "D:\Program Files (x86)\Kodi16\portable_data\addons\plugin.program.tvhighlights\starter.py", line 41, in <module>
                                                    notifytxt   = str(translation(30130))
                                                UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 21: ordinal not in range(128)
                                                -->End of Python script error report<--

    das kommt seit heute, nachdem ich Kodi 16 RC1 installiert habe.
    Auch habe ich keinen Status mehr seit dem. Ich kann also den Mode nicht abfragen.
    Ich werde das Addon nochmals deinstallieren und den Ordner löschen und dann neu installieren ... mal sehen

    scheint ein encoding Problem zu sein.

    Hab folgendes in dem Text:


    Code
    <string id="30130">Contentrefresh muss höher als Screenrefresh sein. (Empfohlen 120/5)</string>

    da mag er das 'ö' nicht. Sollte also nicht dramatisch sein der fix....

    Wobei ich dachte dass dies bei 'translate()' eh utf8 sein sollte somit das ö eigentlich Problemlos funktionieren sollte.

    Danke fürs melden!

    Nachtrag: Klar hast du da keinen Status mehr wenn das Prog die Grätsche macht ;)

    Gruß Tobias

    Moin sveni_lee,


    Ja das mit der description ist leider so. Das Problem hierbei ist, dass das was aussen im Widget ist alles von einer Seite geparst werden kann, somit wenig traffic produziert, Wenn nun die Beschreibung gewünscht ist müsste pro Sendung eine weitere Seite geparst werden.
    Ich hab dabei immer den Betreiber auch mit im Blick, denn wenn mal so überlegst:


    Extrembeispiel was bei Splitmode an Traffic anfällt:


    - 6 Rubriken je 1 Seite
    - je Rubrik sagen wir 10 Titel


    sind wir gesamt Bei einem Datenabgleich bei 66 Seiten die geparst werden müssten. Für kodi bestimmt kein großes Problem, nur hier machts dann die Masse aus.
    wenn wir davon ausgehen dass der user den content refresh auf 120 min gestellt hat sind das dann Pro User


    12*66 = 792 Anfragen bei TVdigital am Tag, und das empfinde ich als zuviel des guten.


    Durch parsen der Grundinformationsseite (12 Anfragen am Tag bei 120 min contentrefresh) stehen dir folgende Properties zur Verfügung:
    Title,Thumb,Time,Date,Channel,Icon,Logo,Genre,Comment,Year,Duration,Extrainfos,Popup,WatchType


    alle nach dem Schema:


    TV<watchtype>HighlightsToday.<nr>.<bezeichnung>


    bzw.


    TVHighlightsToday.<nr>.<bezeichnung>


    Gruß Tobias

    Moin,

    also so was ich hier raus lese ist ausser dem Bug in Python, zu welchem BJ1 ja nen Workaround gepostet hat noch folgendes offen um das Skinnerherz zu beglücken:

    1. Möglichkeit von aussen die Mode des Plugins zu switchen (Mastermode/Splitmode)
    2. Button im Settingsmenü der das Neustarten von Kodi obsolet macht
    3. Funktion zum Aufruf von aussen, welche selbes macht wie 2.

    Fehlt sonst noch was?

    Gruß Tobias

    Moin blauesgruen,

    dürfte man Ideen/Wünsche außern?

    Falls ja, hätte ich welche :rolleyes: . Die PVR Bedienung find ich etwas Umständlich. Weiss nur nicht ob das so einfach änderbar ist:

    - Beim PVR Fullscreen, rechts und links Taste öffnen Channelübersicht.
    - Bei der Channelübersicht ist rechts und links pageup/pagedown
    - Beim PVR Fullscreen, info-Taste zeigt epg der aktuell laufenden sendung an, ohne durch irgendwelche menüs sich durchzuhangeln.
    - Die "KontextMenüTaste" (nicht sicher dass die so heisst, zeigt atm stream-details und CPU Auslastung an) fänd ich gut wenn die EPG-Gesamtanzeige öffnet.

    Gruß Tobias

    Heyho,

    noch was:

    Code
    RunScript(plugin.program.tvhighlights,"?methode=show_select_dialog")

    Mastermode - damit kommt zwar der Auswahldialog, aber Änderungen werden nicht übernommen.
    Nur wenn ich es im Addon ändere und auch nur dann, wenn ich Kodi neu starte.

    Übrigens die Fehlermeldung (Post 147) kommt am Laptop nicht. Da nutze ich IPTV, die Fehlermeldung kommt am Arbeitsrechner, da wird das Signal übers Netzwerk vom DVBViewer (Recordservice) empfangen. Dadurch gibt es eine Verzögerung. Dein Addon ist schneller bereit, als die PVR Engine von Kodi.
    bg

    was heisst das wird nicht übernommen?
    Das mit dem Select Dialog ist als "temporäre Änderung" gedacht. Das ändert nichts an der einstellung vom Mastermode. Das triggert nur einmal einen "switch" zu einer anderen Kategorie, Wenn dann der "Content Refresh" wieder zuschlägt, ist wieder die "Haupt-MasterMode" Kategorie auf den Properties.

    Oder funktioniert bei dir hier gar kein switch?

    Gruß Tobias

    Moin blauesgruen,

    in die Doku werde ich demnächst nochmal rein gucken.

    1. nun habe ich mir den Mode mal als Label anzeigen lassen:

    Code
    <label>$INFO[Window(Home).Property(TVHighlightsToday.Mode)]</label>


    als Ausgabe erhalte ich immer "splitmode". egal ob im Addon Mastermode eingestellt ist oder nicht.
    Auch ein Neustart von Kodi bringt da keinen Erfolg.

    2. wie läuft die Aktualisierung ab?
    in der Home.xml steht im <onload> folgendes:

    Code
    <onload>RunScript(plugin.program.tvhighlights,"?methode=settings")</onload>

    ,dass heißt es wird jedesmal wenn die Home.xml aufgerufen wird dieses onload ausgelöst.
    Ich würde es gerne in die Startup.xml legen. Werden dann, auch wenn man Kodi nicht neustartet, die Daten entsprechend aktualisiert?
    bg

    Zu 1.

    Ja da hast du nen typo entdekt. In Zeile 1001 muss "True" zu "true" geändert werden, habs gerade getestet, so funktionierts nach einem Kodi Neustart.


    999 elif methode=='get_mode':
    1000 debug('Methode: getStatus') #FIXIT
    1001 if mastermode == 'true':
    1002 modeinfo = "mastermode"
    1003 else:
    1004 modeinfo = "splitmode"
    1005 WINDOW.setProperty( "TVHighlightsToday.Mode", modeinfo )

    Zu 2.

    Das mit dem onload ist ganz schlecht. Ich hatte hier getestet, und das onload wird jedeswal aufgerufen wenn man z.B. aus einem Menü zurück zum Home-Window wechselt, so kommen schnell mal ein paar hundert seitenaufrufe pro User zusammen, dann wirds nicht lange dauern bis der Betreiber sich was ausdenkt um uns fern zu halten.
    Aus diesem Grund hab ich den Dienst ergänzt, dieser lädt nach eingestellter Periode und nach dem Neustart die Daten runter, und ebenfalls mittels des Dienstes wird unter der Zeit nur das was an Daten schon da ist (ebenfalls das Intervall einstellbar) verglichen ob das in der Vergangenheit ist oder nicht und gegebenenfalls rausgeworfen.

    Somit bitte das onload auf dem Home-Window deaktivieren.

    Auch in der Startup.xml brauchst du nichts eintragen. Der Dienst kümmert sich um alles, und der ist an wenn:
    1. Das plugin aktiviert ist
    2. Refresh Interval für Content !=0 ist.

    Ich kann mal schauen ob ich da was machen kann dass hhier der Neustart obsolet wird bei Mode-Änderung.

    Gruß Tobias