Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Newsfeed in iobroker.vis darstellen

    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

    [gelöst] Newsfeed in iobroker.vis darstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Conquest last edited by

      @HauptstadtRocker:

      hey erst mal eine super Anleitung und möchte mich bedanken….

      ABER.... bei mir funzt das nicht 😞

      im Vis editor sieht es so aus

      1.png

      mit diesem inhalt bei CSS

      2.jpg

      und unter objekte sieht es so aus

      3.png]

      Mein Skript Code sieht so aus

      ! ```
      `/* VIS Bild Newsfeed
      ! Bringt einen RSS-Feed als Tabelle in ioBroker
      setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
      ! erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix)
      */
      ! var idOptin = 'RSS-Feed.Bild.Optin',
      optin_beschreibung = 'RSS Feed',
      idFeedTabelle = 'RSS-Feed.Bild.Tabelle';

      var forceCreation = false;

      createState(idFeedTabelle, '', forceCreation, {
      write: true,
      read: true,
      name: 'RSS Feed Bild Tabelle',
      type: 'string',
      desc: 'Bild RSS Feed als HTML Tabelle',
      role: 'html'
      });

      ! createState(idOptin, true, forceCreation, {
      write: true,
      read: true,
      name: 'Optin RSS Feeds abrufen',
      type: 'boolean',
      desc: 'Sollen RSS-Feeds abgerufen werden?',
      role: 'switch'
      });
      ! var link = 'http://www.bild.de/rssfeeds/vw-regional-berlin/vw-regional-berlin-16731570,dzbildplus=true,sort=1,teaserbildmobil=false,view=rss2.bild.xml';
      ! var quer = false;
      ! function RSS_einlesen () { // alle 5 Minuten
      var optin = getState(idOptin).val;
      var parseString = require('xml2js').parseString;
      var request = require('request');
      ! if (optin) request(link, function (error, response, body) {
      if (!error && response.statusCode == 200) {

              parseString(body, {
                  explicitArray: false,
                  mergeAttrs: true
              },
              function (err, result) {
                  //log(JSON.stringify(result, null, 2));
                  if (err) {
                      log("Fehler: " + err, 'error');
                  } else {    
                      var tabelle;
                      if (quer) {
                          // Titel links, Inhalt rechts
                          tabelle ='';
                          for (var i = 0; i <result.rss.channel.item.length; i++)/{/tabelle/+="<tr><td>" result.rss.channel.item[i].title/'</td=""></result.rss.channel.item.length;>';
                          }
                      } else {
                          // Titel oben, INhalt darunter (wie in der Zeitung)
                          tabelle ='
      
      >! Titel Beschreibung
      ' + result.rss.channel.item[i].description + '

      ! ';
      for (var j = 0; j <result.rss.channel.item.length; j++)/{/tabelle/+="<tr><td>" result.rss.channel.item[j].title/'</td=""></result.rss.channel.item.length;>';
      }
      }
      tabelle += '

      ! RSS-Feed
      ' + result.rss.channel.item[j].description + '

      ! ';
      setState(idFeedTabelle, tabelle);
      }
      });
      } else {
      log(error, 'error');
      }
      }); // Ende request
      log('RSS-Feed ' + link + ' eingelesen');
      }
      ! schedule("*/10 * * * *", RSS_einlesen);
      RSS_einlesen();
      ! // Opt In setzen - Logging
      on(idOptin, function (obj) {
      if (!obj.newState.val) log('Opt in Variable <' + optin_beschreibung + ' Push> auf <aus '/+/obj.state.val=""> gesetzt ');
      else if (obj.state.val) log('Opt in Variable <' + optin_beschreibung + ' Push> auf <ein '/+/obj.state.val=""> gesetzt ');
      });</ein></aus>! Kann mir jemand sagen wo mein Fehler liegt??? ! Hi HauptstadtRocker, ! also bei mir läuft das Skript immer noch ohne Probleme. Auch dein Skript läuft bei mir hab es mal getestet. ! Hast du auch mal probiert die Index-Seite zu laden also dir deine View anzeigen zu lassen? Den im Editor wird dir die Tabelle nicht angezeigt. ! Denke hab den Fehler doch gefunden. Lass mal bitte das Feld Object ID frei dann müsste es gehen. ! LG ! Torsten[/i][/i] ```

      1 Reply Last reply Reply Quote 0
      • H
        HauptstadtRocker last edited by

        Ja na du bist der HAMMER….cool danke ... jetzt funzt es.... SPITZE und vielen vielen danke!!!!!!

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          @HauptstadtRocker:

          Ja na du bist der HAMMER….cool danke ... jetzt funzt es.... SPITZE und vielen vielen danke!!!!!! `
          Schön, dass es funktioniert. Bitte nicht mehr "https://ksh.wikipedia.org/wiki/Funz" schreiben. Es lesen Rheinländer mit …

          Und natürlich wird die Tabelle nur im Runtime-Modus angezeigt, nicht im Edit-Modus.

          Pix

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

            @pix:

            @HauptstadtRocker:

            Ja na du bist der HAMMER….cool danke ... jetzt funzt es.... SPITZE und vielen vielen danke!!!!!! `
            Schön, dass es funktioniert. Bitte nicht mehr "https://ksh.wikipedia.org/wiki/Funz" schreiben. Es lesen Rheinländer mit …

            Und natürlich wird die Tabelle nur im Runtime-Modus angezeigt, nicht im Edit-Modus.

            Pix `

            Hi Pix, leider habe ich nirgendswo gefunden wo ich dich per PN kontaktieren kann. Und zwar habe ich schon lange so etwas ähnliches vor aber habe einfach keine ahnung von scripten.

            Ich möchte einfach nur gerne von der Homepage NordVPN.com die statusleiste ganz oben mit der IP und den rest daneben im VIS darstellen.

            Leider geht das über iframe nicht da es wohl blockiert wird. gibt es da trotzdem möglichkeiten es darzustellen?

            Ich hoffe du kannst mir dabei helfen

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hallo,

              PN ist kein guter Kanal für Hilfestellungen. Immer im Forum fragen 😄

              Probier mal das hier: viewtopic.php?f=23&t=2768#p24807

              Das ist der PhantomJS Adapter. Der macht Screenshots von Webseiten und speichert sie lokal. Diese kannst Du als Bild in VIS einfügen.

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • S
                skokarl @Conquest last edited by skokarl

                @Conquest sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                MOD-Edit by eric2905; 12.05.2017 / 10:50; Betreff geändert

                Hallo ich würde gerne ein Art Newsticker in Vis darstellen weiß aber nicht genau wie. Kenne mich weder mit Javascript noch mit Node-Red aus. Es sollte von folgender Seite sein: http://news.feed-reader.net/quellen/BILD.de/ . Vielleicht kann mir jemand weiterhelfen oder es hat jemand so was ähnliches schon mal gemacht. Auch eine kurze Anleitung wie man so etwas realisiert wäre toll damit ich es selber machen kann.

                Gruß Torsten

                Hallo Torsten,
                Dein Ergebnis sieht toll aus, ich würde das auch gerne einbauen.

                Hilfst Du mir mal mit einer kurzen Anleitung ?
                Ich hab mit Scripten noch nichts gemacht außer den Müllkalender,...
                Ich hab ein Problem mit dem Thread hier,... da gibts das Script, und teilweise
                Code Einblendungen...gehört das zusammen ? oder wie muss
                ich das verstehen ? Ist das an der Stelle eingefügt ?

                Ich blicke noch nicht so richtig durch .... 😞

                und wie füge ich die Library xml2js hinzu die Du brauchst ?

                C 1 Reply Last reply Reply Quote 0
                • C
                  Conquest @skokarl last edited by

                  @skokarl sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                  @Conquest sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                  MOD-Edit by eric2905; 12.05.2017 / 10:50; Betreff geändert

                  Hallo ich würde gerne ein Art Newsticker in Vis darstellen weiß aber nicht genau wie. Kenne mich weder mit Javascript noch mit Node-Red aus. Es sollte von folgender Seite sein: http://news.feed-reader.net/quellen/BILD.de/ . Vielleicht kann mir jemand weiterhelfen oder es hat jemand so was ähnliches schon mal gemacht. Auch eine kurze Anleitung wie man so etwas realisiert wäre toll damit ich es selber machen kann.

                  Gruß Torsten

                  Hallo Torsten,
                  Dein Ergebnis sieht toll aus, ich würde das auch gerne einbauen.

                  Hilfst Du mir mal mit einer kurzen Anleitung ?
                  Ich hab mit Scripten noch nichts gemacht außer den Müllkalender,...
                  Ich hab ein Problem mit dem Thread hier,... da gibts das Script, und teilweise
                  Code Einblendungen...gehört das zusammen ? oder wie muss
                  ich das verstehen ? Ist das an der Stelle eingefügt ?

                  Ich blicke noch nicht so richtig durch .... 😞

                  und wie füge ich die Library xml2js hinzu die Du brauchst ?

                  Hallo skokarl,

                  sobald ich wieder am Rechner bin unterstütze ich dich gerne wird aber ende der Woche da ich auf Lehrgang bin.

                  Gruß
                  Torsten

                  S 1 Reply Last reply Reply Quote 1
                  • S
                    skokarl @Conquest last edited by

                    Hallo skokarl,

                    sobald ich wieder am Rechner bin unterstütze ich dich gerne wird aber ende der Woche da ich auf Lehrgang bin.

                    Gruß
                    Torsten

                    Danke, würde mich sehr freuen.
                    Gruß Bernd

                    1 Reply Last reply Reply Quote 0
                    • R
                      Renegade last edited by

                      Hallo Torsten,
                      habe die gleiche Problematik wie skokarl.
                      Wäre vielleicht auch gut, wenn du ein paar Screenshots mit hinzufügen könntest wo wie was, in welcher Form eingetragen werden muss.
                      Weil mit den Codes und Spoiler Tabs sehe ich auch nicht richtig durch.

                      1 Reply Last reply Reply Quote 1
                      • C
                        Conquest last edited by

                        So hier ist einmal das Script welches den RSS-Feed der Bild-Zeitung einließt. Man kann auch jeden anderen RSS-Feed abrufen muss nur im Script die Adresse geändert werden.

                        Bild_News

                        Dann wie im Bild zu sehen das zusätzliche NPM-Modul für den Javascript Adapter.

                        Javascript-Config.png

                        1 Reply Last reply Reply Quote 0
                        • C
                          Conquest last edited by

                          Und so habe ich es in Vis dargestellt.

                          Vis_Runtime.png

                          Hier die Einstellungen für das Widget. Es handelt sich um ein basic-HTML.

                          Widget_Einstellung.png

                          Ich hoffe das hilft euch. Ansonsten einfach nochmal Fragen.

                          Gruß
                          Torsten

                          S F 3 Replies Last reply Reply Quote 1
                          • S
                            skokarl @Conquest last edited by

                            Ich hoffe das hilft euch. Ansonsten einfach nochmal Fragen.

                            Gruß
                            Torsten

                            Vielen Dank Torsten, freu mich drauf das heute Nachmittag zu probieren. Denke aber, dass es klappen wird.

                            Gruss Bernd

                            1 Reply Last reply Reply Quote 0
                            • S
                              skokarl @Conquest last edited by skokarl

                              @Conquest sagte in

                              Ich hoffe das hilft euch. Ansonsten einfach nochmal Fragen.

                              Gruß
                              Torsten

                              läuft.....

                              1 Reply Last reply Reply Quote 0
                              • R
                                Renegade last edited by Renegade

                                besten Dank läuft auf anhieb👌
                                Vieleicht noch eine Frage zur Optik? Wie kann ich die Überschriften der einzelnen Artikel noch in Größe, Farbe und Hintergrund gestalten? So hab ich jetzt jetzt erst mal bei mir:
                                Newsfeed.png

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Sub7 last edited by Sub7

                                  hallo,

                                  wäre es vielleicht möglich einem blutigen Skriptanfänger eine Schritt für Schritt Anleitung zukommen zu lassen, wie ich das ganze in die VIS bekomme. Danke

                                  Daniel

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    freaktech @Conquest last edited by

                                    @Conquest said in [gelöst] Newsfeed in iobroker.vis darstellen:

                                    Und so habe ich es in Vis dargestellt.

                                    Vis_Runtime.png

                                    Hier die Einstellungen für das Widget. Es handelt sich um ein basic-HTML.

                                    Widget_Einstellung.png

                                    Ich hoffe das hilft euch. Ansonsten einfach nochmal Fragen.

                                    Gruß
                                    Torsten

                                    hi Torsten

                                    so was hat ich auch gern

                                    mir fehlt aber der Durchblick wie ich as Step by Step machen muss.

                                    muss ich einen Adapter installieren?
                                    woe ist denn der code für widget import ?!?!

                                    evtl könntest mir da etwas auf die Sprünge helfen

                                    danke
                                    tom

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      Conquest @freaktech last edited by Conquest

                                      @freaktech

                                      Hier nochmal das Script als Text welches den RSS-Feed der Bild-Zeitung einließt.

                                      /* VIS Bild Newsfeed
                                      
                                      Bringt einen RSS-Feed als Tabelle in ioBroker
                                      setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
                                      
                                      
                                      erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix) 
                                      */
                                      
                                      var idFeedTabelle = 'RSS-Feed.Bild.Tabelle';
                                      
                                      var forceCreation = false;
                                         
                                      createState(idFeedTabelle, '', forceCreation, {
                                         write: true,
                                         read: true,
                                         name: 'RSS Feed Bild Tabelle',
                                         type: 'string',
                                         desc: 'Bild RSS Feed als HTML Tabelle',
                                         role: 'html'
                                      });
                                      
                                      var link = 'http://www.bild.de/rssfeeds/vw-news/vw-news-16726644,sort=1,view=rss2.bild.xml';
                                      
                                      var quer = false ;
                                      
                                      function RSS_einlesen () {
                                         var parseString = require('xml2js').parseString;
                                         var request = require('request');
                                      
                                         request(link, function (error, response, body) {
                                             if (!error && response.statusCode == 200) {
                                         
                                                 parseString(body, {
                                                     explicitArray: false,
                                                     mergeAttrs: true
                                                 },
                                                 function (err, result) {
                                                     //log(JSON.stringify(result, null, 2));
                                                     if (err) {
                                                         log("Fehler: " + err, 'error');
                                                     } else {    
                                                         var tabelle;
                                                         if (quer) {
                                                             // Titel links, Inhalt rechts
                                                             tabelle ='<table class="rss_feed"><thead><tr><th>Titel</th><th>Beschreibung</th></tr></thead><tbody>';
                                                             for (var i = 0; i <result.rss.channel.item.length; i++) {
                                                                 tabelle += '<tr><td>' + result.rss.channel.item[i].title + '</td><td>' + result.rss.channel.item[i].description + '</td></tr>';
                                                             }
                                                         } else {
                                                             // Titel oben, INhalt darunter (wie in der Zeitung)
                                                             tabelle ='<table class="rss_feed"><thead><tr><th>RSS-Feed</th></tr></thead><tbody>';
                                                             for (var j = 0; j <result.rss.channel.item.length; j++) {
                                                                 tabelle += '<tr><td>' + result.rss.channel.item[j].title + '</td></tr><tr><td>' + result.rss.channel.item[j].description + '</td></tr>';
                                                             }
                                                         }
                                                         tabelle += '</tbody></table>';  
                                                         setState(idFeedTabelle, tabelle);
                                                     }
                                                 });
                                             } else  {
                                                 log(error, 'error');
                                             }
                                         });   // Ende request 
                                         log('RSS-Feed ' + link + ' eingelesen');
                                      }
                                      
                                      schedule("*/10 * * * *", RSS_einlesen);  // alle 10 Minuten
                                      RSS_einlesen();
                                      

                                      Dieses Script hier eingeben.

                                      screenshot-192.168.178.46-8081-2019.09.03-05-09-54.png

                                      Dann wie im Bild zu sehen das zusätzliche NPM-Modul für den Javascript Adapter.

                                      screenshot-forum.iobroker.net-2019.09.03-04-57-11.png

                                      Und hier ist noch mein Widget für die Darstellung. Könnte bei dir anders aussehen da ich das Material Design von Uhula nutze. Da es sich um ein Binding handelt wird es auch erst im Runtime angezeigt und nicht im Editor.

                                      [{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"1","refreshInterval":"0","html":"{javascript.1.RSS-Feed.Bild.Tabelle}","visibility-groups-action":"hide","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,"visibility-oid":"","class":"mdui-table mdui-table-striped","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,"views":["Notdienst"]},"style":{"left":"17.118057250976562px","top":"156.63196563720703px","z-index":"20","width":"460px","height":"626px","color":"white","overflow-x":"","overflow-y":"auto","font-family":"Arimo-Bold"},"widgetSet":"basic"}]
                                      

                                      Hoffe es funktioniert bei dir ansonsten einfach nochmal nachfragen.

                                      sigi234 1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @Conquest last edited by

                                        @Conquest sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                                        Hier nochmal das Script welches den RSS-Feed der Bild-Zeitung einließt.

                                        Das Skript bitte als .txt hochladen!

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          Conquest @sigi234 last edited by

                                          @sigi234 sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                                          @Conquest sagte in [gelöst] Newsfeed in iobroker.vis darstellen:

                                          Hier nochmal das Script welches den RSS-Feed der Bild-Zeitung einließt.

                                          Das Skript bitte als .txt hochladen!

                                          Erledigt. Danke für den Hinweis.

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

                                            @Conquest hi, vielen Dank für dein Script. Bei mir läuft es auch toll :-).

                                            Kann ich die News beschränken, z. B. die letzten 5 News beispielsweise?
                                            Kardinalfrage: Ist es (dir) möglich einzelne News für eine bestimmte Zeit einzufaden?

                                            Liebe Grüße
                                            Chris

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            896
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            51
                                            13254
                                            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