NEWS
EPG-Daten via Script
-
Ansonsten sind wir hier bei vielen Adaptern, welche ihre Daten aus dem Internet zusammen scrapen im graubereich.
So ganz nachvollziehbar ist das für mich nicht.
Hier gibt es ein Script.
Und dieses verweist auf eine Seite.
Und dieses Script wird zur Verfügung gestellt. Es werden doch nicht die Daten zur Verfügung gestellt.
Und jeder nutzt dieses Script doch / oder auch nicht.
Ist doch nichts anderes als wenn ich persönlich mir die Daten hole.Und nun halt per Script.
Das abgreifen von Daten via Skript untersagen aber viele Anbieter. Du sollst ja deine Daten dort hinterlassen und dir die Werbung anschauen.
-
Das abgreifen von Daten via Skript untersagen aber viele Anbieter. Du sollst ja deine Daten dort hinterlassen und dir die Werbung anschauen.
@Thomas-Braun
Ja, das versteh ich.
Und ist dies hier auch so ? -
@Thomas-Braun
Ja, das versteh ich.
Und ist dies hier auch so ?Weiß ich nicht. Hab mich weder mit dem Skript noch mit den AGB der Seite beschäftigt. Müsstest du selber prüfen.
-
@Thomas-Braun
Ja, das versteh ich.
Und ist dies hier auch so ?habe dazu nur agb aus österreich gefunden.
ich gehe davon aus das es in deutschland ähnlich isthttps://www.magenta.at/tv-nutzungsbedingungen

und hier die analyse von chatgpt was meinem verständnis entspricht
Nutzung Risiko Privat EPG in MagentaTV ansehen Unproblematisch Eigenes Tool liest EPG für den persönlichen Gebrauch aus Graubereich XMLTV-Feed aus MagentaTV erzeugen und veröffentlichen Wahrscheinlich lizenzrechtlich problematisch Kommerzielle Nutzung oder Weiterverkauf Sehr wahrscheinlich lizenzpflichtig zumindest die seite, die die xml daten anbietet bewegt sich im graubereich.
beim scraping, wenn die sind metadaten (sender, uhrzeit, titel) generell, wenn sie ohne zugangsbeschränkung geladen werden können (login, captcha, oder andere sicherungsmaßnahmen) unproblematisch. redaktionelle informationen (beschreibung zur sendung, bilder) können problematisch sein.
wie gesagt: graubereich
ob das auffindbar ist? eher nicht, da ja keine informationen von den vielen clients direkt von der eigentlichen quelle gelesen werden.ich mag hier das niemand madig machen.
nur damit man das risiko entsprechen selbst bewerten kann. -
-
-
Nein, bin wieder zum TV Adapter zurück gegangen.
Danke für die Info, dann brauch ich es ja garnicht versuchen, da ich mich mittlerweile konsequent von VIS-1 und allen Widget's die nicht VIS-2 kompatibel sind getrennt habe.
Info dazu: Seit dem läuft mein System wesentlich stabiler und schneller als vorher wo ich beide parallel laufen hatte.Schade wäre eine sinnvolle Ergänzung zu meinem bestehenden TV Programm gewesen.
-
@Ro75
Hallo,
bekommt man die Senderlogos in Spalte 1 irgendwie kleiner.
Habe schon mal transform:scale(0.6) oder nur scale)0.6) probiert.
Auch verschiedene json widgets.Aber klappt nicht.
haste eine Idee ?
-
Suche danach:
result.push({sender_icon_url: `<img style="max-width:80px; max-height:80px;ändere max-width:80px; max-height:80px in z.B 60 ab. Hinweis. Da gibt es mehr als eine Stelle.
Ro75.
@Ro75
Danke.
Hätte ich auch selber drauf kommen können ;-) -
Zur Darstellung ist ein json widget notwendig.
Ok. Ich habs jetzt doch mal zum testen installiert, und mit dem vis-inventwo-design 'Tabellen Widget bekomme ich auch das epg angezeigt.
Hab dann von Hand mit Notepad die 0_userdata.0.epg.sender_edit_list bearbeitet und das Ergebnis ist:

Sieht ja schomal ganz gut aus.
Jetzt, könntest du mal beschreiben, wie du diese Leiste unten zusammengebaut hast, also welcher DP für welches Widget ist:

Ich werde dann versuchen das nur mit VIS-2 Widgets nachzubauen.
Irgendwie fehlt mir da auch die Funktion, wie kann ich z.B. so springen das angezeigt wird was um 20:15 läuft, oder um 22:00
Für input wäre ich dankbar.
-
Alle Häckenfilter (z.B. Favoriten) sind die Datenpunkte beginnend mit "filter_"Fettschrift Vom Wert her true oder false. Ich habe es mit materialdesign (VIS 1 - 0.5.94) gelöst.
"Was läuft gerade jetzt" ist das Datenpunkt "broadcast_mode". Da kommt als Wert "all" rein. Das sollte mit einem Button möglich sein.
Der Bereich mit den Auswahlfelder ("alle Sender" und "Favoriten") zeigt alle Sendungen zu dem gewählten Sender an. Also alle Sendungen von JETZT an. Die Datenpunkte sind selected_channel bzw. selected_channel_favorite. Diese kannst du mit einem Auswahl-/Selektfeld steuern oder die hast pro Sender einen Button der die entsprechende ID da einträgt. Beispiel die 20 und dann bekommst du alles von "Das Erste". Wenn du danach wieder zur Liveansiocht willst, siehe weiter oben "Was läuft gerade jetzt".
Irgendwie fehlt mir da auch die Funktion, wie kann ich z.B. so springen das angezeigt wird was um 20:15 läuft, oder um 22:00
ANTWORT: siehe darüber Auswahlfelder
Ro75.
-
Ok, für alle die für VIS-2 weiter mit testen wollen, hier schonmal ein Teilerfolg.
Ich hab mir ein Hilfsdatenpunkt gemacht '0_userdata.0.Test.TV_Sender_Auswahl' und ein Script erstellt, welches aus der gesamten json '0_userdata.0.epg.sender_json' eine Werte-Liste in dem Hilfsdatenpunkt erstellt.
TypeScript:
// 1. Typ-Definition für die JSON-Struktur interface TvSender { id: string; name: string; internal_id: number; } // 2. Datenpunkt-Pfade definieren const sourceDpId: string = '0_userdata.0.epg.sender_json'; const targetDpId: string = '0_userdata.0.TV_Sender_Auswahl'; // 3. Hauptfunktion zur Konvertierung und Aktualisierung function updateDropdown(): void { // Prüfen, ob der Quell-Datenpunkt überhaupt existiert if (!existsState(sourceDpId)) { log(`Quell-Datenpunkt ${sourceDpId} existiert (noch) nicht!`, 'warn'); return; } // Wert auslesen const jsonState = getState(sourceDpId); if (!jsonState || !jsonState.val || jsonState.val === '') { log(`Quell-Datenpunkt ${sourceDpId} ist leer.`, 'warn'); return; } try { // JSON-String in ein echtes Array parsen const senderListe: TvSender[] = JSON.parse(jsonState.val as string); // Objekt für die VIS-Dropdown-Zuweisung erstellen const dropdownStates: Record<number, string> = {}; senderListe.forEach((sender: TvSender) => { // WICHTIG: internal_id wird hier als Key gesetzt. // Das ist der Wert, den das Widget später in den Datenpunkt schreibt. dropdownStates[sender.internal_id] = sender.name; }); // Ziel-Datenpunkt sicherstellen (Standardwert 0, da Typ jetzt 'number' ist) createState(targetDpId, 0, { name: 'TV Sender Auswahlliste', desc: 'Dynamisch generiertes Dropdown aus epg.sender_json', type: 'number', // Geändert auf number, da die IDs Zahlen sind role: 'value', read: true, write: true }, () => { // Eigenschaften des Objekts überschreiben/aktualisieren extendObject(targetDpId, { common: { type: 'number', // Typ im bestehenden Objekt auf 'number' erzwingen states: dropdownStates } }, (err) => { if (err) { log(`Fehler beim Aktualisieren der Dropdown-Liste: ${err}`, 'error'); } else { log(`Dropdown-Liste in ${targetDpId} erfolgreich aktualisiert! (${Object.keys(dropdownStates).length} Sender eingetragen).`); } }); }); } catch (e) { log(`Fehler beim Parsen des JSON aus ${sourceDpId}: ${e}`, 'error'); } } // ============================================================================= // LOGIK-TRIGGER // ============================================================================= // A. Beim Start des Skripts die Liste einmalig aufbauen updateDropdown(); // B. Automatisch triggern, sobald sich das JSON im EPG-Datenpunkt ändert on({ id: sourceDpId, change: 'ne' }, () => { log(`Änderung in ${sourceDpId} erkannt. Aktualisiere Dropdown...`); updateDropdown(); });Dann in VIS-2 aus der Widget-Sammlung das (Auswahl, Boolscherwert,Zahl, Zeichenkette) Widget genommen und bei OID = 0_userdata.0.Test.TV_Sender_Auswahl und bei Steuer-ID = 0_userdata.0.epg.selected_channel eintragen, dann wird das EPG nach der Auswahl gefiltert.
-
Hallo und Respekt für dieses Script und die Aufbereitung.
Bin schon recht weit mit der Implemtierung, habe leider einen sehr kleinen Screen, da will etliches angepaßt werden. Nachdem ich in AT wohne, würden mich natürlich zusätzlich auch eine Handvoll AT-Sender interessieren.
Benötige ich dafür eine 2. Instanz?
Auf der Seite https://iptv-epg.org/guides gibt es auch die AT Senderliste, über den Reiter "Combine" könnte man Senderlisten kombinieren. Hat das schon jemand versucht, bzw. weiß iwer ob bei der dafür notwendigen Regisitrierung Kosten entstehen?
LG & Danke
mxa
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
