Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Sebastian IO last edited by

      @Sebastian-IO
      Hi,

      danke für deinen Vorschlag. Ich habe die Technik etwas angepasst , so dass es alles ein sich geschlossenes Template ergibt, welches direkt im Widget eingetragen werden kann und sich die Formatierung auch nicht mit anderen widgets beißt. Ein paar deiner Formatierungen habe ich entfernt, so das es möglichst multifunktional für alle anwendbar ist. Besondere Ränder und Abstände kann man dann dennoch individuell hinzufügen. Aber hier ist jetzt der gerade so notwendige css und javascript-Anteil enthalten.
      Er ist dann in der widget-Hilfe im nächsten Release mit enthalten.

      
      <script>
      // Konfigurationsbereich Anfang
      var fadeTime = 1000; //Zeit in Millisekunden zum Ein und Ausblenden eines Artikels
      var showTime = 4000; //Zeitdauer, wie lange ein Artikel angezeigt werden soll
      // Konfigurationsbereich Ende
      </script>
      <style>
      #{wname} .slideshow {
        position: relative;
      }
      #{wname} .slideshow > div {
        position: absolute;
        display: none;
      }
      #{wname} .slideshow >  div:nth-child(0n+1) {
          display: block;
      }
      </style>
      <script>
      setInterval(function() {
        $('#{wname} .slideshow > div:first')
          .fadeOut(fadeTime)
          .next()
          .fadeIn(fadeTime)
          .end()
          .appendTo('#{wname} .slideshow');
      }, showTime);
      
      </script>
      <%= meta.title %> 
      <div class="slideshow">
      <% articles.forEach(function(item){ %>
         <div>
      <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;" />
         </div>
      <% }); %>
      </div>
      
      
      
      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @OliverIO last edited by

        Neue Version 0.0.30

        • Die Abhängigkeiten zu anderen Bibliotheken wurde aktualisiert
        • Die Testkonfiguration für travis und appveyor wurde aktualisiert
        • die Hilfe wurde mit Templatebeispielen erweitert.
        1 Reply Last reply Reply Quote 0
        • sascha.ruckzuck
          sascha.ruckzuck last edited by

          Moin Moin,

          Ich versuche ein RSS Feed als Marquee 3 auf einem Wandtablet (Galaxy Tab A T580) mit FullyBrowser zum laufen zu kriegen.
          Auf Windows 10 per Chrome Browser läuft es wunderbar, auf dem Fully Kiosk Brower hingegen wird nichts angezeigt.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @sascha.ruckzuck last edited by

            @sascha-ruckzuck

            kannst du bitte mal schauen welche webview version auf deinem android installiert ist?
            evtl habe ich javascript features verwendet, die da noch nicht drin sind.
            ggfs. mal die webview aktualisieren.

            Das müsste bei den Komponenten in google play als
            Android System Webview
            aufgelistet sein.

            sascha.ruckzuck 1 Reply Last reply Reply Quote 0
            • sascha.ruckzuck
              sascha.ruckzuck @OliverIO last edited by

              @oliverio Hat sich erledigt. habe den Cache im Browser geleert, und nun funktioniert es 🙂 Danke trotzdem für die schnelle Antwort.

              1 Reply Last reply Reply Quote 1
              • smarthome-tricks.de
                smarthome-tricks.de last edited by

                Hallo,
                ich habe gerade den Adapter getestet, funktioniert soweit ganz gut.
                Leider habe ich bei einigen RSS-Feeds das Problem, das die Reihenfolge in den RSS-Feeds falsch ist. Ich hätte die Reihenfolge gerne nach Datum/Uhrzeit sortiert. Kannst Du da im Adapter eine Funktion vorsehen, oder gibt es evtl. schon was, was ich hier einsetzen kann?

                LG und Danke für den tollen Adapter,
                Matthias

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by OliverIO

                  @smarthome-tricks-de sagte in Test Adapter rssfeed v0.0.x:

                  Hallo,
                  ich habe gerade den Adapter getestet, funktioniert soweit ganz gut.
                  Leider habe ich bei einigen RSS-Feeds das Problem, das die Reihenfolge in den RSS-Feeds falsch ist. Ich hätte die Reihenfolge gerne nach Datum/Uhrzeit sortiert. Kannst Du da im Adapter eine Funktion vorsehen, oder gibt es evtl. schon was, was ich hier einsetzen kann?

                  LG und Danke für den tollen Adapter,
                  Matthias

                  Hallo,

                  das widget funktioniert mit einem template-system (ejs), bei dem, ohne das irgend etwas konfiguriert wird,
                  intern ein standard template vorgegeben wird:

                  Das ist das template, welches auch intern verwendet wird.

                                  <% articles.forEach(function(item){ %>
                                  <p><%- item.meta_name || item.meta_title || '' %></p>
                                  <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;" />
                                  <% }); %>
                  
                  

                  https://github.com/oweitman/ioBroker.rssfeed#template-based-on-examples

                  Falls du die Einträge sortieren, filtern, das Layout ändern, dann kannst du das template individuell anpassen.
                  In der Readme steht auch, was articles und meta ist, welche an das template als variablen übergeben werden.^

                  In der Widgethilfe, welche über vis am besten anzuschauen ist, stehen auch noch ein paar weitere template-Vorschläge drin

                  Weiteren Fragen gerne.

                  du kannst gerne auch mal das widget JSON Template2 aus dem gleichen adapter anschauen.
                  Damit kann man beliebig viele JSON-Datenpunkte hinzufügen und sich über das selbe template system ein individuelles widget bauen.

                  smarthome-tricks.de 1 Reply Last reply Reply Quote 0
                  • smarthome-tricks.de
                    smarthome-tricks.de @OliverIO last edited by

                    @oliverio Danke, läuft perfekt 🙂

                    1 Reply Last reply Reply Quote 0
                    • Dicken
                      Dicken last edited by

                      Hey, hab den Adapter auch seit kurzem am laufen und alles funktioniert wie es soll, danke erstmal für die Arbeit 🙂

                      Ich hätte allerdings einen Erweiterungswunsch: Wäre es machbar eine Möglichkeit einzubauen, auch in die andere Richtung zu filtern?

                      Soll heißen: bei rss_filter kann ich ja ein Wort angeben was enthalten sein muss im Artikel, Titel, ... damit es angezeigt wird.
                      Könnte man da auch eine Funktion einbauen, dass ich mit -Wort, nur Artikel anzeige, die NICHT das Wort "Wort" enthalten?

                      Also dass man bestimmte Wörter ausgrenzen kann?

                      LG
                      Dicken

                      Dicken 1 Reply Last reply Reply Quote 0
                      • Dicken
                        Dicken @Dicken last edited by

                        @dicken sagte in Test Adapter rssfeed v0.0.x:

                        Hey, hab den Adapter auch seit kurzem am laufen und alles funktioniert wie es soll, danke erstmal für die Arbeit 🙂

                        Ich hätte allerdings einen Erweiterungswunsch: Wäre es machbar eine Möglichkeit einzubauen, auch in die andere Richtung zu filtern?

                        Soll heißen: bei rss_filter kann ich ja ein Wort angeben was enthalten sein muss im Artikel, Titel, ... damit es angezeigt wird.
                        Könnte man da auch eine Funktion einbauen, dass ich mit -Wort, nur Artikel anzeige, die NICHT das Wort "Wort" enthalten?

                        Also dass man bestimmte Wörter ausgrenzen kann?

                        LG
                        Dicken

                        @OliverIO
                        Sorry für den Doppelpost, aber ist das denkbar? Oder eher nicht? Verstehst du überhaupt was ich meine? 😄 Bin nicht der beste im Erklären und Beschreiben 😄

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @Dicken last edited by

                          @dicken sagte in Test Adapter rssfeed v0.0.x:

                          @dicken sagte in Test Adapter rssfeed v0.0.x:

                          Hey, hab den Adapter auch seit kurzem am laufen und alles funktioniert wie es soll, danke erstmal für die Arbeit 🙂

                          Ich hätte allerdings einen Erweiterungswunsch: Wäre es machbar eine Möglichkeit einzubauen, auch in die andere Richtung zu filtern?

                          Soll heißen: bei rss_filter kann ich ja ein Wort angeben was enthalten sein muss im Artikel, Titel, ... damit es angezeigt wird.
                          Könnte man da auch eine Funktion einbauen, dass ich mit -Wort, nur Artikel anzeige, die NICHT das Wort "Wort" enthalten?

                          Also dass man bestimmte Wörter ausgrenzen kann?

                          LG
                          Dicken

                          @OliverIO
                          Sorry für den Doppelpost, aber ist das denkbar? Oder eher nicht? Verstehst du überhaupt was ich meine? 😄 Bin nicht der beste im Erklären und Beschreiben 😄

                          ja sorry, hatte noch nicht geantwortet.
                          war noch mal am überlegen, wie ich das umsetze.
                          Dafür gibt es mehrere Möglichkeiten.

                          1. Das was du vorgeschlagen hast, als erstes Zeichen ein Minus, so das das Wort danach nicht vorkommen darf
                          2. Das Feld auf Regex umstellen, dann könnte man notfalls auch komplexere Ausdrücke verwenden. Die Nicht-Suche wäre aber dann von den Zeichen her nicht so einfach einzugeben, aber grundsätzlich schon möglich
                          3. Ich mach gar nix 🙂 Da die RSS-Ausgabe auf Basis eines Templates basiert, das man selbst anpassen kann und mit entsprechenden Javascript-Anweisungen alles Filtern/Sortieren/Ausklammern kann wie man möchte. Bei einem Beispiel wäre ich natürlich behilflich
                          Dicken 1 Reply Last reply Reply Quote 0
                          • Dicken
                            Dicken @OliverIO last edited by

                            @oliverio sagte in Test Adapter rssfeed v0.0.x:

                            @dicken sagte in Test Adapter rssfeed v0.0.x:

                            @dicken sagte in Test Adapter rssfeed v0.0.x:

                            Hey, hab den Adapter auch seit kurzem am laufen und alles funktioniert wie es soll, danke erstmal für die Arbeit 🙂

                            Ich hätte allerdings einen Erweiterungswunsch: Wäre es machbar eine Möglichkeit einzubauen, auch in die andere Richtung zu filtern?

                            Soll heißen: bei rss_filter kann ich ja ein Wort angeben was enthalten sein muss im Artikel, Titel, ... damit es angezeigt wird.
                            Könnte man da auch eine Funktion einbauen, dass ich mit -Wort, nur Artikel anzeige, die NICHT das Wort "Wort" enthalten?

                            Also dass man bestimmte Wörter ausgrenzen kann?

                            LG
                            Dicken

                            @OliverIO
                            Sorry für den Doppelpost, aber ist das denkbar? Oder eher nicht? Verstehst du überhaupt was ich meine? 😄 Bin nicht der beste im Erklären und Beschreiben 😄

                            ja sorry, hatte noch nicht geantwortet.
                            war noch mal am überlegen, wie ich das umsetze.
                            Dafür gibt es mehrere Möglichkeiten.

                            1. Das was du vorgeschlagen hast, als erstes Zeichen ein Minus, so das das Wort danach nicht vorkommen darf
                            2. Das Feld auf Regex umstellen, dann könnte man notfalls auch komplexere Ausdrücke verwenden. Die Nicht-Suche wäre aber dann von den Zeichen her nicht so einfach einzugeben, aber grundsätzlich schon möglich
                            3. Ich mach gar nix 🙂 Da die RSS-Ausgabe auf Basis eines Templates basiert, das man selbst anpassen kann und mit entsprechenden Javascript-Anweisungen alles Filtern/Sortieren/Ausklammern kann wie man möchte. Bei einem Beispiel wäre ich natürlich behilflich

                            Kein Problem, ich will ja was von dir und nicht umgekehrt 🙂

                            Also das Minus war ja jetzt nicht in Stein gemeisselt, sollte lediglich meine Erklärung vereinfachen.
                            Ich kenn mich mit dem Aufbau eines Adapters nicht aus, aber könnte man nicht auch statt dem Feld "rss-filter" einfach zwei Felder einbauen? "Rss-Filter+" (für Wörter die enthalten sein sollen) und "Rss-Filter-" (Für Wöter die nicht enthalten sein sollen)?

                            Die dritte Möglichkeit wär vermutlich für dich am einfachsten, aber für alle anderen nicht 😄
                            Aber wenn du dich dazu entscheidest, würd ich mich natürlich über ein Beispiel freuen 🙂

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Dicken last edited by

                              @dicken
                              ich suche immer nach multifunktionalen lösungen und nicht solche, die genau ein konkretes Problem lösen. Dadurch werden die widgets immer komplexer und irgendwann nicht mehr Pflegbar oder man macht diese durch Änderungen nicht mehr rückwärtskompatibel

                              Dicken 1 Reply Last reply Reply Quote 0
                              • Dicken
                                Dicken @OliverIO last edited by

                                @oliverio sagte in Test Adapter rssfeed v0.0.x:

                                @dicken
                                ich suche immer nach multifunktionalen lösungen und nicht solche, die genau ein konkretes Problem lösen. Dadurch werden die widgets immer komplexer und irgendwann nicht mehr Pflegbar oder man macht diese durch Änderungen nicht mehr rückwärtskompatibel

                                Ok das seh ich natürlich ein, wie gesagt, hab keinerlei Ahnung welcher Aufwand dahinter steckt.
                                Mach dir in Ruhe gedanken und berichte einfach wofür du dich entschieden hast 🙂 Wenn es zuviel Aufwand ist, hab ich da natürlich auch vollstes Verständnis für 🙂

                                1 Reply Last reply Reply Quote 0
                                • Dicken
                                  Dicken last edited by

                                  Auf die Gefahr hin Dreist zu wirken 😄
                                  Ich hätte da noch ein kleines anliegen, bzw. vllt gibts da auch ein einfaches Workaround ohne dein zutun @OliverIO 🙂

                                  Ich wollte mir mit dem Red Number Widget anzeigen lassen, wieviel ungelesene neue RSS-Feed beiträge es gibt.

                                  Habe mir ein Script geschrieben, welches auf Änderungen des RSS-Feed-Datenpunktes einen eigens erstellen Datenpunkt immer um 1 erhöht.

                                  Wenn ich dann über die Navigation auf meine RSS View gehe, wird mein Datenpunkt wieder auf 0 gesetzt.

                                  Das funktioniert auch wunderbar, das Problem is nur dass der Datenpunkt des RSSFeeds aus deinem Adapter auch geändert wird, wenn es garkeinen neuen Beitrag gibt. Ich glaub die Zeit der Abfrage wird da auch reingeschrieben.
                                  Ergo erhöht sich mein Datenpunkt jedesmal um 1 wenn der RSS-Feed abgefragt wird.

                                  Hättest du da nen schnellen Lösungsansatz für, oder hat vllt jemand anderes sich sowas schonmal gebaut?

                                  Würd mich über eine Antwort freuen 🙂

                                  LG
                                  Dicken

                                  OliverIO 2 Replies Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Dicken last edited by OliverIO

                                    @dicken sagte in Test Adapter rssfeed v0.0.x:

                                    Auf die Gefahr hin Dreist zu wirken 😄
                                    Ich hätte da noch ein kleines anliegen, bzw. vllt gibts da auch ein einfaches Workaround ohne dein zutun @OliverIO 🙂

                                    Ich wollte mir mit dem Red Number Widget anzeigen lassen, wieviel ungelesene neue RSS-Feed beiträge es gibt.

                                    Habe mir ein Script geschrieben, welches auf Änderungen des RSS-Feed-Datenpunktes einen eigens erstellen Datenpunkt immer um 1 erhöht.

                                    Wenn ich dann über die Navigation auf meine RSS View gehe, wird mein Datenpunkt wieder auf 0 gesetzt.

                                    Das funktioniert auch wunderbar, das Problem is nur dass der Datenpunkt des RSSFeeds aus deinem Adapter auch geändert wird, wenn es garkeinen neuen Beitrag gibt. Ich glaub die Zeit der Abfrage wird da auch reingeschrieben.
                                    Ergo erhöht sich mein Datenpunkt jedesmal um 1 wenn der RSS-Feed abgefragt wird.

                                    Hättest du da nen schnellen Lösungsansatz für, oder hat vllt jemand anderes sich sowas schonmal gebaut?

                                    Würd mich über eine Antwort freuen 🙂

                                    LG
                                    Dicken

                                    Hm muss mal schauen ob ich das prüfe ob sich der Dateninhalt seit dem letzten Mal geändert hat bevor ich den datenpunkt neu schreibe.
                                    Allerdings ist mir damals aufgefallen, das manche Provider dennoch irgendetwas ändern auch wenn kein neuer Artikel dazu kam. Daher, selbst wenn ich es vergleiche wird es nicht bei jedem rss so funktionieren.
                                    Um welchen rss handelt es sich? Dann kann ich mal schauen.

                                    Man könnte in das rss Template auch das Schreiben des datenpunkts mit der Anzahl der Artikel seit dem letzten Mal lesen schreiben.
                                    Du müsstest in deinem Skript dann nur ein datenpunkt mit einem Datum des letzten Lesens beschreiben.
                                    Ich kann morgen mal ein Beispiel dafür bereitstellen.

                                    Dicken 1 Reply Last reply Reply Quote 0
                                    • Dicken
                                      Dicken @OliverIO last edited by

                                      @oliverio sagte in Test Adapter rssfeed v0.0.x:

                                      Um welchen rss handelt es sich? Dann kann ich mal schauen.

                                      Ist mir jetzt bei mehreren Aufgefallen, der Aufbau im Datenpunkt scheint überall gleich.
                                      Beispiel: https://www.movie-infos.net/cms/index.php/NewsFeed/

                                      pubdate":"2021-03-23T07:38:12.000Z"
                                      

                                      beim neusten Beitrag wird immer mit aktualisiert im Datenpunkt (also ändert sich, auch wenn der Beitrag kein neuer ist).

                                      1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO last edited by OliverIO

                                        @dicken sagte in Test Adapter rssfeed v0.0.x:

                                        @oliverio sagte in Test Adapter rssfeed v0.0.x:

                                        Um welchen rss handelt es sich? Dann kann ich mal schauen.

                                        Ist mir jetzt bei mehreren Aufgefallen, der Aufbau im Datenpunkt scheint überall gleich.
                                        Beispiel: https://www.movie-infos.net/cms/index.php/NewsFeed/

                                        pubdate":"2021-03-23T07:38:12.000Z"
                                        

                                        beim neusten Beitrag wird immer mit aktualisiert im Datenpunkt (also ändert sich, auch wenn der Beitrag kein neuer ist).

                                        probiere mal folgendes Skript
                                        Die beiden Datenpunkte am Anfang des Skripts musst du selbst manuell erstellen. Beide sind vom typ numerisch.
                                        In den Datenpunkt lastread schreibst du dann den Zeitpunkt wann du gelesen hast als Timestamp mit

                                        new Date().toTime()
                                        

                                        Einen Schwachpunkt gibt es noch.
                                        Wenn du längers den RSS nicht liest, dann verändert sich die Zahl maxread auch nicht mehr, da die Provider ja meist nur eine gewisse Anzahl von Artikel über RSS bereitstellen

                                        var rssFeedDP = "rssfeed.0.tagesschau";
                                        var lastreadDP ="0_userdata.0.lastread";
                                        var unreadDP ="0_userdata.0.unread";
                                        var articles,maxdate,unread;
                                        
                                        on(rssFeedDP, function (obj) {
                                            unread=0;
                                            maxdate = getState(lastreadDP).val;
                                            try {
                                                var rssObj = JSON.parse(obj.state.val);
                                                articles = rssObj.articles;
                                            } catch {
                                                return;
                                            }
                                            articles.forEach(function(item){
                                                if (maxdate<new Date(item.pubdate).getTime()) unread=unread+1;
                                            });
                                            setState(unreadDP,unread);
                                        });
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Dicken
                                          Dicken last edited by

                                          Hey vielen Dank 🙂

                                          @oliverio sagte in Test Adapter rssfeed v0.0.x:

                                          In den Datenpunkt lastread schreibst du dann den Zeitpunkt wann du gelesen hast als Timestamp mit
                                          new Date().toTime()

                                          Wie mach ich das denn? 🙂

                                          Kenn mich da nich so aus, bis jetzt nur ein bisschen mit Blockly gespielt immer.

                                          1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Dicken last edited by OliverIO

                                            @dicken sagte in Test Adapter rssfeed v0.0.x:

                                            Wenn ich dann über die Navigation auf meine RSS View gehe, wird mein Datenpunkt wieder auf 0 gesetzt

                                            Zeig mal den Code, wo du das umgesetzt hast
                                            Mit Blockly kenn ich mich gar nicht aus.

                                            Dicken 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            881
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter atom feed iobroker.rssfeed rdf rss vis widget
                                            32
                                            654
                                            134703
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo