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.
    • C
      Conquest last edited by

      Hallo robsdops, erstmal danke für das Script so funktioniert es wieder mit der Pollenflug-Anzeige. Wollte noch fragen ob du das Script um die Tage morgen und übermorgen erweitern kannst so wie bei dem alten Script?

      Wäre super.

      Gruß Torsten

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

        @ioTechnik:

        Hallo robsdobs

        Ich bin dabei Dein neues Script auszuprobieren, bekomme aber folgenden Log-Eintrag

        Log

        14:47:56.624 [info] javascript.0 Start javascript script.js.common.WetterOnline

        14:47:56.624 [error] javascript.0 script.js.common.WetterOnline compile failed: at script.js.common.WetterOnline:35

        Was mache ich noch falsch?

        Liegt es an der falschen Script-Engine (3.5.1): kann momentan nur Javasript und Coffeescript… auswählen.

        Es war ja weiter oben von Typescript die Rede.

        Oder habe ich das Script in der falschen Gruppe (common oder global oder keins von beiden)

        Danke `
        Hallo,

        laut changelog wurde typescript mit 3.5.1 eingefügt. Wenn du es aber nicht auswählen kannst, ist es vielleicht doch erst später freigeschaltet worden. Ich würde aber mindestens 3.6.0 empfehlen.

        Gruß

        Robert

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

          Hier die Abfrage der PollenInfos für heute und die folgenden Tage.

          Vorbereitung:

          Es wird der Javascript Adapter benötigt und in diesem das "request" modul:
          1367_request.png

          Das Script ist vom Typ TypeScript, daher muss der richtige Engine Typ gewählt werden.
          1367_enginetyp.png

          In dieser Zeile trägt man den Standort ein:

          var baseUrl: string = "https://www.wetteronline.de/pollen/perg";

          Hier ist jetzt das Script:

          `// ########################################################################################################
          // Polleninfo auswerten heute und die nächsten Tage
          // Version 1.52
          // ########################################################################################################
          // @ts-check
          "use strict";
          ///< script> var exports = {}; < / script>
          
          /**************************************************************************************************
          * Initiale Optionen
          **************************************************************************************************/
          //Welcher Ort soll abgefragt werden?
          var baseUrl: string = "https://www.wetteronline.de/pollen/perg";
          
          //Wo sollen die Daten unter javascript.0... abgelegt werden?
          var baseObjPath: string = 'wetter.pollenvorhersage.test';
          
          /**************************************************************************************************
          * Globale TypeScript Definitionen
          **************************************************************************************************/
          interface iRequestOptions {
          		url: string;
          		headers: any;
          }
          
          /**
           * 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.' + instance + '.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.' + instance + '.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.' + instance + '.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'];
          var tageVorhersage = ['d0','d1','d2','d3','d4','d5','d6'];
          var tageVorhersageName = ['heute','morgen','übermorgen','heute + 3','heute + 4','heute + 5','heute + 6'];
          
          function stripTags(data:string):string {
          	return data.replace(/( |<([^>]+)>)/ig, "");
          }
          
          function getDate(days: number): string { // Eingabe 0, 1, 2, ...
          	var jetzt = new Date();
          	jetzt.setHours(0);
          	jetzt.setMinutes(0);
          	jetzt.setSeconds(0);
          	jetzt.setMilliseconds(0);
          	var newdate = new Date();
          	newdate.setTime(jetzt.getTime() + (24 * 60 * 60 * 1000 * days) ); // heute + anzahl tage ins Millisekunden
          	var date :string = newdate.getDate().toString();
          	var month: string = (newdate.getMonth()+1).toString();
          	var year: string = newdate.getFullYear().toString();
          	date = (date.length < 2) ? '0' + date : date;
          	month = (month.length < 2) ? '0' + month : month;
          	var result:string = year+month+date;
          	logDebug('Datum in Link: ', result);
          	return (result); // Ausgabe z.B. 20160506
          }
          
          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(baseObj:string, name:string):void {
          	createState(baseObj, '', false, {
          		name: name,
          		type: "string",
          		role: 'json',
          		desc: 'Pollenflug',
          		read: true,
          		write: false});
          
          	for(let i=0;i<pollenarten.length;i++) {/createstate(baseobj/+/'.'/pollenarten[i].tolowercase(),/0,/false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/desc:/'/read:/true,/write:/false});/}/createstate(baseobj+'.count.gt0',/'anzahl/pollen/größer/0',/pollen',/for(let/i="0;i<4;i++)" createstate(baseobj+'.text.'+i.tostring(),/'',/'liste/größern/string(i),/"string",/'text',/'pollenübersicht',/createstate(baseobj+'.html.'+i.tostring(),/string(i)/(html)',/'html',/createstate(baseobj+'.count.'+i.tostring(),/mit/*/function/removeoldpollenwetter():void/for(var/deletestate(baseobjpath/pollenarten[i].tolowercase());/readpollenwetterforday(day:number,/baseobj:string):void/logdebug("start",day,baseobj);/try/var/options:irequestoptions="{" url:/((day="">0) ? baseUrl + '?fcdatstr=' + getDate(day) : baseUrl), // korrekten Link erstellen ,
          			headers: {
          				'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
          			}
          		};
          		request(options, function (error, response, body):void {
          			if (!error && response.statusCode == 200) {			  // kein Fehler, Inhalt in body
          				body=body.replace(/\t/g, ' ');
          				body=body.replace(/(\n|\r)/g, '');
          				var start:number =body.indexOf('</pollenarten.length;i++)>`
          
          `');
          				if (start>-1) { body=body.slice(start); }
          				body=stripTags(body);
          				//logDebug('body',body);
          				let pobj:any = {};
          				let pot = ['','','',''];
          				let poh = ['','','',''];
          				let poc = [0,0,0,0];
          				let cnt =0;
          				for(let i=0;i<pollenarten.length;i++) {/let/pi:number="GetPollenIndex(Pollenarten[i],body);" pobj[pollenarten[i].tolowercase()]="pi;" if/(pi="">0) { cnt++; }
          					poc[pi]++;
          					pot[pi] = pot[pi] + Pollenarten[i] + '\r\n';
          					poh[pi] = poh[pi] + Pollenarten[i] + '
          ';
          					setState(baseObj+'.'+Pollenarten[i].toLowerCase(),pi);
          				}
          				setState(baseObj+'.count.gt0',cnt);
          				for(let i=0;i<4;i++) {
          					setState(baseObj+'.text.'+i.toString(),pot[i]);
          					setState(baseObj+'.html.'+i.toString(),poh[i]);
          					setState(baseObj+'.count.'+i.toString(),poc[i]);
          				}
          				setState(baseObj,JSON.stringify(pobj));
          			} else {
          				logInfo("StatusCode="+response.statusCode);
          				logError(error);							   // Error beim Einlesen
          			}
          		});
          	} catch (e) {
          		logError('Fehler (try) leseWebseite: ' + e);
          	}
          }
          
          function readPollenwetter() {
          	for (let d:number = 0; d < tageVorhersage.length; d++) {
          		let path: string = baseObjPath + '.' + tageVorhersage[d];
          		initializePollenwetter(path, tageVorhersageName[d]);
          		readPollenwetterForDay(d, path);
          	}
          }
          
          //removeOldPollenwetter();
          readPollenwetter();
          
          /*
           # *  *  * *  *  command to execute
           # ¦ ¦ ¦ ¦ ¦
           # ¦ ¦ ¦ ¦ ¦
           # ¦ ¦ ¦ ¦ +----- day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
           # ¦ ¦ ¦ +---------- month (1 - 12)
           # ¦ ¦ +--------------- day of month (1 - 31)
           # ¦ +-------------------- hour (0 - 23)
           # +------------------------- min (0 - 59)
          */
          schedule("5 0 * * *", readPollenwetter);</pollenarten.length;i++)>` 
          
          
          1 Reply Last reply Reply Quote 0
          • I
            ioTechnik last edited by

            Hallo robsdobs

            Vielen Dank für das Script. Es Funzt jetzt endlich.

            Es hat sich, wie ich befürchtet habe, um die Einstellung "Typescript" gehandelt.

            Leider wurde typescript in meiner Installation nicht mit eingerichtet. (image aus dem Downloadbereich)

            Egal es funktioniert.

            Danke

            1 Reply Last reply Reply Quote 0
            • I
              ioTechnik last edited by

              Hallo robsdobs

              Dein Script funktioniert super. Vielen Dank!

              Aber

              Kannst Du mir erklären warum dein schedule nicht funktioniert. Habe es gerade noch mal neu gestartet. Immer mit dem glichen Ergebnis.

              Jede Minute werden die Daten neu geladen.

              Gruß ioTechnik

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

                @ioTechnik:

                Hallo robsdobs

                Dein Script funktioniert super. Vielen Dank!

                Aber

                Kannst Du mir erklären warum dein schedule nicht funktioniert. Habe es gerade noch mal neu gestartet. Immer mit dem glichen Ergebnis.

                Jede Minute werden die Daten neu geladen.

                Gruß ioTechnik `
                Hallo ioTechnik,

                kann ich leider nicht nachvollziehen. Bei mir läuft es wie gewünscht.

                Das

                schedule("5 0 * * *", readPollenwetter);
                

                ist folgendermaßen definiert:

                /*
                 # *  *  * *  *  command to execute
                 # ¦ ¦ ¦ ¦ ¦
                 # ¦ ¦ ¦ ¦ ¦
                 # ¦ ¦ ¦ ¦ +----- day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
                 # ¦ ¦ ¦ +---------- month (1 - 12)
                 # ¦ ¦ +--------------- day of month (1 - 31)
                 # ¦ +-------------------- hour (0 - 23)
                 # +------------------------- min (0 - 59)
                */
                

                Zusätzlich wird das Script zusätzlich bei jedem Speichern auch ausgeführt um die Datenpunkte sofort zu füllen und mögliche Fehler gleich zu sehen.. Hast du mehrfach gespeichert?

                Gruß

                Robert

                1 Reply Last reply Reply Quote 0
                • I
                  ioTechnik last edited by

                  Hallo robsdobs

                  Das Cron-Schema ist mir schon bekannt. Steht ja auch so in Deinem Script.

                  Und in anderen Instanzen laufen die auch nach dem jeweils eingestellten Cron-Job, nur hier nicht.

                  Ich habe gerade noch mal einen Scriptvergleich durchgeführt. Es gibt nur eine einzige Änderung und das ist die Festlegung der Region.

                  Bei Dir "Bad Arolsen" bei mir "Quedlinburg"

                  Was meinst Du mit dem "…nach jedem Speichern..."

                  Ich speichere wissentlich nirgends etwas. Nicht mal als history.

                  Heute morgen ist mein Raspibroker unerklärlicherweise abgestürzt. Nach dem Neustart zeigt sich aber das gleiche Bild.

                  Gruß Bernhard

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

                    Mit speichern meine ich den Button über dem Script.
                    1367_2018-03-07_21h48_56.png

                    Die rot umrandeten Zeilen sorgen dafür, dass das Script beim Speichern, Adapter Neustart, IOBroker Naustart, etc. ausgeführt wird.

                    Bitte kommentiere diese beiden Zeilen mal wie im Bild aus ("//" voranstellen) und schau mal ob es jetzt wirklich nur wie scheduled läuft.

                    1 Reply Last reply Reply Quote 0
                    • L
                      ludino last edited by

                      Hallo,

                      ich nutze dieses Script.

                      ! ```
                      `// ########################################################################################################
                      // Polleninfo auswerten heute und die nächsten Tage
                      // Version 1.4
                      // ########################################################################################################
                      ! /**************************************************************************************************

                      • Initiale Optionen
                        **************************************************************************************************/
                        interface iRequestOptions {
                        url: string;
                        headers: any;
                        }

                      ! var baseUrl: string = "https://www.wetteronline.de/pollen/bad-arolsen";
                      var baseObjPath: string = 'wetter.pollenvorhersage';
                      ! /**************************************************************************************************

                      • 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'];
                      var tageVorhersage = ['d0','d1','d2','d3','d4','d5'];
                      var tageVorhersageName = ['heute','morgen','übermorgen','heute + 3','heute + 4','heute + 5'];
                      ! function stripTags(data:string):string {
                      return data.replace(/( |<([^>]+)>)/ig, "");
                      }
                      ! function getDate(days: number): string { // Eingabe 0, 1, 2, ...
                      var jetzt = new Date();
                      jetzt.setHours(0);
                      jetzt.setMinutes(0);
                      jetzt.setSeconds(0);
                      jetzt.setMilliseconds(0);
                      var newdate = new Date();
                      newdate.setTime(jetzt.getTime() + (24 * 60 * 60 * 1000 * days) ); // heute + anzahl tage ins Millisekunden
                      var date :string = newdate.getDate().toString();
                      var month: string = (newdate.getMonth()+1).toString();
                      var year: string = newdate.getFullYear().toString();
                      date = (date.length < 2) ? '0' + date : date;
                      month = (month.length < 2) ? '0' + month : month;
                      var result:string = year+month+date;
                      logDebug('Datum in Link: ', result);
                      return (result); // Ausgabe z.B. 20160506
                      }
                      ! 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(baseObj:string, name:string):void {
                      createState(baseObj,0,false, {
                      name: name,
                      type: "string",
                      role: 'json',
                      read: true,
                      write: false});
                      ! for(var i=0;i<pollenarten.length;i++) {/createstate(baseobj/+/'.'/pollenarten[i].tolowercase(),0,false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/read:/true,/write:/false});/}/function/removeoldpollenwetter():void/for(var/i="0;i<Pollenarten.length;i++)" deletestate(baseobjpath/pollenarten[i].tolowercase());/readpollenwetterforday(day:number,/baseobj:string):void/logdebug("start");/try/var/options:irequestoptions="{" url:/((day="">0) ? baseUrl + '?fcdatstr=' + getDate(day) : baseUrl), // korrekten Link erstellen ,
                      headers: {
                      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                      }
                      };
                      request(options, function (error, response, body):void {
                      if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
                      body=body.replace(/\t/g, ' ');
                      body=body.replace(/(\n|\r)/g, '');
                      var start:number =body.indexOf('</pollenarten.length;i++)>!');
                      if (start>-1) { body=body.slice(start); }
                      body=stripTags(body);
                      //logDebug('body',body);
                      let pobj:any = {};
                      for(let i=0;i<pollenarten.length;i++) 0/5/{/let/pi:number="GetPollenIndex(Pollenarten[i],body);" pobj[pollenarten[i].tolowercase()]="pi;" setstate(baseobj+'.'+pollenarten[i].tolowercase(),pi);/}/setstate(baseobj,json.stringify(pobj));/else/loginfo("statuscode="+response.statusCode);
                      logError(error); // Error beim Einlesen
                      }
                      });
                      } catch (e) {
                      logError('Fehler (try) leseWebseite: ' + e);
                      }
                      }
                      ! function readPollenwetter() {
                      for (let d:number = 0; d < tageVorhersage.length; d++) {
                      let path: string = baseObjPath + '.' + tageVorhersage[d];
                      initializePollenwetter(path, tageVorhersageName[d]);
                      readPollenwetterForDay(d, path);
                      }
                      }
                      ! removeOldPollenwetter();
                      readPollenwetter();
                      schedule(" /",/readpollenwetter);<e=""></pollenarten.length;i++)> ! [http://www.wetteronline.de/pollen/warstein](http://www.wetteronline.de/pollen/warstein) ! >! ~~[spoiler]~~~~[code]~~javascript.0 2018-03-16 07:54:28.199 warn Object for state "wetter.pollenvorhersage.ambrosia" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.199 warn Object for state "wetter.pollenvorhersage.beifuß" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.198 warn Object for state "wetter.pollenvorhersage.wegerich" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.197 warn Object for state "wetter.pollenvorhersage.eiche" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.197 warn Object for state "wetter.pollenvorhersage.gräser" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.196 warn Object for state "wetter.pollenvorhersage.roggen" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.195 warn Object for state "wetter.pollenvorhersage.ampfer" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.194 warn Object for state "wetter.pollenvorhersage.buche" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.191 warn Object for state "wetter.pollenvorhersage.birke" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.190 warn Object for state "wetter.pollenvorhersage.ulme" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.189 warn Object for state "wetter.pollenvorhersage.weide" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.189 warn Object for state "wetter.pollenvorhersage.pappel" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.188 warn Object for state "wetter.pollenvorhersage.hasel" does not exist: Not exists
                      javascript.0 2018-03-16 07:54:28.186 warn Object for state "wetter.pollenvorhersage.erle" does not exist: Not exists[/code][/spoiler] ! >! ~~[spoiler]~~ ~~[quote]~~javascript.0 2018-03-16 07:58:00.895 debug script.js.wetter.pollenflug: pflanze= Ulme code= kein
                      ! javascript.0 2018-03-16 07:58:00.895 debug script.js.wetter.pollenflug: pflanze= Weide code= kein
                      ! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Pappel code= kein
                      ! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Hasel code= kein
                      ! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Erle code= schwach [/spoiler]
                      ! 4298_heute.png
                      ! 4298_morgen.png
                      ! 4298_uebermorgen.png
                      ! ```

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

                        Vielleicht waren die Objekte bei dir beim ersten Lauf noch nicht angelegt. Mal das Script gestoppt (grünen Pause knopf) und nochmal gestartet (roten Play Knopf)?

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

                          Hallo zusammen

                          Die Polleninfo interessiert mich auch sehr…

                          Bin aber in Sachen Skripte mit Java und das ganze Programmieren noch ein Anfänger!!

                          Ich brauche das eine Schritt für Schritt Anleitung! (eine für blöde)

                          Ich habe das Skript Genomen vom robsdods
                          @robsdobs:

                          spoerl.torsten hat geschrieben:Hallo robsdops, erstmal danke für das Script so funktioniert es wieder mit der Pollenflug-Anzeige. Wollte noch fragen ob du das Script um die Tage morgen und übermorgen erweitern kannst so wie bei dem alten Script?Wäre super.Gruß TorstenJa ist möglich: `

                          ! ```
                          `// ########################################################################################################
                          // Polleninfo auswerten heute und die nächsten Tage
                          // Version 1.4
                          // ########################################################################################################
                          ! /**************************************************************************************************

                          • Initiale Optionen
                            **************************************************************************************************/
                            interface iRequestOptions {
                            url: string;
                            headers: any;
                            }

                          ! var baseUrl: string = "https://www.wetteronline.de/pollenvorhersage?gid=a4320";
                          var baseObjPath: string = 'wetter.pollenvorhersage';
                          ! /**************************************************************************************************

                          • 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'];
                          var tageVorhersage = ['d0','d1','d2','d3','d4','d5'];
                          var tageVorhersageName = ['heute','morgen','übermorgen','heute + 3','heute + 4','heute + 5'];
                          ! function stripTags(data:string):string {
                          return data.replace(/( |<([^>]+)>)/ig, "");
                          }
                          ! function getDate(days: number): string { // Eingabe 0, 1, 2, ...
                          var jetzt = new Date();
                          jetzt.setHours(0);
                          jetzt.setMinutes(0);
                          jetzt.setSeconds(0);
                          jetzt.setMilliseconds(0);
                          var newdate = new Date();
                          newdate.setTime(jetzt.getTime() + (24 * 60 * 60 * 1000 * days) ); // heute + anzahl tage ins Millisekunden
                          var date :string = newdate.getDate().toString();
                          var month: string = (newdate.getMonth()+1).toString();
                          var year: string = newdate.getFullYear().toString();
                          date = (date.length < 2) ? '0' + date : date;
                          month = (month.length < 2) ? '0' + month : month;
                          var result:string = year+month+date;
                          logDebug('Datum in Link: ', result);
                          return (result); // Ausgabe z.B. 20160506
                          }
                          ! 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(baseObj:string, name:string):void {
                          createState(baseObj,0,false, {
                          name: name,
                          type: "string",
                          role: 'json',
                          read: true,
                          write: false});
                          ! for(var i=0;i<pollenarten.length;i++) {/createstate(baseobj/+/'.'/pollenarten[i].tolowercase(),0,false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/read:/true,/write:/false});/}/function/removeoldpollenwetter():void/for(var/i="0;i<Pollenarten.length;i++)" deletestate(baseobjpath/pollenarten[i].tolowercase());/readpollenwetterforday(day:number,/baseobj:string):void/logdebug("start");/try/var/options:irequestoptions="{" url:/((day="">0) ? baseUrl + '?fcdatstr=' + getDate(day) : baseUrl), // korrekten Link erstellen ,
                          headers: {
                          'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                          }
                          };
                          request(options, function (error, response, body):void {
                          if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
                          body=body.replace(/\t/g, ' ');
                          body=body.replace(/(\n|\r)/g, '');
                          var start:number =body.indexOf('</pollenarten.length;i++)>!');
                          if (start>-1) { body=body.slice(start); }
                          body=stripTags(body);
                          //logDebug('body',body);
                          let pobj:any = {};
                          for(let i=0;i<pollenarten.length;i++) 0/5/{/let/pi:number="GetPollenIndex(Pollenarten[i],body);" pobj[pollenarten[i].tolowercase()]="pi;" setstate(baseobj+'.'+pollenarten[i].tolowercase(),pi);/}/setstate(baseobj,json.stringify(pobj));/else/loginfo("statuscode="+response.statusCode);
                          logError(error); // Error beim Einlesen
                          }
                          });
                          } catch (e) {
                          logError('Fehler (try) leseWebseite: ' + e);
                          }
                          }
                          ! function readPollenwetter() {
                          for (let d:number = 0; d < tageVorhersage.length; d++) {
                          let path: string = baseObjPath + '.' + tageVorhersage[d];
                          initializePollenwetter(path, tageVorhersageName[d]);
                          readPollenwetterForDay(d, path);
                          }
                          }
                          ! removeOldPollenwetter();
                          readPollenwetter();
                          schedule(" /",/readpollenwetter);<e=""></pollenarten.length;i++)>`
                          ! ```

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

                            @SmarthomeMF:

                            Brauch ich da noch einen Adapter dazu (Parser)? `
                            Nur den Javascript Adapter.

                            In diesem muss man aber "request" als "Zusätzliche NPM-Module" eintragen:
                            1367_request.png
                            damit das übernommen wird in die Zeile "request" reinschreiben und danach erstmal [ENTER] Taste drücken. Danach mit speichern verlassen (hat mich einiges gekostet darauf zu kommen).

                            @SmarthomeMF:

                            In der Zeile 14 habe ich meine Seite eingetragen für Perg Österreich.

                            Muss ich da noch mehr eintragen? `
                            Nein

                            @SmarthomeMF:

                            Zeile 9,10,11, und 14 bekomme ich noch eine Wahrung. `
                            Hast du den Enginetyp richtig?
                            1367_enginetyp.png
                            Der Enginetyp Typescript ist nur bei neueren Versionen des Javascript Adapters auswählbar. Ich habe die 3.6.4 laufen.

                            @SmarthomeMF:

                            Von wo nehme ich die Werte? `
                            Wenn du das Script startest:
                            1367_enginetyp.png
                            sollten im Tab Objete unter:

                            javascript.0.wetter.pollenvorhersage

                            Pro Tag ein Ordner mit den Pollenarten auftauchen.

                            Es kann sein das nach dem ersten starten dort überall 0 steht. Da dauert es dann etwas oder dann nochmal das Script stoppen und wieder starten.

                            1 Reply Last reply Reply Quote 0
                            • L
                              ludino last edited by

                              @robsdobs:

                              Vielleicht waren die Objekte bei dir beim ersten Lauf noch nicht angelegt. Mal das Script gestoppt (grünen Pause knopf) und nochmal gestartet (roten Play Knopf)? `

                              nein Leider hat es nichts gebracht.

                              verstehe es Richtig, das script zunehmen den Ort zu ändern, und zu speichern?

                              den Request habe ich gerade eingefügt.

                              Oder muss man noch was machen?

                              Gruß

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

                                @ludino:

                                verstehe es Richtig, das script zunehmen den Ort zu ändern, und zu speichern?

                                den Request habe ich gerade eingefügt.

                                Oder muss man noch was machen?

                                Gruß `

                                Nichts woran ich mich jetzt erinnere 🙂

                                Ich hatte bei mir auch mal "http://www.wetteronline.de/pollen/warstein" eingetragen und die Daten sind problemlos gekommen.

                                Hast du nach dem Eintragen vom "Request" mit Speichern die Einstellungen verlassen? Sollte dann etwas dauern, weil er das Modul im Hintergrund installiert. Vielleicht auch mal im Tab Log schauen ob alles geht.

                                Bitte danach die Adapter Einstellungen nochmal neu aufrufen ob das request immer noch drin steht. Ich hab bei mir mehrere Anläufe benötigt, weil das mit dem eintragen im Admin 3.x für mich nicht intuitiv war.

                                Wenn dort alles ok ist, das Script nochmal stoppen und starten. Danach nachschauen ob im Log irgendwelche Fehler auftauchen.

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

                                  Hallo

                                  Danke für die Tolle Anleitung.
                                  @robsdobs:

                                  In diesem muss man aber "request" als "Zusätzliche NPM-Module" eintragen: `
                                  ok~~@robsdobs:~~

                                  Hast du den Enginetyp richtig? `
                                  ok~~@robsdobs:~~

                                  sollten im Tab Objete unter:javascript.0.wetter.pollenvorhersagePro Tag ein Ordner mit den Pollenarten auftauchen. `
                                  ja sind da ….

                                  Aber beim Start des Skripte bekomme ich WARN

                                  ! ````
                                  16:28:49.483
                                  [info]
                                  javascript.0 script.js.common.Polleninfo: compiling TypeScript source...
                                  16:28:49.484
                                  [info]
                                  javascript.0 script.js.common.Polleninfo: TypeScript compilation successful
                                  16:28:49.484
                                  [info]
                                  javascript.0 script.js.common.Polleninfo: registered 0 subscriptions and 1 schedule
                                  16:28:50.219
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.222
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.226
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.229
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.232
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.236
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.239
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.242
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.245
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.247
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.252
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.256
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.260
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.263
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.267
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.270
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.275
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.278
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.281
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.283
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.286
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.289
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.291
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.294
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.298
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.302
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.305
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.308
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.311
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.313
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.316
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.319
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.322
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.324
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.326
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.328
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.331
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.333
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.336
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.337
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.340
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.342
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.344
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.346
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.348
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.351
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.353
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.364
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.366
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.367
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.369
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.371
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.373
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.375
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.376
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.378
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.380
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.381
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.383
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.385
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.386
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.388
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.389
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.391
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.392
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.394
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.395
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.397
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.398
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
                                  16:28:50.400
                                  [warn]
                                  javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)

                                  ich glaube er bekommt keine Daten…oder?~~@robsdobs:~~ 
                                  
                                  > Es kann sein das nach dem ersten starten dort überall 0 steht. Da dauert es dann etwas oder dann nochmal das Script stoppen und wieder starten `  
                                  habe ich schon mehrmals neu gestartet!
                                  
                                  Was hab ich da falsch gemacht?
                                  1 Reply Last reply Reply Quote 0
                                  • SmarthomeMF
                                    SmarthomeMF last edited by

                                    habe nun die Daten geprüft was angezeigt werden.

                                    für heute passt es …

                                    aber für die folgenden Tage wird überall der wert 0 angezeigt.

                                    auf der Homepage werden mehr angezeigt...

                                    https://www.wetteronline.de/pollen?fcda … paraid=Max

                                    Irgendwas geht da nicht!

                                    Hilfe blicke nicht ganz durch!

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

                                      @SmarthomeMF:

                                      habe nun die Daten geprüft was angezeigt werden.

                                      für heute passt es …

                                      aber für die folgenden Tage wird überall der wert 0 angezeigt.

                                      auf der Homepage werden mehr angezeigt...

                                      https://www.wetteronline.de/pollen?fcda … paraid=Max

                                      Irgendwas geht da nicht!

                                      Hilfe blicke nicht ganz durch! `
                                      Ich hab es für deinen Standort mal nachvollzogen.

                                      Mkit deiner Adresse funktioniert es nicht: https://www.wetteronline.de/pollen?fcda … paraid=Max

                                      Wenn man stattdessen folgende einträgt geht es: "https://www.wetteronline.de/pollen/perg";

                                      Gruß

                                      Robert

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

                                        @robsdobs:

                                        Wenn man stattdessen folgende einträgt geht es: "https://www.wetteronline.de/pollen/perg"; `
                                        Vielen Dank für die tolle Unterstützung hier…

                                        nun funktioniert das sehr gut.

                                        Danke für das tolle Skript.

                                        ich habe es so gelöst
                                        4668_unbenannt_18.png

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          ludino last edited by

                                          @ludino:

                                          Hast du nach dem Eintragen vom "Request" mit Speichern die Einstellungen verlassen? Sollte dann etwas dauern, weil er das Modul im Hintergrund installiert. Vielleicht auch mal im Tab Log schauen ob alles geht. `

                                          Jop ein tag gewartet, reingeschaut werte waren drin. Hat sich halt etwas geziert.

                                          Jetzt habe ich noch eine Frage zum Vis.

                                          Ist es möglich mir im Vis nur die Namen anzeigen zu lassen wo auch tatsächlich Pollenflug ist?

                                          Ich stelle es mir so vor, ich habe eine Status Seite mit einem Grünen, Gelben, Roten Punkt. Jenachdem welche Pollen fliegen neben diesen Punkte steht was für pollen fliegen. Grün (für Status 1 Schwach….... etc)

                                          Also sowas hier
                                          4298_pollen_warnung_final.jpg

                                          Wie das der Kollege gemacht hat.

                                          Gruß

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

                                            Ob es mit vis direkt geht weiß ich nicht.

                                            Wenn ich heute Abend Zeit finde, kann ich im Script auch noch eine Zusammenfassung pro Stufe für jeden Tag einfügen.

                                            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

                                            884
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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