Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Wunsch: Pollenflug-(Adapter/wasauchimmer)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wunsch: Pollenflug-(Adapter/wasauchimmer)

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      moebius last edited by

      Hier noch meine Variante in node-red.

      Die Werte stehen dann in einem Array und man kann sie entweder an den iobroker schicken, oder gleich in die Datenbank.

      [{"id":"d5352d.f1122ad","type":"tab","label":"Flow 3"},{"id":"37cd7d6e.23ad32","type":"http request","z":"d5352d.f1122ad","name":"","method":"GET","ret":"txt","url":"http://www.wetteronline.de/pollenvorhersage?gid=10513","tls":"","x":414,"y":151,"wires":[["b06d8502.cd8d08"]]},{"id":"b06d8502.cd8d08","type":"html","z":"d5352d.f1122ad","name":"","tag":".pollentype","ret":"html","as":"multi","x":588,"y":247,"wires":[["bdb2417d.c0527","e1341752.5bda18"]]},{"id":"834494d6.1e4a38","type":"debug","z":"d5352d.f1122ad","name":"","active":true,"console":"false","complete":"true","x":1163,"y":244,"wires":[]},{"id":"b37a6bd9.da2208","type":"inject","z":"d5352d.f1122ad","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":122,"y":101,"wires":[["b0bb7dcb.87f3b"]]},{"id":"b0bb7dcb.87f3b","type":"function","z":"d5352d.f1122ad","name":"user agent","func":"\n\nmsg.headers = {\n        \"user-agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36\",\n    };\nreturn msg;","outputs":1,"noerr":0,"x":228,"y":236,"wires":[["37cd7d6e.23ad32"]]},{"id":"bdb2417d.c0527","type":"html","z":"d5352d.f1122ad","name":"","tag":".burden","ret":"text","as":"multi","x":796,"y":276,"wires":[["f57563ce.2feb4"]]},{"id":"e1341752.5bda18","type":"html","z":"d5352d.f1122ad","name":"","tag":".type","ret":"text","as":"multi","x":773,"y":189,"wires":[["f57563ce.2feb4"]]},{"id":"f57563ce.2feb4","type":"join","z":"d5352d.f1122ad","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","timeout":"","count":"2","x":988,"y":223,"wires":[["834494d6.1e4a38"]]}]
      
      1 Reply Last reply Reply Quote 0
      • S
        simpixo last edited by

        @pix:

        Pollenvorhersage von WetterOnline. `

        Hallo Pix

        ich habe seit neusten ein kleines Problem mit deinem Script….Warum lief es die ganze zeit und jetzt erhalte ich für ein Objekt die folgende Meldung?

        javascript.0	2017-02-06 09:01:31.445	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.übermorgen.hasel: "object". Please fix, while deprecated and will not work in next versions.
        javascript.0	2017-02-06 09:01:31.375	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.hasel: "object". Please fix, while deprecated and will not work in next versions.
        javascript.0	2017-02-06 09:01:31.352	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.morgen.hasel: "object". Please fix, while deprecated and will not work in next versions
        
        

        Ich habe jetzt das Hasel Objekt von Zahl auf Objekt geändert und die Info Message ist jetzt verschwunden…. aber warum ist das bei der Hasel anders als bei den anderen??? :shock: Die anderen sind alle auf Zahl eingestellt und es funktioniert problemlos

        Wäre Cool von dir wenn du mir ein Tip geben könntest

        Gruß

        Adrian

        1 Reply Last reply Reply Quote 0
        • S
          simpixo last edited by

          Keiner eine Idee warum das plötzlich so ist!? [emoji53]

          Gesendet von iPhone mit Tapatalk Pro

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

            Ggf hast Bluefox was im js.controller oder javascript-Adapter geändert?

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hallo~~@simpixo:~~

              h habe seit neusten ein kleines Problem mit deinem Script…. ` kannst du das Skript mal zitieren oder im Spoiler und Code Tags hier einstellen?

              Danke

              Pix

              1 Reply Last reply Reply Quote 0
              • S
                simpixo last edited by

                @pix:

                kannst du das Skript mal zitieren oder im Spoiler und Code Tags hier einstellen?

                Danke

                Pix `

                Hallo Pix

                wie gewünscht hier das Script….

                `/* Pollenflug Parser von wetteronline.de
                
                http://forum.iobroker.net/viewtopic.php?f=23&t=2799&sid=936235bdac98a70a1d8672897d334a07#p25266
                
                05.05.2016 erstellt von steinwedel für homoran
                06.05.2016 Anpassung durch pix
                */
                
                var url = "http://www.wetteronline.de/pollen/waldsee";
                var pfad = "Umwelt.Pollenvorhersage.";
                var logging = true;
                
                // ab hier nix ändern
                var Pollenarten = ['Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia', 'Erle'];
                var tage_vorhersage = ['heute','morgen','übermorgen'];
                var request = require('request');
                
                function dpAnlegen(y) {
                    for(var i=0;i<pollenarten.length;i++) {/createstate(pfad/+/tage_vorhersage[y]/'.'/pollenarten[i].tolowercase(),0,/name:/'wetteronline/pollenvorhersage/'/pollenarten[i],/desc:/'vorhersage/für/pollenbelastung/durch/type:/'number'/});/}/function/readpollenwetter(x)/var/options="{" url:/((x="">0) ? url + '?fcdatstr=' + tag(x) : url), // korrekten Link erstellen
                        headers: {
                            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                        }
                    };    
                    try {
                        request(options, function (error, response, body) {
                            if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                                body=body.replaceAll(String.fromCharCode(13),"");
                                body=body.replaceAll(String.fromCharCode(10),"");
                                body=body.replaceAll(String.fromCharCode(9)," ");
                                body=strip_tags(body);
                                for(var i=0;i<pollenarten.length;i++) 0/60/1000/20160506/{/setstate(pfad/+/tage_vorhersage[x]/'.'/pollenarten[i].tolowercase(),{val:/getpollenindex(pollenarten[i],body),/ack:/true});/if/(logging)/log(pollenarten[i].tolowercase()/'/getpollenindex(pollenarten[i],body));/}/else/log("statuscode="+response.statusCode);
                                log(error,'error');                               // Error beim Einlesen
                            }
                        });
                    } catch (e) {
                        log('Fehler (try) leseWebseite: ' + e, 'error');
                    }
                }
                
                function strip_tags(data) {
                    var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");/return(rueckgabe);/function/getpollenindex(pflanze,/html)/var/code="{'kein':0," 'schwach':1,/'mäßig':2,/'stark':3};/result/;/start="html.indexOf(pflanze)+pflanze.length;" stop="result.indexOf('" ');/return/code[result];/string.prototype.replaceall="function(find," replace)/str="this;" str.replace(new/regexp(find.replace(/([.*+?^="!:${}()|[]\/\])/g," "\\$1"),/'g'),/replace);/};/tag/(abstand)/eingabe/0,/1,/2,/.../jetzt="new" date();/jetzt.sethours(0);/jetzt.setminutes(0);/jetzt.setseconds(0);/jetzt.setmilliseconds(0);/newdate="new" newdate.settime(jetzt.gettime()/(24/*/abstand)/);/heute/anzahl/tage/ins/millisekunden/date="newdate.getDate();" month="newdate.getMonth()+1;" year="newdate.getFullYear();" </10)/?/'0'/:/date;/month;/rueckgabe="year.toString()+month.toString()+date.toString();" log('datum/in/link:/rueckgabe);/(rueckgabe);/ausgabe/z.b./alle/aus/dem/array/durchgehen/(x)/main()/for/(var/x="0;" tage_vorhersage.length;/x++)/dpanlegen(x);/readpollenwetter(x);/main();/schedule("5/*",/main);/<e=""></pollenarten.length;i++)></pollenarten.length;i++)>`[/i][/i][/i][/i][/i][/i][/i]
                
                1 Reply Last reply Reply Quote 0
                • P
                  pix last edited by

                  Hallo Adrian,@simpixo:

                  @pix:

                  Pollenvorhersage von WetterOnline. `

                  Hallo Pix

                  ich habe seit neusten ein kleines Problem mit deinem Script….Warum lief es die ganze zeit und jetzt erhalte ich für ein Objekt die folgende Meldung?

                  javascript.0	2017-02-06 09:01:31.445	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.übermorgen.hasel: "object". Please fix, while deprecated and will not work in next versions.
                  javascript.0	2017-02-06 09:01:31.375	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.hasel: "object". Please fix, while deprecated and will not work in next versions.
                  javascript.0	2017-02-06 09:01:31.352	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.morgen.hasel: "object". Please fix, while deprecated and will not work in next versions
                  
                  

                  Ich habe jetzt das Hasel Objekt von Zahl auf Objekt geändert und die Info Message ist jetzt verschwunden…. aber warum ist das bei der Hasel anders als bei den anderen??? :shock: Die anderen sind alle auf Zahl eingestellt und es funktioniert problemlos

                  Wäre Cool von dir wenn du mir ein Tip geben könntest

                  Gruß

                  Adrian `
                  Das Skript ist übrigens von steinwedel, nicht von mir: http://forum.iobroker.net/viewtopic.php … a07#p25266

                  Du hast also die States im Reiter Objekte wieder gelöscht und dann das Skript neu gestartet, damit die States neu angelegt werden?

                  Und dann werden alle Gräser fehlerfrei abgearbeitet, nur das erste Gras "Hasel" nicht?

                  Das ist tatsächlich seltsam. Das Objekt wird ja in dieser Zeile geschrieben:

                  `setState(pfad + tage_vorhersage[x] + '.' + Pollenarten[i].toLowerCase(),{val: GetPollenIndex(Pollenarten[i],body), ack: true});`
                  Du kannst es mal ohne Ackknowledge probieren:
                  `~~[code]~~setState(pfad + tage_vorhersage[x] + '.' + Pollenarten[i].toLowerCase(), GetPollenIndex(Pollenarten[i],body));`
                  
                  Gruß
                  
                  Pix[/i][/i][/code][/i][/i]
                  
                  1 Reply Last reply Reply Quote 0
                  • S
                    simpixo last edited by

                    @pix:

                    Du hast also die States im Reiter Objekte wieder gelöscht und dann das Skript neu gestartet, damit die States neu angelegt werden?

                    Und dann werden alle Gräser fehlerfrei abgearbeitet, nur das erste Gras "Hasel" nicht?

                    Das ist tatsächlich seltsam. Das Objekt wird ja in dieser Zeile geschrieben:

                    `setState(pfad + tage_vorhersage[x] + '.' + Pollenarten[i].toLowerCase(),{val: GetPollenIndex(Pollenarten[i],body), ack: true});`
                    Du kannst es mal ohne Ackknowledge probieren:
                    `~~[code]~~setState(pfad + tage_vorhersage[x] + '.' + Pollenarten[i].toLowerCase(), GetPollenIndex(Pollenarten[i],body));`
                    
                    Gruß
                    
                    Pix
                    
                    Hallo Pix, 
                    
                    oh sorry dachte das wäre dein Script ;) Dann muss ich mal Steinwedel kontaktieren. Dein Vorschlag habe ich übernommen aber leider hilft dieser nicht. Trotzdem Danke!!!
                    
                    Ja klar habe ich alle DP's gelöscht und das Script legt sie auch wieder alle schön an. Komischerweise erhalte ich folgende Fehler im LoG
                    
                    `~~[code]~~javascript.0	2017-02-19 11:58:31.686	info	script.js.Umwelt.Pollenflug_Vorhersage: erle undefined
                    javascript.0	2017-02-19 11:58:31.686	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.erle: "undefined". Please fix, while deprecated and will not work in next versions.
                    
                    javascript.0	2017-02-19 11:58:31.681	info	script.js.Umwelt.Pollenflug_Vorhersage: hasel undefined
                    javascript.0	2017-02-19 11:58:31.680	warn	Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.hasel: "undefined". Please fix, while deprecated and will not work in next versions.
                    [/code]` 
                    
                    Alle anderen DP sind in Ordnung und es wird auch kein Fehler ausgegeben
                    
                    Gruß
                    
                    Adrian[/i][/i][/code][/i][/i]
                    ``` ` 
                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      Hallo zusammen.

                      Warum das nur bei einzelnen auftritt ist mir bei meiner Erklärung natürlich ein Dorn im Auge 😉

                      Und dann noch js-Legastheniker, aber lernend!

                      Ich kann mich an irgendeinen Post von paul53 (?) erinnern, dass diese Meldung aufgrund der unvollständigen/unrichtigen Deklaration des Datenpunkts herrührt.

                      Ich glaube da war irgendetwas, dass diese Datenpunkte oft nur als "mixed" oder so deklariert würden, aber als Zahl hätten deklariert werden müssen.

                      Gruß

                      Rainer

                      1 Reply Last reply Reply Quote 0
                      • S
                        simpixo last edited by

                        Hallo Rainer,

                        Ja aber alle Dp's sind identisch [emoji15]

                        Habe das nämlich schon kontrolliert, alle sind als Zahl deklariert und trotzdem kommen bei den zwei Gräsern die Fehler im log! Und das für heute/morgen/übermorgen

                        Komisch ist das schon [emoji53]

                        Gruß

                        Adrian

                        Gesendet von iPhone mit Tapatalk Pro

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

                          Hast du bei den betreffenden DP's die SQL-Historie aktiviert?

                          1 Reply Last reply Reply Quote 0
                          • S
                            simpixo last edited by

                            Ja hatte ich aktiv, aber nach dem löschen habe ich sie noch nicht wieder aktiviert!

                            Hat das was damit zutun!?

                            Gesendet von iPhone mit Tapatalk Pro

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

                              Jein 😉

                              Wenn du sie noch nicht wieder aktiviert hast dürfte der Fehler zwar m.E. nicht auftreten, aber es ist definitiv so dass es Probleme gibt wenn man einen DP früher als Text definiert hatte und dann mal auf Zahl geändert. Die alten (Text)Werte stehen immer noch in der Datenbank und bei einer neuen Abfrage auf Zahlenwerte gibt's dann Ärger. Brauchst du die Werte von früher noch? Wenn nicht solltest Du die aus der Db löschen, zum Löschen einzelner DP's aus der SQL-Db gibt's aktuell im Forum Threads…

                              1 Reply Last reply Reply Quote 0
                              • S
                                simpixo last edited by

                                Ok das versuche ich mal, guter Ansatz!

                                Vielleicht ist es der Grund! Ich werde berichten

                                Gruß

                                Adrian

                                Gesendet von iPhone mit Tapatalk Pro

                                1 Reply Last reply Reply Quote 0
                                • S
                                  simpixo last edited by

                                  Hallo

                                  leider hat das nicht geholfen. Der Fehler ist immer noch da auch nachdem ich die Daten aus der DB gelöscht habe

                                  @Steinwedel @steinwedel:

                                  Hilfe 🙂 `

                                  Weißt du das was da los ist? Wurde auf der Website was geändert? Ich erhalte nämlich die folgenden Fehler ???? :shock:

                                  javascript.0   2017-02-19 11:58:31.686   info   script.js.Umwelt.Pollenflug_Vorhersage: erle undefined
                                  javascript.0   2017-02-19 11:58:31.686   warn   Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.erle: "undefined". Please fix, while deprecated and will not work in next versions.
                                  
                                  javascript.0   2017-02-19 11:58:31.681   info   script.js.Umwelt.Pollenflug_Vorhersage: hasel undefined
                                  javascript.0   2017-02-19 11:58:31.680   warn   Wrong type of javascript.0.Umwelt.Pollenvorhersage.heute.hasel: "undefined". Please fix, while deprecated and will not work in next versions.
                                  
                                  

                                  Danke in voraus

                                  Gruß

                                  Adrian

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    simpixo last edited by

                                    Hallo zusammen

                                    ohne irgendein zutun funktioniert es wieder ohne einen Fehler im Log! Auch die DP´s werden richtig gefüllt 😉 komische Sache :roll:

                                    Gruß

                                    Adrian

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      Romö last edited by

                                      Hallo

                                      ich bin ein ioBroker Anfänger und gerade am Zusammenstellen einer individuellen Smarthome Steuerung.

                                      Seit Tagen versuche ich schon das Script zur Polenabfrage hinzubekommen. Leider werden Pollen die größer 0 sind nicht angezeigt.

                                      javascript.0	2018-01-08 14:04:41.396	info	script.js.Wetter.Pollenflug.Pollenflug: hasel undefined
                                      javascript.0	2018-01-08 14:04:41.395	info	script.js.Wetter.Pollenflug.Pollenflug: setForeignState(id=javascript.0.WetterOnline.pollenvorhersage.heute.hasel, state=undefined)
                                      

                                      ich verwende folgendes Script:

                                      `/* Pollenflug Parser von wetteronline.de
                                      
                                      http://forum.iobroker.net/viewtopic.php?f=23&t=2799&sid=936235bdac98a70a1d8672897d334a07#p25266
                                      
                                      05.05.2016 erstellt von steinwedel für homoran
                                      06.05.2016 Anpassung durch pix
                                      */
                                      
                                      var url = "https://www.wetteronline.de/pollen/jesenwang";
                                      var pfad = "WetterOnline.pollenvorhersage.";
                                      var logging = true;
                                      
                                      // ab hier nix ändern
                                      var Pollenarten = ['Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia','Hasel','Erle' ];
                                      var tage_vorhersage = ['heute','morgen','übermorgen'];
                                      var request = require('request');
                                      
                                      function dpAnlegen(y) {
                                          for(var i=0;i<pollenarten.length;i++) {/createstate(pfad/+/tage_vorhersage[y]/'.'/pollenarten[i].tolowercase(),0,/name:/'wetteronline/pollenvorhersage/'/pollenarten[i],/desc:/'vorhersage/für/pollenbelastung/durch/type:/'number'/});/}/function/readpollenwetter(x)/var/options="{" url:/((x="">0) ? url + '?fcdatstr=' + tag(x) : url),   // korrekten Link erstellen
                                              headers: {
                                                  'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                                              }
                                          };    
                                          try {
                                              request(options, function (error, response, body) {
                                                  if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                                                      body=body.replaceAll(String.fromCharCode(13),"");
                                                      body=body.replaceAll(String.fromCharCode(10),"");
                                                      body=body.replaceAll(String.fromCharCode(9),"");
                                                      body=strip_tags(body);
                                                      for(var i=0;i<pollenarten.length;i++) 0/60/1000/20160506/{/setstate(pfad/+/tage_vorhersage[x]/'.'/pollenarten[i].tolowercase(),/getpollenindex(pollenarten[i],body));/if/(logging)/log(pollenarten[i].tolowercase()/'/}/else/log("statuscode="+response.statusCode);
                                                      log(error,'error');                               // Error beim Einlesen
                                                  }
                                              });
                                          } catch (e) {
                                              log('Fehler (try) leseWebseite: ' + e, 'error');
                                          }
                                      }
                                      
                                      function strip_tags(data) {
                                          var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");/return(rueckgabe);/function/getpollenindex(pflanze,/html)/var/code="{'kein'" :0,/'schwach'/:1,/'mäßig'/:2,/'stark'/:3};/result/;/start="html.indexOf(pflanze)+pflanze.length;" stop="result.indexOf('" ');/return/code[result];/string.prototype.replaceall="function(find," replace)/str="this;" str.replace(new/regexp(find.replace(/([.*+?^="!:${}()|[]\/\])/g," "\\$1"),/'g'),/replace);/};/tag/(abstand)/eingabe/0,/1,/2,/.../jetzt="new" date();/jetzt.sethours(0);/jetzt.setminutes(0);/jetzt.setseconds(0);/jetzt.setmilliseconds(0);/newdate="new" newdate.settime(jetzt.gettime()/(24/*/abstand)/);/heute/anzahl/tage/ins/millisekunden/date="newdate.getDate();" month="newdate.getMonth()+1;" year="newdate.getFullYear();" </10)/?/'0'/:/date;/month;/rueckgabe="year.toString()+month.toString()+date.toString();" log('datum/in/link:/rueckgabe);/(rueckgabe);/ausgabe/z.b./alle/aus/dem/array/durchgehen/(x)/main()/for/(var/x="0;" tage_vorhersage.length;/x++)/dpanlegen(x);/readpollenwetter(x);/main();/schedule("5/*",/main);<e=""></pollenarten.length;i++)></pollenarten.length;i++)>`
                                      
                                      kann mir wer einen Tip geben
                                      
                                      Viele Grüße Hans[/i][/i][/i][/i][/i][/i][/i]
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • lobomau
                                        lobomau last edited by

                                        @Romö:

                                        Hallo

                                        ich bin ein ioBroker Anfänger und gerade am Zusammenstellen einer individuellen Smarthome Steuerung.

                                        Seit Tagen versuche ich schon das Script zur Polenabfrage hinzubekommen. Leider werden Pollen die größer 0 sind nicht angezeigt.

                                        javascript.0	2018-01-08 14:04:41.396	info	script.js.Wetter.Pollenflug.Pollenflug: hasel undefined
                                        javascript.0	2018-01-08 14:04:41.395	info	script.js.Wetter.Pollenflug.Pollenflug: setForeignState(id=javascript.0.WetterOnline.pollenvorhersage.heute.hasel, state=undefined)
                                        

                                        ich verwende folgendes Script:

                                        `/* Pollenflug Parser von wetteronline.de
                                        
                                        http://forum.iobroker.net/viewtopic.php?f=23&t=2799&sid=936235bdac98a70a1d8672897d334a07#p25266
                                        
                                        05.05.2016 erstellt von steinwedel für homoran
                                        06.05.2016 Anpassung durch pix
                                        */
                                        
                                        var url = "https://www.wetteronline.de/pollen/jesenwang";
                                        var pfad = "WetterOnline.pollenvorhersage.";
                                        var logging = true;
                                        
                                        // ab hier nix ändern
                                        var Pollenarten = ['Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia','Hasel','Erle' ];
                                        var tage_vorhersage = ['heute','morgen','übermorgen'];
                                        var request = require('request');
                                        
                                        function dpAnlegen(y) {
                                            for(var i=0;i<pollenarten.length;i++) {/createstate(pfad/+/tage_vorhersage[y]/'.'/pollenarten[i].tolowercase(),0,/name:/'wetteronline/pollenvorhersage/'/pollenarten[i],/desc:/'vorhersage/für/pollenbelastung/durch/type:/'number'/});/}/function/readpollenwetter(x)/var/options="{" url:/((x="">0) ? url + '?fcdatstr=' + tag(x) : url),   // korrekten Link erstellen
                                                headers: {
                                                    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                                                }
                                            };    
                                            try {
                                                request(options, function (error, response, body) {
                                                    if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                                                        body=body.replaceAll(String.fromCharCode(13),"");
                                                        body=body.replaceAll(String.fromCharCode(10),"");
                                                        body=body.replaceAll(String.fromCharCode(9),"");
                                                        body=strip_tags(body);
                                                        for(var i=0;i<pollenarten.length;i++) 0/60/1000/20160506/{/setstate(pfad/+/tage_vorhersage[x]/'.'/pollenarten[i].tolowercase(),/getpollenindex(pollenarten[i],body));/if/(logging)/log(pollenarten[i].tolowercase()/'/}/else/log("statuscode="+response.statusCode);
                                                        log(error,'error');                               // Error beim Einlesen
                                                    }
                                                });
                                            } catch (e) {
                                                log('Fehler (try) leseWebseite: ' + e, 'error');
                                            }
                                        }
                                        
                                        function strip_tags(data) {
                                            var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");/return(rueckgabe);/function/getpollenindex(pflanze,/html)/var/code="{'kein'" :0,/'schwach'/:1,/'mäßig'/:2,/'stark'/:3};/result/;/start="html.indexOf(pflanze)+pflanze.length;" stop="result.indexOf('" ');/return/code[result];/string.prototype.replaceall="function(find," replace)/str="this;" str.replace(new/regexp(find.replace(/([.*+?^="!:${}()|[]\/\])/g," "\\$1"),/'g'),/replace);/};/tag/(abstand)/eingabe/0,/1,/2,/.../jetzt="new" date();/jetzt.sethours(0);/jetzt.setminutes(0);/jetzt.setseconds(0);/jetzt.setmilliseconds(0);/newdate="new" newdate.settime(jetzt.gettime()/(24/*/abstand)/);/heute/anzahl/tage/ins/millisekunden/date="newdate.getDate();" month="newdate.getMonth()+1;" year="newdate.getFullYear();" </10)/?/'0'/:/date;/month;/rueckgabe="year.toString()+month.toString()+date.toString();" log('datum/in/link:/rueckgabe);/(rueckgabe);/ausgabe/z.b./alle/aus/dem/array/durchgehen/(x)/main()/for/(var/x="0;" tage_vorhersage.length;/x++)/dpanlegen(x);/readpollenwetter(x);/main();/schedule("5/*",/main);<e=""></pollenarten.length;i++)></pollenarten.length;i++)>`
                                        
                                        kann mir wer einen Tip geben
                                        
                                        Viele Grüße Hans
                                        "request" als npm Modul ist installiert? 
                                        
                                        Ich habe es auch eben installiert. Sollte eigentlich für morgen Hasel schwach anzeigen. Tut es aber nicht. Gibt nur Warnungen:
                                        `~~[code]~~javascript.0	2018-01-11 20:43:53.896	info	script.js.common.Pollenflug: erle undefined
                                        javascript.0	2018-01-11 20:43:53.895	warn	at process._tickCallback (internal/process/next_tick.js:104:9)
                                        javascript.0	2018-01-11 20:43:53.895	warn	at _combinedTickCallback (internal/process/next_tick.js:80:11)
                                        javascript.0	2018-01-11 20:43:53.895	warn	at endReadableNT (_stream_readable.js:974:12)
                                        javascript.0	2018-01-11 20:43:53.895	warn	at IncomingMessage.emit (events.js:185:7)
                                        javascript.0	2018-01-11 20:43:53.895	warn	at emitNone (events.js:91:20)
                                        javascript.0	2018-01-11 20:43:53.894	warn	at IncomingMessage.g (events.js:292:16)
                                        javascript.0	2018-01-11 20:43:53.894	warn	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1085:12)
                                        javascript.0	2018-01-11 20:43:53.894	warn	at Request.emit (events.js:188:7)
                                        javascript.0	2018-01-11 20:43:53.893	warn	at emitOne (events.js:96:13)
                                        javascript.0	2018-01-11 20:43:53.893	warn	at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1163:10)
                                        javascript.0	2018-01-11 20:43:53.893	warn	at Request.emit (events.js:191:7)
                                        javascript.0	2018-01-11 20:43:53.893	warn	at emitTwo (events.js:106:13)
                                        javascript.0	2018-01-11 20:43:53.892	warn	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:186:22)
                                        javascript.0	2018-01-11 20:43:53.892	warn	at Request._callback (script.js.common.Pollenflug:43:17)
                                        javascript.0	2018-01-11 20:43:53.888	warn	Wrong type of javascript.0.WetterOnline.pollenvorhersage.übermorgen.erle: "undefined". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2018-01-11 20:43:53.887	info	script.js.common.Pollenflug: hasel undefined
                                        javascript.0	2018-01-11 20:43:53.887	warn	at process._tickCallback (internal/process/next_tick.js:104:9)
                                        javascript.0	2018-01-11 20:43:53.887	warn	at _combinedTickCallback (internal/process/next_tick.js:80:11)
                                        javascript.0	2018-01-11 20:43:53.886	warn	at endReadableNT (_stream_readable.js:974:12)
                                        javascript.0	2018-01-11 20:43:53.886	warn	at IncomingMessage.emit (events.js:185:7)
                                        javascript.0	2018-01-11 20:43:53.886	warn	at emitNone (events.js:91:20)
                                        javascript.0	2018-01-11 20:43:53.885	warn	at IncomingMessage.g (events.js:292:16)
                                        javascript.0	2018-01-11 20:43:53.885	warn	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1085:12)
                                        javascript.0	2018-01-11 20:43:53.885	warn	at Request.emit (events.js:188:7)
                                        javascript.0	2018-01-11 20:43:53.885	warn	at emitOne (events.js:96:13)
                                        javascript.0	2018-01-11 20:43:53.884	warn	at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1163:10)
                                        javascript.0	2018-01-11 20:43:53.884	warn	at Request.emit (events.js:191:7)
                                        javascript.0	2018-01-11 20:43:53.884	warn	at emitTwo (events.js:106:13)
                                        javascript.0	2018-01-11 20:43:53.884	warn	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:186:22)
                                        javascript.0	2018-01-11 20:43:53.883	warn	at Request._callback (script.js.common.Pollenflug:43:17)
                                        javascript.0	2018-01-11 20:43:53.882	warn	Wrong type of javascript.0.WetterOnline.pollenvorhersage.übermorgen.hasel: "undefined". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2018-01-11 20:43:53.881	info	script.js.common.Pollenflug: ambrosia 0
                                        javascript.0	2018-01-11 20:43:53.880	info	script.js.common.Pollenflug: beifuß 0
                                        javascript.0	2018-01-11 20:43:53.880	info	script.js.common.Pollenflug: wegerich 0
                                        javascript.0	2018-01-11 20:43:53.879	info	script.js.common.Pollenflug: eiche 0
                                        javascript.0	2018-01-11 20:43:53.878	info	script.js.common.Pollenflug: gräser 0
                                        javascript.0	2018-01-11 20:43:53.878	info	script.js.common.Pollenflug: roggen 0
                                        javascript.0	2018-01-11 20:43:53.877	info	script.js.common.Pollenflug: ampfer 0
                                        javascript.0	2018-01-11 20:43:53.877	info	script.js.common.Pollenflug: buche 0
                                        javascript.0	2018-01-11 20:43:53.876	info	script.js.common.Pollenflug: birke 0
                                        javascript.0	2018-01-11 20:43:53.874	info	script.js.common.Pollenflug: ulme 0
                                        javascript.0	2018-01-11 20:43:53.873	info	script.js.common.Pollenflug: weide 0
                                        javascript.0	2018-01-11 20:43:53.872	info	script.js.common.Pollenflug: pappel 0
                                        javascript.0	2018-01-11 20:43:53.850	info	script.js.common.Pollenflug: erle undefined[/code]`[/i][/i][/i][/i][/i][/i][/i]
                                        ``` ` 
                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User last edited by

                                          Hallo Zusammen,

                                          habe das gleiche Problem mit dem Script…. denke mal, die Website wurde geändert... hab mal kurz draufeschaut in der Tabelle mit den Pollen sind keine Zahlen mehr sondern Symbole (icons) mit dem entsprechenden Wert, denke mals das "parsing" muss hier angepasst werden.

                                          Equilora

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            robsdobs last edited by

                                            Hallo,

                                            ich hab eine angepasste Form des Scriptes, die bei mir funktioniert.

                                            Aber Achtung, ist nicht Javascript sondern TypeScript –>also den richtigen Engine-Typ wählen:
                                            1367_bild_050.png

                                            `// ########################################################################################################
                                            // Polleninfo auswerten
                                            // Version 1.3
                                            // ########################################################################################################
                                            
                                            /**************************************************************************************************
                                            * Initiale Optionen
                                            **************************************************************************************************/
                                            
                                            var options = {
                                              url: "https://www.wetteronline.de/pollen/bad-arolsen",
                                              headers: {
                                                'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                                              }
                                            };
                                            
                                            /**************************************************************************************************
                                            * Globale TypeScript Definitionen
                                            **************************************************************************************************/
                                            // -----------------------------------------------------------------------------	
                                            /* Die folgenden Funktionen sind bei mir in einem globalen script.
                                               Wenn man diese global definieren will, muss man das lokal referenzieren mit:
                                            declare function isPrimitive(obj:any):boolean
                                            declare function logDebug(...param: any[]):void;
                                            declare function logInfo(...param: any[]):void;
                                            declare function logWarning(...param: any[]):void;
                                            declare function logError(...param: any[]):void;
                                            */
                                            
                                            /**
                                             * Function for check if a object is a primitive object (string, number, etc)
                                             * @param    obj           any object to check if it is a primitive object
                                             * @returns              boolean which is true if object in parameter is a primitive object
                                             */
                                            function isPrimitive(obj:any):boolean {
                                                return (obj !== Object(obj));
                                            }
                                            
                                            /**
                                             * write any objects given as parameter to log as debug
                                             * @param    param       a nist of different objects
                                             */
                                            function logDebug(...param: any[]):void {
                                            	if (arguments.length > 0) {
                                            		var text:string[] = [];
                                            		for (var i = 0; i < arguments.length; i++) {
                                                        if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
                                                            text.push(arguments[i]);
                                            		    } else if(arguments[i] === null) {
                                                            text.push('null');
                                            		    } else if(arguments[i] === undefined) {
                                                            text.push('undefined');
                                                        } else if (isPrimitive(arguments[i])) {
                                                            text.push(arguments[i]);
                                                        } else {
                                                            text.push(JSON.stringify(arguments[i]));
                                                        }
                                                        //enum close bracket cannot be found in "channel[state.id=*.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"
                                            
                                            		}
                                            		log(text.join(' '), 'debug');
                                            	}
                                            }
                                            
                                            /**
                                             * write any objects given as parameter to log as Information
                                             * @param    param       a nist of different objects
                                             */
                                            function logInfo(...param: any[]):void {
                                            	if (arguments.length > 0) {
                                            		var text:string[] = [];
                                            		for (var i = 0; i < arguments.length; i++) {
                                                        if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
                                                            text.push(arguments[i]);
                                            		    } else if(arguments[i] === null) {
                                                            text.push('null');
                                            		    } else if(arguments[i] === undefined) {
                                                            text.push('undefined');
                                                        } else if (isPrimitive(arguments[i])) {
                                                            text.push(arguments[i]);
                                                        } else {
                                                            text.push(JSON.stringify(arguments[i]));
                                                        }
                                                        //enum close bracket cannot be found in "channel[state.id=*.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"
                                            
                                            		}
                                            		log(text.join(' '), 'info');
                                            		setState("javascript.0.Ereignisliste.event",'INFO|'+text.join(' '));
                                            	}
                                                //logEnhanced(logtext, 'info');
                                            	//console.debug(p);
                                            	//logs(logtext,loglevels.debug);
                                            }
                                            
                                            /**
                                             * write any objects given as parameter to log as warning
                                             * @param    param       a nist of different objects
                                             */
                                            function logWarning(...param: any[]):void {
                                            	if (arguments.length > 0) {
                                            		var text:string[] = [];
                                            		for (var i = 0; i < arguments.length; i++) {
                                                        if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
                                                            text.push(arguments[i]);
                                            		    } else if(arguments[i] === null) {
                                                            text.push('null');
                                            		    } else if(arguments[i] === undefined) {
                                                            text.push('undefined');
                                                        } else if (isPrimitive(arguments[i])) {
                                                            text.push(arguments[i]);
                                                        } else {
                                                            text.push(JSON.stringify(arguments[i]));
                                                        }
                                                        //enum close bracket cannot be found in "channel[state.id=*.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"
                                            
                                            		}
                                            		log(text.join(' '), 'warn');
                                            		setState("javascript.0.Ereignisliste.event",'WARN|'+text.join(' '));
                                            	}
                                                //logEnhanced(logtext, 'warn');
                                            	//console.warn(p);
                                            	//logs(logtext,loglevels.warn);
                                            }
                                            
                                            /**
                                             * write any objects given as parameter to log as error
                                             * @param    param       a nist of different objects
                                             */
                                            function logError(...param: any[]):void {
                                            	if (arguments.length > 0) {
                                            		var text:string[] = [];
                                            		for (var i = 0; i < arguments.length; i++) {
                                                        if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
                                                            text.push(arguments[i]);
                                            		    } else if(arguments[i] === null) {
                                                            text.push('null');
                                            		    } else if(arguments[i] === undefined) {
                                                            text.push('undefined');
                                                        } else if (isPrimitive(arguments[i])) {
                                                            text.push(arguments[i]);
                                                        } else {
                                                            text.push(JSON.stringify(arguments[i]));
                                                        }
                                                        //enum close bracket cannot be found in "channel[state.id=*.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"
                                            
                                            		}
                                            		log(text.join(' '), 'error');
                                            		setState("javascript.0.Ereignisliste.event",'ERROR|'+text.join(' '));
                                            	}
                                            }
                                            // ########################################################################################################
                                            // Lokale TypeScript Definitionen
                                            // ########################################################################################################
                                            import request = require("request");
                                            
                                            var Pollenarten:string[] = ['Erle','Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia'];
                                            
                                            function strip_tags(data:string):string {
                                                var rueckgabe:string = data.replace(/( |<([^>]+)>)/ig, "");
                                                return(rueckgabe);
                                            }
                                            
                                            function GetPollenIndex(pflanze:string, html:string):number {
                                                var code ={'kein':0, 'schwach':1, 'mäßig':2, 'stark':3}; 
                                                var result:string= "";
                                                var start:number =html.indexOf(pflanze)+pflanze.length;
                                            
                                                result=html.slice(start);
                                                result=result.trim();
                                            	//logDebug('result for ',pflanze,html.slice(0,600));
                                                var stop:number =result.indexOf(' ');
                                                result=result.slice(0,stop);
                                                //logDebug('pflanze=',pflanze,'code=',result);
                                                return code[result];
                                            }
                                            
                                            function initializePollenwetter():void {
                                                for(var i=0;i<pollenarten.length;i++) {/createstate("wetter.pollenvorhersage."+pollenarten[i].tolowercase(),0,false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/read:/true,/write:/false});/}/readpollenwetter();/function/readpollenwetter():void/logdebug("start");/try/request(options,/(error,/response,/body):void/if/(!error/&&/response.statuscode="=" 200)/kein/fehler,/inhalt/in/body/'/');/'');/var/start:number="body.indexOf('<ul" id="pollentable">');
                                            				if (start>-1) { body=body.slice(start); }
                                                            body=strip_tags(body);
                                            				//logDebug('body',body);
                                                            for(var i=0;i<pollenarten.length;i++) 0/5/{/setstate("wetter.pollenvorhersage."+pollenarten[i].tolowercase(),getpollenindex(pollenarten[i],body));/}/else/loginfo("statuscode="+response.statusCode);
                                                            logError(error);                               // Error beim Einlesen
                                                        }
                                                    });
                                                } catch (e) {
                                                    logError('Fehler (try) leseWebseite: ' + e);
                                                }
                                            }
                                            
                                            initializePollenwetter();
                                            schedule(" */*",/readpollenwetter);<e=""></pollenarten.length;i++)></pollenarten.length;i++)>`[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            782
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            266
                                            44143
                                            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