NEWS
Test Adapter tvprogram
-
@oliverio Zum Suche-Widget kann ich schon mal sagen, dass es unter Windows, Android und IOS funktioniert (sowohl die Datumseingabe als auch die Suche im allgemeinen). Vielen Dank
-
Neue Version 0.0.31
- Der Fehler mit der Anzeige der Details, wenn eine Uhrzeit eingetragen ist, wurde behoben.
@oliverio said in Test Adapter tvprogram:
@ash2k said in Test Adapter tvprogram:
@oliverio klasse Update
Weiß nicht ob das ein Bug oder so gewollt ist: Wenn man eine Uhrzeit vorgibt, z.b. halt 20:15, kann man sich die Sendungen durch anklicken nicht mehr anzeigen lassen. Lässt man das time leer, funktioniert es anschließend wie es sein sollte.
Das ist ein bug
-
@oliverio Ist mir gerade aufgefallen:
Auswahl vom 11.02.2021 12:00 bis 12.02.2021 00:00
Anzeige: 11.11.2021 ?
Auch mit anderen Einstellungen:
-
@mcu das Feld Till:
gibt es seit der Version 0.0.30 nicht mehr. Musst bestimmt einen Upload durchführen. -
pi@raspberrypi:/opt/iobroker $ iobroker upload tvprogram upload [20] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/style.css style.css text/css upload [19] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/index.jsx src/index.jsx text/jsx upload [18] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/zh-cn.json src/i18n/zh-cn.json application/json upload [17] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/ru.json src/i18n/ru.json application/json upload [16] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/pt.json src/i18n/pt.json application/json upload [15] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/pl.json src/i18n/pl.json application/json upload [14] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/nl.json src/i18n/nl.json application/json upload [13] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/it.json src/i18n/it.json application/json upload [12] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/i18n.d.ts src/i18n/i18n.d.ts video/mp2t upload [11] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/fr.json src/i18n/fr.json application/json upload [10] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/es.json src/i18n/es.json application/json upload [9] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/en.json src/i18n/en.json application/json upload [8] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/i18n/de.json src/i18n/de.json application/json upload [7] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/components/settingslist.jsx src/components/settingslist.jsx text/jsx upload [6] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/components/settings.jsx src/components/settings.jsx text/jsx upload [5] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/src/app.jsx src/app.jsx text/jsx upload [4] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/index_m.html index_m.html text/html upload [3] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/build/index.js.map build/index.js.map application/json upload [2] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/build/index.js build/index.js application/javascript upload [1] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/build/index.css.map build/index.css.map application/json upload [0] tvprogram.admin /opt/iobroker/node_modules/iobroker.tvprogram/admin/build/index.css build/index.css text/css Adapter "system.adapter.vis.0" restarted.
-
@mcu said in Test Adapter tvprogram:
b
ne der Fehler war echt auch in der aktuellen Version.
da sieht man, das genau eine Klammer an der falschen Stelle, so etwas verursachen kann
Fehler habe ich gerade behoben und auf github geladen, aber ohne neue Versionsnummer
einfachnochmal neu runterladeniobroker upload tvprogram oder
iobroker upload allmusst trotzdem durchführen
-
@oliverio Ja funktioniert. Super. Danke.
Kleinigkeit noch: Farbe hinter den Logos ist dort noch grau, einheitlich weiß wäre schöner. Hast du ja auch beim Control geändert. -
@mcu said in Test Adapter tvprogram:
@oliverio Ja funktioniert. Super. Danke.
Kleinigkeit noch: Farbe hinter den Logos ist dort noch grau, einheitlich weiß wäre schöner. Hast du ja auch beim Control geändert.Ich gebe selbst keine Farben vor, allerdings setze ich die Hintergrundfarbe des widgets, bzw. was weiter oben im HTML-Hierarchiebaum als Hintergrundfarbe gefunden wird.
ich schau mal ob ich bei search noch etwas anderes mache wie bei controlEdit: Hab grade nachgeschaut. Bei channel setze ich die Hintergrundfarbe. prüfe mal deine Widgeteinstellung, bo die gleich ist wie bei control
-
@oliverio Ja , das war es. Prima. Danke.
-
und was machen wir nun?
Fehlt noch was?
Weitere Ideen`? -
@oliverio Waschmaschine vom Nachbarn deaktivieren wenn die Lieblingssendung läuft?
Ne, ernsthaft: Alles läuft schön rund und ich kann bisher auch keine Fehler finden. Die Funktionen sind umfangreicher als ich ursprünglich erwartet habe. Ich verwende zwar die Aufnahmefunktion nicht, aber als Reminder ist das doch klasse aufgebaut.
Der Adapter hat das Script vollwertig ersetzt Gute Arbeit. -
Ich habe gerade auf die 0.31 upgedatet und bekomme im Control keine Anzeige in der Vis!?
Im Vis-Editor sehe ich die Einträge allerdings.
Das Bild zeigt den Editor...Hier das Bild von der VIS:
man sieht nur den Bereich der Favoriten, rechts ist gar nichts zu sehen...Weiterhin wäre in der Suche ein Eintrag für Formel-1 ganz gut!
-
ich bin vom Adapter voll begeistert, wenn du mir jetzt noch sagst, wie ich die Daten (Beginn, Ende, Beschreibung, Bild) des aktuell ausgewählten Programm, in extra Datenpunkte zum weiterverarbeiten bekomme. Bin ich wunschlos glücklich
Eigentlich fehlt nur noch eine zusätzliche Datenquelle, um die fehlenden TV Programme zu integrieren.
-
@mconno sagte in Test Adapter tvprogram:
Ich habe gerade auf die 0.31 upgedatet und bekomme im Control keine Anzeige in der Vis!?
Im Vis-Editor sehe ich die Einträge allerdings.
Das Bild zeigt den Editor...Hier das Bild von der VIS:
man sieht nur den Bereich der Favoriten, rechts ist gar nichts zu sehen...Weiterhin wäre in der Suche ein Eintrag für Formel-1 ganz gut!
bitte adapter (nicht nur die instanz) einmal komplett deinstallieren,
dann wieder installieren.
zur sicherheit auf der console
iobroker upload all
eingeben
bei allen widgets prüfen, ob der datenpunkt mit cmd des jeweiligen tvs am ende richtig ausgewählt wurde.
falls dann immer noch nicht, dann benötige ich die fehler aus der browser console -
@oli sagte in Test Adapter tvprogram:
ich bin vom Adapter voll begeistert, wenn du mir jetzt noch sagst, wie ich die Daten (Beginn, Ende, Beschreibung, Bild) des aktuell ausgewählten Programm, in extra Datenpunkte zum weiterverarbeiten bekomme. Bin ich wunschlos glücklich
Eigentlich fehlt nur noch eine zusätzliche Datenquelle, um die fehlenden TV Programme zu integrieren.
was ist das aktuell ausgewählte Programm?
Über den javascript-Adapter kannst du alles abrufen:
https://github.com/oweitman/iobroker.tvprogram#getserverbroadcastnow
und in datenpunkte schreiben. -
Ich hab mir gerade mal das Such-Widget eingerichtet... Wenn ich das Suchfeld antippe, dann kommt kurz das on-screen-keyboard hoch, verschwindet nach 1-2 sekunden und ich lande auf einem anderen view. Sehr komisch das ganze - ich vermute jedoch das liegt am System, nicht am Adapter. Ich verwende ein Xoro Megapad 2154 mit Android 7.1
Hat irgendwer hier noch so einen Effekt? -
@spaceduck sagte in Test Adapter tvprogram:
Ich hab mir gerade mal das Such-Widget eingerichtet... Wenn ich das Suchfeld antippe, dann kommt kurz das on-screen-keyboard hoch, verschwindet nach 1-2 sekunden und ich lande auf einem anderen view. Sehr komisch das ganze - ich vermute jedoch das liegt am System, nicht am Adapter. Ich verwende ein Xoro Megapad 2154 mit Android 7.1
Hat irgendwer hier noch so einen Effekt?mach mal zur sicherheit auf der konsole
iobroker upload all
evtl. hat sich da etwas verhakt. aber das er automatisch den view wechselt ist nicht normal
-
irgendwie mache ich hier was falsch und stoße als Laie wieder mal an meine Grenzen.
Ich versuche per Script Daten aus deiner Liste für das aktuelle Programm in einen Datenpunkt zu schreiben
let sender = getState("tvprogram.0.tv1.show").val sendTo("tvprogram.0","getServerBroadcastNow",[4],(data)=> setState("javascript.0.TV.Steuerung.Aktuelle Beschreibung",data.events.content.texts.VeryShort.value)); sendTo("tvprogram.0","getServerBroadcastNow",[sender],(data)=>console.log(data));
Wenn ich die Sendernummer durch eine Variable ersetze wird gar nichts angezeigt
20:20:46.626 info javascript.0 (22208) script.js.TV_Programm.Test: []
Wenn ich versuche die Beschreibung in einen Datenpunkt zu schreiben, bekomme ich folgende Warnung
20:20:46.625 warn javascript.0 (22208) TypeError: Cannot read property 'content' of undefined at Object.sendTo [as cb] (script.js.TV_Programm.Test:2:130) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5297:71) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) at process.topLevelDomainCallback (domain.js:126:23)
Was mache ich falsch?
-
@oli sagte in Test Adapter tvprogram:
irgendwie mache ich hier was falsch und stoße als Laie wieder mal an meine Grenzen.
Ich versuche per Script Daten aus deiner Liste für das aktuelle Programm in einen Datenpunkt zu schreiben
let sender = getState("tvprogram.0.tv1.show").val sendTo("tvprogram.0","getServerBroadcastNow",[4],(data)=> setState("javascript.0.TV.Steuerung.Aktuelle Beschreibung",data.events.content.texts.VeryShort.value)); sendTo("tvprogram.0","getServerBroadcastNow",[sender],(data)=>console.log(data));
Wenn ich die Sendernummer durch eine Variable ersetze wird gar nichts angezeigt
20:20:46.626 info javascript.0 (22208) script.js.TV_Programm.Test: []
Wenn ich versuche die Beschreibung in einen Datenpunkt zu schreiben, bekomme ich folgende Warnung
20:20:46.625 warn javascript.0 (22208) TypeError: Cannot read property 'content' of undefined at Object.sendTo [as cb] (script.js.TV_Programm.Test:2:130) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5297:71) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) at process.topLevelDomainCallback (domain.js:126:23)
Was mache ich falsch?
ok,
man muss ein array von channelids übergeben, soweit schon mal richtig.
es müssen gültige channelids sein. soweit auch ok.
die 4 steht für Radio Bremen
Ansonsten kann man die channelids hier nachsehensendTo("tvprogram.0","getServerData","channels",(data)=>console.log(data));
Die Abfrage der Programmbeschreibung ist dann wie folgt
sendTo("tvprogram.0","getServerBroadcastNow",[4],(data)=> console.log(data[0].events[0].content.texts.VeryShort.value))
Da ich diverse Datenstrukturen immer wieder verwende, ist das Array die Auflistung der verschiedenen Sender und das zweite Array die Auflistung der verschiedenen Events/Sendungen. Bei dieser Funktion sollte da aber immer nur ein event enthalten sein.
je nachdem wieviel channelids ich übergebe, können im ersten array auch mehrere elemente enthalten sein.
Auch sind bei texts.VeryShort.value und texts.Long.value nicht immer Werte enthalten, so das das auch undefined sein kann. das muss man vorher prüfen.
Manchmal gibt es nur VeryShort, manchmal nur Long, manchmal beides, manchmal keins.
Zum prüfen kannst du folgenden Ausdruck verewenden:var content=(event.content.texts.Long.value) ? event.content.texts.Long.value:(event.content.texts.VeryShort.value)?event.content.texts.VeryShort.value:"";
In der Variable event, muss natürlich auch das event enthalten sein.
Wenn du eine Variable verwendest, dann muss diese auch eine echte Zahl sein und nicht ein String der eine Zahl enthält.
Zur Sicherheit am besten so machen:sendTo("tvprogram.0","getServerBroadcastNow",[parseInt(sender)],(data)=>console.log(data));
Man kann auch gern in den code der widgets reinschauen.
Der ist hier zu finden:
https://github.com/oweitman/ioBroker.tvprogram/blob/master/widgets/tvprogram/js/tvprogram.jsNoch ein tip: zum besseren Verständnis von JSON-Datenstrukturen kann man das JSON kopieren und direkt in die Developer-Konsole im Browser kopieren. Man muss nur aufpassen, das man richtig kopiert, weil er falsche JSONS dann auch gleich anmeckert. Chrome zumindest zeigt dann die Datenstruktur dann schön zum klicken an. Wenn man das dann noch einer Variable zuweist, dann kann man dort auch den Propertypfad direkt ausprobieren. Das erspart einem einige Edit/Run/Fail/Repeat Schleifen
-
@oliverio sagte in Test Adapter tvprogram:
- time wird mit Uhrzeit im 24h-Format belegt, bspw 20:15:
Es werden die Sendungen die zu dieser Uhrzeit laufen angezeigt.
Ist die aktuelle Uhrzeit nach dieser Zeit, werden die Sendungen des nächsten Tages zu dieser Uhrzeit angezeigt. auch hier erfolgt automatisch die Aktualisierung.
.
Wäre es möglich das anpassbar zu machen das er nach der aktuellen Zeit nicht direkt den nächsten Tag anzeigt?
Ich habe eine Übersicht für 20:15 auf meiner Startseite, alle anderen Zeiten wie z.B. was läuft Jetzt, auf einer extra-Seite.
Gehe ich nun um 20:16 auf die VIS seh ich auf der Startseite logischerweise schon den nächsten Tag und müsste dann erst auf die nächste Seite wechseln um zu sehen was jetzt gerade läuft. - time wird mit Uhrzeit im 24h-Format belegt, bspw 20:15: