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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    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 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
          • Dicken
            Dicken @OliverIO last edited by Dicken

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

            @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.

            Ne, ich wollte damit nur sagen dass ich normalerweise bis jetzt nur mit Blockly gearbeitet habe 🙂
            Bin grad auf der Arbeit, aber ich habe deinen Code 1:1 in ein JS Script gepackt.

            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);
            });
            

            Und die Datenpunkte als nummerisch angelegt.
            Ich wollte nur wissen ob ich noch was zusätzlich machen muss, weil ich nicht verstanden hab, was du mit diesem Schritt meinst, bzw. was ich da machen soll:

            @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()

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

              @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

              Anstatt beim lesen einen datenpunkt auf 0 zu stellen musst du den Zeitpunkt wann du gelesen hast in Millisekunden in den datenpunkt schreiben.

              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:

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

                Anstatt beim lesen einen datenpunkt auf 0 zu stellen musst du den Zeitpunkt wann du gelesen hast in Millisekunden in den datenpunkt schreiben.

                Ah also in den Buttoneinstellungen in der View muss das dann rein, werde ich nachher testen und berichten 🙂

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

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

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

                  @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

                  Anstatt beim lesen einen datenpunkt auf 0 zu stellen musst du den Zeitpunkt wann du gelesen hast in Millisekunden in den datenpunkt schreiben.

                  Ah also in den Buttoneinstellungen in der View muss das dann rein, werde ich nachher testen und berichten 🙂

                  Probier mal. In vis sind manche Dinge wieder etwas anders wie in blockly oder Skript

                  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:

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

                    @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

                    Anstatt beim lesen einen datenpunkt auf 0 zu stellen musst du den Zeitpunkt wann du gelesen hast in Millisekunden in den datenpunkt schreiben.

                    Ah also in den Buttoneinstellungen in der View muss das dann rein, werde ich nachher testen und berichten 🙂

                    Probier mal. In vis sind manche Dinge wieder etwas anders wie in blockly oder Skript

                    Funktioniert leider nicht, wenn ich beim Button in der VIS wo ich den Wert übergebe "new Date().toTime()" eintrage, schreibt der auch 1:1 "new Date().toTime()" in den Datenpunkt lastread.

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

                      @dicken
                      Welches Widget verwendest du dafür genau?

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

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

                        @dicken
                        Welches Widget verwendest du dafür genau?

                        Den hier:
                        2021-03-24 18_39_02-Window.png

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

                          @dicken
                          Bitte einen Export davon machen

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

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

                            @dicken
                            Bitte einen Export davon machen

                            [{"tpl":"i-vis-universal","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"iUniversalWidgetType":"Navigation","iValueType":"boolean","iValueComparison":"equal","iStateResponseTime":"0","iStateResetValueTime":"0","iNavWait":"99","iPopUpBackground":"#666666","iPopUpPreventClickOutside":"","iPopUpShowTitle":"true","iPopUpTitle":"","iPopUpTitleColor":"#ffffff","iPopUpCloseBtnColor":"#dc2e2e","iPopUpWidth":"800px","iPopUpHeight":"500px","iPopUpPosition":"center","iPopUpCornerRadiusUL":"12","iPopUpCornerRadiusUR":"0","iPopUpCornerRadiusLR":"12","iPopUpCornerRadiusLL":"0","iPopUpShadowXOffset":"2","iPopUpShadowYOffset":"2","iPopUpShadowBlur":"2","iPopUpShadowSpread":"1","iPopUpShadowColor":"#111111","iButtonCol":"#537EA6","iButtonActive":"#3e5a74","iButtonColHover":"","iOpacityBack":"1","iCornerRadiusUL":"0","iCornerRadiusUR":"0","iCornerRadiusLR":"0","iCornerRadiusLL":"0","iContentFlexDirection":"vertical","iContentVertAlign":"iSpace-between","iContentOrder":"orderImgText","iOpacityCtn":"1","iTextColor":"#ffffff","iTextSize":"16","iTextAlign":"iCenter","iTextSpaceTop":"0","iTextSpaceBottom":"0","iTextSpaceLeft":"0","iTextSpaceRight":"0","iIconSize":"70","iImgAlign":"iCenter","iImgSpaceTop":"-5","iImgSpaceBottom":"-10","iImgSpaceLeft":"0","iImgSpaceRight":"0","iImgRotation":"0","iImgBlinkFalse":"0","iImgBlinkTrue":"0","iImgColorFalse":"","iImgColorTrue":"","iShadowXOffset":"0","iShadowYOffset":"0","iShadowBlur":"0","iShadowSpread":"0","iShadowColor":"#111111","iShadowColorActive":"#111111","iShadowColorHover":"","iShadowInnerXOffset":"0","iShadowInnerYOffset":"0","iShadowInnerBlur":"0","iShadowInnerSpread":"0","iShadowInnerColor":"#111111","iShadowInnerColorActive":"#111111","iShadowInnerColorHover":"","iBorderSize":"0","iBorderStyle":"none","iBorderColor":"#ffffff","iBorderColorActive":"#ffffff","iBorderColorHover":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"nav_view":"002_predb","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","views":["002_predb"],"iImageFalse":"/icons-mfd-svg/scene_scene.svg","iImageTrue":"/icons-mfd-svg/scene_scene.svg","iTextFalse":"RSS","iTextTrue":"RSS","iImgColorInvertFalse":true,"iImgColorInvertTrue":true,"value":"new Date().toTime() ","oid":"0_userdata.0.rss.movieinfos_lastread"},"style":{"left":"152px","top":"684px","width":"110px","height":"87px"},"widgetSet":"vis-inventwo"}]
                            
                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Dicken last edited by

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

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

                              @dicken
                              Bitte einen Export davon machen

                              [{"tpl":"i-vis-universal","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"iUniversalWidgetType":"Navigation","iValueType":"boolean","iValueComparison":"equal","iStateResponseTime":"0","iStateResetValueTime":"0","iNavWait":"99","iPopUpBackground":"#666666","iPopUpPreventClickOutside":"","iPopUpShowTitle":"true","iPopUpTitle":"","iPopUpTitleColor":"#ffffff","iPopUpCloseBtnColor":"#dc2e2e","iPopUpWidth":"800px","iPopUpHeight":"500px","iPopUpPosition":"center","iPopUpCornerRadiusUL":"12","iPopUpCornerRadiusUR":"0","iPopUpCornerRadiusLR":"12","iPopUpCornerRadiusLL":"0","iPopUpShadowXOffset":"2","iPopUpShadowYOffset":"2","iPopUpShadowBlur":"2","iPopUpShadowSpread":"1","iPopUpShadowColor":"#111111","iButtonCol":"#537EA6","iButtonActive":"#3e5a74","iButtonColHover":"","iOpacityBack":"1","iCornerRadiusUL":"0","iCornerRadiusUR":"0","iCornerRadiusLR":"0","iCornerRadiusLL":"0","iContentFlexDirection":"vertical","iContentVertAlign":"iSpace-between","iContentOrder":"orderImgText","iOpacityCtn":"1","iTextColor":"#ffffff","iTextSize":"16","iTextAlign":"iCenter","iTextSpaceTop":"0","iTextSpaceBottom":"0","iTextSpaceLeft":"0","iTextSpaceRight":"0","iIconSize":"70","iImgAlign":"iCenter","iImgSpaceTop":"-5","iImgSpaceBottom":"-10","iImgSpaceLeft":"0","iImgSpaceRight":"0","iImgRotation":"0","iImgBlinkFalse":"0","iImgBlinkTrue":"0","iImgColorFalse":"","iImgColorTrue":"","iShadowXOffset":"0","iShadowYOffset":"0","iShadowBlur":"0","iShadowSpread":"0","iShadowColor":"#111111","iShadowColorActive":"#111111","iShadowColorHover":"","iShadowInnerXOffset":"0","iShadowInnerYOffset":"0","iShadowInnerBlur":"0","iShadowInnerSpread":"0","iShadowInnerColor":"#111111","iShadowInnerColorActive":"#111111","iShadowInnerColorHover":"","iBorderSize":"0","iBorderStyle":"none","iBorderColor":"#ffffff","iBorderColorActive":"#ffffff","iBorderColorHover":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"nav_view":"002_predb","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","views":["002_predb"],"iImageFalse":"/icons-mfd-svg/scene_scene.svg","iImageTrue":"/icons-mfd-svg/scene_scene.svg","iTextFalse":"RSS","iTextTrue":"RSS","iImgColorInvertFalse":true,"iImgColorInvertTrue":true,"value":"new Date().toTime() ","oid":"0_userdata.0.rss.movieinfos_lastread"},"style":{"left":"152px","top":"684px","width":"110px","height":"87px"},"widgetSet":"vis-inventwo"}]
                              

                              Bei Wert muss du so etwas dann eintragen.
                              Den Datenpunktnamen noch entsprechend anpassen. Das a: ohne leerzeichen danach muss so bleiben
                              allerdings dient dieser nur als Dummy, so das man im 2.Argument den Zeitwert ermitteln kann. Das erfordert leider die Notation von vis.

                              {a:0_userdata.0.lastread;new Date().getTime()}
                              
                              Dicken 1 Reply Last reply Reply Quote 0
                              • Dicken
                                Dicken @OliverIO last edited by

                                @oliverio

                                Hmm?? Sorry ich versteh es leider nicht 🤦‍♂️
                                Was trag ich jetzt bei Object-ID im Widget und was bei Wert im Widget ein.

                                habe das jetzt bei Wert eingefügt:

                                {a:0_userdata.0.rss.movieinfos_lastread;new Date().getTime()} 
                                

                                Aber das bringt keine Veränderung im Datenpunkt bei klicken. Jetzt schreibt er garnichts neues mehr in den Datenpunkt.

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

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

                                  @oliverio

                                  Hmm?? Sorry ich versteh es leider nicht 🤦‍♂️
                                  Was trag ich jetzt bei Object-ID im Widget und was bei Wert im Widget ein.

                                  habe das jetzt bei Wert eingefügt:

                                  {a:0_userdata.0.rss.movieinfos_lastread;new Date().getTime()} 
                                  

                                  Aber das bringt keine Veränderung im Datenpunkt bei klicken. Jetzt schreibt er garnichts neues mehr in den Datenpunkt.

                                  Objectid lässt du wie es war.

                                  Schau mal in die datenpunkt Einstellungen nach.
                                  Bei mir erzeugt Iobroker automatisch immer
                                  Max 100
                                  Und als Einheit ein %
                                  Ich finde das dafür ungünstig.
                                  Lösche beide Einstellungen über den roten Müll Knopf auf der rechten Seite

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

                                    @oliverio

                                    Ok, so jetzt wird eine Zahl in den unread Datenpunkt geschrieben beim Buttonklick, zbsp: "1616625483042"

                                    Jetzt muss ich vermutlich mal morgen Abwarten ob es bis dahin einen neuen RSS Beitrag gab um es zu testen.

                                    Viele Dank für deine Ausdauer 😄 Werde mich dann melden 🙂

                                    Es sei denn du sagst jetzt ich muss noch was ändern, weil die Zahl im unread Datenpunkt so garnicht erwünscht ist 😄

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

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

                                      @oliverio

                                      Ok, so jetzt wird eine Zahl in den unread Datenpunkt geschrieben beim Buttonklick, zbsp: "1616625483042"

                                      Jetzt muss ich vermutlich mal morgen Abwarten ob es bis dahin einen neuen RSS Beitrag gab um es zu testen.

                                      Viele Dank für deine Ausdauer 😄 Werde mich dann melden 🙂

                                      Es sei denn du sagst jetzt ich muss noch was ändern, weil die Zahl im unread Datenpunkt so garnicht erwünscht ist 😄

                                      Also es steht noch die letzte Zahl der ungelesenen Artikel drin?
                                      Dann müssen wir im das Skript gleichzeitig triggern das unread auch gleich noch berechnet wird.
                                      Dazu muss man im Skript beim on noch zusätzlich den lastread datenpunkt eintragen.
                                      Das schaue ich morgen mal nach wie man da 2 datenpunkte einträgt.
                                      Wahrscheinlich per Array

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

                                        @oliverio

                                        Ach sorry bin durcheinander gekommen,

                                        lastread = 1616625483042" nach klick
                                        unread = 0

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

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

                                          @oliverio

                                          Ach sorry bin durcheinander gekommen,

                                          lastread = 1616625483042" nach klick
                                          unread = 0

                                          Also passt nun alles?

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

                                            @oliverio

                                            Das werde ich wohl erst sehen, wenn ein neuer RSS Beitrag kommt. Denke morgen früh sollte einer da sein. Werde aber dann bescheid geben.

                                            Sollte alles so laufen wie gewollt, würde ich das Workaround auch nochmal in einem Beitrag zusammen fassen, damit andere es auch verwenden können, ohne sich an den zich Beiträgen hier langhangeln zu müssen.

                                            Vielen Dank auf jedenfall schonmal/nochmal für deine Geduld und Hilfe 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            478
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter atom feed iobroker.rssfeed rdf rss vis widget
                                            32
                                            653
                                            122860
                                            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