Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [erledigt] Regensensor - Sprünge erkennen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [erledigt] Regensensor - Sprünge erkennen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      adarof last edited by adarof

      Hallo
      Ich habe einen Regensensor mir gebaut auf Basis von diesen "Platinen": https://www.amazon.de/AZDelivery-Regentropfen-Sensor-Arduino-gratis/dp/B07CP2GX9P
      Zur Erfassung war dahinter erst ein FlowerCare, das war aber frickelig und nicht zuverlässig - nun habe ich einen Homematic Temperatur-Differenzsensor umgebaut ...

      Aufzeichnung funktioniert super:
      2c9376fb-b9b2-4c28-b123-9d0dfd9b06f5-image.png
      Da er aber keine Heizung zum abtrockenen hat, geht er nachts fast immer langsam hoch.
      Aber Sprünge in den Messwerten sind immer Regen!
      Ganz links in der Aufzecihnung sieht man Nieselregen - 3x Werte 11:11, 11:17, 11:19 und 11:24 mit mehr als 5Grad "Temp"-Unterschied.

      --> Wie kann ich im IoB-Skript am einfachsten solche Sprünge erkennen? Muss ich selber mir die letzten 2-3 Werte mit Uhrzeit merken und ausrechnen? Oder gibts da was fertiges bzw eine Funktion zum kopieren?

      Gruss -

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @adarof last edited by

        @adarof sagte:

        Wie kann ich im IoB-Skript am einfachsten solche Sprünge erkennen?

        Nach Zeit differenzieren.

        on(idRegen, function(dp) {
           if((dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc) > Grenzwert) {
              // es regnet
           }
        });
        
        A 1 Reply Last reply Reply Quote 0
        • A
          adarof @paul53 last edited by

          @paul53 Danke - hab ich mal so übernommen. Gefühl wäre, dass ich mehr als 2 Werte brauche
          (also nicht nur die Steigung zwischen Old und Aktuell, sondern auch 2..3 ältere Werte. Aber ich probiers mal so erstmal.
          DANKE

          A 1 Reply Last reply Reply Quote 0
          • A
            adarof @adarof last edited by

            Wollte kurz berichten, dass das ganz gut klappt mittlerweile.
            Danke also nochmal

            Ich nutze nach beobachtung meines Aufbaus nun 0.5 zum Detektieren von Regen und -0.5 zum Detektieren vom Aufhören des Regens.

            var diffWert = (obj.state.val - obj.oldState.val) / ((obj.state.lc - obj.oldState.lc)/1000/60) ; //should be min(value - oldValue) / (obj.state.lc - obj.oldState.lc); 
              setState("0_userdata.0.RegensensorPRGDiffWertHistory"/*RegensensorPRGDiffWertHistory*/, diffWert);
              if( diffWert > 0.5 && getState("0_userdata.0.RegensensorPRGDetectedRain").val == false) {
            getState("0_userdata.0.RegensensorPRGDetectedRain").val == false) {
                setState("0_userdata.0.RegensensorPRGDetectedRain"/*RegensensorPRGDetectedRain*/, true);
                } else if (diffWert < -0.5 && getState("0_userdata.0.RegensensorPRGDetectedRain").val == true) { 
                setState("0_userdata.0.RegensensorPRGDetectedRain"/*RegensensorPRGDetectedRain*/, false);
              } else {
                if(getState("0_userdata.0.RegensensorPRGDetectedRain").val == true) {
                      //'Es regnet - Änderung aber egal' + diffWert
                } 
               
            

            Hier noch ein SCreenshot von

            1. der Feuchtigkeit
            2. dem errechneten DiffWert
            3. der Variable RegenDetected:

            21f49637-5abd-4b69-9086-98fc12ca172b-image.png

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            938
            Online

            31.9k
            Users

            80.1k
            Topics

            1.3m
            Posts

            climate javascript
            2
            4
            371
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo