Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Javascript] für Warnungen von Lebensmittelwarnung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Javascript] für Warnungen von Lebensmittelwarnung

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      Oli @Nashra last edited by Oli

      @Nashra

      Datum wird jetzt angezeigt und ins deutsche Format umgewandelt.

      Aktuelles 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++) {
                                  
                                  //Datum auf dt. Wochentage patchen                                                       
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Mon', 'Mo');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Tue', 'Di');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Wed', 'Mi');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Thu', 'Do');                               
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Fri', 'Fr');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Sat', 'Sa');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Sun', 'So');
      
                                  //Datum auf dt. Monate patchen
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Mar', 'März');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('May', 'Mai');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Oct', 'Okt');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Dec', 'Dez');                               
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('+0000', '');                                                  
                                  
                                  tabelle += '<tr><td>' + result.rss.channel.item[j].title + '</td></tr><tr><td>' + result.rss.channel.item[j].description + '</td></tr><tr><td>' + result.rss.channel.item[j].pubDate + '</td></tr><tr><td>-----------------------------------------------------------------------------------------</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();
      

      Nashra 1 Reply Last reply Reply Quote 2
      • Nashra
        Nashra Most Active Forum Testing @Oli last edited by

        @Oli Danke 👍

        O 1 Reply Last reply Reply Quote 0
        • O
          Oli @Nashra last edited by

          @Nashra

          gerne, war gar nicht so kompliziert, wie ich dachte 🙂

          Uli977 1 Reply Last reply Reply Quote 0
          • Uli977
            Uli977 @Oli last edited by

            @Oli gibst du mir nochmal deine VIS mit Trennstrichen und Datum?

            O 1 Reply Last reply Reply Quote 0
            • O
              Oli @Uli977 last edited by

              @Uli977

              das hat nichts mit der Vis zu tun, nur mit dem Script und das ist 3 Beiträge darüber.

              Uli977 1 Reply Last reply Reply Quote 0
              • Uli977
                Uli977 @Oli last edited by

                @Oli komisch... wieso habe ich die Trennstriche und das Datum denn nicht drin obwohl ich das Script verwendet habe

                O 1 Reply Last reply Reply Quote 0
                • O
                  Oli @Uli977 last edited by

                  @Uli977

                  aus welchem Poste hast du denn das Script übernommen?

                  69101d7b-88d6-46b7-b3ec-b10895460982-image.png

                  Uli977 2 Replies Last reply Reply Quote 0
                  • Uli977
                    Uli977 @Oli last edited by

                    @Oli

                    8ecf302b-3540-4dd8-86e6-650d86ed2bce-image.png

                    1 Reply Last reply Reply Quote 0
                    • Uli977
                      Uli977 @Oli last edited by

                      @Oli Jetzt gehts

                      c76db957-d53b-4940-9328-88b157ddabda-image.png

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

                        ich brauche doch nur dieses eine Skript dafür oder.

                        Womit werden denn die Datenpunkte erstellt und aktualisiert?

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          Oli @Uli977 last edited by

                          @Uli977

                          mit dem Script.

                          Daten werden alle 10 Minuten aktualisiert, Datenpunkte werden in deinen Objekten im Javascriptordner erstellt

                          69462b40-d521-4559-b712-8009b42f8bf5-image.png

                          Uli977 1 Reply Last reply Reply Quote 0
                          • Uli977
                            Uli977 @Oli last edited by

                            @Oli Alles klar.... hat nur die Zeile im Skript für die Anlage der Datenpunkte nicht gefunden

                            O 1 Reply Last reply Reply Quote 0
                            • O
                              Oli @Uli977 last edited by

                              @Uli977

                              Zeile 16 bis 23

                              1 Reply Last reply Reply Quote 0
                              • BBTown
                                BBTown @SBorg last edited by

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

                                Ich habe seit der ersten Version 5 Datensätze gewählt,

                                Ich nutze es bisher so wie von Euch (Deine Vorgabe und Oli`s Darstellung) hier vorgegeben und wäre damit fein. Kann jedoch den Hinweis, ggf. über eine Eingabe die Anzahl festzulegen nachvollzeihen. Ebenso scheinen sich eininge eine Nachricht schicken zu lassen.

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

                                  Sag mal habt ihr das auch, dass die Menüs im Editor nicht richtig angezeigt werden?

                                  0334608c-2643-4e92-a7db-88895151307d-image.png

                                  BBTown 1 Reply Last reply Reply Quote 0
                                  • BBTown
                                    BBTown @Uli977 last edited by

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

                                    Sag mal habt ihr das auch, dass die Menüs im Editor nicht richtig angezeigt werden?

                                    und das hat jetzt genau WAS mit der Lebensmittelwarnung zu tun?

                                    Uli977 1 Reply Last reply Reply Quote 0
                                    • Uli977
                                      Uli977 @BBTown last edited by

                                      @BBTown Ok, verstanden!

                                      1 Reply Last reply Reply Quote 0
                                      • SBorg
                                        SBorg Forum Testing Most Active last edited by

                                        Ok, danke, dann kann ich das DP-Management streichen. Der Adapter soll zumindest im ersten Schritt mal genau die selbe Funktionalität wie das Javascript Stand Heute haben, nur eben die Konfiguration anstelle im Skript über die Web-UI.
                                        Das würde aber bedeuten, dass @Oli Zusatzskript (ich weiß, es ist nicht direkt von ihm 😉 ) mit integriert werden sollte, denn vieles wird nun doppelt ausgeführt (z.B. gerade aktuell Datum patchen), was ich ja sowieso schon ausführe. Ferner bleiben drei weitere Nachteile (?):

                                        1. die Filter funktionieren nicht; die Liste enthält also immer alles
                                        2. es werden alle Bundesländer, oder nur eines angezeigt (je nach Auswahl des RSS-Feeds)
                                        3. man kann sich die Liste nicht "selbst zusammen bauen", da einfach einzelne Inhalte nicht verfügbar sind (bspw. Produktart etc. die ich als Datenpunkte aus dem Feed extrahiere)

                                        Den Feature-Requests bin ich natürlich nicht abgeneigt 🙂

                                        BBTown O 2 Replies Last reply Reply Quote 0
                                        • BBTown
                                          BBTown @SBorg last edited by

                                          @SBorg
                                          Könntest Du im Adapter ggf. die Auswahl der Bundesländer in einem DropDown Feld anbieten?
                                          Standard-Vorgabewert (erster Eintrag) "alle" ?!

                                          SBorg 1 Reply Last reply Reply Quote 0
                                          • O
                                            Oli @SBorg last edited by

                                            @SBorg

                                            zu 1: Damit kann ich Leben, dafür existiert ja dein Script 🙂
                                            zu 2: Da bin ich zu wenig in der Materie, sollte aber doch ähnlich wie bei dir im Script möglich seine oder?
                                            zu 3: siehe Punkt 1 😉

                                            Ist es möglich ein Bild zu integrieren, für den Fall, dass kein Produktbild vorhanden ist?

                                            0b7866df-0c34-47c8-8a31-200e485d1ce2-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            494
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript lebensmittelwarnung
                                            24
                                            293
                                            35230
                                            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