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 @DasIch83 last edited by

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

      @nashra Ja klar, kein Thema.
      Ist allerdings noch nicht ganz fertig. Zugeschnitten auf ein iPad Air 2.
      View Lebensmittelwarnung.txt

      Moin, erstmal Danke für die View. Nur wird mir nichts angezeigt d.h. View importiert aber alles leer,
      es werden keine Pfade zu den DP angezeigt usw. Er zeigt: basic-undefined an wenn ich auf ein Widget
      klicke. Exportiere ich die View, steht alles darin, seltsam.

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

        @nashra könnte an den Gruppen ,liegen.
        Meine VIS ist etwas rudimentär, da ich nicht so viele Views anlegen wollte.
        Wichtig waren mir ehh nur die einzelnen Datenpunkte um die Daten nicht im Block abrufen zu müssen.

        Nashra 1 Reply Last reply Reply Quote 0
        • Nashra
          Nashra Most Active Forum Testing @DasIch83 last edited by

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

          @nashra könnte an den Gruppen ,liegen.
          Meine VIS ist etwas rudimentär, da ich nicht so viele Views anlegen wollte.
          Wichtig waren mir ehh nur die einzelnen Datenpunkte um die Daten nicht im Block abrufen zu müssen.

          Ok, würdest Du dann mal ein Bild davon hier reinsetzen wie es aussieht, das würde schon reichen. Danke

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

            @nashra komplette Meldung: Meldung 1.png
            Einzelner Datenpunkt: DP1.png
            dp2.png
            Widget: widget.png

            Hoffe das hilft dir weiter

            1 Reply Last reply Reply Quote 1
            • M
              Michi68 last edited by

              Hallo,
              ich bekomme seit der Aktualisierung auf JavaScript Adapter 8.3.1 folgende Warnung bei dem Script von Oli hier

              script.js.Meine_Scripte.Datenpunkte.Allgemein.Lebensmittelwarnung_Tabelle: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
              

              Habe leider keine Ahnung von JavaScript, vielleicht kann ja einer Helfen.
              hier mal das Script

              /*VIS Lebensmittelwarnungen
              {1}
              Bringt einen RSS-Feed als Tabelle in ioBroker
              setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
              {1}
              {1}
              erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix)
              Script angepasst : 28.10.2019 von Oliver
              https://forum.iobroker.net/post/319584
              
              */
               
              var idFeedTabelle = '0_userdata.0.Eigene_Datenpunkte.VIS.Lebensmittelwarnung.Alle.RSS-Feed_Tabelle';
               
              var forceCreation = false;
                  
              createState(idFeedTabelle, '', forceCreation, {
                  write: true,
                  read: true,
                  name: 'RSS Feed Lebensmittelwarnung Tabelle',
                  type: 'string',
                  desc: 'Lebensmittelwarnung RSS Feed als HTML Tabelle',
                  role: 'html'
              });
               
              var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/nordrhein_westfalen.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();
              

              vielen Dank schon mal
              LG Michi68

              1 Reply Last reply Reply Quote 0
              • M
                MCU last edited by

                @Michi68

                /*VIS Lebensmittelwarnungen
                {1}
                Bringt einen RSS-Feed als Tabelle in ioBroker
                setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
                {1}
                {1}
                erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix)
                Script angepasst : 28.10.2019 von Oliver
                https://forum.iobroker.net/post/319584
                {1}
                */
                 
                var idFeedTabelle = '0_userdata.0.Eigene_Datenpunkte.VIS.Lebensmittelwarnung.Alle.RSS-Feed_Tabelle';
                 
                var forceCreation = false;
                    
                createState(idFeedTabelle, '', forceCreation, {
                    write: true,
                    read: true,
                    name: 'RSS Feed Lebensmittelwarnung Tabelle',
                    type: 'string',
                    desc: 'Lebensmittelwarnung RSS Feed als HTML Tabelle',
                    role: 'html'
                });
                 
                var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/nordrhein_westfalen.rss';
                 
                var quer = false ;
                 
                function RSS_einlesen () {
                    var parseString = require('xml2js').parseString;
                    //var request = require('request');
                 
                    httpGet(link, function (error, response) {
                        if (!error && response.statusCode == 200) {
                    
                            parseString(response.data, {
                                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();
                
                
                1 Reply Last reply Reply Quote 3
                • SBorg
                  SBorg Forum Testing Most Active last edited by

                  Status: deprecated

                  Leider scheint der Bund den RSS-Feed in seiner alten Version eingestellt zu haben.
                  Der neue ist... nennen wir es mal höflich suboptimal und nicht zu gebrauchen.

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

                    @sborg

                    Hmm wie die Regierung.. 🙈

                    1 Reply Last reply Reply Quote 0
                    • M
                      MCU last edited by

                      Solange nichts anderes verfügbar, hier ein JSON
                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./lebensmittel-warnungen

                      M 1 Reply Last reply Reply Quote 1
                      • M
                        MartyBr @MCU last edited by

                        @mcu
                        Wie kann ich die json anzeigen? Ich habe als Widget die json-Tabelle genommen, aber die angezeigten Werte sind nicht brauchbar.

                        Hier das Widget:

                        [{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"10","iTableRefreshRate":"0","iTblSortOrder":"asc","iColCount":"5","iColShow1":"true","iTblHeadTextAlign1":"center","iTblTextAlign1":"left","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholds-oid1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#333333","iTblRowUnevenColor":"#455618","iTblHeaderColor":"#333333","iRowSpacing":"10","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.Lebensmittel.Warnung.json","iColShow2":"true","iTblHeadTextAlign2":"center","iTblTextAlign2":"left","iTblCellFormat2":"normal","iTblCellImageSize2":"200","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholds-oid2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblHeadTextAlign3":"center","iTblTextAlign3":"left","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":"false","iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholds-oid3":"","iTblCellThresholdsText3":"","iColShow4":"true","iTblHeadTextAlign4":"center","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholds-oid4":"","iTblCellThresholdsText4":"","iColShow5":"true","iTblHeadTextAlign5":"center","iTblTextAlign5":"left","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholds-oid5":"","iTblCellThresholdsText5":""},"style":{"left":"29px","top":"69px"},"widgetSet":"vis-inventwo"}]
                        

                        und so sieht das aus (sowohl in Editor als auch in VIS):

                        Bildschirmfoto 2024-06-20 um 10.02.27.png

                        Gruß
                        Martin

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MCU @MartyBr last edited by MCU

                          @martybr Muss man die Reihenfolge ändern.?
                          Warum nicht brauchbar?
                          Rechts sind noch jede Menge Daten?
                          In jarvis kann ich die Reihenfolge selbst definieren.

                          Für VIS-User habe ich noch eine HTML ergänzt

                          8d8e3b04-b610-4afe-8854-3a01ac5b979f-image.png

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @MCU last edited by

                            @mcu Ich setze Jarvis nicht ein. Wo finde ich die html? Ich sehe unter dem Ordner nur die json-Datei.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              MCU @MartyBr last edited by

                              @martybr In der Doku, muss ich gerade noch anpassen, dauert noch ein wenig

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @MCU last edited by

                                @mcu
                                Keine Eile. Ich kann warten, so eilig ist das nicht 😀

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  MCU @MartyBr last edited by MCU

                                  @martybr Schau mal , reicht das so?
                                  Wenn da noch Design-Wünsche sind, bitte mitteilen.

                                  M W 2 Replies Last reply Reply Quote 0
                                  • M
                                    MartyBr @MCU last edited by

                                    @mcu
                                    Ich teste gerade. Die DPte werden unter javascript.0.VIS.Lebensmittewarnung angelegt.
                                    Das Widget habe ich von Github geladen. Ich glaube, da muss ich noch war anpassen.
                                    Den ersten Punkt verstehe ich nicht:

                                    <h3>{javascript.0.VIS.Lebensmittelwarnung.Nummer_0.Titel}</h3>
                                    Link zur Meldung: <a href="{javascript.0.VIS.Lebensmittelwarnung.Nummer_0.Link}" target="_blank"><i>Klick mich...</i></a><br />
                                    
                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @MartyBr last edited by MCU

                                      @martybr Nein, die DPs werden unter 0_userdata.0 angelegt
                                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./lebensmittel-warnungen#javascript-lebensmittelwarnungen

                                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./lebensmittel-warnungen#vis-user

                                      78b035d2-5429-4e33-b9b5-f67d6f072482-image.png

                                      Neuschwansteini M 2 Replies Last reply Reply Quote 1
                                      • Neuschwansteini
                                        Neuschwansteini @MCU last edited by

                                        @mcu

                                        Vielen Dank, das sieht ja klasse aus, hier dargestellt mit dem MinuVIS-Adapter:
                                        36fdf589-4a32-474b-8f12-3a4b6f751c53-image.png

                                        1 Reply Last reply Reply Quote 1
                                        • M
                                          MartyBr @MCU last edited by

                                          @mcu
                                          Ich hatte das falsche Script geladen. Nun klappt alles.
                                          Vielen Dank 👍

                                          1 Reply Last reply Reply Quote 1
                                          • W
                                            WernerS @MCU last edited by

                                            @mcu

                                            Hallo

                                            also das Script scheint soweit zu funktionieren, nur der Alarm bei Pushover geht nicht. Der adapter ist installiert und funktioniert auch, aber eine neue Lebensmittelwarnung löst keinen Alarm aus.
                                            Ein Datenpunkt würde mir auch reichen

                                            Gruß
                                            Werner

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            825
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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