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.
    • Nashra
      Nashra Most Active Forum Testing @Oli last edited by Nashra

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

      @Nashra

      da das Script nicht von mir ist und ich nicht der Script-Experte bin,

      @Oli da könne wir uns zusammen tun, ich nämlich auch nicht 😁
      Aber vllt kann uns da ja @SBorg aus der Patsche helfen.

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

        @Nashra

        habe schon etwas daran gespielt, momentan sieht es so aus:

        b0497593-6cae-4706-8e79-6f6b3b865a05-image.png

        noch nicht perfekt, mal schauen, ob ich das Datum noch konvertiert bekomme.

        1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            967
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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