smarthome-tricks.de

ioBroker RSS-Feed in View einbinden

In diesem Artikel zeige ich Dir, wie Du einen RSS-Feed in ioBroker VIS einbinden kannst.

Mit einem RSS-Feed (Really Simple Syndication) kann mich sich einfach über Neuigkeiten (Nachrichten oder z.B. neue Artikel von Webseiten oder Blogs) informieren. RSS basiert dabei auf einem XML-Dokument, welches durch einen Webserver publiziert wird. RSS-Feeds können durch Web-Browser oder z.B. auch mobilen Apps wie Feedly verwaltet und dargestellt werden.

In diesem Artikel zeige ich Dir, wie Du über den ioBroker RSSFeed Adapter Feeds auch in ioBroker integrieren und so z.B. Nachrichten auf Deiner Visualisierung darstellen kannst. Im ersten Schritt müssen wir nun den Adapter RSSFeed installieren. Zum Zeitpunkt der Artikel-Erstellung war der Adapter noch nicht im Stable-Repo verfügbar, der Verwahrungsort muss daher auf beta umgestellt werden.

Nach dem wir den Verwahrungsort umgestellt haben, können wir dann über die Liste der Adapter nach „rss“ suchen und den hier gezeigten Adapter über die gelb markierte Plus-Schaltfläche installieren.

Nach der Installation wechseln wir in den Bereich Instanzen und können über die Konfig-Schaltfläche mit der Konfiguration des Adapters beginnen.

In der Adapter-Konfiguration kann die Aktualisierungsrate in Minuten und die maximale Anzahl von Artikeln eingestellt werden. Zudem können wir hier die einzelnen RSS-Feeds hinzufügen und verwalten. Im folgenden Screenshot habe ich verschiedene RSS-Feeds von www.tagessschau.de und www.spiegel.de eingefügt. In der Regel stellt hier jede News-Webseite einen eigenen RSS-Feed zur Verfügung, sodass hier auch lokale Nachrichten eingefügt werden können.

Nach dem wir die ersten RSS-Feeds in der Konfiguration hinterlegt haben und der Adapter neu gestartet wurde, können wir im Bereich der ioBroker Objekte die folgenden Datenpunkte im Bereich rssfeed.0 sehen. Für jeden RSS-Feed wird hier ein Datenpunkt mit den Daten im JSON-Format angelegt.

Damit haben wir nun den ersten wichtigen Schritt erledigt, die Daten des RSS-Feeds stehen in ioBroker als Objekt zur Verfügung. Im nächsten Schritt zeige ich Dir jetzt, wie Du den RSS-Feed dann auf Deiner Visualisierung darstellen kannst. Dazu wechseln wir im ersten Schritt auf die ioBroker VIS Visualisierung suchen über die Widget-Auswahl auf der linken Seite nach dem Widget „rss“. Alternativ wird hier auch eine eigene RSSFeed Kategorie dargestellt.

Nach dem wir das oben gelb markierte Widget auf der View eingefügt haben, können wir direkt mit der Konfiguration beginnen. Als rss_oid tragen wir hier den gewünschten Datenpunkt in das Feld ein.

Auf Deiner Visualisierung sollte jetzt direkt der RSS-Feed dargestellt werden. In meinen Tests ist mir aber aufgefallen, dass häufig die Reihenfolge innerhalb des RSS-Feeds nicht stimmt. Wir müssen daher nachträglich über die Template-Funktion die Sortierung der Artikel vornehmen. Hierfür habe ich das Template wie folgt angepasst:

Hier kannst Du das Template einfach herauskopieren und übernehmen. Im Template wird zunächst das Array articles (Eigenschaft pubdate) sortiert.

<%= meta.title %> 

<% articles.sort(function(a,b){ %>
<%   return new Date(b.pubdate) - new Date(a.pubdate); %>
<% }); %>

<% articles.forEach(function(item){ %>
<p><%- vis.formatDate(item.pubdate, "TT.MM.JJJJ SS:mm") %><br> <b><%- item.title %></b></p>
<p><%- item.description %></p><br>
<div style="clear:both;" />
<% }); %>

Der Adapter stellt hier noch weitere Widgets zur Anzeige der RSS-Feeds zur Verfügung. Neben einer Laufschrift (Newsticker) gibt es auch noch ein Widget für die Darstellung von mehreren Feeds in einem Widget.

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer 🙂

Die mobile Version verlassen