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. Adapter, um nahenden & aktuellen Niederschlag zu erkennen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Adapter, um nahenden & aktuellen Niederschlag zu erkennen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
44 Beiträge 13 Kommentatoren 3.8k Aufrufe 14 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.
  • S Sleepwalker

    @marc-berg Oh man, ich hab natürlich nicht hier im Forum gesucht, sondern nur in den Adaptern in ioBroker selbst. Danke dir, das trifft meine Anforderung viel besser als die anderen Adapter.

    Ist installiert und wird beobachtet. Schade, dass die Geo-Koordinaten nicht (mehr) funktionieren. Zum Glück ist meine Stadt eher überschaubar ;)

    Marc BergM Online
    Marc BergM Online
    Marc Berg
    Most Active
    schrieb am zuletzt editiert von
    #4

    @sleepwalker sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

    Schade, dass die Geo-Koordinaten nicht (mehr) funktionieren.

    Wobei ich gerade bemerkt habe, dass teilweise auch Stadtteile eingebbar sind. Zwar ist ausgerechnet mein Stadtteil nicht dabei, aber ich kann einen in der Nähe nehmen. Der ist nur 1-2km entfernt. Damit ist das Thema für mich deutlich entschärft.

    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

    1 Antwort Letzte Antwort
    1
    • S Sleepwalker

      Moin,

      ich bin auf der Suche nach einem Adapter, mit dem ich den Mähroboter kurz vor "angesagtem Regen" in seine Station fahren lassen kann.

      Im Idealfall funktioniert das mit einer Geo-Korrdinate und warnt dann 5-10 Minuten vor einsetzendem Regen (und auch, falls der Regen gerade aktuell ist) und gibt nach Regenende wieder ein "Kein Regen mehr in Sicht"-Signal.

      Auf wetter.com kann man z.B. seinen Ort einstellen und in 5-Minuten-Schritten den "Regen" auf dem Regenradar verschieben, auch als Vorhersage. Die Daten daraus wären theoretisch alles, was man braucht. Natürlich gibt es da auch keine 100%ig Genauigkeit, aber mittlere bis hohe Regenmengen werden da ziemlich akkurat erfasst.

      Oder ähnlich, wie z.B. die App "Drops - der Regenalarm".

      Gibt es sowas für ioBroker? DWD, DasWetter oder Weatherunderground sind mir da etwas zu grob, weil nur stündlich. Oder übersehe ich da was?

      Danke und Gruß

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #5

      @sleepwalker
      Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.

      Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
      https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

      {"success":true,"start":1713526800,"start_human":"13:40","temp":11,"delta":300,"precip":[116,0,0,0,87,108,0,0,0,0,0,0,0,0,0,0,0,0,0,87,77,77,0,0,0],"levels":{"light":0.25,"moderate":1,"heavy":2.5},"grid":{"x":472,"y":516},"source":"nl","bounds":{"N":55.573602,"E":10.856429,"S":48.495302,"W":0}}
      

      Fragt mich aber jetzt bloß nicht, wie das zu interpretieren ist.

      Gefunden habe ich lediglich noch diese Formel:

      function precip(value) {
          return Math.pow(10, (value - 109) / 32);
      }
      

      Was auch immer da herauskommt :thinking_face:

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      S Chris76eC 2 Antworten Letzte Antwort
      2
      • CodierknechtC Codierknecht

        @sleepwalker
        Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.

        Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
        https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

        {"success":true,"start":1713526800,"start_human":"13:40","temp":11,"delta":300,"precip":[116,0,0,0,87,108,0,0,0,0,0,0,0,0,0,0,0,0,0,87,77,77,0,0,0],"levels":{"light":0.25,"moderate":1,"heavy":2.5},"grid":{"x":472,"y":516},"source":"nl","bounds":{"N":55.573602,"E":10.856429,"S":48.495302,"W":0}}
        

        Fragt mich aber jetzt bloß nicht, wie das zu interpretieren ist.

        Gefunden habe ich lediglich noch diese Formel:

        function precip(value) {
            return Math.pow(10, (value - 109) / 32);
        }
        

        Was auch immer da herauskommt :thinking_face:

        S Offline
        S Offline
        Sleepwalker
        schrieb am zuletzt editiert von Sleepwalker
        #6

        @codierknecht Das ist ja mega nice! Scheinbar ist für die nächsten 2 Stunden hier bei mir kein Regen angesagt. Deckt sich mit Drops. Sollte Drops nicht meinen Erwartungen entsprechen (habe noch nicht genug Testdaten gesammelt ;)), werde ich tatsächlich diesem API eine Chance geben. Auch wenn ich sowas zwecks Wartbarkeit / unangekündigten Änderungen oder gar kompletter Einstellung immer sehr vorsichtig betrachte.

        Die Niederschlagumrechnung verstehe ich allerdings auch nicht. Wie kann denn da jemals "0" als Ergebnis rauskommen? Hab wohl in Mathe zu wenig aufgepasst, aber Potenzen mit Basis 10 und dem Ergebnis 0 bekomme ich gerade nicht auf die Kette :D

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @sleepwalker
          Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.

          Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
          https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

          {"success":true,"start":1713526800,"start_human":"13:40","temp":11,"delta":300,"precip":[116,0,0,0,87,108,0,0,0,0,0,0,0,0,0,0,0,0,0,87,77,77,0,0,0],"levels":{"light":0.25,"moderate":1,"heavy":2.5},"grid":{"x":472,"y":516},"source":"nl","bounds":{"N":55.573602,"E":10.856429,"S":48.495302,"W":0}}
          

          Fragt mich aber jetzt bloß nicht, wie das zu interpretieren ist.

          Gefunden habe ich lediglich noch diese Formel:

          function precip(value) {
              return Math.pow(10, (value - 109) / 32);
          }
          

          Was auch immer da herauskommt :thinking_face:

          Chris76eC Online
          Chris76eC Online
          Chris76e
          schrieb am zuletzt editiert von
          #7

          @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

          Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.
          Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
          https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

          Du kannst auch über diesen link an die Daten kommen https://gadgets.buienradar.nl/data/raintext?lat=51.5&lon=6.2

          000|22:40
          000|22:45
          000|22:50
          000|22:55
          092|23:00
          087|23:05
          092|23:10
          077|23:15
          000|23:20
          087|23:25
          092|23:30
          000|23:35
          087|23:40
          099|23:45
          087|23:50
          000|23:55
          077|00:00
          000|00:05
          000|00:10
          000|00:15
          000|00:20
          000|00:25
          000|00:30
          000|00:35
          

          Hatte mir mal ein script zusammen gebastelt

          const request = require("request");
          
          function updateData() {
            const url = 'https://gadgets.buienradar.nl/data/raintext?lat=51.11&lon=6.15';
            request(url, function(error, response, body) {
              if (error) {
                console.error(error);
                return;
              }
          
              const data = body.split("\n");
              const jsonArray = [];
              data.forEach(item => {
                const [value, label] = item.split("|");
                jsonArray.push({ label, value });
              });
              // Save the JSON data to IO-Broker
              setState("0_userdata.0.JSON.BuienradarRegenin5Minuten", JSON.stringify(jsonArray), true);
          
              let filteredData = jsonArray.filter(function(element) {
                return element.value !== "";
              });
          
              let rainSoon = filteredData.find(function(element) {
                return element.value > 0;
              });
          
           if (rainSoon) {
            setState("0_userdata.0.Wetter.Regen.Beginn", rainSoon.label, true);
            setState("0_userdata.0.Wetter.Regen.Regenmenge", rainSoon.value, true);
            setState("0_userdata.0.Wetter.Regen.Regenbald", true, true);
            setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
            
            let nextRain = filteredData.find(function(element, index) {
              return index > filteredData.indexOf(rainSoon) && element.value > 0;
            });
          
            if (nextRain) {
              setState("0_userdata.0.Wetter.Regen.NächsterBeginn", nextRain.label, true);
              setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", nextRain.value, true);
              setState("0_userdata.0.Wetter.Regen.NächsteEnde", (nextRain.label + nextRain.value * 5 * 60), true);
              setState("0_userdata.0.Wetter.Regen.NächsteDauer", (nextRain.value * 5), true);
              setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", true, true);
            } else {
              setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
              setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
              setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
              setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
            }
          
            setState("0_userdata.0.Wetter.Regen.Ende", (rainSoon.label + rainSoon.value * 5 * 60), true);
            setState("0_userdata.0.Wetter.Regen.Dauer", (rainSoon.value * 5), true);
          } else {
            setState("0_userdata.0.Wetter.Regen.Beginn", null, true);
            setState("0_userdata.0.Wetter.Regen.Regenmenge", null, true);
            setState("0_userdata.0.Wetter.Regen.Regenbald", false, true);
            setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
            setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
            setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
            setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
            setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
          }
            });
          }
          
          schedule("*/1 * * * *", updateData);
          
          CodierknechtC S 2 Antworten Letzte Antwort
          1
          • S Sleepwalker

            @codierknecht Das ist ja mega nice! Scheinbar ist für die nächsten 2 Stunden hier bei mir kein Regen angesagt. Deckt sich mit Drops. Sollte Drops nicht meinen Erwartungen entsprechen (habe noch nicht genug Testdaten gesammelt ;)), werde ich tatsächlich diesem API eine Chance geben. Auch wenn ich sowas zwecks Wartbarkeit / unangekündigten Änderungen oder gar kompletter Einstellung immer sehr vorsichtig betrachte.

            Die Niederschlagumrechnung verstehe ich allerdings auch nicht. Wie kann denn da jemals "0" als Ergebnis rauskommen? Hab wohl in Mathe zu wenig aufgepasst, aber Potenzen mit Basis 10 und dem Ergebnis 0 bekomme ich gerade nicht auf die Kette :D

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #8

            @sleepwalker sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

            Die Niederschlagumrechnung verstehe ich allerdings auch nicht. Wie kann denn da jemals "0" als Ergebnis rauskommen? Hab wohl in Mathe zu wenig aufgepasst, aber Potenzen mit Basis 10 und dem Ergebnis 0 bekomme ich gerade nicht auf die Kette

            Ich vermute mal, das iste deren Umrechnung in ihren "Index".
            Wenn man das auf 2 Nachkommastellen rundet, kommt auch wieder 0 raus ;-)

            Mein Frau hat die App auf dem Handy. Da kommt dann schon mal die Meldung "lichte neerslag in ...".
            Das basiert dann auf dem "Index".

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            1
            • Chris76eC Chris76e

              @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

              Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.
              Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
              https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

              Du kannst auch über diesen link an die Daten kommen https://gadgets.buienradar.nl/data/raintext?lat=51.5&lon=6.2

              000|22:40
              000|22:45
              000|22:50
              000|22:55
              092|23:00
              087|23:05
              092|23:10
              077|23:15
              000|23:20
              087|23:25
              092|23:30
              000|23:35
              087|23:40
              099|23:45
              087|23:50
              000|23:55
              077|00:00
              000|00:05
              000|00:10
              000|00:15
              000|00:20
              000|00:25
              000|00:30
              000|00:35
              

              Hatte mir mal ein script zusammen gebastelt

              const request = require("request");
              
              function updateData() {
                const url = 'https://gadgets.buienradar.nl/data/raintext?lat=51.11&lon=6.15';
                request(url, function(error, response, body) {
                  if (error) {
                    console.error(error);
                    return;
                  }
              
                  const data = body.split("\n");
                  const jsonArray = [];
                  data.forEach(item => {
                    const [value, label] = item.split("|");
                    jsonArray.push({ label, value });
                  });
                  // Save the JSON data to IO-Broker
                  setState("0_userdata.0.JSON.BuienradarRegenin5Minuten", JSON.stringify(jsonArray), true);
              
                  let filteredData = jsonArray.filter(function(element) {
                    return element.value !== "";
                  });
              
                  let rainSoon = filteredData.find(function(element) {
                    return element.value > 0;
                  });
              
               if (rainSoon) {
                setState("0_userdata.0.Wetter.Regen.Beginn", rainSoon.label, true);
                setState("0_userdata.0.Wetter.Regen.Regenmenge", rainSoon.value, true);
                setState("0_userdata.0.Wetter.Regen.Regenbald", true, true);
                setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                
                let nextRain = filteredData.find(function(element, index) {
                  return index > filteredData.indexOf(rainSoon) && element.value > 0;
                });
              
                if (nextRain) {
                  setState("0_userdata.0.Wetter.Regen.NächsterBeginn", nextRain.label, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", nextRain.value, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteEnde", (nextRain.label + nextRain.value * 5 * 60), true);
                  setState("0_userdata.0.Wetter.Regen.NächsteDauer", (nextRain.value * 5), true);
                  setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", true, true);
                } else {
                  setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
                }
              
                setState("0_userdata.0.Wetter.Regen.Ende", (rainSoon.label + rainSoon.value * 5 * 60), true);
                setState("0_userdata.0.Wetter.Regen.Dauer", (rainSoon.value * 5), true);
              } else {
                setState("0_userdata.0.Wetter.Regen.Beginn", null, true);
                setState("0_userdata.0.Wetter.Regen.Regenmenge", null, true);
                setState("0_userdata.0.Wetter.Regen.Regenbald", false, true);
                setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
              }
                });
              }
              
              schedule("*/1 * * * *", updateData);
              
              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #9

              @chris76e sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

              Du kannst auch über diesen link an die Daten kommen

              Der andere Link liefert gleich JSON.
              Ist letztlich gehopst wie gesprungen ;-)

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Antwort Letzte Antwort
              0
              • Chris76eC Chris76e

                @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.
                Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
                https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

                Du kannst auch über diesen link an die Daten kommen https://gadgets.buienradar.nl/data/raintext?lat=51.5&lon=6.2

                000|22:40
                000|22:45
                000|22:50
                000|22:55
                092|23:00
                087|23:05
                092|23:10
                077|23:15
                000|23:20
                087|23:25
                092|23:30
                000|23:35
                087|23:40
                099|23:45
                087|23:50
                000|23:55
                077|00:00
                000|00:05
                000|00:10
                000|00:15
                000|00:20
                000|00:25
                000|00:30
                000|00:35
                

                Hatte mir mal ein script zusammen gebastelt

                const request = require("request");
                
                function updateData() {
                  const url = 'https://gadgets.buienradar.nl/data/raintext?lat=51.11&lon=6.15';
                  request(url, function(error, response, body) {
                    if (error) {
                      console.error(error);
                      return;
                    }
                
                    const data = body.split("\n");
                    const jsonArray = [];
                    data.forEach(item => {
                      const [value, label] = item.split("|");
                      jsonArray.push({ label, value });
                    });
                    // Save the JSON data to IO-Broker
                    setState("0_userdata.0.JSON.BuienradarRegenin5Minuten", JSON.stringify(jsonArray), true);
                
                    let filteredData = jsonArray.filter(function(element) {
                      return element.value !== "";
                    });
                
                    let rainSoon = filteredData.find(function(element) {
                      return element.value > 0;
                    });
                
                 if (rainSoon) {
                  setState("0_userdata.0.Wetter.Regen.Beginn", rainSoon.label, true);
                  setState("0_userdata.0.Wetter.Regen.Regenmenge", rainSoon.value, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbald", true, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                  
                  let nextRain = filteredData.find(function(element, index) {
                    return index > filteredData.indexOf(rainSoon) && element.value > 0;
                  });
                
                  if (nextRain) {
                    setState("0_userdata.0.Wetter.Regen.NächsterBeginn", nextRain.label, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", nextRain.value, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteEnde", (nextRain.label + nextRain.value * 5 * 60), true);
                    setState("0_userdata.0.Wetter.Regen.NächsteDauer", (nextRain.value * 5), true);
                    setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", true, true);
                  } else {
                    setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
                  }
                
                  setState("0_userdata.0.Wetter.Regen.Ende", (rainSoon.label + rainSoon.value * 5 * 60), true);
                  setState("0_userdata.0.Wetter.Regen.Dauer", (rainSoon.value * 5), true);
                } else {
                  setState("0_userdata.0.Wetter.Regen.Beginn", null, true);
                  setState("0_userdata.0.Wetter.Regen.Regenmenge", null, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbald", false, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                  setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
                }
                  });
                }
                
                schedule("*/1 * * * *", updateData);
                
                S Offline
                S Offline
                Sleepwalker
                schrieb am zuletzt editiert von
                #10

                @chris76e said in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                Das niederländische "Buienalarm" ist (zumindest in relativer Grenznähe) einer der zuverlässigsten Anbieter.
                Über dieses (undokumentierte) API erhält man Daten für die nächsten 2 Stunden im 5-Minuten-Intervall:
                https://cdn-secure.buienalarm.nl/api/3.4/forecast.php?lat=51.5&lon=6.2&unit=mm

                Du kannst auch über diesen link an die Daten kommen https://gadgets.buienradar.nl/data/raintext?lat=51.5&lon=6.2

                000|22:40
                000|22:45
                000|22:50
                000|22:55
                092|23:00
                087|23:05
                092|23:10
                077|23:15
                000|23:20
                087|23:25
                092|23:30
                000|23:35
                087|23:40
                099|23:45
                087|23:50
                000|23:55
                077|00:00
                000|00:05
                000|00:10
                000|00:15
                000|00:20
                000|00:25
                000|00:30
                000|00:35
                

                Hatte mir mal ein script zusammen gebastelt

                const request = require("request");
                
                function updateData() {
                  const url = 'https://gadgets.buienradar.nl/data/raintext?lat=51.11&lon=6.15';
                  request(url, function(error, response, body) {
                    if (error) {
                      console.error(error);
                      return;
                    }
                
                    const data = body.split("\n");
                    const jsonArray = [];
                    data.forEach(item => {
                      const [value, label] = item.split("|");
                      jsonArray.push({ label, value });
                    });
                    // Save the JSON data to IO-Broker
                    setState("0_userdata.0.JSON.BuienradarRegenin5Minuten", JSON.stringify(jsonArray), true);
                
                    let filteredData = jsonArray.filter(function(element) {
                      return element.value !== "";
                    });
                
                    let rainSoon = filteredData.find(function(element) {
                      return element.value > 0;
                    });
                
                 if (rainSoon) {
                  setState("0_userdata.0.Wetter.Regen.Beginn", rainSoon.label, true);
                  setState("0_userdata.0.Wetter.Regen.Regenmenge", rainSoon.value, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbald", true, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                  
                  let nextRain = filteredData.find(function(element, index) {
                    return index > filteredData.indexOf(rainSoon) && element.value > 0;
                  });
                
                  if (nextRain) {
                    setState("0_userdata.0.Wetter.Regen.NächsterBeginn", nextRain.label, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", nextRain.value, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteEnde", (nextRain.label + nextRain.value * 5 * 60), true);
                    setState("0_userdata.0.Wetter.Regen.NächsteDauer", (nextRain.value * 5), true);
                    setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", true, true);
                  } else {
                    setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                    setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
                  }
                
                  setState("0_userdata.0.Wetter.Regen.Ende", (rainSoon.label + rainSoon.value * 5 * 60), true);
                  setState("0_userdata.0.Wetter.Regen.Dauer", (rainSoon.value * 5), true);
                } else {
                  setState("0_userdata.0.Wetter.Regen.Beginn", null, true);
                  setState("0_userdata.0.Wetter.Regen.Regenmenge", null, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbald", false, true);
                  setState("0_userdata.0.Wetter.Regen.Regenbaldnächst", false, true);
                  setState("0_userdata.0.Wetter.Regen.NächsterBeginn", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteRegenmenge", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteEnde", null, true);
                  setState("0_userdata.0.Wetter.Regen.NächsteDauer", null, true);
                }
                  });
                }
                
                schedule("*/1 * * * *", updateData);
                

                Danke, das sieht etwas praktischer zum Verarbeiten aus. Ich bin mit "Drops" tatsächlich noch nicht viel weiter gekommen, weil am Wochenende mehrere Dinge dazwischen kamem. Werde die kommende Woche weiter testen.

                Vielen herzlichen Dank an euch!

                1 Antwort Letzte Antwort
                0
                • S Sleepwalker

                  Moin,

                  ich bin auf der Suche nach einem Adapter, mit dem ich den Mähroboter kurz vor "angesagtem Regen" in seine Station fahren lassen kann.

                  Im Idealfall funktioniert das mit einer Geo-Korrdinate und warnt dann 5-10 Minuten vor einsetzendem Regen (und auch, falls der Regen gerade aktuell ist) und gibt nach Regenende wieder ein "Kein Regen mehr in Sicht"-Signal.

                  Auf wetter.com kann man z.B. seinen Ort einstellen und in 5-Minuten-Schritten den "Regen" auf dem Regenradar verschieben, auch als Vorhersage. Die Daten daraus wären theoretisch alles, was man braucht. Natürlich gibt es da auch keine 100%ig Genauigkeit, aber mittlere bis hohe Regenmengen werden da ziemlich akkurat erfasst.

                  Oder ähnlich, wie z.B. die App "Drops - der Regenalarm".

                  Gibt es sowas für ioBroker? DWD, DasWetter oder Weatherunderground sind mir da etwas zu grob, weil nur stündlich. Oder übersehe ich da was?

                  Danke und Gruß

                  S Offline
                  S Offline
                  Sleepwalker
                  schrieb am zuletzt editiert von
                  #11

                  Guten Morgen,

                  ich krame dieses alte Thema mal kurz hervor, weil der Drops-Dev vor vielen Monden sein Projekt auf- und danach abgegeben hat. Drops war super, aber läuft aktuell für mich nicht rund genug. Dennoch Kudos an diejenigen, die das Projekt übernommen und wieder lauffähig gemacht haben!

                  Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                  Nun kommen mir 2 Fragen auf:

                  1. Hat jemand Erfahrungen mit beiden Adaptern bzgl. deren Genauigkeit? Buidenalarm scheint ja eine bessere Reputation zu haben. Der direkte Vergleich in meinem Kaff weist einige - wenig dramatische - Unterschiede auf. Ich überlege, ob ich vllt. die Daten beider Dienste mittele. Es sei denn jemand sagt jetzt "Dieser Anibeter ist doof" oder "Nur jener hier macht das total toll" ;)

                  2. Da ich direkt in NodeRed arbeite, fehlt mir das Logging der Wetterdaten per Adapter-Datenpunkten. Ich habe eine Anbindung an influxDb2, die ich jedoch ungerne selbst beschreiben möchte, weil mir da die Erfahrung fehlt. Kann nur lesen :D
                    Gibt es eine Möglichkeit, wie ich prüfe, ob die "aktuelle" Zeit aus dem Adapter (z.B. "15:45") schon existiert? Und falls nicht, schreibe ich die per ioBroker irgendwie weg? Vllt. über die User-Datenpunkte?

                  Vielen Dank und Gruß

                  icebearI W S 3 Antworten Letzte Antwort
                  0
                  • S Sleepwalker

                    Guten Morgen,

                    ich krame dieses alte Thema mal kurz hervor, weil der Drops-Dev vor vielen Monden sein Projekt auf- und danach abgegeben hat. Drops war super, aber läuft aktuell für mich nicht rund genug. Dennoch Kudos an diejenigen, die das Projekt übernommen und wieder lauffähig gemacht haben!

                    Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                    Nun kommen mir 2 Fragen auf:

                    1. Hat jemand Erfahrungen mit beiden Adaptern bzgl. deren Genauigkeit? Buidenalarm scheint ja eine bessere Reputation zu haben. Der direkte Vergleich in meinem Kaff weist einige - wenig dramatische - Unterschiede auf. Ich überlege, ob ich vllt. die Daten beider Dienste mittele. Es sei denn jemand sagt jetzt "Dieser Anibeter ist doof" oder "Nur jener hier macht das total toll" ;)

                    2. Da ich direkt in NodeRed arbeite, fehlt mir das Logging der Wetterdaten per Adapter-Datenpunkten. Ich habe eine Anbindung an influxDb2, die ich jedoch ungerne selbst beschreiben möchte, weil mir da die Erfahrung fehlt. Kann nur lesen :D
                      Gibt es eine Möglichkeit, wie ich prüfe, ob die "aktuelle" Zeit aus dem Adapter (z.B. "15:45") schon existiert? Und falls nicht, schreibe ich die per ioBroker irgendwie weg? Vllt. über die User-Datenpunkte?

                    Vielen Dank und Gruß

                    icebearI Offline
                    icebearI Offline
                    icebear
                    schrieb am zuletzt editiert von
                    #12

                    @sleepwalker said in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                    Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                    Könntest du mir den Node-Red Flow den du verwendest mal zur Verfügung stellen?

                    Leider funktioniert bei mir Drops auch nicht oder nicht zuverlässig und das Buienalarm gibt es ja leider nicht als Adapter.
                    Buienradar funktioniert bei mir am zuverlässigsten von allen die ich bisher getestet hab, leider nur auf dem Android Handy und ich such schon länger nach einer möglichkeit das in iobroker zu bekommen.

                    S 1 Antwort Letzte Antwort
                    0
                    • S Sleepwalker

                      Guten Morgen,

                      ich krame dieses alte Thema mal kurz hervor, weil der Drops-Dev vor vielen Monden sein Projekt auf- und danach abgegeben hat. Drops war super, aber läuft aktuell für mich nicht rund genug. Dennoch Kudos an diejenigen, die das Projekt übernommen und wieder lauffähig gemacht haben!

                      Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                      Nun kommen mir 2 Fragen auf:

                      1. Hat jemand Erfahrungen mit beiden Adaptern bzgl. deren Genauigkeit? Buidenalarm scheint ja eine bessere Reputation zu haben. Der direkte Vergleich in meinem Kaff weist einige - wenig dramatische - Unterschiede auf. Ich überlege, ob ich vllt. die Daten beider Dienste mittele. Es sei denn jemand sagt jetzt "Dieser Anibeter ist doof" oder "Nur jener hier macht das total toll" ;)

                      2. Da ich direkt in NodeRed arbeite, fehlt mir das Logging der Wetterdaten per Adapter-Datenpunkten. Ich habe eine Anbindung an influxDb2, die ich jedoch ungerne selbst beschreiben möchte, weil mir da die Erfahrung fehlt. Kann nur lesen :D
                        Gibt es eine Möglichkeit, wie ich prüfe, ob die "aktuelle" Zeit aus dem Adapter (z.B. "15:45") schon existiert? Und falls nicht, schreibe ich die per ioBroker irgendwie weg? Vllt. über die User-Datenpunkte?

                      Vielen Dank und Gruß

                      W Offline
                      W Offline
                      warp735
                      schrieb am zuletzt editiert von
                      #13

                      @sleepwalker

                      Je nachdem wo du wohnst, könnte auch Netatmo für dich interessant sein. Wenn Glück hast und mehrere Stationen in der Nähe sind, kannst sogar sehen woher der Regen kommt.

                      1 Antwort Letzte Antwort
                      0
                      • icebearI icebear

                        @sleepwalker said in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                        Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                        Könntest du mir den Node-Red Flow den du verwendest mal zur Verfügung stellen?

                        Leider funktioniert bei mir Drops auch nicht oder nicht zuverlässig und das Buienalarm gibt es ja leider nicht als Adapter.
                        Buienradar funktioniert bei mir am zuverlässigsten von allen die ich bisher getestet hab, leider nur auf dem Android Handy und ich such schon länger nach einer möglichkeit das in iobroker zu bekommen.

                        S Offline
                        S Offline
                        Sleepwalker
                        schrieb am zuletzt editiert von Sleepwalker
                        #14

                        @icebear Klar. Ist noch nicht der finale Stand, aber nutzbar und vergleichbar ist es. Ich nutze das Dashboard 2.0, falls das Chart bei dir nicht funktioniert.

                        flows.json

                        Sieht dann so aus:
                        rainfall.png

                        PS: Bzgl. der Umrechnung in mm bin ich noch sehr unsicher :D

                        @warp735 Danke für den Tip. Kann man da auch genaue Daten abfragen, per API oder so? Muss ich mich dafür anmelden?

                        W 1 Antwort Letzte Antwort
                        0
                        • S Sleepwalker

                          @icebear Klar. Ist noch nicht der finale Stand, aber nutzbar und vergleichbar ist es. Ich nutze das Dashboard 2.0, falls das Chart bei dir nicht funktioniert.

                          flows.json

                          Sieht dann so aus:
                          rainfall.png

                          PS: Bzgl. der Umrechnung in mm bin ich noch sehr unsicher :D

                          @warp735 Danke für den Tip. Kann man da auch genaue Daten abfragen, per API oder so? Muss ich mich dafür anmelden?

                          W Offline
                          W Offline
                          warp735
                          schrieb am zuletzt editiert von
                          #15

                          @sleepwalker
                          Gibt n Adapter. Musst nur die ID der Station von der Karte eintragen

                          1 Antwort Letzte Antwort
                          0
                          • S Sleepwalker

                            Guten Morgen,

                            ich krame dieses alte Thema mal kurz hervor, weil der Drops-Dev vor vielen Monden sein Projekt auf- und danach abgegeben hat. Drops war super, aber läuft aktuell für mich nicht rund genug. Dennoch Kudos an diejenigen, die das Projekt übernommen und wieder lauffähig gemacht haben!

                            Nun bin ich wieder über dieses Thema gestolpert und habe sowohl mit Buidenalarm als auch Buidenradar herumgespielt. Allerdings direkt in NodeRed, weil das so schön simpel ist.

                            Nun kommen mir 2 Fragen auf:

                            1. Hat jemand Erfahrungen mit beiden Adaptern bzgl. deren Genauigkeit? Buidenalarm scheint ja eine bessere Reputation zu haben. Der direkte Vergleich in meinem Kaff weist einige - wenig dramatische - Unterschiede auf. Ich überlege, ob ich vllt. die Daten beider Dienste mittele. Es sei denn jemand sagt jetzt "Dieser Anibeter ist doof" oder "Nur jener hier macht das total toll" ;)

                            2. Da ich direkt in NodeRed arbeite, fehlt mir das Logging der Wetterdaten per Adapter-Datenpunkten. Ich habe eine Anbindung an influxDb2, die ich jedoch ungerne selbst beschreiben möchte, weil mir da die Erfahrung fehlt. Kann nur lesen :D
                              Gibt es eine Möglichkeit, wie ich prüfe, ob die "aktuelle" Zeit aus dem Adapter (z.B. "15:45") schon existiert? Und falls nicht, schreibe ich die per ioBroker irgendwie weg? Vllt. über die User-Datenpunkte?

                            Vielen Dank und Gruß

                            S Offline
                            S Offline
                            Sleepwalker
                            schrieb am zuletzt editiert von
                            #16

                            Zu meiner Frage 2:

                            Ich habe mir provisorisch einen userdata-Datenpunkt angelegt, den ich mit dem "Jetzt-Wert" der Prognose beschreibe. Leider ist das bei unbeständigem Wetter auch nicht wirklich genau. Anhand der Daten möchte ich den Mähroboter nach x Stunden wieder zum Mähen schicken.

                            Bin weiter offen für Alternativen der Historie, die in den APIs nicht so richtig vorhanden ist. Es sei denn, beim buidenalarm sind die ersten Werte die historischen Daten. Denn die Zeiten in deren API fangen immer leicht in der Vergangenheit an. Weiß da jemand genaueres?

                            Danke und Gruß

                            S 1 Antwort Letzte Antwort
                            0
                            • S Sleepwalker

                              Zu meiner Frage 2:

                              Ich habe mir provisorisch einen userdata-Datenpunkt angelegt, den ich mit dem "Jetzt-Wert" der Prognose beschreibe. Leider ist das bei unbeständigem Wetter auch nicht wirklich genau. Anhand der Daten möchte ich den Mähroboter nach x Stunden wieder zum Mähen schicken.

                              Bin weiter offen für Alternativen der Historie, die in den APIs nicht so richtig vorhanden ist. Es sei denn, beim buidenalarm sind die ersten Werte die historischen Daten. Denn die Zeiten in deren API fangen immer leicht in der Vergangenheit an. Weiß da jemand genaueres?

                              Danke und Gruß

                              S Offline
                              S Offline
                              Sleepwalker
                              schrieb am zuletzt editiert von Sleepwalker
                              #17

                              Mangels Alternativen werde ich wohl erst einmal dabei bleiben, alle 5 Minuten den aktuellen Regen in die DB zu schreiben. Buidenradar ist derzeit noch mein Favorit, weil genauer.

                              Aber mir tut sich immer noch ein Verständnisproblem auf. Die Werte der APIs sind scheinbar in "mm" angegeben. Und zwar für 5-Minuten-Abschnitte. Aber auf welche Zeit beziehen sich die mm?

                              Nehmen wir z.B. den Wert "96", der wird für das aktuelle Wetter bei mir angezeigt. Wirklich nur leichter Regen. Heißt das nun, wenn es so regnet, dann fallen in 5 Minuten 92mm herunter? Das kann ja nicht sein. Ist der Wert auf 1h bezogen? Das würde jedenfalls für mein Verständnis sinnvoller erscheinen. Dann würden in 1h nach Adam Ries 8mm Regen fallen (96 : 12 = 8), sollte der Regen für 60 Minuten beständig bleiben.

                              1. Frage: Auf was beizhene sich die "mm"?

                              2. Frage: Ich möchte mit Influx die Historie abfragen. Die Abfrage aggregiere ich über 1h:

                              import "date"
                              import "timezone"
                              option location = timezone.location(name: "Europe/Berlin")
                              
                              from(bucket: "iobroker")
                                |> range(start: -24h)
                                |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Weather.currentRain_mm")
                                |> filter(fn: (r) => r["_field"] == "value")
                                |> aggregateWindow(every: 60m, fn: sum, createEmpty: true)
                                |> yield(name: "sum")
                              

                              Gesetz dem Fall, dass meine obige Annahme richtig ist, müsste die "sum"-Funktion hier wieder die richtigen Werte auf Stundenbasis ausspucken. Richtig? :D

                              Im Moment sieht das ganze ca. so aus:
                              regen.png

                              Ro75R CodierknechtC 2 Antworten Letzte Antwort
                              0
                              • S Sleepwalker

                                Mangels Alternativen werde ich wohl erst einmal dabei bleiben, alle 5 Minuten den aktuellen Regen in die DB zu schreiben. Buidenradar ist derzeit noch mein Favorit, weil genauer.

                                Aber mir tut sich immer noch ein Verständnisproblem auf. Die Werte der APIs sind scheinbar in "mm" angegeben. Und zwar für 5-Minuten-Abschnitte. Aber auf welche Zeit beziehen sich die mm?

                                Nehmen wir z.B. den Wert "96", der wird für das aktuelle Wetter bei mir angezeigt. Wirklich nur leichter Regen. Heißt das nun, wenn es so regnet, dann fallen in 5 Minuten 92mm herunter? Das kann ja nicht sein. Ist der Wert auf 1h bezogen? Das würde jedenfalls für mein Verständnis sinnvoller erscheinen. Dann würden in 1h nach Adam Ries 8mm Regen fallen (96 : 12 = 8), sollte der Regen für 60 Minuten beständig bleiben.

                                1. Frage: Auf was beizhene sich die "mm"?

                                2. Frage: Ich möchte mit Influx die Historie abfragen. Die Abfrage aggregiere ich über 1h:

                                import "date"
                                import "timezone"
                                option location = timezone.location(name: "Europe/Berlin")
                                
                                from(bucket: "iobroker")
                                  |> range(start: -24h)
                                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Weather.currentRain_mm")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: 60m, fn: sum, createEmpty: true)
                                  |> yield(name: "sum")
                                

                                Gesetz dem Fall, dass meine obige Annahme richtig ist, müsste die "sum"-Funktion hier wieder die richtigen Werte auf Stundenbasis ausspucken. Richtig? :D

                                Im Moment sieht das ganze ca. so aus:
                                regen.png

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

                                @sleepwalker ich nutze den netatmo crawler. Such dir eine Wetterstation mit Bierschlagsmessung in deinem Umfeld raus. Mache ich auch so und das passt, zumindest bei mir.

                                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

                                S 1 Antwort Letzte Antwort
                                1
                                • S Sleepwalker

                                  Mangels Alternativen werde ich wohl erst einmal dabei bleiben, alle 5 Minuten den aktuellen Regen in die DB zu schreiben. Buidenradar ist derzeit noch mein Favorit, weil genauer.

                                  Aber mir tut sich immer noch ein Verständnisproblem auf. Die Werte der APIs sind scheinbar in "mm" angegeben. Und zwar für 5-Minuten-Abschnitte. Aber auf welche Zeit beziehen sich die mm?

                                  Nehmen wir z.B. den Wert "96", der wird für das aktuelle Wetter bei mir angezeigt. Wirklich nur leichter Regen. Heißt das nun, wenn es so regnet, dann fallen in 5 Minuten 92mm herunter? Das kann ja nicht sein. Ist der Wert auf 1h bezogen? Das würde jedenfalls für mein Verständnis sinnvoller erscheinen. Dann würden in 1h nach Adam Ries 8mm Regen fallen (96 : 12 = 8), sollte der Regen für 60 Minuten beständig bleiben.

                                  1. Frage: Auf was beizhene sich die "mm"?

                                  2. Frage: Ich möchte mit Influx die Historie abfragen. Die Abfrage aggregiere ich über 1h:

                                  import "date"
                                  import "timezone"
                                  option location = timezone.location(name: "Europe/Berlin")
                                  
                                  from(bucket: "iobroker")
                                    |> range(start: -24h)
                                    |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Weather.currentRain_mm")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    |> aggregateWindow(every: 60m, fn: sum, createEmpty: true)
                                    |> yield(name: "sum")
                                  

                                  Gesetz dem Fall, dass meine obige Annahme richtig ist, müsste die "sum"-Funktion hier wieder die richtigen Werte auf Stundenbasis ausspucken. Richtig? :D

                                  Im Moment sieht das ganze ca. so aus:
                                  regen.png

                                  CodierknechtC Offline
                                  CodierknechtC Offline
                                  Codierknecht
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #19

                                  @sleepwalker sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                  z.B. den Wert "96", der wird für das aktuelle Wetter bei mir angezeigt

                                  Das ist deren eigener Wert. Was auch immer der darstellen soll.
                                  Um das in mm/h zu erhalten, musst Du noch die Formel darüber jagen:
                                  10 ^ (Wert-109)/32

                                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                  HmIP|ZigBee|Tasmota|Unifi
                                  Zabbix Certified Specialist
                                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                  Marc BergM 1 Antwort Letzte Antwort
                                  1
                                  • CodierknechtC Codierknecht

                                    @sleepwalker sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                    z.B. den Wert "96", der wird für das aktuelle Wetter bei mir angezeigt

                                    Das ist deren eigener Wert. Was auch immer der darstellen soll.
                                    Um das in mm/h zu erhalten, musst Du noch die Formel darüber jagen:
                                    10 ^ (Wert-109)/32

                                    Marc BergM Online
                                    Marc BergM Online
                                    Marc Berg
                                    Most Active
                                    schrieb am zuletzt editiert von Marc Berg
                                    #20

                                    @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                    Was auch immer der darstellen soll.

                                    Das ist ein logarithmischer Wert. Auf diese Weise hat man eine hohe Auflösung bei geringen Regenintensitäten und kann den Speicherbedarf trotzdem kompakt halten.

                                    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                                    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                    CodierknechtC 1 Antwort Letzte Antwort
                                    2
                                    • Marc BergM Marc Berg

                                      @codierknecht sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                      Was auch immer der darstellen soll.

                                      Das ist ein logarithmischer Wert. Auf diese Weise hat man eine hohe Auflösung bei geringen Regenintensitäten und kann den Speicherbedarf trotzdem kompakt halten.

                                      CodierknechtC Offline
                                      CodierknechtC Offline
                                      Codierknecht
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #21

                                      @marc-berg sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                      Das ist ein logarithmitscher Wert

                                      ... den die wohl nach Gutdünken gewählt haben.

                                      Mit

                                      Was auch immer der darstellen soll

                                      meinte ich eher, dass da keine spezifische Einheit dazugehört.

                                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                      HmIP|ZigBee|Tasmota|Unifi
                                      Zabbix Certified Specialist
                                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                      1 Antwort Letzte Antwort
                                      0
                                      • Ro75R Ro75

                                        @sleepwalker ich nutze den netatmo crawler. Such dir eine Wetterstation mit Bierschlagsmessung in deinem Umfeld raus. Mache ich auch so und das passt, zumindest bei mir.

                                        Ro75

                                        S Offline
                                        S Offline
                                        Sleepwalker
                                        schrieb am zuletzt editiert von
                                        #22

                                        @ro75 said in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                        @sleepwalker ich nutze den netatmo crawler. Such dir eine Wetterstation mit Bierschlagsmessung in deinem Umfeld raus. Mache ich auch so und das passt, zumindest bei mir.

                                        Ro75

                                        Prost :-)
                                        Danke, ich habe den Crawler auch ausprobiert, habe ihn aber mangels Regenvorhersage wieder ignoriert. Für den Regenwert könnte ich den tatsächlich nochmal mit in die Auswahl nehmen. Aber irgendwie wirkt das für mich etwas vage, was die korrekte Messung angeht. Ich weiß ja schließlich nicht, ob Max Mustermann seine Station sinnvoll irgendwohin gestellt hat. So viele sind hier nicht in direkter Nähe. Und es haben auch leider nicht alles die :beer:-schlagsmessung.

                                        @Codierknecht
                                        Danke, die Formel lag ja auch schon weiter oben herum. Was mich irritiert hat: In Buidenalarm ist als Einheit in der URL "mm" angegeben und die Werte stimmen mir Buidenradar mehr oder weniger überein. Wenn man allerdings die "&unit=mm" aus der URL heraus lässt, dann ändert sich: genau nix.

                                        Aber dann nochmal zum Mitschreiben: Wenn ich jetzt einen umgerechneten Wert mm/h habe, der aber alle 5 Minuten angegeben wird, ist dann gemeint, dass der Regen für 60 Minuten genau so stark bleiben müsste, damit die mm/h "stimmen"? Dann könnte ich im Influx statt "sum" einfach "mean" verwenden. Richtig?

                                        @Marc-Berg
                                        Danke für die Ausführung, mein mathematisches Verständnis ist etwas eingerostet, aber ich meine zu verstehen :D

                                        CodierknechtC 1 Antwort Letzte Antwort
                                        0
                                        • S Sleepwalker

                                          @ro75 said in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                          @sleepwalker ich nutze den netatmo crawler. Such dir eine Wetterstation mit Bierschlagsmessung in deinem Umfeld raus. Mache ich auch so und das passt, zumindest bei mir.

                                          Ro75

                                          Prost :-)
                                          Danke, ich habe den Crawler auch ausprobiert, habe ihn aber mangels Regenvorhersage wieder ignoriert. Für den Regenwert könnte ich den tatsächlich nochmal mit in die Auswahl nehmen. Aber irgendwie wirkt das für mich etwas vage, was die korrekte Messung angeht. Ich weiß ja schließlich nicht, ob Max Mustermann seine Station sinnvoll irgendwohin gestellt hat. So viele sind hier nicht in direkter Nähe. Und es haben auch leider nicht alles die :beer:-schlagsmessung.

                                          @Codierknecht
                                          Danke, die Formel lag ja auch schon weiter oben herum. Was mich irritiert hat: In Buidenalarm ist als Einheit in der URL "mm" angegeben und die Werte stimmen mir Buidenradar mehr oder weniger überein. Wenn man allerdings die "&unit=mm" aus der URL heraus lässt, dann ändert sich: genau nix.

                                          Aber dann nochmal zum Mitschreiben: Wenn ich jetzt einen umgerechneten Wert mm/h habe, der aber alle 5 Minuten angegeben wird, ist dann gemeint, dass der Regen für 60 Minuten genau so stark bleiben müsste, damit die mm/h "stimmen"? Dann könnte ich im Influx statt "sum" einfach "mean" verwenden. Richtig?

                                          @Marc-Berg
                                          Danke für die Ausführung, mein mathematisches Verständnis ist etwas eingerostet, aber ich meine zu verstehen :D

                                          CodierknechtC Offline
                                          CodierknechtC Offline
                                          Codierknecht
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #23

                                          @sleepwalker sagte in Adapter, um nahenden & aktuellen Niederschlag zu erkennen:

                                          ist dann gemeint, dass der Regen für 60 Minuten genau so stark bleiben müsste, damit die mm/h "stimmen"? Dann könnte ich im Influx statt "sum" einfach "mean" verwenden. Richtig?

                                          So verstehe ich das auch. Mit "mean" sollte der Wert einigermaßen passen.
                                          Du kannst natürlich auch jeweils zur vollen Stunde die nächsten 12 Werte nehmen, die Regenmeng der Einzelwerte durch 12 teilen und summieren. Ob das dann aber besser ist als der Mittelwert, müsste man einfach mal ausprobieren.

                                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                          HmIP|ZigBee|Tasmota|Unifi
                                          Zabbix Certified Specialist
                                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                          M S 2 Antworten Letzte Antwort
                                          1
                                          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

                                          690

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          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