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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skript Pollenflug

NEWS

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

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

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

Skript Pollenflug

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 5 Kommentatoren 1.1k Aufrufe 6 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.
  • sigi234S sigi234

    @ro75

    Super, eine Ausgabe als json-table wäre noch toll.

    Ro75R Offline
    Ro75R Offline
    Ro75
    schrieb am zuletzt editiert von
    #3

    @sigi234 das sollte kein Problem sein.

    Ro75.

    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

    1 Antwort Letzte Antwort
    1
    • sigi234S sigi234

      @ro75

      Super, eine Ausgabe als json-table wäre noch toll.

      Ro75R Offline
      Ro75R Offline
      Ro75
      schrieb am zuletzt editiert von
      #4

      @sigi234 Ich habe das Skript im ersten Post aktualisiert. Jetzt mit JSON.

      Ro75.

      SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

      1 Antwort Letzte Antwort
      1
      • HomoranH Offline
        HomoranH Offline
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #5

        @Ro75

        zur Info:
        Es gab vor 10 Jahren mal ein Skript von @pix .
        Da wurden die Pollenflugdaten auch von wetterdotcom geholt.

        Irgendwann wurde das geblockt.

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        Ro75R 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @Ro75

          zur Info:
          Es gab vor 10 Jahren mal ein Skript von @pix .
          Da wurden die Pollenflugdaten auch von wetterdotcom geholt.

          Irgendwann wurde das geblockt.

          Ro75R Offline
          Ro75R Offline
          Ro75
          schrieb am zuletzt editiert von Ro75
          #6

          @homoran das kenn ich nicht. Das läuft bei mir nun über 1 Jahr. Vielleicht wurde in dem anderen Skript zu oft nach Daten "gegraben". Ich hole nur 3x am Tag Daten ab - das reicht völlig. Ich lasse mich überraschen.

          EDIT: Alternativ könnte man ja einen wechselnden USER-Agenten implementieren.

          Ro75.

          SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

          ? 1 Antwort Letzte Antwort
          0
          • Ro75R Ro75

            @homoran das kenn ich nicht. Das läuft bei mir nun über 1 Jahr. Vielleicht wurde in dem anderen Skript zu oft nach Daten "gegraben". Ich hole nur 3x am Tag Daten ab - das reicht völlig. Ich lasse mich überraschen.

            EDIT: Alternativ könnte man ja einen wechselnden USER-Agenten implementieren.

            Ro75.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #7

            @ro75

            es gibt auch einen Adapter... der holt nicht alle Pollen..

            Ro75R HomoranH 2 Antworten Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @ro75

              es gibt auch einen Adapter... der holt nicht alle Pollen..

              Ro75R Offline
              Ro75R Offline
              Ro75
              schrieb am zuletzt editiert von Ro75
              #8

              @ilovegym sagte in Skript Pollenflug:

              der holt nicht alle Pollen

              genau. Das Skript kann alle abholen. Oder man ändert einfach "const aPollen" an, in dem man nur die Pollen in dem Array hat, die man braucht.

              z.B.

              const aPollen   = 'Ambrosia,Birke,Brennnessel,Buche,Gräser,Hasel,Holunder,Kiefer,Kieferngewächse,Platane,Roggen,Schimmel,Tanne,Ulme,Walnuss,Wegerich,Weide'
              

              Ro75.

              SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

              1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @ro75

                es gibt auch einen Adapter... der holt nicht alle Pollen..

                HomoranH Offline
                HomoranH Offline
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von Homoran
                #9

                @ilovegym sagte in Skript Pollenflug:

                der holt nicht alle Pollen..

                weil der die offenen Daten des DWD nutzt und es dort nicht mehr Pollenarten gibt

                @Ro75 zur Info

                /* 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/koeln";
                var pfad = "WetterOnline.pollenvorhersage.";
                var logging = false;
                
                // ab hier nix ändern
                var Pollenarten = ['Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Graeser','Eiche','Wegerich','Beifuss','Ambrosia', 'Erle'];
                var tage_vorhersage = ['heute','morgen','uebermorgen'];
                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 ' + tage_vorhersage[y] + ' ' + Pollenarten[i],
                           desc: 'Vorhersage für Pollenbelastung für ' + tage_vorhersage[y] + ' durch ' + Pollenarten[i],
                           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++) {
                                   setState(pfad + tage_vorhersage[x] + '.' + Pollenarten[i].toLowerCase(),{val: GetPollenIndex(Pollenarten[i],body), ack: true});
                                   if (logging) log(Pollenarten[i].toLowerCase() + ' ' + GetPollenIndex(Pollenarten[i],body));
                               }
                           } else {
                               log("StatusCode="+response.statusCode);
                               log(error,'error');                               // Error beim Einlesen
                           }
                       });
                   } catch (e) {
                       log('Fehler (try) leseWebseite: ' + e, 'error');
                   }
                }
                
                function strip_tags(data) {
                   var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
                   return(rueckgabe);
                }
                
                function GetPollenIndex(pflanze, html) {
                   var code={'kein':0, 'schwach':1, 'mäßig':2, 'stark':3}; 
                   var result="";
                   var start=html.indexOf(pflanze)+pflanze.length;
                   result=html.slice(start);
                   result=result.trim();
                   var stop=result.indexOf(' ');
                   result=result.slice(0,stop);
                   return code[result];
                }
                
                String.prototype.replaceAll = function(find, replace) {
                   var str = this;
                   return str.replace(new RegExp(find.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"), 'g'), replace);
                };
                
                function tag (abstand) { // 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 * abstand) ); // heute + anzahl tage ins Millisekunden
                   var date = newdate.getDate();
                   var month = newdate.getMonth()+1;
                   var year = newdate.getFullYear();
                   date = (date < 10) ? '0' + date : date;
                   month = (month < 10) ? '0' + month : month;
                   var rueckgabe = year.toString()+month.toString()+date.toString();
                   if (logging) log('Datum in Link: ' + rueckgabe);
                   return (rueckgabe); // Ausgabe z.B. 20160506
                }
                
                // alle Tage aus dem Array durchgehen (x)
                function main() {
                   for (var x = 0; x < tage_vorhersage.length; x++) {
                       dpAnlegen(x);
                       readPollenwetter(x);
                   }
                }
                
                main();
                schedule("*/5 * * * *", main);
                

                sehe gerade, das war wetteronline!
                Sorry!

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • NashraN Offline
                  NashraN Offline
                  Nashra
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von
                  #10

                  Hallo @Ro75
                  welche Widgets hast Du für die Darstellung genutzt?

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

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

                  Ro75R 1 Antwort Letzte Antwort
                  0
                  • NashraN Nashra

                    Hallo @Ro75
                    welche Widgets hast Du für die Darstellung genutzt?

                    Ro75R Offline
                    Ro75R Offline
                    Ro75
                    schrieb am zuletzt editiert von
                    #11

                    @nashra in dem Fall habe ich Grafana benutzt. Man kann ja einzelne DP historisieren und dann mit Flot, ECharts oder Material Design anzeigen lassen. Alternativ gibt es noch ein JSON für ein JSON-Widget.

                    Ro75

                    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                    NashraN 1 Antwort Letzte Antwort
                    0
                    • Ro75R Ro75

                      @nashra in dem Fall habe ich Grafana benutzt. Man kann ja einzelne DP historisieren und dann mit Flot, ECharts oder Material Design anzeigen lassen. Alternativ gibt es noch ein JSON für ein JSON-Widget.

                      Ro75

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

                      @ro75 sagte in Skript Pollenflug:

                      @nashra in dem Fall habe ich Grafana benutzt. Man kann ja einzelne DP historisieren und dann mit Flot, ECharts oder Material Design anzeigen lassen. Alternativ gibt es noch ein JSON für ein JSON-Widget.

                      Ro75

                      Ah, alles klar. Sah so aus als wenn das Widgets sind aber Grafana habe ich ja auch und versuchs mal damit, danke.

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

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

                      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

                      469

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      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