NEWS
Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed
-
@skokarl
Beim Linken: hier hilft es die Überschrift aus dem Template zu entfernen
Beim rechten: Was soll mit dem übrigen Text passieren? Die Größe des Rahmens oder die Schrift sollte so groß sein, das ein Artikel rein passt. -
Moin,
also, Instanz gelöscht, Adapter gelöscht, 0.1.9 installiert, Upload gemacht, Instanz neu, ..usw.
Speichern gut, Daten sofort da, Marquee geht. Super. Besten Dank.
Leider nur in der RUN, aber immerhin. :+1:
@skokarl Vielen Dank für die tolle Arbeit. Ich kann es nicht oft genug wiederholen!
Kleine Inspiration meinerseits:
- zwischen 20.00 - 20.15 Uhr zeige ich übrigens den RSS-Feed von TV-Spielfilm im Marquee
- vorher / nachher entsprechend den Ticker von den Tagesthemen
-
Unter Abteilung Tester konnte ich kein Topic anlegen. Bitte dort hin verschieben.
Nachdem ich immer weider lese, wie sich die Leute mit rss-Feeds abmühen,
habe ich einen Adapter dazu geschrieben.
Dieser hat aktuell minimale Fähigkeiten, man kann damit aber
schon annehmbare Ergebnisse erzielen.Verwendete Bausteine
Um die Flexibilität bei der Anzeige der Feeds bieten zu können, erfolgt die Formatierung der Ausgabe
über ein template-system.
Eine Vorlage werde ich hier weiter unten kopieren.
Beschreibung der Formatierung und Syntax finden sich auf den folgenden Seiten
https://ejs.co/ und https://github.com/mde/ejsEinlesen der Feeds.
Dazu verwende ich ein node modul namens feedparser.
Dieses Modul kann verschiedene RSS-Standards (RSS, Atom, and RDF).
Dazu ist er noch dazu in der Lage, die Attribute zu normalisieren, so das es in der Ausgabe egal ist,
wie der jeweilige Standard ein bestimmtes Feld nennt.
https://github.com/danmactough/node-feedparserInstallation und Einrichtung
Schritt 1 - Installation
Der Adapter ist aktuell nur auf github verfügbar.
Name des Repository ist https://github.com/oweitman/iobroker.rssfeedSchritt 2 - Instanz hinzufügen
Der Adapter müsste dann im Abschnitt adapter im iobroker angezeigt werden.
Manchmal kommt es vor, das insbesondere bei Webänderungen (Widgets/Konfigurationsdialog) die Änderungen nicht sichtbar sind, muss evtl. auf der Kommandozeile folgender Befehl ausgeführt werden:
iobroker upload rssfeed
Im rechten Bereich in der Zeile des Adapters kann über den Plus-Knopf eine Instanz hinzugefügt werdenSchritt 3 - Konfiguration
Die Konfiguration ist relativ simpel. Es gibt nur wenige Felder
Refresh: ist die generelle Vorgabe, wie oft in Minuten der Feed neu abgerufen werden soll. Voreinstellung ist 60
Maximale Artikel im Datenpunkt: Hier kann die Gesamtmenge der zu verarbeitenden Daten begrenz werden.Dann je neuen Feed:
Name: Ein eindeutiger Name, darf nicht doppelt vorkommen
Url: Die vollständige Adresse des Feed (mit http:// oder https://)
Refresh: Bei Erfassung kann ein abweichender Wert angegeben werden. Ansonsten wird die generelle Vorgabe genommenNach Neustart und Abruf der Daten ist der Feed als JSON-Datenpunkt im Objektbaum zu finden.
Schritt 4 - vis und widgets
Um die Feeds anzuzeigen gibt es ein widget. Dieses kann über den Suchfilter in vis mittels rssfeed gefunden werden.
Das widget hat folgende Einstellmöglichkeiten
rss_oid Hier wird der JSON-Datenpunkt des gewünschten feeds ausgewählt. Ich habe festgestellt, das der Objektbrowser hier nicht imnmer zufriedenstellend funktioniert, da er die im JSON enthaltenen HTML-Anteile versucht dazustellen.
Alternativ die Datenpunkt ID direkt aus vis kopieren.
template: Hier kann ein template erfasst werden, welches javascript und html gemischt enthalten kann.maxarticles: Hier kann widget individuell die Anzahl der Artikel begrenzt werden.
Alle anderen Einstellungen sind identisch zu den anderen widgets, Die Formatvorgaben gellten generell für alle widgetinhalte
Die widgets rssfeed Meta helper und rssfeed Article helper unterstützen bei der Erstellung eines Templates,
indem dort komfortabel die meta-Informationen und die Attribute eines Artikels angezeigt werden.
Im widget rssfeed Article Helper kann man den Artikel auswählen, dessen Attribute angezeigt werden soll, sowie das Präfix anpassen, so dass es einfacher ist dieses in das Template zu kopieren.Ein weiteres widget hat nichts direkt mir rssfeed zu tun und ist in diesem adapter voraussichtlich temporär zu Gast.
Template anhand von Beispielen
Ein Beispiel, welches ich mit den folgenden RSS Feeds getestet habe:<%= meta.title %> <% articles.forEach(function(item){ %> <p><small><%- vis.formatDate(item.pubdate, "TT.MM.JJJJ SS:mm") %></small></p> <h3><%- item.title %></h3> <p><%- item.description %></p> <div style="clear:both;" /> <% }); %>Das Templatesystem arbeitet mit bestimmten Tags.
Die verwendeten Tags bedeuten das folgenden
<%= Der Inhalt des enthaltenen Ausdrucks/Variable wird escaped ausgegenen.
<%- Der Inhalt des enthaltenen Ausdrucks/Variable wird unescaped ausgegenen.
<% Tag ohne Ausgabe, wird für javascriptanweisungen verwendet
%> ist generell ein schließender Tag um eines der vorherigen abzuschließen
Alles was außerhalb dieser Tags ist, wird genau so dann angezeigt bzw. wenn es HTML ist als HTML interpretiert ausgegeben. (siehe bspw das p-tag,div-tag,small-tagInnerhalb des Templates habt ihr 2 vorgegebene variablen zur Verfügung
meta: Hier sind alle Metainformationen zum Feed enthalten. Die folgenden Inhalte stehen zur Verfügung. Ich denke die Bezeichner sind selbst erklärend. In der Hilfe werde ich diese noch genauer Beschreiben. bzw den Inhalt spezifizieren (manche sind Arrays)
meta.title
meta.description
meta.link
meta.xmlurl
meta.date
meta.pubdate
meta.author
meta.language
meta.image
meta.favicon
meta.copyright
meta.generator
meta.categoriesarticles: Ist ein Array mit einzelnen Elementen (javascript array). Jedes Element hat die folgenden Eigenschaften.
Damit es zum Beispiel passt mache ich hier mal das Prefix item davor. Aber wenn ihr wollt könnt ihr das selbst wählen. Es muss dann nur in der Schleife (forEach) entsprechend benannt werden. Auch hjier sind die Bezeichner erst einmal selbst erklärend. Nicht in jedem Feed sind alle attribute auch gefüllt. Die wichtigsten sind im obigen Template bereits enthalten.item.title
item.description
item.summary
item.link
item.origlink
item.permalink
item.date
item.pubdate
item.author
item.guid
item.comments
item.image
item.categories
item.source
item.enclosures"<%= meta.title %> <% articles.forEach(function(item){ %> <p><small><%- vis.formatDate(item.pubdate, "TT.MM.JJJJ SS:mm") %></small></p> <h3><%- item.title %></h3> <p><%- item.description %></p> <div style="clear:both;" /> <% }); %>Kurze Beschreibung was in den einzelnen Zeilen passiert
Z1: Der Feed-titel wird ausgegeben
Z2: Ohne Ausgabe. Schleife über alle articles, bei jedem Durchgang wird das aktuelle Element der variable item zugewiesen.
Z3: Datum und Uhrzeit wird ausgegeben und wird in einem p/small-Tag eingeschlossen zur Formatierung. Zur Formatierung wird die vis-eigene Datumsformatfunktion verwendet. Beschreibung ist im adapter vis zu finden.
Z4: Der Titel des Artikels wird ausgegeben. Zur Formatierung wird der Tag für Überschrift 3 verwendet
Z5: Der Inhalt des Artikels wird ausgegeben und in einem p-Tag eingeschlossen. Hier ist, zumindest bei den beiden Beispielen, HTML-code enthalten, der meist ein Bild, sowie beschreibenden Text mitbringt
Z6: Ein div-Tag, das ausgegeben werden muss, um eine spezielle Formatierung im Feed wieder aufzuheben.
Z7: Ohne Ausgabe. Hier wird die Schleife geschlossen. Alles was zwischen Z2 und Z7 definiert wurde, wird für jeden einzelnen Artikel wiederholt.Ich freue mich über reges testen und Vorschlag von Erweiterungen.
Fehler können hier, aber auch auf github https://github.com/oweitman/ioBroker.rssfeed
gemeldet werden. -
@skokarl Vielen Dank für die tolle Arbeit. Ich kann es nicht oft genug wiederholen!
Kleine Inspiration meinerseits:
- zwischen 20.00 - 20.15 Uhr zeige ich übrigens den RSS-Feed von TV-Spielfilm im Marquee
- vorher / nachher entsprechend den Ticker von den Tagesthemen
-
@sigi234
Wie ist der link zum Feed?
Das mit der zeichenkodierung ist eine schwierige Geschichte. Ich setze seit dem dem letzten Fehler mit dem ö eine Bibliothek ein, die versucht die zeichenkodierung Automatisch zu ermitteln. Allerdings kann die auch falsch liegen.
Ich schaue mir das anhand des Feeds an und schau warum der falsch liegt.
Die Alternative wäre noch für solche Fälle ein Eingabefeld für die Kodierung einzuführen. -
@skokarl Vielen Dank für die tolle Arbeit. Ich kann es nicht oft genug wiederholen!
Kleine Inspiration meinerseits:
- zwischen 20.00 - 20.15 Uhr zeige ich übrigens den RSS-Feed von TV-Spielfilm im Marquee
- vorher / nachher entsprechend den Ticker von den Tagesthemen
@Bostil sagte in Test Adapter rssfeed v0.0.x:
@skokarl Vielen Dank für die tolle Arbeit. Ich kann es nicht oft genug wiederholen!
Kleine Inspiration meinerseits:
- zwischen 20.00 - 20.15 Uhr zeige ich übrigens den RSS-Feed von TV-Spielfilm im Marquee
- vorher / nachher entsprechend den Ticker von den Tagesthemen
Das habe ich nicht so richtig verstanden was du meinst
-
@Bostil sagte in Test Adapter rssfeed v0.0.x:
@skokarl Vielen Dank für die tolle Arbeit. Ich kann es nicht oft genug wiederholen!
Kleine Inspiration meinerseits:
- zwischen 20.00 - 20.15 Uhr zeige ich übrigens den RSS-Feed von TV-Spielfilm im Marquee
- vorher / nachher entsprechend den Ticker von den Tagesthemen
Das habe ich nicht so richtig verstanden was du meinst
@OliverIO Nichts wildes und eher amateurhaft umgesetzt, aber trotzdem:
- habe zwei RSS-Feeds eingerichtet und steuere die über ein selbst angelegtes Objekt, das über ein Blockly-Script entweder auf 1 (20.00 - 20.15 Uhr) oder auf 0 (andere Uhrzeit) gesteuert wird. Mit diesem Wert wird dann einfach die Sichtbarkeit des jeweiligen RSS-Feeds gesteuert.


TV-Spielfilm:

Standard-Ticker:

-
@sigi234
Wie ist der link zum Feed?
Das mit der zeichenkodierung ist eine schwierige Geschichte. Ich setze seit dem dem letzten Fehler mit dem ö eine Bibliothek ein, die versucht die zeichenkodierung Automatisch zu ermitteln. Allerdings kann die auch falsch liegen.
Ich schaue mir das anhand des Feeds an und schau warum der falsch liegt.
Die Alternative wäre noch für solche Fälle ein Eingabefeld für die Kodierung einzuführen.@OliverIO sagte in Test Adapter rssfeed v0.0.x:
Wie ist der link zum Feed?
http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml
Hinweis:
Hat vorher einwandfrei funktioniert! -
@OliverIO sagte in Test Adapter rssfeed v0.0.x:
Wie ist der link zum Feed?
http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml
Hinweis:
Hat vorher einwandfrei funktioniert!@sigi234 sagte in Test Adapter rssfeed v0.0.x:
@OliverIO sagte in Test Adapter rssfeed v0.0.x:
Wie ist der link zum Feed?
http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml
Hinweis:
Hat vorher einwandfrei funktioniert!ok, das war einfach. Der RSS Feed ist nicht gültig
Der Feed selbst sagt er ist utf8, verwendet aber dafür ungültige Zeichen -
Neue Version 0.0.21
- die Hilfe für die widgets ist nun über den entsprechenden Knopf in vis verfügbar
- Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werden
- Im marquee widget sind nun die Trennzeichen konfigurierbar (Standardwert +++)
-
Neue Version 0.0.21
- die Hilfe für die widgets ist nun über den entsprechenden Knopf in vis verfügbar
- Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werden
- Im marquee widget sind nun die Trennzeichen konfigurierbar (Standardwert +++)
Version 0.0.21 installiert, Installation hat geklappt.
Hatte vorher aber die alte Version komplett gelöscht.Kurze Frage hierzu:
Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werdenHabe mir als Test den RSS-Feed von Welt.de und rbb24.de eingebunden, der meiner Ansicht nach auch die Links dazu hat.
Jedoch kann ich trotz aktivieren der Option nichts anklicken.rss_pauseonhover funktioniert by the way bei mir auch nicht.
Vielleicht hast du ja noch eine Idee?
-
Version 0.0.21 installiert, Installation hat geklappt.
Hatte vorher aber die alte Version komplett gelöscht.Kurze Frage hierzu:
Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werdenHabe mir als Test den RSS-Feed von Welt.de und rbb24.de eingebunden, der meiner Ansicht nach auch die Links dazu hat.
Jedoch kann ich trotz aktivieren der Option nichts anklicken.rss_pauseonhover funktioniert by the way bei mir auch nicht.
Vielleicht hast du ja noch eine Idee?
@Ash2k
Im Edit mode von vis ist das schwierig, da vis über das widget noch andere elemente legt (diese ziehrahmen).im run mode müsste das funktionieren.
Alternativ auch hier das Problem, das zwar das template aktualisiert wurde, aber das javascript noch nicht.
dann am besten das nochmal durchführen und 30 sekunden warten, da vis da im hintergrund noch etwas macht.
iobroker upload rssfeedsobald der adapter im latest ist und von dort installiert werden kann, dürften diese art von probleme weg oder reduziert sein.
-
Neue Version 0.0.21
- die Hilfe für die widgets ist nun über den entsprechenden Knopf in vis verfügbar
- Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werden
- Im marquee widget sind nun die Trennzeichen konfigurierbar (Standardwert +++)
@OliverIO sagte in Test Adapter rssfeed v0.0.x:
Neue Version 0.0.21
- die Hilfe für die widgets ist nun über den entsprechenden Knopf in vis verfügbar
- Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werden
- Im marquee widget sind nun die Trennzeichen konfigurierbar (Standardwert +++)
Sehr genial, mit den Links! Funktioniert super :)
-
@OliverIO sagte in Test Adapter rssfeed v0.0.x:
Neue Version 0.0.21
- die Hilfe für die widgets ist nun über den entsprechenden Knopf in vis verfügbar
- Im marquee widget können die Schlagzeilen nun optional als klickbarer Link ausgegeben werden
- Im marquee widget sind nun die Trennzeichen konfigurierbar (Standardwert +++)
Sehr genial, mit den Links! Funktioniert super :)
@jackblackson
ok, also du hast gar kein problem mehr mit dem marquee widget?
ein paar hatten ja das Problem , das es nur funktionierte, wenn das alte noch da war.
das rührte aber, das in vis wohl nicht alle dateien von iobroker korrekt "hochgeladen" wurden. -
@jackblackson
ok, also du hast gar kein problem mehr mit dem marquee widget?
ein paar hatten ja das Problem , das es nur funktionierte, wenn das alte noch da war.
das rührte aber, das in vis wohl nicht alle dateien von iobroker korrekt "hochgeladen" wurden.@OliverIO Nein, ich hab den Adapter gelöscht, die aktuelle Version installiert (kein Upload gemacht), und dann erst das neue Widget reingezogen und dann das Alte gelöscht, keine Probleme bisher, und er öffnet die Links perfekt am Tablet in einem neuen Tab.
-
so Leute. Habt ihr noch Ideen? oder ist der Adapter jetzt schon fertig.
Es ist corona, ich habe Zeit und Lust.@OliverIO sagte in Test Adapter rssfeed v0.0.x:
so Leute. Habt ihr noch Ideen? oder ist der Adapter jetzt schon fertig.
Es ist corona, ich habe Zeit und Lust.Wie ist das beim marquee mit dem "anhalten" - wann sollte es wieder weiter laufen? Bei mir ist es bis jetzt wenn ich es angehalten habe, nicht mehr weitergelaufen. Startet es wieder nach x Sekunden?
-
@OliverIO sagte in Test Adapter rssfeed v0.0.x:
so Leute. Habt ihr noch Ideen? oder ist der Adapter jetzt schon fertig.
Es ist corona, ich habe Zeit und Lust.Wie ist das beim marquee mit dem "anhalten" - wann sollte es wieder weiter laufen? Bei mir ist es bis jetzt wenn ich es angehalten habe, nicht mehr weitergelaufen. Startet es wieder nach x Sekunden?
@jackblackson
eigentlich startet es wieder wenn du mit der Maus wieder weg vom marquee widget gehst.
Das Browser Event nennt sich "hover".
Benützt du überhaupt die Maus? Was ich nicht getestet habe, wie es mit touch aussieht.Touch habe ich nur mit den chrome Dev Tool simuliert. Bei touch funktioniert verständlicherweise das hover nicht. Falls die Laufschrift stoppt, dann geht es wieder weiter, wenn du an eine andere (freie) Stelle des Bildschirms drückst

