Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Wunsch: Pollenflug-(Adapter/wasauchimmer)

NEWS

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

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

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

Wunsch: Pollenflug-(Adapter/wasauchimmer)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
266 Beiträge 43 Kommentatoren 53.9k Aufrufe 19 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    Romö
    schrieb am zuletzt editiert von
    #53

    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 Antwort Letzte Antwort
    0
    • lobomauL Offline
      lobomauL Offline
      lobomau
      schrieb am zuletzt editiert von
      #54

      @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]
      ``` ` 

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      1 Antwort Letzte Antwort
      0
      • ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #55

        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 Antwort Letzte Antwort
        0
        • R Offline
          R Offline
          robsdobs
          schrieb am zuletzt editiert von
          #56

          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]
          

          Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

          1 Antwort Letzte Antwort
          0
          • R Offline
            R Offline
            Romö
            schrieb am zuletzt editiert von
            #57

            Hallo robsdobs,

            ich komm mit deinem Script nicht klar. Es enthält globale und lokale Teile. Wo soll ich was speichern.

            Wäre toll wenn Du mir helfen könntest.

            Gruß

            Romö

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              robsdobs
              schrieb am zuletzt editiert von
              #58

              Du kannst alles komplett in einem Script unter common lassen.

              Ich habe die Teile, welche bei mir global sind reinkopiert.

              Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                DiJaexxl
                schrieb am zuletzt editiert von
                #59

                Hallo, ich habe die Zeile mit Pollen in Dresen noch ausgetauscht.

                Aber ich bekomme folgende Log Fehlermeldungen:

                javascript.1	2018-01-21 13:05:40.127	error	ERROR: Property 'replaceAll' does not exist on type 'String'.
                javascript.1	2018-01-21 13:05:40.127	error	^
                javascript.1	2018-01-21 13:05:40.127	error	String.prototype.replaceAll = function(this: string, find: string, replace: string): string {
                javascript.1	2018-01-21 13:05:40.127	error	script.js.Test.Pollen_test: TypeScript compilation failed:
                javascript.1	2018-01-21 13:05:40.112	info	script.js.Test.Pollen_test: compiling TypeScript source...
                
                

                Gruss aus Bensberg

                Dirk

                1 Antwort Letzte Antwort
                0
                • R Offline
                  R Offline
                  robsdobs
                  schrieb am zuletzt editiert von
                  #60

                  Danke für die Rückmeldung. Ich habe das Script oben nochmal angepasst.

                  Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    DiJaexxl
                    schrieb am zuletzt editiert von
                    #61

                    Hallo,

                    mmmmmh. Mache ich was Falsch?

                    Das wirft mein Logfile raus:

                    javascript.0	2018-01-26 19:50:35.479	error	ERROR: Property 'replaceAll' does not exist on type 'String'.
                    javascript.0	2018-01-26 19:50:35.479	error	^
                    javascript.0	2018-01-26 19:50:35.479	error	String.prototype.replaceAll = function(this: string, find: string, replace: string): string {
                    javascript.0	2018-01-26 19:50:35.479	error	ERROR: Property 'replaceAll' does not exist on type 'String'.
                    javascript.0	2018-01-26 19:50:35.479	error	^
                    javascript.0	2018-01-26 19:50:35.479	error	if (typeof String.prototype.replaceAll === 'undefined') {
                    javascript.0	2018-01-26 19:50:35.479	error	script.js.Test.Pollen_test: TypeScript compilation failed: 
                    

                    Ergebnisse kommen aber leider nicht raus

                    Gruss aus Bensberg

                    Dirk

                    1 Antwort Letzte Antwort
                    0
                    • I Offline
                      I Offline
                      ioTechnik
                      schrieb am zuletzt editiert von
                      #62

                      Hallo robsdobs

                      Ich habe das gleiche Problem wie DiJaexxl. Dabei hoffte ich, dass Dein Script angepasst ist, wie Du beschrieben hast.

                      Ist es das Script aus Beitrag oben

                      http://forum.iobroker.net/viewtopic.php … 40#p115126

                      Geht bei mir leider nicht

                      Wäre sehr dankbar für weitere Unterstützung

                      Habe das für Testzwecke auf nem Pi1. Der neue kommt erst heute.

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        robsdobs
                        schrieb am zuletzt editiert von
                        #63

                        Ok, schaue ich mir heute Abend an.

                        Gesendet von meinem A0001 mit Tapatalk

                        Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          Knusterus
                          schrieb am zuletzt editiert von
                          #64

                          hallo

                          Ich hänge mich mal mit rein. Ich scheitere leider schon beim Enginetyp. Bei mir steht nur "Blocky, Javascript und Coffeescript.

                          So habe jetzt den JS. Adapter aktualisiert jetzt habe ich auch Typescript.

                          Jetzt habe ich den Pollenteil unter Common in ein neues Skript eigefügt. Und bekomme folgenden Fehler.

                          `Log
                          17:57:20.989	[info]	javascript.0 script.js.common.Pollen: compiling TypeScript source...
                          17:57:20.989	[error]	javascript.0 script.js.common.Pollen: TypeScript compilation failed: createStateG("wetter.pollenvorhersage."+Pollenarten[i].toLowerCase(),0,'number','value','Pollenart '+Pollenarten[i]); ^ ERROR: Cannot find name 'createStateG'. Did you mean 'createState'? request(options, function (error, response, body):void { ^ ERROR: Cannot find name 'request'. Did you mean 'Request'? logInfo("StatusCode="+response.statusCode); ^ ERROR: Cannot find name 'logInfo'. logError(error); // Error beim Einlesen ^ ERROR: Cannot find name 'logError'. Did you mean 'onerror'? logError('Fehler (try) leseWebseite: ' + e); ^ ERROR: Cannot find name 'logError'. Did you mean 'onerror'?` 
                          
                          Hier noch mal mein Script.
                          
                          `~~[code]~~var Pollenarten:string[] = ['Erle','Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia'];
                          
                          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'
                            }
                          };
                          
                          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++) {/createstateg("wetter.pollenvorhersage."+pollenarten[i].tolowercase(),0,'number','value','pollenart/'+pollenarten[i]);/}/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++)>`
                          
                          Bitte um Hilfe
                          
                          Knusterus[/i][/i][/i][/i][/code][/i][/i]
                          
                          1 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            robsdobs
                            schrieb am zuletzt editiert von
                            #65

                            @ioTechnik und @DiJaexxl mir ist zwar nicht ganz klar wo der Fehler herkommt, ich habe jetzt eine Version ohne replaceAll erstellt.

                            @Knusterus: In deinem Script fehlen die Grundfunktionen. Probiere Bitte auch mal dieses Script.

                            `// ########################################################################################################
                            // 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 {
                                logDebug('initialize Pollenwetter, creating states');
                                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});/}/logdebug('initiale/read');/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]
                            

                            Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              DiJaexxl
                              schrieb am zuletzt editiert von
                              #66

                              Hallo robsdobs,

                              jetzt geht es. DANKE!

                              Gruss aus Bensberg

                              Dirk

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                Knusterus
                                schrieb am zuletzt editiert von
                                #67

                                Hallo robsdobs

                                Prima Danke jetzt funktioniert es bei mir auch.

                                Vielen Dank

                                Knusterus

                                1 Antwort Letzte Antwort
                                0
                                • I Offline
                                  I Offline
                                  ioTechnik
                                  schrieb am zuletzt editiert von
                                  #68

                                  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

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    Superdad
                                    schrieb am zuletzt editiert von
                                    #69

                                    @robsdobs

                                    Funktioniert super, vielen Dank!

                                    CCU3

                                    iOBroker auf IntelNUC Proxmox

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      Conquest
                                      schrieb am zuletzt editiert von
                                      #70

                                      @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 ioTechnik, hatte den Fehler auch es muss Typescript ausgewählt werden sonst funktioniert es nicht.

                                      Gruß Torsten

                                      1 Antwort Letzte Antwort
                                      0
                                      • C Offline
                                        C Offline
                                        Conquest
                                        schrieb am zuletzt editiert von
                                        #71

                                        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 Antwort Letzte Antwort
                                        0
                                        • R Offline
                                          R Offline
                                          robsdobs
                                          schrieb am zuletzt editiert von
                                          #72

                                          @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

                                          Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

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


                                          Support us

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

                                          361

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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