Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Javascript] für Warnungen von Lebensmittelwarnung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Javascript] für Warnungen von Lebensmittelwarnung

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
javascriptlebensmittelwarnung
301 Posts 24 Posters 58.6k Views 31 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Uli977U Uli977

    @SBorg ok, das probiere ich... was heißt denn für mehrere?

    BBTownB Offline
    BBTownB Offline
    BBTown
    wrote on last edited by BBTown
    #25

    @Uli977 so wird dir nur eine Meldung angezeigt, wenn Du aber die letzten 5 sehen willst, benötigts Du entsprechende Widgets.

    Oder schau mal zusätzlich hier
    Da ist de vollständige VIS von @Oli auch zum importieren hinterlegt.
    Es braucht allerdings das zusätzliche Script
    Und in "Lebensmittelwarnung.js" muss folgende Änderung in den Usereinstellungen erfolgen:
    in der Zeile:

    const DP       = 'javascript.0.VIS.Lebensmittelwarnung'; //Datenpunkt
    

    das "VIS." herausnehmen, so sollte die Zeile also anschließend aussehen:

    const DP       = 'javascript.0.Lebensmittelwarnung'; //Datenpunkt
    

    Folgendes Darstellung gehört dazu:
    8c11fe97-97d3-40a3-be39-e76862039cf9-grafik.png

    ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

    Uli977U 2 Replies Last reply
    0
    • Uli977U Uli977

      @SBorg ok, das probiere ich... was heißt denn für mehrere?

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      wrote on last edited by
      #26

      @Uli977 sagte in [Javascript] für Warnungen von Lebensmittelwarnung:

      was heißt denn für mehrere?

      Wenn du in der Konfiguration bspw. die "5" bei der Anzahl gelassen hast, werden die 5 neusten Meldungen in Datenpunkten abgelegt (0-4 nummeriert). Das Beispiel-Widget zeigt aber nur die Meldung des "0-Datenpunktes" (also der 1. Meldung). Willst du auch die 2. sehen, musst du also das Widget duplizieren, dabei aber natürlich den "0-Datenpunkt" mit dem "1-Datenpunkt" ersetzen und so weiter.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Reply Last reply
      0
      • BBTownB BBTown

        @Uli977 so wird dir nur eine Meldung angezeigt, wenn Du aber die letzten 5 sehen willst, benötigts Du entsprechende Widgets.

        Oder schau mal zusätzlich hier
        Da ist de vollständige VIS von @Oli auch zum importieren hinterlegt.
        Es braucht allerdings das zusätzliche Script
        Und in "Lebensmittelwarnung.js" muss folgende Änderung in den Usereinstellungen erfolgen:
        in der Zeile:

        const DP       = 'javascript.0.VIS.Lebensmittelwarnung'; //Datenpunkt
        

        das "VIS." herausnehmen, so sollte die Zeile also anschließend aussehen:

        const DP       = 'javascript.0.Lebensmittelwarnung'; //Datenpunkt
        

        Folgendes Darstellung gehört dazu:
        8c11fe97-97d3-40a3-be39-e76862039cf9-grafik.png

        Uli977U Offline
        Uli977U Offline
        Uli977
        wrote on last edited by
        #27

        @BBTown Das ist fein.. Aber wie bekomme ich die VIS importiert

        BBTownB 1 Reply Last reply
        0
        • Uli977U Uli977

          @BBTown Das ist fein.. Aber wie bekomme ich die VIS importiert

          BBTownB Offline
          BBTownB Offline
          BBTown
          wrote on last edited by BBTown
          #28

          @Uli977 ist die Frage ernst gemeint?
          63a8e38c-ca80-4184-9e05-065993cb8deb-grafik.png

          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

          1 Reply Last reply
          0
          • BBTownB BBTown

            @Uli977 so wird dir nur eine Meldung angezeigt, wenn Du aber die letzten 5 sehen willst, benötigts Du entsprechende Widgets.

            Oder schau mal zusätzlich hier
            Da ist de vollständige VIS von @Oli auch zum importieren hinterlegt.
            Es braucht allerdings das zusätzliche Script
            Und in "Lebensmittelwarnung.js" muss folgende Änderung in den Usereinstellungen erfolgen:
            in der Zeile:

            const DP       = 'javascript.0.VIS.Lebensmittelwarnung'; //Datenpunkt
            

            das "VIS." herausnehmen, so sollte die Zeile also anschließend aussehen:

            const DP       = 'javascript.0.Lebensmittelwarnung'; //Datenpunkt
            

            Folgendes Darstellung gehört dazu:
            8c11fe97-97d3-40a3-be39-e76862039cf9-grafik.png

            Uli977U Offline
            Uli977U Offline
            Uli977
            wrote on last edited by
            #29

            @BBTown

            Meinst du hier?

            03a7230d-f9b9-44b7-b290-a09fa71420dd-image.png

            BBTownB 1 Reply Last reply
            0
            • Uli977U Uli977

              @BBTown

              Meinst du hier?

              03a7230d-f9b9-44b7-b290-a09fa71420dd-image.png

              BBTownB Offline
              BBTownB Offline
              BBTown
              wrote on last edited by BBTown
              #30

              @Uli977
              ja, genau .... oder Du änderst die VIS auf der linken Seite ab, da dort ein Verweis auf die Datenpunkte ohne "VIS." ist
              Dort trägst Du dann entsprechend überall "VIS."zusätzlich ein.
              Eins von beiden muss gemacht werden, sonst bleibt die linke Seite leer

              ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

              Uli977U 1 Reply Last reply
              0
              • BBTownB BBTown

                @Uli977
                ja, genau .... oder Du änderst die VIS auf der linken Seite ab, da dort ein Verweis auf die Datenpunkte ohne "VIS." ist
                Dort trägst Du dann entsprechend überall "VIS."zusätzlich ein.
                Eins von beiden muss gemacht werden, sonst bleibt die linke Seite leer

                Uli977U Offline
                Uli977U Offline
                Uli977
                wrote on last edited by
                #31

                @BBTown häää.... links wo? und ich kann doch das VIS da nicht einfach wegnehmen, denn dort liegen meine Datenpunkte...

                Ich nix verstehen!

                BBTownB 1 Reply Last reply
                0
                • Uli977U Uli977

                  @BBTown häää.... links wo? und ich kann doch das VIS da nicht einfach wegnehmen, denn dort liegen meine Datenpunkte...

                  Ich nix verstehen!

                  BBTownB Offline
                  BBTownB Offline
                  BBTown
                  wrote on last edited by BBTown
                  #32

                  @Uli977 Die VIS besteht aus mehreren Elementen
                  In der linken Häfte wird - wie beim Widget von @SBorg - die Meldung der "Nummer_0" angezeigt.
                  Die Anzeige besteht aus verschiedenen Datenpunkten, und die müssen angepasst werden, da sie sonst in Leere gehen
                  0fccb04a-4fb9-423b-9b7e-cef8a17fa3ef-grafik.png

                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                  Uli977U 1 Reply Last reply
                  0
                  • BBTownB BBTown

                    @Uli977 Die VIS besteht aus mehreren Elementen
                    In der linken Häfte wird - wie beim Widget von @SBorg - die Meldung der "Nummer_0" angezeigt.
                    Die Anzeige besteht aus verschiedenen Datenpunkten, und die müssen angepasst werden, da sie sonst in Leere gehen
                    0fccb04a-4fb9-423b-9b7e-cef8a17fa3ef-grafik.png

                    Uli977U Offline
                    Uli977U Offline
                    Uli977
                    wrote on last edited by
                    #33

                    @BBTown Ja, habs geschnallt.... Danke Dir und Euch!

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      southparkler
                      wrote on last edited by
                      #34

                      Kann man sich da irgendwie per Telegramm informieren lassen wenn ein neuer Datenpunkt erstellt wurde?

                      Ich hab keine VIS...

                      iBroker läuft auf Raspi 3B über Gbit Lan

                      Geräte:

                      Licht: Hue Lampen mit Bridge, Osram Smart Plug, Tradfri Lampen über Hue, Yeelight Lampen

                      Sensoren: Xiaomi Aqara Sensoren (Zigbee Stick)

                      Heizung: Fritz!D…

                      SBorgS ? 2 Replies Last reply
                      0
                      • S southparkler

                        Kann man sich da irgendwie per Telegramm informieren lassen wenn ein neuer Datenpunkt erstellt wurde?

                        Ich hab keine VIS...

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        wrote on last edited by
                        #35

                        @southparkler Ja, dafür gibt es den Datenpunkt "neue Warnung". Dieser wird true wenn eine neue Warnmeldung gefunden wurde. Musst ihn dann nur im Blockly für die Telegramm-Meldung wieder mit auf false setzen :)
                        Bild 1.png

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        1 Reply Last reply
                        0
                        • S southparkler

                          Kann man sich da irgendwie per Telegramm informieren lassen wenn ein neuer Datenpunkt erstellt wurde?

                          Ich hab keine VIS...

                          ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by
                          #36

                          @southparkler Hi, hab das auch ganz einfach mit Blockly gelöst:

                          d64ad479-a8b2-4259-b831-d48061c2d559-image.png

                          @SBorg der Datenpunkt "neue Warnung" wird falsch angelegt, ist ein Boolean, kein String.. oder? :-)
                          Zeile 186
                          createState(DP+'.neue_Warnung', '', { name: "neue Warnung vorhanden", type: "boolean", role: "state" });

                          wäre doch richtig?

                          SBorgS 1 Reply Last reply
                          1
                          • ? A Former User

                            @southparkler Hi, hab das auch ganz einfach mit Blockly gelöst:

                            d64ad479-a8b2-4259-b831-d48061c2d559-image.png

                            @SBorg der Datenpunkt "neue Warnung" wird falsch angelegt, ist ein Boolean, kein String.. oder? :-)
                            Zeile 186
                            createState(DP+'.neue_Warnung', '', { name: "neue Warnung vorhanden", type: "boolean", role: "state" });

                            wäre doch richtig?

                            SBorgS Offline
                            SBorgS Offline
                            SBorg
                            Forum Testing Most Active
                            wrote on last edited by
                            #37

                            @ilovegym Im Grunde ja, ich habe es aber tatsächlich extra als "String" angelegt. Ich hatte es zuerst, wie es eigentlich richtig wäre, als "Boolean" angelegt, nur können viele Widgets der VIS kein Boolean setzen. Somit könntest du aus der VIS heraus den Datenpunkt nicht mehr auf false setzen (oder eben nur mit den passenden Bool-Widgets).
                            Nachteilig ist das Ganze nicht unbedingt, außer dass du bei Bool nur true/false setzen kannst, mit String könntest du dann halt auch "Käsekuchen" in den Datenpunkt schreiben... ;)

                            LG SBorg ( SBorg auf GitHub)
                            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                            ? 1 Reply Last reply
                            0
                            • SBorgS SBorg

                              @ilovegym Im Grunde ja, ich habe es aber tatsächlich extra als "String" angelegt. Ich hatte es zuerst, wie es eigentlich richtig wäre, als "Boolean" angelegt, nur können viele Widgets der VIS kein Boolean setzen. Somit könntest du aus der VIS heraus den Datenpunkt nicht mehr auf false setzen (oder eben nur mit den passenden Bool-Widgets).
                              Nachteilig ist das Ganze nicht unbedingt, außer dass du bei Bool nur true/false setzen kannst, mit String könntest du dann halt auch "Käsekuchen" in den Datenpunkt schreiben... ;)

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #38

                              @SBorg sagte in [Javascript] für Warnungen von Lebensmittelwarnung:

                              Nachteilig ist das Ganze nicht unbedingt, außer dass du bei Bool nur true/false setzen kannst, mit String könntest du dann halt auch "Käsekuchen" in den Datenpunkt schreiben... ;)

                              ..jetzt hab ich Hunger.. ! :-)

                              ich weiss, da ich auch gerade mit dem ProofingDataPoints Script rum spiele, achtet man mehr auf die Richtigkeit der Datenpunkte.. :-) Aber echt, halb so wild.. :-)
                              ( und ich muss immer noch an den Käsekuchen denken... )

                              SBorgS 1 Reply Last reply
                              0
                              • ? A Former User

                                @SBorg sagte in [Javascript] für Warnungen von Lebensmittelwarnung:

                                Nachteilig ist das Ganze nicht unbedingt, außer dass du bei Bool nur true/false setzen kannst, mit String könntest du dann halt auch "Käsekuchen" in den Datenpunkt schreiben... ;)

                                ..jetzt hab ich Hunger.. ! :-)

                                ich weiss, da ich auch gerade mit dem ProofingDataPoints Script rum spiele, achtet man mehr auf die Richtigkeit der Datenpunkte.. :-) Aber echt, halb so wild.. :-)
                                ( und ich muss immer noch an den Käsekuchen denken... )

                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                wrote on last edited by
                                #39

                                @ilovegym :grin:
                                Denken Sie jetzt nicht an einen rosa Elefanten...:innocent:

                                Gestern hatte ich auch schon die .8 für/mit mehreren Bundesländern fertig. Beim testen, hatte jetzt aber nix mit dem Script zu tun, hat es mir wie noch nie den Broker zersemmelt. Er läuft zwar wieder, aber sämtliche Arbeit an der .8 waren für die Katz...

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                ? 1 Reply Last reply
                                0
                                • SBorgS SBorg

                                  @ilovegym :grin:
                                  Denken Sie jetzt nicht an einen rosa Elefanten...:innocent:

                                  Gestern hatte ich auch schon die .8 für/mit mehreren Bundesländern fertig. Beim testen, hatte jetzt aber nix mit dem Script zu tun, hat es mir wie noch nie den Broker zersemmelt. Er läuft zwar wieder, aber sämtliche Arbeit an der .8 waren für die Katz...

                                  ? Offline
                                  ? Offline
                                  A Former User
                                  wrote on last edited by
                                  #40

                                  @SBorg sagte in [Javascript] für Warnungen von Lebensmittelwarnung:

                                  @ilovegym :grin:
                                  Denken Sie jetzt nicht an einen rosa Elefanten...:innocent:

                                  Gestern hatte ich auch schon die .8 für/mit mehreren Bundesländern fertig. Beim testen, hatte jetzt aber nix mit dem Script zu tun, hat es mir wie noch nie den Broker zersemmelt. Er läuft zwar wieder, aber sämtliche Arbeit an der .8 waren für die Katz...

                                  Haha, nein, immer noch an Käsekuchen.. :-):cake: :cake: :cake: :cake:

                                  Ohjee, ich kenn das, ich hab auch schon viel für die Katz gemacht.. :-(
                                  Kopf hoch, manchmal wird das hinterher umso besser, wenn man es nochmal macht.. ;-)

                                  1 Reply Last reply
                                  0
                                  • SBorgS Offline
                                    SBorgS Offline
                                    SBorg
                                    Forum Testing Most Active
                                    wrote on last edited by
                                    #41

                                    Käsekuchen oder es gibt Saures :ghost:

                                    V0.0.8 - 31.10.2019

                                    + Meldungen für mehrere Bundesländer möglich
                                    

                                    Änderungen in den User-Einstellungen bzgl. Feed-URL (entfällt nun) und den Bundesland/-ländern beachten!
                                    Datenpunkte müssen nicht gelöscht werden. Skript ersetzen und Konfiguration anpassen :)

                                    Download: siehe erster Post

                                    LG SBorg ( SBorg auf GitHub)
                                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                    1 Reply Last reply
                                    4
                                    • O Offline
                                      O Offline
                                      Oli
                                      wrote on last edited by
                                      #42

                                      @SBorg,

                                      danke noch mal für deine Arbeit.

                                      Habe auch noch etwas nachgebessert, zur besseren Übersicht, habe ich Trennlinien zwischen den Meldungen eingefügt.

                                      8bc3cd88-2731-43e4-9ed9-d60ed785b70f-image.png

                                      Hier das Script:

                                       /*VIS Lebensmittelwarnungen
                                      
                                      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)
                                      Script angepasst : 28.10.2019 von Oliver
                                      */
                                      
                                      var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
                                      
                                      var forceCreation = false;
                                          
                                      createState(idFeedTabelle, '', forceCreation, {
                                          write: true,
                                          read: true,
                                          name: 'RSS Feed Lebensmittelwarnungen Tabelle',
                                          type: 'string',
                                          desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
                                          role: 'html'
                                      });
                                      
                                      var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
                                      
                                      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>Produktwarnungen</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>Produktwarnungen</th><tr><tr></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();
                                      

                                      Gruß
                                      Oliver

                                      ? Uli977U 2 Replies Last reply
                                      1
                                      • O Oli

                                        @SBorg,

                                        danke noch mal für deine Arbeit.

                                        Habe auch noch etwas nachgebessert, zur besseren Übersicht, habe ich Trennlinien zwischen den Meldungen eingefügt.

                                        8bc3cd88-2731-43e4-9ed9-d60ed785b70f-image.png

                                        Hier das Script:

                                         /*VIS Lebensmittelwarnungen
                                        
                                        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)
                                        Script angepasst : 28.10.2019 von Oliver
                                        */
                                        
                                        var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
                                        
                                        var forceCreation = false;
                                            
                                        createState(idFeedTabelle, '', forceCreation, {
                                            write: true,
                                            read: true,
                                            name: 'RSS Feed Lebensmittelwarnungen Tabelle',
                                            type: 'string',
                                            desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
                                            role: 'html'
                                        });
                                        
                                        var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
                                        
                                        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>Produktwarnungen</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>Produktwarnungen</th><tr><tr></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();
                                        

                                        ? Offline
                                        ? Offline
                                        A Former User
                                        wrote on last edited by
                                        #43

                                        @Oli @SBorg
                                        Vielen Dank euch beiden, funktioniert super, habt euch beide einen Käsekuchen verdient :-)

                                        1 Reply Last reply
                                        0
                                        • O Oli

                                          @SBorg,

                                          danke noch mal für deine Arbeit.

                                          Habe auch noch etwas nachgebessert, zur besseren Übersicht, habe ich Trennlinien zwischen den Meldungen eingefügt.

                                          8bc3cd88-2731-43e4-9ed9-d60ed785b70f-image.png

                                          Hier das Script:

                                           /*VIS Lebensmittelwarnungen
                                          
                                          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)
                                          Script angepasst : 28.10.2019 von Oliver
                                          */
                                          
                                          var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
                                          
                                          var forceCreation = false;
                                              
                                          createState(idFeedTabelle, '', forceCreation, {
                                              write: true,
                                              read: true,
                                              name: 'RSS Feed Lebensmittelwarnungen Tabelle',
                                              type: 'string',
                                              desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
                                              role: 'html'
                                          });
                                          
                                          var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
                                          
                                          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>Produktwarnungen</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>Produktwarnungen</th><tr><tr></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();
                                          

                                          Uli977U Offline
                                          Uli977U Offline
                                          Uli977
                                          wrote on last edited by
                                          #44

                                          @Oli ist hinter dem Spoiler die Vis von dem Foto?

                                          O 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          632

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe