Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    883

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Skript Pollenflug

Scheduled Pinned Locked Moved JavaScript
12 Posts 5 Posters 1.3k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ro75R Offline
    Ro75R Offline
    Ro75
    wrote on last edited by Ro75
    #1

    Hallo. Heute stelle ich euch einmal mein Skript "Pollenflug" vor. Dieses Skript liest Daten einer Website (in diesem Falle www.wetter.com) aus. Es ermittelt wie auch andere Skripts (z.B. Wetter, Luftdaten, Biowetter, usw.) Daten und schreibt diese zur Weiterverarbeitung in einzelne Datenpunkte.

    Als Allergiker ist es schon interessant, was gerade alles so in der Luft liegt und die Nase zum Laufen bringt. Damit lassen sich einfache, individuelle Visualisierungen erstellen. Dies ist vielleicht ein weiteres Skript für Nutzer vom ioBroker.

    //Version 1.0.0
    //20.09.2024
    //Ersteller Ro75.
    
    //Voraussetzungen (Version 1.0.0 getestet mit)
    //NodeJS: 20.x
    //Javascript-Adapter: 8.7.6
    //Admin-Adapter: 7.0.23
    //JS-Controller: 6.0.11
    
    
    //Anleitung um meinen Ort zu finden
    //1. Adresse suchen über: https://www.wetter.com/gesundheit/pollenflug/ - Hinweis: Funktioniert mit Orten aus DE, AT, CH
    //2. Im Suchfeld über Ort oder PLZ deinen Ort suchen
    //3. Adresse im Browser kopieren und die Konstante sURL anpassen - sollte etwa so aussehen: https://www.wetter.com/gesundheit/pollenflug/deutschland/XXXORTXXX/DExxxx999.html
    
    const sMainPath = '0_userdata.0.PollenIndex.';
    //Liste mit Pollen die abgefragt werden können - ggfs.anpassen
    const aPollen   = 'Ahorn,Ambrosia,Ampfer,Beifuss,Birke,Brennnessel,Buche,Eibe,Eiche,Erle,Esche,Fichte,Gräser,Gänsefuß,Hainbuche,Hasel,Heidekraut,Holunder,Hopfen,Kastanie,Kiefer,Kieferngewächse,Korbblütler,Kreuzblütler,Labkräuter,Linde,Lärche,Pappel,Platane,Roggen,Rosskastanie,Sauergräser,Schimmel,Springkraut,Steineiche,Tanne,Ulme,Walnuss,Wegerich,Weide'
    //Pollenflug Intensitätsstufen:
    //0: Keine, 1: Gering, 2: Erhöht, 3: Hoch, -1: kein Abruf (Fehler, keine Daten gefunden, ...)
    const iPollen   = 'Keine,Gering,Erhöht,Hoch'
    //URL für Datenabruf
    const sURL      = 'https://www.wetter.com/gesundheit/pollenflug/deutschland/bautzen/DE0000849.html'; // Ermittlung Schritt 1 - 3
    
    //Anlage der Datenpunkte
    function Initalisierung(){
        let sPollen = aPollen.split(',');
        for (let i = 0; i <= sPollen.length-1; i++) {
            createState(sMainPath+sPollen[i], 0, {name: sPollen[i],type: 'number', read: true, write: true});
        }
        createState(sMainPath+'data_json', '', {name: 'JSON',type: 'string', def: '[]', read: true, write: true, desc: 'JSON Widget'});
        //erster Datenabruf
        LadenPollen();
    }
    //START
    Initalisierung();
    
    //automatisierte Datenabfrage - kann angepasst werden: aller 4 - 6 Stunden sollte ausreichen
    schedule('23 4,10,16 * * *', LadenPollen);
    
    function LadenPollen() {
        httpGet(sURL, { timeout: 6000}, (error, response) => {
            if (!error  && response.statusCode == 200) {
                let info = response.data;
                let sPollen = aPollen.split(',');
                for (let i = 0; i <= sPollen.length-1; i++) {
                    PollenIndex(info,sPollen[i]);
                }
                setTimeout(function(){
                    CreateJSON();
                },1000);
            } else {
                console.error('Pollenflug: ' + response.statusCode);
            }    
        });
    }
    
    function CreateJSON() {
        let JSON_List   = [];
        let sPollen = aPollen.split(',');
        for (let i = 0; i <= sPollen.length-1; i++) {
            var lValue = getState(sMainPath+sPollen[i]).val;
            if (lValue >= 0) {
                JSON_List.push({"pollen": sPollen[i], "index": lValue, "stufe": iPollen.split(',')[lValue]});
            }
        }
        setState(sMainPath+'data_json', JSON.stringify(JSON_List), true);
        JSON_List = [];
    }
    
    function PollenIndex(sData, sValue=''){
        var wert = -1;
        var Position = sData.indexOf('>'+sValue+'</td>');
        if (Position > 0) {
            var dummy = sData.substr(Position, 300);
            var Position2 = dummy.indexOf("pollen-index-");
            if (Position2 > 0) {
                wert = parseInt(dummy.substr(Position2+13, 1));
            }
        }
        setState(sMainPath+sValue,wert,true);
    }
    

    Im Grunde sollte alles selbsterklärend sein. Die hinzugefügten Kommentare geben Info und Einstellmöglichkeiten. Für Anregungen bin ich offen, auch wenn es ggfs. nicht gleich umgesetzt werden kann (die gute Zeit).

    f6ef07b2-372d-4adb-bb1d-c13ddfcefa33-image.png
    Ich wünsche euch viel Spaß.

    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

    sigi234S 1 Reply Last reply
    3
    • Ro75R Ro75

      Hallo. Heute stelle ich euch einmal mein Skript "Pollenflug" vor. Dieses Skript liest Daten einer Website (in diesem Falle www.wetter.com) aus. Es ermittelt wie auch andere Skripts (z.B. Wetter, Luftdaten, Biowetter, usw.) Daten und schreibt diese zur Weiterverarbeitung in einzelne Datenpunkte.

      Als Allergiker ist es schon interessant, was gerade alles so in der Luft liegt und die Nase zum Laufen bringt. Damit lassen sich einfache, individuelle Visualisierungen erstellen. Dies ist vielleicht ein weiteres Skript für Nutzer vom ioBroker.

      //Version 1.0.0
      //20.09.2024
      //Ersteller Ro75.
      
      //Voraussetzungen (Version 1.0.0 getestet mit)
      //NodeJS: 20.x
      //Javascript-Adapter: 8.7.6
      //Admin-Adapter: 7.0.23
      //JS-Controller: 6.0.11
      
      
      //Anleitung um meinen Ort zu finden
      //1. Adresse suchen über: https://www.wetter.com/gesundheit/pollenflug/ - Hinweis: Funktioniert mit Orten aus DE, AT, CH
      //2. Im Suchfeld über Ort oder PLZ deinen Ort suchen
      //3. Adresse im Browser kopieren und die Konstante sURL anpassen - sollte etwa so aussehen: https://www.wetter.com/gesundheit/pollenflug/deutschland/XXXORTXXX/DExxxx999.html
      
      const sMainPath = '0_userdata.0.PollenIndex.';
      //Liste mit Pollen die abgefragt werden können - ggfs.anpassen
      const aPollen   = 'Ahorn,Ambrosia,Ampfer,Beifuss,Birke,Brennnessel,Buche,Eibe,Eiche,Erle,Esche,Fichte,Gräser,Gänsefuß,Hainbuche,Hasel,Heidekraut,Holunder,Hopfen,Kastanie,Kiefer,Kieferngewächse,Korbblütler,Kreuzblütler,Labkräuter,Linde,Lärche,Pappel,Platane,Roggen,Rosskastanie,Sauergräser,Schimmel,Springkraut,Steineiche,Tanne,Ulme,Walnuss,Wegerich,Weide'
      //Pollenflug Intensitätsstufen:
      //0: Keine, 1: Gering, 2: Erhöht, 3: Hoch, -1: kein Abruf (Fehler, keine Daten gefunden, ...)
      const iPollen   = 'Keine,Gering,Erhöht,Hoch'
      //URL für Datenabruf
      const sURL      = 'https://www.wetter.com/gesundheit/pollenflug/deutschland/bautzen/DE0000849.html'; // Ermittlung Schritt 1 - 3
      
      //Anlage der Datenpunkte
      function Initalisierung(){
          let sPollen = aPollen.split(',');
          for (let i = 0; i <= sPollen.length-1; i++) {
              createState(sMainPath+sPollen[i], 0, {name: sPollen[i],type: 'number', read: true, write: true});
          }
          createState(sMainPath+'data_json', '', {name: 'JSON',type: 'string', def: '[]', read: true, write: true, desc: 'JSON Widget'});
          //erster Datenabruf
          LadenPollen();
      }
      //START
      Initalisierung();
      
      //automatisierte Datenabfrage - kann angepasst werden: aller 4 - 6 Stunden sollte ausreichen
      schedule('23 4,10,16 * * *', LadenPollen);
      
      function LadenPollen() {
          httpGet(sURL, { timeout: 6000}, (error, response) => {
              if (!error  && response.statusCode == 200) {
                  let info = response.data;
                  let sPollen = aPollen.split(',');
                  for (let i = 0; i <= sPollen.length-1; i++) {
                      PollenIndex(info,sPollen[i]);
                  }
                  setTimeout(function(){
                      CreateJSON();
                  },1000);
              } else {
                  console.error('Pollenflug: ' + response.statusCode);
              }    
          });
      }
      
      function CreateJSON() {
          let JSON_List   = [];
          let sPollen = aPollen.split(',');
          for (let i = 0; i <= sPollen.length-1; i++) {
              var lValue = getState(sMainPath+sPollen[i]).val;
              if (lValue >= 0) {
                  JSON_List.push({"pollen": sPollen[i], "index": lValue, "stufe": iPollen.split(',')[lValue]});
              }
          }
          setState(sMainPath+'data_json', JSON.stringify(JSON_List), true);
          JSON_List = [];
      }
      
      function PollenIndex(sData, sValue=''){
          var wert = -1;
          var Position = sData.indexOf('>'+sValue+'</td>');
          if (Position > 0) {
              var dummy = sData.substr(Position, 300);
              var Position2 = dummy.indexOf("pollen-index-");
              if (Position2 > 0) {
                  wert = parseInt(dummy.substr(Position2+13, 1));
              }
          }
          setState(sMainPath+sValue,wert,true);
      }
      

      Im Grunde sollte alles selbsterklärend sein. Die hinzugefügten Kommentare geben Info und Einstellmöglichkeiten. Für Anregungen bin ich offen, auch wenn es ggfs. nicht gleich umgesetzt werden kann (die gute Zeit).

      f6ef07b2-372d-4adb-bb1d-c13ddfcefa33-image.png
      Ich wünsche euch viel Spaß.

      Ro75.

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      wrote on last edited by
      #2

      @ro75

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

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      Ro75R 2 Replies Last reply
      0
      • sigi234S sigi234

        @ro75

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

        Ro75R Offline
        Ro75R Offline
        Ro75
        wrote on last edited by
        #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 Reply Last reply
        1
        • sigi234S sigi234

          @ro75

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

          Ro75R Offline
          Ro75R Offline
          Ro75
          wrote on last edited by
          #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 Reply Last reply
          1
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by 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 Reply Last reply
              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
                A Former User
                wrote on last edited by
                #7

                @ro75

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

                Ro75R HomoranH 2 Replies Last reply
                0
                • ? A Former User

                  @ro75

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

                  Ro75R Offline
                  Ro75R Offline
                  Ro75
                  wrote on last edited by 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 Reply Last reply
                  0
                  • ? A Former User

                    @ro75

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

                    HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by 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 Reply Last reply
                    0
                    • NashraN Offline
                      NashraN Offline
                      Nashra
                      Most Active Forum Testing
                      wrote on last edited by
                      #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 Reply Last reply
                      0
                      • NashraN Nashra

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

                        Ro75R Offline
                        Ro75R Offline
                        Ro75
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          687

                          Online

                          32.6k

                          Users

                          82.1k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe