Wir suchen einen Skripter

  • Hallo Zusammen für unseren Skin (WIP) suchen wir jemanden, welcher Lust hat ein Skript (für eine LiveTV Funktion) zu erstellen.

    Und zwar geht es um einen setzbaren UmschaltTimer. Wir möchten ein Skript, welches erlaubt eine Sendung mittels View-/Umschalttimer zu definiert, sprich ich setzte im EPG eine Sendung, welche ich sehen jedoch nicht aufnehmen möchte und das Skrip veranlasst Kodi LiveTV direkt zu dem definierten Zeitpunkt auf den entsprechenden Kanal zu setzen.

    Bei interesse bitte per Konversation bei @Marc0810 oder bei mir melden

    Vielen Dank

  • Sowas könnte man als Service-Addon skripten. Dazu müsste das Skript irgendwie (per Property) an die Channel-ID auf den umzuschaltenden Kanal sowie die Umschaltzeit rankommen. Umschalten geht sollte per JSON gehen. Siehe http://forum.kodi.tv/showthread.php…switch+timer%22

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Also ich hab ja null komma gar keine Ahnung von Phyton, sorry aber das ist mir alles zu hoch..
    Ich bekomm grad mal 3 Zeilen Batch hin ;) ..
    Ich wüsste nicht mal was ein Cronjob sein soll.

    Was wir bräuchten ist der Pfad eines selektiertem EPG Eintrages als string. Diesen muss es irgendwo ja geben - das Kontextmenü bietet ja auch die Option
    "Zum Kanal wechseln"..

    Skintechnisch gibt es den aber nicht als ListItem.Filenameandpath im EPG, sondern nur den internen Pfad des EPG Eintrages oder was das auch immer sein soll.
    Alles andere lässt sich skintechnisch lösen, sowas wie ein Service wäre gar nicht nötig so wie es aussieht.
    Nur eben der Pfad zum Channel fehlt den man z.B. dann über ein script in einem onclick mit Runscript setzen müsste..

    In der Channelliste ist das alles kein Ding. Da bekomme ich den Pfad aus dem Listitem. Nur ist das eben kein EPG und zeigt ja höchstens den
    nächsten Titel an..

    Das müsste uns schon einer Bauen von den Profis..

    Grüße

  • Hatte so eine enliche Idee schon mal nur nicht Live TV sondern Mediateken wer hat heute noch die Zeit am Tag X und die Zeit X am TV Gerät zu sitzen.

    Naja nicht wirklich :) ..

    Der Sinn wäre ja eher einen "nicht Aufnahmefähigen Timer" über das Contextmenü zu bekommen der am Tag x auf das Programm y schaltet.
    Um eine Folge nicht zu verpassen die man aber nicht Aufnehmen will.

    Das macht eigentlich viel mehr Sinn wenn auch am Tag x davorsitzt :) .
    Nur bekommt man im EPG eben keinen Pfad zum Kanal. Deswegen die Anfrage an die Scripter ob das möglich wäre.

    Grüße

  • @Dima praxisbeispiel:
    ich möchte kommendes we auf keinen fall verpassen wie hertha bsc in der bundesliga den kack-bayern eine reinwürgt.
    also timer auf sky bundesliga stellen so das umgeschaltet wird um auch keine minute zu verpassen.
    aufnehmen würde mir in dem falle nichts bringen....ich brauch nen umschalttimer weil ich es ja live sehen will.

  • Nur bekommt man im EPG eben keinen Pfad zum Kanal. Deswegen die Anfrage an die Scripter ob das möglich wäre.

    Ja was bekommt man denn aus dem EPG heraus? Es gibt sowohl die EPG-Datenbank als auch die TV-Datenbank im Ordner Database. Mit irgendwas müssen ja die EPG-Infos verknüpft sein. Wenn ich z.B. eine eindeutige EPG-ID (oder was auch immer) habe, kann ich doch anhand dieser ID mir den Rest aus den Datenbanken holen...

    Etwas später:

    Ich habe mir sowohl die Epg10.db als auch die TV29.db angeschaut. Es ist kein Problem, anhand einer idBroadcast oder einer idBroadcastUid die idEpg auszulesen, denn die idEpg wird in der TV29.db als Schlüssel für den Kanal verwendet. Die Verknüpfung beider Datenbanken führt also zum gewünschten Ergebnis.

  • @BJ1

    Ich frage mich gerade wie ist die ID, wenn mann nicht alle Sender sondern nur eine Gruppe anzeigen lässt (z.B Kinder) die ID wird meiner Meinung nach dann einfach auch wieder mit 1 - xy auf listet und fals man in der Zwischen zeit dann auf alle Kanäle umstellt kommt dann der entsprechende aus der gesamten liste.

  • Die idEpg aus der TV.db und die idEpg aus der Epg.db sind der gemeinsame Schlüssel. Wenn ich mir zum Zeitpunkt des Umschalttimers zur idEpg (anhand der idBroadcast) die passende idChannel hole, ist es vollkommen egal, welche Gruppe der Kanal, welcher nunmal für die idBroadcast verantwortlich ist, angehört. Im übrigen ist die idChannel was anderes als die iClientId oder die iClientChannelNumber ;) . Lass' Dir mal die Datenfelder der TV.db anzeigen.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Skintechnisch gibt es den aber nicht als ListItem.Filenameandpath im EPG, sondern nur den internen Pfad des EPG Eintrages oder was das auch immer sein soll.

    Na, dann gib mir doch mal den internen Pfad des EPG oder was immer das sein soll und packe die TVxx.db und Epgyy.db aus dem userdata/Database Verzeichnis mit dazu - wenn es kein Staatsgeheimnis ist. So ist das doch nur Rumgeeiere. Ich versuche das dann mal anhand der beiden DBs aufzudröseln. Wenn das funktioniert, haben wir einen Ansatz und können das skripten. Aber dazu brauche ich mal einen/den konkreten "skintechnischen Wert", der da geliefert wird - sowie die dazu passenden DBs. Gerne auch per Email.

    Ich bin kein Skinner und bekomme beim Rechtsklick im EPG nur das Kontextmenü - aber das muss sich ja auch an einer ID, Property oder was auch immer bedienen :)

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Na, dann gib mir doch mal den internen Pfad des EPG oder was immer das sein soll und packe die TVxx.db und Epgyy.db aus dem userdata/Database Verzeichnis mit dazu - wenn es kein Staatsgeheimnis ist. So ist das doch nur Rumgeeiere. Ich versuche das dann mal anhand der beiden DBs aufzudröseln. Wenn das funktioniert, haben wir einen Ansatz und können das skripten. Aber dazu brauche ich mal einen/den konkreten "skintechnischen Wert", der da geliefert wird - sowie die dazu passenden DBs. Gerne auch per Email.

    Tja, hätte ich ein EPG würd ichs dir zeigen :) .. Mein IP-TV EPG geht nicht mehr seit gestern..

    Ich bin kein Skinner und bekomme beim Rechtsklick im EPG nur das Kontextmenü - aber das muss sich ja auch an einer ID, Property oder was auch immer bedienen

    Der Ablauf sollte dann in etwa so sein:

    Ich hab einen Button im Kontextmenü der vier strings setzt.
    Startdatum
    Startzeit
    Kanal
    Pfad

    Code
    <control type="button" id="1033">
    				<include>dialog_contextbutton</include>
    				<onleft>Dialog.Close(106)</onleft>
    				<onright>Dialog.Close(106)</onright>
    				<onclick>skin.setstring(Channelswitchdate,$INFO[ListItem.StartDate])</onclick>
    				<onclick>skin.setstring(Channelswitchtime,$INFO[ListItem.StartTime])</onclick>
    				<onclick>skin.setstring(Channelswitchtitle,$INFO[ListItem.ChannelName])</onclick>
    				<onclick>skin.setstring(ChannelswitchPath,$INFO[ListItem.Filenameandpath])</onclick>
    				<label>Umschalttimer setzen</label>
    			</control>


    Öffne ich das Kontextmenü in der Kanalübersicht kann ich die alle zuweisen.
    Im Skin wird dann ein unsichtbares Fenster eingeblendet wenn Systemzeit und Timerzeit gleich sind.
    Beim schließen, also wenn diese beiden nicht mehr gleich sind, wird der Befehl

    PlayMedia von Kodi ausgeführt

    <onunload>PlayMedia("$INFO[Skin.String(ChannelswitchPath)]")</onunload>

    Soweit so gut:

    Nur ist es eigentlich so das alle Medien in Kodi das Label
    Listitem.Filenameandpath haben, das den Pfad enthält zum Medium.

    Nur eben nicht im EPG.. Dort ist Listitem.Filenameandpath irgendein EPG Eintrag, ich rate mal aus dem XML TV.
    Kann leider gerade nicht Nachschauen wie genau so ein Pfad aussieht.

    Wenn aber dein EPG öffnest und in der Datei
    MyPVRGuide.xml ganz unten vor dem </controls>

    Code
    <control type="textbox">
    <left>440</left>
    <top>190</top>
    <width>505</width>
    <height>580</height>
    <label>$INFO[Listitem.Filenameandpath]</label>
    </control>


    das mal einfügst siehtst was Kodi da ausgibt als Text.

    In allen anderen Fenstern bekomme ich bei dem damit etwas in dieser Art
    pvr://channels/tv/Alle Kanäle/pvr.iptvsimple_1610139507.pvr

    Und das kann ich mit PlayMedia abspielen, respektive den Kanal starten im PVR.

    Jetzt ist der obere Contextmenü Eintrag im EPG "Zum Kanal Wechseln" - je nachdem glaub ich was eingestellt hast in den Settings.

    Und deswegen ist die Frage ob man das in einem Script möglich machen kann diesen Pfad in einen String zu setzen.
    So etwas in der Art RunScript(script.timerswith,string=ChannelswitchPath) um das dann in dem Button mit als String für den Skin setzen zu lassen.


    Der Rest ginge ja wie gesagt. Wir bräuchten nur den Pfad.
    Wäre Klasse wenn da was machen könntest.
    Kanns nur gerade leider nicht Testen - ich war gerade fertig mit den EPG Ansichten als es sich verabschiedet hat :)


    Grüße

  • Danke! Damit kann ich als Skripter was anfangen! Werde mal ein wenig testen und halte Euch auf dem laufenden...

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Danke! Damit kann ich als Skripter was anfangen! Werde mal ein wenig testen und halte Euch auf dem laufenden...

    Klasse..

    Pacoma ist dann besser geeignet das zu Testen. Mit IP-TV scheint das alles ein Trauerspiel zu sein. Kein Timer, keine Aufnahme, kein RDS..
    Alles nicht so einfach..

    Wunderte mich auch das Kodi das von haus aus wohl nicht zu können scheint. Macht ja jeder Receiver auch.

    Wenn es aber einfacher findest gleich ein Service Addon draus zu machen halte ich dich nicht auf :) .
    Aber so was die einzelnen Tests zeigten ginge es auch so. Ich versuch ja immer soweit wie Möglich ohne zu kommen,
    aber wenn kein Label gibt bin ich eben am Ende :) .

    Grüße

  • MyPVRGuide.xml ganz unten vor dem </controls>


    Code
    <control type="textbox">
    <left>440</left>
    <top>190</top>
    <width>505</width>
    <height>580</height>
    <label>$INFO[Listitem.Filenameandpath]</label>
    </control>


    das mal einfügst siehtst was Kodi da ausgibt als Text.

    Das muss sicher in den Aeon KN. Wo bekomme ich den Skin her :whistling:

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Das muss sicher in den Aeon KN. Wo bekomme ich den Skin her

    kannst überall rein machen.. Du hattest ja nach dem Pfad gefragt den das EPG anzeigt..
    Da ich aber kein EPG hab und dir keine Daten rausschreiben kann oder einen Screenshot machen konnte, dachte ich du
    kannst dir den pfad auch direkt in Kodi anzeigen lassen mit diesem Block.
    Irgendwo in die myPVRGuide.xml eines skins..

    Der wird mit diesem label in den übrigen Fenstern in Kodi

    zu
    pvr://channels/tv/Alle Kanäle/pvr.iptvsimple_1610139507.pvr

    oder eben zum deinem Pfad zu einem Video oder was auch immer,
    und dort eben nicht. Da sind dann irgendwelche Pfade zum EPG drin..

    Kann dir den Skin aber auch schicken nur wird dir dort der Pfad auch nur angezeigt wenn
    ich das als label irgendwo ins die Landschaft kopiere..

    Grüße

  • So, ich habe mal etwas rumgespielt. Im Anhang mal ein Screenshot, wobei die erste Zeile aus den Infolabeln:

    Code
    $INFO[ListItem.ChannelNumberLabel] ($INFO[ListItem.ChannelName]): $INFO[ListItem.StartTime]  - $INFO[ListItem.EndTime]


    sowie die zweite das Label

    Code
    $INFO[ListItem.Filenameandpath]

    ist. Wie man sieht, ist das ebenfalls so nicht verwertbar. Jedoch die erste Zeile liefert eigentlich (für mich) alle notwendigen Informationen, um ein Event (Kanalumschaltung) zu gegebener Zeit durchführen zu können. Jetzt stellt sich für mich allerdings wieder die Frage, wo ich das Kontextmenü für die EPG-Ansicht finde.

    BTW, nach einer Installation unter Windows gibt es keinen Skin-Ordner ala skin.confluence unter .AppData\Roaming\Kodi\addons?

    EDIT: Doch, direkt im Programmordner unter Addons ;)

    @pacoma: Das ListItem.ChannelNumberLabel bleibt übrigens immer gleich, egal in welcher Kanalgruppe/Bouquet man sich befindet.

    Als Backend verwende ich TVHeadend, der Client ist demzufolge der TVHeadend HTSP Client.

    Bilder

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

    Einmal editiert, zuletzt von PvD (28. November 2015 um 20:05)

  • Hey,

    Also Skin XML technisch brauchst aber nun einen Pfad den Kodi über PlayMedia starten kann.
    Im IP-TV sähe der dann so aus
    pvr://channels/tv/Alle Kanäle/pvr.iptvsimple_1610139507.pvr


    Ein ActivateWindow(Fullscreen) mit Channelnumber alla Schalte auf Programm xy um gibt es soweit ich weiß nicht in Kodi.
    Da läuft alles über PlayMedia denk ich. Rein der Logik nach hätte ich jetzt in deinen Screenshots gedacht das muss die URL Spalte sein, aber da
    steht ja null drin..

    Hier mal ein Confluence Contextmenü:

    Sicher aber lieber das original - ist nur zum zeigen :) .

    Zwei Buttons, in einem kannst im Kanalübersichtsfenster einen Pfad setzen des ausgewählten Kanals, der Pfad wird dann mit angezeigt.
    Und einer zum Abspielen..



    Bei unserem Timer wird dann dieser string eben nciht übers Menü manuell getriggert sondern in einem eigenen Fenster nach der Zeit.
    Ich denke so einen Pfad muss es doch auch irgendwo im EPG geben oder?

    Grüße

  • Ein ActivateWindow(Fullscreen) mit Channelnumber alla Schalte auf Programm xy um gibt es soweit ich weiß nicht in Kodi.

    Das sollte in einem Skript/Service timer-getriggert mit JSON-RPC möglich sein, ala:

    Code
    {"jsonrpc": "2.0", "id":"1", "method": "Player.Open","params":{"item":{"channelid":87}}}

    Wobei "channelid" ListItem.ChannelNumberLabel entspricht. Btw, in welcher Datei soll ich jetzt den von Dir geposteten XML-Code ablegen? Bei der ganzen Skinning-Geschichte bin ich noch etwas schwerfällig...

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!