Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

[Javascript] für Warnungen von Lebensmittelwarnung

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
javascriptlebensmittelwarnung
293 Beiträge 24 Kommentatoren 54.0k Aufrufe 29 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O 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();
    

    NashraN Offline
    NashraN Offline
    Nashra
    Most Active Forum Testing
    schrieb am zuletzt editiert von
    #57

    @Oli Danke :+1:

    Gruß Ralf
    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    O 1 Antwort Letzte Antwort
    0
    • NashraN Nashra

      @Oli Danke :+1:

      O Online
      O Online
      Oli
      schrieb am zuletzt editiert von
      #58

      @Nashra

      gerne, war gar nicht so kompliziert, wie ich dachte :-)

      Gruß
      Oliver

      Uli977U 1 Antwort Letzte Antwort
      0
      • O Oli

        @Nashra

        gerne, war gar nicht so kompliziert, wie ich dachte :-)

        Uli977U Offline
        Uli977U Offline
        Uli977
        schrieb am zuletzt editiert von
        #59

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

        O 1 Antwort Letzte Antwort
        0
        • Uli977U Uli977

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

          O Online
          O Online
          Oli
          schrieb am zuletzt editiert von
          #60

          @Uli977

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

          Gruß
          Oliver

          Uli977U 1 Antwort Letzte Antwort
          0
          • O Oli

            @Uli977

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

            Uli977U Offline
            Uli977U Offline
            Uli977
            schrieb am zuletzt editiert von
            #61

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

            O 1 Antwort Letzte Antwort
            0
            • Uli977U Uli977

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

              O Online
              O Online
              Oli
              schrieb am zuletzt editiert von
              #62

              @Uli977

              aus welchem Poste hast du denn das Script übernommen?

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

              Gruß
              Oliver

              Uli977U 2 Antworten Letzte Antwort
              0
              • O Oli

                @Uli977

                aus welchem Poste hast du denn das Script übernommen?

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

                Uli977U Offline
                Uli977U Offline
                Uli977
                schrieb am zuletzt editiert von
                #63

                @Oli

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

                1 Antwort Letzte Antwort
                0
                • O Oli

                  @Uli977

                  aus welchem Poste hast du denn das Script übernommen?

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

                  Uli977U Offline
                  Uli977U Offline
                  Uli977
                  schrieb am zuletzt editiert von
                  #64

                  @Oli Jetzt gehts

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

                  1 Antwort Letzte Antwort
                  0
                  • Uli977U Offline
                    Uli977U Offline
                    Uli977
                    schrieb am zuletzt editiert von
                    #65

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

                    Womit werden denn die Datenpunkte erstellt und aktualisiert?

                    O 1 Antwort Letzte Antwort
                    0
                    • Uli977U Uli977

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

                      Womit werden denn die Datenpunkte erstellt und aktualisiert?

                      O Online
                      O Online
                      Oli
                      schrieb am zuletzt editiert von
                      #66

                      @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

                      Gruß
                      Oliver

                      Uli977U 1 Antwort Letzte Antwort
                      0
                      • O Oli

                        @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

                        Uli977U Offline
                        Uli977U Offline
                        Uli977
                        schrieb am zuletzt editiert von
                        #67

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

                        O 1 Antwort Letzte Antwort
                        0
                        • Uli977U Uli977

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

                          O Online
                          O Online
                          Oli
                          schrieb am zuletzt editiert von
                          #68

                          @Uli977

                          Zeile 16 bis 23

                          Gruß
                          Oliver

                          1 Antwort Letzte Antwort
                          0
                          • SBorgS SBorg

                            Bevor ich mir das "wie baue ich nun ein Adapter daraus..." anschaue, würde mich noch etwas interessieren. Im Moment ist bei den ToDo's eigentlich nur noch das Datenpunktmanagement offen. Mir stellt sich allerdings die Frage, ist da überhaupt Handlungsbedarf? Ändert ihr die Anzahl der Datenpunkte überhaupt (falls ja, warum) ?
                            Ich habe seit der ersten Version 5 Datensätze gewählt, von denen ich eh nur die ersten vier zur Anzeige nutze.
                            Im Prinzip sind die Datenpunkte eh schnell gelöscht (Mülleimer beim obersten Datenpunkt) und genauso schnell wieder beim Start des Skripts angelegt, wenn man tatsächlich mal die Anzahl verändern möchte. Hintergrund ist einfach folgender: da es sich um einen scheduled Skript/später ev. auch Adapter handelt, würde die Prüfung auf korrekte Anzahl der Datenpunkte bei jedem Aufruf stattfinden. Kostet Zeit und Ressourcen, wenn dann auch kaum jemand die Anzahl mal ändert also völlig unnötig...

                            BBTownB Offline
                            BBTownB Offline
                            BBTown
                            schrieb am zuletzt editiert von
                            #69

                            @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.

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

                            1 Antwort Letzte Antwort
                            0
                            • Uli977U Offline
                              Uli977U Offline
                              Uli977
                              schrieb am zuletzt editiert von
                              #70

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

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

                              BBTownB 1 Antwort Letzte Antwort
                              0
                              • Uli977U Uli977

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

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

                                BBTownB Offline
                                BBTownB Offline
                                BBTown
                                schrieb am zuletzt editiert von
                                #71

                                @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?

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

                                Uli977U 1 Antwort Letzte Antwort
                                0
                                • BBTownB BBTown

                                  @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?

                                  Uli977U Offline
                                  Uli977U Offline
                                  Uli977
                                  schrieb am zuletzt editiert von
                                  #72

                                  @BBTown Ok, verstanden!

                                  1 Antwort Letzte Antwort
                                  0
                                  • SBorgS Offline
                                    SBorgS Offline
                                    SBorg
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #73

                                    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 :)

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

                                    BBTownB O 2 Antworten Letzte Antwort
                                    0
                                    • SBorgS SBorg

                                      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 :)

                                      BBTownB Offline
                                      BBTownB Offline
                                      BBTown
                                      schrieb am zuletzt editiert von
                                      #74

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

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

                                      SBorgS 1 Antwort Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        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 :)

                                        O Online
                                        O Online
                                        Oli
                                        schrieb am zuletzt editiert von
                                        #75

                                        @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

                                        Gruß
                                        Oliver

                                        1 Antwort Letzte Antwort
                                        0
                                        • BBTownB BBTown

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

                                          SBorgS Offline
                                          SBorgS Offline
                                          SBorg
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #76

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

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

                                          Ich weiß zwar noch nicht mal ob ich das als Adapter überhaupt hinbekomme (noch nie gemacht), aber das geht IMHO nicht, denn dann kannst du nur eine Option/Bundesland auswählen. Müsste aber als Auswahl per Checkboxen möglich sein.

                                          @Oli Auch der Adapter liefert ja nur Datenpunkte. Es kann also im Prinzip jeder einsetzen was oder wie er/sie/diverse es möchte. Da offenbar viele die Liste nutzen, ist es aber nicht gerade sinnvoll im Sinne der Rechner-Performance, alles doppelt zu berechnen und ich somit dann doch eine/mehrere Listen anbieten sollte.

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

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

                                          Ja. Schau mal so um Zeile 111:

                                             } else {Bild = '';}
                                          

                                          Das wird benutzt wenn kein Bild gefunden wurde. Einfach ein passendes Bild in die VIS laden, Pfad merken und dann zB. ändern in:

                                              } else {Bild = 'http://IP_des_ioBrokers:8082/vis.0/img/no_image.png';}
                                          

                                          Bild 1.png

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

                                          O BBTownB 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          550

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe