NEWS
Rtv TV Programm Adapter | ioBroker.rtv
-
Hallo,
danke für den Hinweis.
Ich habe im TV Spielfilm Adapter alle diese Sender in die Blacklist kopiert:
KinoweltTV, MGM HD, RTLnitro, ServusTV Deutschland, Silverline, Sky Atlantic HD, Sky Cinema, Sky Comedy, Sky Emotion, Disney ChannelIch habe kein Sky und möchte nicht, dass Sky-Sender angezeigt werden. Wenn tvspielfilm kein Sky-Programm mehr liefert, dann ist das (für mich :lol: ) gut.
Alternativ habe ich texxas entdeckt. Steht wohl auch in diesem Thread. Ich müsste eigentlich jetzt einen texxas-Adapter basteln, aber leider habe ich keine Zeit. Ein Skript kann ich aber anbieten:
! ```
`/* VIS TV Programm jetzt
! bringt das TV Programm von RSS Feed von TV Spielfilm in iobroker
http://forum.iobroker.net/viewtopic.php?f=20&t=2821&p=42774#p42768
! 18.06.2015 von Pix mit Hilfe von bluefox für tvspielfilm
01.06.2017 für texxas umgebaut
! */
var idXML = 'TV_Programm.texxas.hauptsender.2015.xml',
idJSON = 'TV_Programm.texxas.hauptsender.2015.json';var logging = true;
! createState(idXML, "", true, {
name: 'Texxas TV-Programm Hauptsender 20:15 Uhr XML',
role: 'xml',
type: 'string'
});
createState(idJSON, "", true, {
name: 'Texxas TV-Programm Hauptsender 20:15 Uhr JSON',
role: 'xml',
type: 'string'
});
! var link = 'http://texxas.de/tv/hauptsender.xml';
! var options = {
url: link,
encoding: 'binary', // <--- wichtig, sonst falsche Umlaute
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
};
! function TvProgrammEinlesen () {
var optin = true;
var parseString = require('xml2js').parseString;
var request = require('request');
! if (optin) request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {parseString(body, { explicitArray: false, mergeAttrs: true }, function (err, result) { if (logging) log(JSON.stringify(result, null, 2)); var data = JSON.stringify(result, null, 2); setState(idXML, data); // ganze XML in Objekt für Table Widget var table = []; if (err) { log("Fehler: " + err, 'error'); } else { if (result.rss.channel.item.length !== null) { // gelegentlicher Fehler bei nächtlicher Abfrage durch length (undefined) soll hier abgefangen werden // Array durchzaehlen von 0 bis Zahl der items for(var i = 0; i < result.rss.channel.item.length; i++) { if (logging) log(JSON.stringify(result.rss.channel.item[i])); var foto; // Doppelpunkt mach tProbleme if (result.rss.channel.item[i]['media:content']) { if (logging) log('Inhalt: ' + JSON.stringify(foto) ); foto = result.rss.channel.item[i]['media:content']; if (logging) log('BILD: ' + foto.url); } else foto = "'url': ''"; // leere URL erstellen, wenn keine da var entry = { image: foto.url ? '' : '', text: '! | [' + result.rss.channel.item[i].title +
'](' +
result.rss.channel.item[i].link + ') |
| ' +
result.rss.channel.item[i].description +' |
! ',
_Bild: foto.url ? '' : 'no image'
};
table.push(entry);
}
} else log('LENGTH in TV Programm texxas-Hauptsender nicht definiert'); // ende if ungleich} setState(idJSON, JSON.stringify(table)); // ganze XML in Objekt für Table Widget }); } else log(error, 'error'); }); // Ende request if (logging) log('XML-Daten aus texxas eingelesen');}
! schedule("10 * * * *", TvProgrammEinlesen);
TvProgrammEinlesen();
! var idCss = 'TV_Programm.texxas.css';
createState(idCss, {
name: 'texxas Anzeige CSS Befehl',
type: 'string',
read: true,
write: true,
def: '.texxas_description { display: none;}'
});
var css = {
"aus" : ".texxas_description { display: none;}",
"an" : ".texxas_description { }"
};
// log(css.an);
setState(idCss, css.an);` Das hat aber keine Blacklist und keine Whitelist. Und die Formatierung ist auch anders, da u.a. die Bilder viel größer sind.
! Ich hatte beim Homematic Usertreffen darüber nachgedacht, einen komplett neuen Adapter zu bauen, der mehrere Dienste vereint. Man kann dann einen oder eben mehrere Anbieter auswählen. Aus Zeitmangel bin ich nicht dazu gekommen. Vielleicht reicht erstmal das Skript.
! Gruß
! Pix[/i][/i][/i][/i][/i][/i] -
@pix:Hallo,
danke für den Hinweis.
Ich habe im TV Spielfilm Adapter alle diese Sender in die Blacklist kopiert:
KinoweltTV, MGM HD, RTLnitro, ServusTV Deutschland, Silverline, Sky Atlantic HD, Sky Cinema, Sky Comedy, Sky Emotion, Disney ChannelIch habe kein Sky und möchte nicht, dass Sky-Sender angezeigt werden. Wenn tvspielfilm kein Sky-Programm mehr liefert, dann ist das (für mich [emoji38] ) gut.
Alternativ habe ich texxas entdeckt. Steht wohl auch in diesem Thread. Ich müsste eigentlich jetzt einen texxas-Adapter basteln, aber leider habe ich keine Zeit. Ein Skript kann ich aber anbieten:
! ```
`/* VIS TV Programm jetzt
! bringt das TV Programm von RSS Feed von TV Spielfilm in iobroker
http://forum.iobroker.net/viewtopic.php?f=20&t=2821&p=42774#p42768
! 18.06.2015 von Pix mit Hilfe von bluefox für tvspielfilm
01.06.2017 für texxas umgebaut
! */
var idXML = 'TV_Programm.texxas.hauptsender.2015.xml',
idJSON = 'TV_Programm.texxas.hauptsender.2015.json';var logging = true;
! createState(idXML, "", true, {
name: 'Texxas TV-Programm Hauptsender 20:15 Uhr XML',
role: 'xml',
type: 'string'
});
createState(idJSON, "", true, {
name: 'Texxas TV-Programm Hauptsender 20:15 Uhr JSON',
role: 'xml',
type: 'string'
});
! var link = 'http://texxas.de/tv/hauptsender.xml';
! var options = {
url: link,
encoding: 'binary', // <--- wichtig, sonst falsche Umlaute
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
};
! function TvProgrammEinlesen () {
var optin = true;
var parseString = require('xml2js').parseString;
var request = require('request');
! if (optin) request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {parseString(body, { explicitArray: false, mergeAttrs: true }, function (err, result) { if (logging) log(JSON.stringify(result, null, 2)); var data = JSON.stringify(result, null, 2); setState(idXML, data); // ganze XML in Objekt für Table Widget var table = []; if (err) { log("Fehler: " + err, 'error'); } else { if (result.rss.channel.item.length !== null) { // gelegentlicher Fehler bei nächtlicher Abfrage durch length (undefined) soll hier abgefangen werden // Array durchzaehlen von 0 bis Zahl der items for(var i = 0; i < result.rss.channel.item.length; i++) { if (logging) log(JSON.stringify(result.rss.channel.item[i])); var foto; // Doppelpunkt mach tProbleme if (result.rss.channel.item[i]['media:content']) { if (logging) log('Inhalt: ' + JSON.stringify(foto) ); foto = result.rss.channel.item[i]['media:content']; if (logging) log('BILD: ' + foto.url); } else foto = "'url': ''"; // leere URL erstellen, wenn keine da var entry = { image: foto.url ? '' : '', text: '! | [' + result.rss.channel.item[i].title +
'](' +
result.rss.channel.item[i].link + ') |
| ' +
result.rss.channel.item[i].description +' |
! ',
_Bild: foto.url ? '' : 'no image'
};
table.push(entry);
}
} else log('LENGTH in TV Programm texxas-Hauptsender nicht definiert'); // ende if ungleich} setState(idJSON, JSON.stringify(table)); // ganze XML in Objekt für Table Widget }); } else log(error, 'error'); }); // Ende request if (logging) log('XML-Daten aus texxas eingelesen');}
! schedule("10 * * * *", TvProgrammEinlesen);
TvProgrammEinlesen();
! var idCss = 'TV_Programm.texxas.css';
createState(idCss, {
name: 'texxas Anzeige CSS Befehl',
type: 'string',
read: true,
write: true,
def: '.texxas_description { display: none;}'
});
var css = {
"aus" : ".texxas_description { display: none;}",
"an" : ".texxas_description { }"
};
// log(css.an);
setState(idCss, css.an);Das hat aber keine Blacklist und keine Whitelist. Und die Formatierung ist auch anders, da u.a. die Bilder viel größer sind. filename="Bildschirmfoto 2017-08-16 um 18.39.29.jpg" index="0">~~ ! Ich hatte beim Homematic Usertreffen darüber nachgedacht, einen komplett neuen Adapter zu bauen, der mehrere Dienste vereint. Man kann dann einen oder eben mehrere Anbieter auswählen. Aus Zeitmangel bin ich nicht dazu gekommen. Vielleicht reicht erstmal das Skript. ! Gruß ! PixPerfekt danke Pix. Hab es umgeschrieben auf Sky Sender dann benötige ich keine Blacklist. ! Gruß Torsten[/i][/i][/i][/i][/i][/i] ```