Fernsehprogramm

Dieser Adapter fragt in regelmäßigen Abständen Informationen über das Fernsehprogramm ab.

Aktueller Release
6.1.0
Entwickler
oweitman
Lizenz
MIT

tvprogram Adapter für ioBroker

Dieser Adapter lädt Fernsehprogrammdaten herunter und stellt sie den ioBroker VIS-Widgets zur Verfügung. Die Programmdaten werden als Dateien im Adapterspeicher gespeichert, anstatt in Datenpunkte kopiert zu werden.

Inhaltsverzeichnis

Installation

Installieren Sie den Adapter aus dem stabilen ioBroker-Repository. Verwenden Sie das Beta- oder das neueste Repository, um eine Entwicklungsversion zu testen.

Nach dem ersten Start warten Sie, bis der Adapter Programm- und Kanaldaten heruntergeladen hat, bevor Sie die Widgets konfigurieren.

Adapterkonfiguration

Erstellen Sie für jede unabhängige Kanalauswahl, Favoritenliste und jedes Umschaltziel eine separate TV-Konfiguration. Jeder Fernseher erhält unterhalb der Adapterinstanz einen eigenen Datensatz. Der schreibgeschützte Geräteschlüssel wird vom konfigurierten TV-Namen abgeleitet. Er verwendet Kleinbuchstaben und Ziffern ohne Leerzeichen; deutsche Umlaute werden als „Umlaute“ geschrieben. ae, oe Und ue. Zum Beispiel, Wohnzimmer Süd wird wohnzimmersued Das Neuanordnen von Tabelleneinträgen ändert deren Geräteschlüssel nicht. TV-Namen müssen eindeutige Schlüssel erzeugen.

Beim Start synchronisiert der Adapter diese Geräte mit der Konfiguration. Fehlende TV-Geräte werden angelegt und überflüssige Geräte zusammen mit ihren Datenpunkten entfernt. Bei einem älteren Gerät…tv1, tv2 Wenn der Schlüssel zum ersten Mal ersetzt wird, werden seine bestehenden Statuswerte auf den neuen Geräteschlüssel kopiert.

Programmquellen

Wählen Sie die Programmquelle für jede TV-Konfiguration separat aus. Der Adapter unterstützt:

  • TV für alle
  • IPTV-EPG.org

Wählen Sie für IPTV-EPG.org das gewünschte Land in der entsprechenden TV-Zeile aus. Die tägliche Downloadzeit gilt für alle IPTV-EPG-Quellen und -Nutzungen. HH:mm Der Download startet mit einem stabilen, zufälligen Zeitversatz von bis zu 60 Minuten nach diesem Zeitpunkt. Dadurch werden die Anfragen von verschiedenen ioBroker-Installationen verteilt.

Beim Start prüft der Adapter, ob die konfigurierte Quelle nutzbare Kanal- und Programmdaten für den aktuellen Sendetag enthält. Fehlende Daten werden sofort heruntergeladen. Fehlgeschlagene Downloads werden nach einer Stunde wiederholt.

Sendungen zwischen Mitternacht und 04:59 Uhr gehören zum vorherigen Sendetag. Heruntergeladene Daten werden für jede Quelle und jedes Land separat gespeichert. Beim Umschalten eines Fernsehers auf eine andere Quelle wird der vorhandene Cache nicht gelöscht. Kanalauswahlen werden als Dateien im Adapter-Cache pro Fernseher und Quelle gespeichert. Die aktive Auswahl wird kopiert nach channelfilter Nach einem Quellenwechsel und bevor die Widgets ihren Neuladebefehl erhalten, bleiben die Programmdaten für heute und die vier vorangegangenen Kalendertage zwischengespeichert, selbst wenn eine spätere Antwort des Anbieters diese Tage nicht mehr enthält.

Satz info.reset Zu true Durch Drücken dieser Taste werden alle Quelldaten und gespeicherten Kanalauswahlen aus dem Adapter-Cache gelöscht. Der Adapter erkennt die Betätigung, löscht die aktiven TV-Auswahlen und lädt die konfigurierten Quellen sofort erneut herunter.

Alternative Kanallogos

Stellen Sie die optchnlogopath Wenn Sie beispielsweise Quelllogos ersetzen möchten, verweisen Sie auf ein im Browser zugängliches Verzeichnis:

http://192.1.2.3:8082/vis.0/icons/tvlogos/

Verwenden Sie PNG-Dateinamen in Kleinbuchstaben, die auf der IPTV-EPG-Kanal-ID ohne das abschließende Ländersuffix basieren. DasErste ist ein Alias und verwendet immer ard.png Die

LandKanal-IDsLogo-Dateinamen
DeutschlandDasErste.de, ZDF.de, RTL.deard.png, zdf.png, rtl.png
ÖsterreichDasErste.at, ORF1.at, PULS4.atard.png, orf1.png, puls4.png
SchweizDasErste.ch, SRF1.ch, ORFeins.chard.png, srf1.png, orfeins.png

Für regionale IDs gilt dieselbe Regel: ORF2Wien.at wird orf2wien.png, Und SRFzwei.ch wird srfzwei.png Überprüfen Sie fehlgeschlagene Bildanfragen in den Entwicklertools des Browsers, falls ein Dateiname unklar ist.

Wann optchnlogopath Wenn die Widgets leer sind, verwenden sie Quelllogos. Die Kanalauswahl verwendet immer Quelllogos, damit die Kanäle erkennbar bleiben.

Beispiele für Einrichtung und Konvertierung finden Sie unter den Logobeispielen des Alternativkanals .

Widgets

Die Widgets benötigen einen modernen Browser wie Chrome, Firefox, Safari, Opera oder den auf Chromium basierenden Edge. Internet Explorer und ältere Edge-Versionen werden nicht unterstützt.

Allgemeine Widget-Konfiguration

Wählen Sie einen beliebigen Datenpunkt des gewünschten Fernsehers aus, normalerweise dessen cmd Datenpunkt. Das Widget ermittelt die restlichen Datenpunkt-IDs automatisch.

Die gängigen Anzeigeoptionen steuern die Breite des Kanallogos, die Zeilenhöhe, die Programmbilder, die Schriftgrößen, die bevorzugte Farbe und die Abmessungen des Detaildialogs. Konfigurieren Sie eine explizite Vorder- und Hintergrundfarbe, wenn das Ansichtsdesign den Programmeinträgen nicht genügend Kontrast bietet.

Falls Widgets nach der Installation fehlen oder veraltet sind, führen Sie Folgendes aus:

iobroker upload tvprogram

Beispiele für die CSS-Anpassung von Widgets finden Sie unter Widget-Styling .

Zeitplan

Das Widget „Zeitplan“ zeigt Programme nach Kanal auf einer Zeitachse an. Es markiert die aktuelle Uhrzeit, unterstützt Zoom und Tagesnavigation und öffnet Programmdetails aus der vollständigen Programmübersicht.

Öffnen Sie die Kanalauswahl über das Widget-Menü. Klicken Sie auf eine Karte, um einen Kanal zu aktivieren oder zu deaktivieren. Aktive Kanäle werden zuerst angezeigt und behalten ihre benutzerdefinierte Reihenfolge bei. Ziehen Sie eine aktive Karte, um sie zu verschieben; auf Touchscreens halten Sie sie kurz gedrückt, bevor Sie sie ziehen. Die Suchfunktion filtert die sichtbaren Karten. Mit der Sortierschaltfläche können Sie inaktive Kanäle nach Quellreihenfolge, A–Z und Z–A sortieren. Das Häkchen speichert die Änderungen, das Kreuz oder die Escape-Taste schließen das Fenster ohne Speichern. Die Schaltfläche oben rechts schaltet zwischen der konfigurierten Größe und dem Vollbildmodus um.

Logos behalten ihre Proportionen und werden innerhalb der konfigurierten Kanalbreite und Zeilenhöhe zentriert. Bilder werden nahe am sichtbaren Bereich geladen, mit bis zu vier gleichzeitigen Anfragen und einem Wiederholungsversuch. Die vertikale Scrollleiste ist ausgeblendet; eine schmale horizontale Scrollleiste bleibt unterhalb der Programmzeilen sichtbar.

Nach dem Laden des aktuellen Tages wartet das Widget mindestens zehn Sekunden und lädt die Daten der beiden folgenden Sendetage vor. Laufende Bild-Downloads können diesen Vorgang verzögern.

AttributStandard/BeispielBeschreibung
tvprogram_oidtvprogram.0.tv1.cmdDatenpunkt, der zum Fernseher gehört
widthItem120Breite eines 30-Minuten-Segments in Pixeln
heightRow35Programmzeilenhöhe in Pixeln
channeliconwidth35Verfügbare Kanallogobreite in Pixeln
showpicturesermöglichtProgrammbilder anzeigen, sofern verfügbar
headerfontpercent125Schriftgröße der Zeitüberschrift in Prozent
broadcastfontpercent75Schriftgröße des Programms in Prozent
highlightcoloryellowLieblings-Strähnchenfarbe
markerpositionpercent25Aktuelle Zeitmarkierungsposition
dialogwidthpercent90Dialogbreite relativ zum Widget
dialogheightpercent90Dialoghöhe relativ zum Widget

Favoriten

Das Favoriten-Widget listet anstehende Sendungen auf, deren Titel im TV-Menü angezeigt werden. favorites Datenpunkt. Die Ergebnisse sind nach Datum und Uhrzeit sortiert und werden jede Minute aktualisiert.

AttributStandard/BeispielBeschreibung
oidtvprogram.0.tv1.cmdDatenpunkt, der zum Fernseher gehört
channelnamedeaktiviertKanalnamen statt Logos anzeigen
favorites_selectedchannelsdeaktiviertErgebnisse auf ausgewählte Kanäle beschränken
showweekdayermöglichtZeige den Wochentag
maxfavorites10Maximale Anzahl der Ergebnisse
highlightcoloryellowLieblingssymbolfarbe
channeliconwidth35Breite des Kanallogos in Pixeln

Wenn die Kanalauswahl beschränkt ist, verwendet Favoriten die Programmübersicht für denselben Fernseher. Bevor eine Auswahl gespeichert wurde, werden die ersten vier Kanäle verwendet. Eine explizit leere Auswahl führt zu keinen Ergebnissen.

TV-Steuerung

Die TV-Steuerung zeigt das aktuell laufende Programm oder das Programm zu einem festgelegten Zeitpunkt an. Ein Klick auf das Kanallogo löst einen Umschaltbefehl aus; ein Klick auf eine beliebige Stelle der Programmkarte öffnet deren Details. Die Navigation erfolgt vertikal ohne Scrollleiste.

AttributStandard/BeispielBeschreibung
oidtvprogram.0.tv1.cmdDatenpunkt, der zum Fernseher gehört
timeleerZeigen Sie das aktuelle Programm
time20:15Zeigen Sie das Programm zu dieser Zeit für 120 Minuten.
time20:15/200Verwenden Sie eine Anzeigedauer von 200 Minuten.
timeISO-DatumszeichenfolgeProgramme zu einer absoluten Zeit anzeigen
heightRow35Programmzeilenhöhe in Pixeln
channeliconwidth35Verfügbare Kanallogobreite in Pixeln
showpicturesermöglichtProgrammbilder anzeigen, sofern verfügbar
broadcastfontpercent75Schriftgröße des Programms in Prozent
highlightcoloryellowLieblings-Strähnchenfarbe
dialogwidthpercent90Breite des Detaildialogs
dialogheightpercent90Höhe des Detaildialogs

Suchen

Die Suche findet Programme anhand von Titel, Beschreibung, Kategorie und Startdatum. Mindestens der Suchtext oder eine Kategorie muss angegeben werden. Bei einem unveränderten aktuellen Datum startet die Suche zur aktuellen Uhrzeit; bei einem anderen Datum um Mitternacht. Alternative Senderlogos von optchnlogopath werden unterstützt. Die Ergebnisse scrollen vertikal, ohne dass eine Scrollleiste angezeigt wird.

AttributStandard/BeispielBeschreibung
Object IDtvprogram.0.tv1.cmdDatenpunkt, der zum Fernseher gehört
showpicturesermöglichtProgrammbilder anzeigen, sofern verfügbar
maxresults10Maximale Anzahl der Ergebnisse
heightRow35Programmzeilenhöhe in Pixeln
broadcastfontpercent75Schriftgröße des Programms in Prozent
highlightcoloryellowLieblings-Strähnchenfarbe
dialogwidthpercent90Breite des Detaildialogs
dialogheightpercent90Höhe des Detaildialogs

Datenpunkte

Jeder konfigurierte Fernseher liefert folgende Datenpunkte:

DatenpunktBeschreibung
channelfilterAusgewählte Kanal-IDs in ihrer Anzeigereihenfolge als JSON
cmdInterne Kommunikation zwischen Widgets und dem Adapter
favoritesLieblingsprogrammtitel als JSON-Array
recordProgrammdaten, die mit der Schaltfläche „Detailansicht“ aufgezeichnet wurden
selectchannelKanal-ID wird durch Logo und Schalteraktionen geschrieben
showOb Programm-Widgets nur Favoriten anzeigen
configVeralteter Konfigurationsdatenpunkt
optchnlogopathVom Browser zugängliche Basis-URL für benutzerdefinierte Kanallogos

Der record Wert enthält startTime, endTime, title, channel, channelid, channelname Und eventid Die

sendTo Befehle

Verwenden Sie diese Befehle, um benutzerdefinierte Integrationen zu erstellen:

BefehlEingangErgebnis
getServerDatacategories, genres oder channelsArray
getServerTVProgramSendetag als yyyy-mm-ddArray
getServerBroadcastviewdate Und eventidObjekt
getFavoritesDataAuswahl beliebter TitelArray
getServerBroadcastNowArray von Kanal-IDsArray
getServerBroadcastDateKanal-IDs und DatumArray
getServerBroadcastFindFilter und DatumsbereichArray
getServerInfoLeeres ObjektVerfügbare Sendetage

Parameter und ausführbare Aufrufe sind dokumentiert in sendTo Befehlsbeispiele .

Beispiele

Alle längeren Beispiele sind in docs/EXAMPLES.md zu finden:

  • CSS-Anpassung für Widgets
  • sendTo Anfragen
  • Harmony- und MagentaTV-Kanalumschaltung
  • Einrichtung des alternativen Kanallogos
  • Aufnahmeliste und Favoritenstatus-Skripte
  • Vorlagen zur Hervorhebung von Datensätzen

Merkmale

  • Programmablauf mit aktueller Zeitmarkierung und automatischem Scrollen
  • Konfigurierbare Kanalauswahl und -reihenfolge
  • Programmdetaildialoge und Textkopie
  • Tagesnavigation und Zoomsteuerung
  • Favoritenfilter und Liste der zukünftigen Favoriten
  • Kanalumschaltung über einen Datenpunkt
  • Optionale Programmbilder und alternative Kanallogos
  • Konfigurierbare Logobreite, Zeilenhöhe, Farben und Dialogabmessungen
  • Datensatz aus Programmdetails

Geplante Arbeiten

  • Erwägen Sie ein zusätzliches Widget für hervorgehobene Programme.
  • Bei ausreichender Nachfrage sollten Sie andere Programm- oder Hardwarequellen in Betracht ziehen.

Changelog

6.1.0 (2026-09-28)

  • more fixes and adjustments
  • add reset button under datapoint info/reset

6.0.0 (2026-09-28)

  • improve and extend translation
  • improve configuration dialog
  • improve and fix dataloading
  • improve seperation of data
  • Improving the management of the selected channels
  • reduce amount of data transfered to widgets

5.0.1 (2026-09-23)

  • fix tests

5.0.0 (2026-09-23)

  • Comprehensive revision
  • New data source added

4.0.4 (2026-03-27)

  • update dependencies
  • fix repochecker
  • tranform translation files

License

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Copyright (c) 2025-2026 oweitman oweitman@gmx.de