Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Regenmengenmesser Ventus W174 Regenmenge berechnen

    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

    [gelöst] Regenmengenmesser Ventus W174 Regenmenge berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Farmer-cb last edited by paul53

      @Farmer-cb sagte:

      sind 0,46 Liter/m² das kommt mir ein bisschen viel vor, oder täuscht das????

      Das stimmt: 0,0013 / 0,002853 = 0,45566 mm.
      Regenstärke aktuell:

      let act = 3600000 * 0.45566 / (dp.state.lc - lastPuls);
      lastPuls = dp.state.lc;
      
      F 2 Replies Last reply Reply Quote 0
      • F
        Farmer-cb @paul53 last edited by

        @paul53 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

        @Farmer-cb sagte:

        sind 0,46 Liter/m² das kommt mir ein bisschen viel vor, oder täuscht das????

        Das stimmt: 0,0013 / 0,002853 = 0,45566 mm.
        Regenstärke aktuell:

        let act = 3600000 * 0.45566 / (dp.state.lc - lastPuls);
        lastPuls = dp.state.lc;
        

        was ist dp.state.lc??? ist das der Zeitstempel des dp

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Farmer-cb last edited by

          @Farmer-cb sagte:

          ist das der Zeitstempel des dp

          Ja, der Zeitstempel der letzten Wertänderung des Trigger-Datenpunktes.

          F 2 Replies Last reply Reply Quote 0
          • F
            Farmer-cb @paul53 last edited by

            @paul53 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

            @Farmer-cb sagte:

            ist das der Zeitstempel des dp

            Ja, der Zeitstempel der letzten Wertänderung des Trigger-Datenpunktes.

            werd ich mal einbauen und testen

            Danke schon mal

            1 Reply Last reply Reply Quote 0
            • F
              Farmer-cb @paul53 last edited by

              @paul53 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

              @Farmer-cb sagte:

              ist das der Zeitstempel des dp

              Ja, der Zeitstempel der letzten Wertänderung des Trigger-Datenpunktes.

              habs jetzt eingebaut und es funktioniert natürlich,

              kannst du mir vielleicht auf die Sprünge helfen, wie ich die

              Regenmenge pro Stunde
              Regenmenge pro Tag

              noch berechnen kann???

              wenn ich dein kurzes Script ansehe, laufe ich mit meinen Scripte immer mit der Kirche ums Dorf.

              ich würde jetzt, bei jedem Impulse die Menge aufaddieren, bis das eine Std voll ist und dann den Wert speichern

              1 Reply Last reply Reply Quote 0
              • F
                Farmer-cb @paul53 last edited by

                @paul53 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

                @Farmer-cb sagte:

                sind 0,46 Liter/m² das kommt mir ein bisschen viel vor, oder täuscht das????

                Das stimmt: 0,0013 / 0,002853 = 0,45566 mm.
                Regenstärke aktuell:

                let act = 3600000 * 0.45566 / (dp.state.lc - lastPuls);
                lastPuls = dp.state.lc;
                

                Resetest du den wert irgendwann

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Farmer-cb last edited by

                  @Farmer-cb sagte:

                  Resetest du den wert irgendwann

                  Den sollte man nach einigen Minuten ohne Trigger (ohne Wertänderung) auf 0 setzen.

                  Hier ein Vorschlag mit Tagesmenge und maximaler Intensität am Tag:

                  const idRegen = '...'; // Regenmesser
                  const idMenge = '0_userdata.0.Wetter.Regen.Menge_heute';
                  const idStaerke = '0_userdata.0.Wetter.Regen.Staerke';
                  const idMax = '0_userdata.0.Wetter.Regen.Max_Staerke';
                  const idGestern = '0_userdata.0.Wetter.Regen.Menge_gestern';
                  
                  var menge = getState(idMenge).val;
                  var lastPuls = getState(idRegen).lc;
                  var max = getState(idMax).val;
                  var timer = null;
                  
                  on({id: idRegen, change: 'lt'}, function(dp) { // triggert bei Flanke true --> false
                      menge += 0.45566;
                      setState(idMenge, menge, true);
                      let act = 3600000 * 0.45566 / (dp.state.lc - lastPuls);
                      lastPuls = dp.state.lc;
                      setState(idStaerke, act, true);
                      if(timer) {
                          clearTimeout(timer);
                          timer = null;
                      }
                      timer = setTimeout(function() {
                          setState(idStaerke, 0, true);
                      }, 1800000); // 30 Minuten
                      if(act > max) {
                          max = act;
                          setState(idMax, max, true);
                      }
                  });
                  
                  schedule('0 0 * * *', function() {
                      setState(idGestern, menge, true);
                      menge = 0;
                      setState(idMenge, 0, true);
                      max = 0;
                      setState(idMax, 0, true);
                  });
                  
                  F 1 Reply Last reply Reply Quote 0
                  • A H 0
                    A H 0 last edited by

                    Hallo @Farmer-cb wie erfasst du die Werte des Ventus W174 im ioBroker? Ich hatte diesen interessanten Link gefunden um es mit modifizierter Tasmota Firmware direkt im Wemos D1 Mini zu ermitteln, was aber wohl nicht so einfach ist da man die FW complieren muss.

                    https://forum.creationx.de/forum/index.php?thread/1095-d0-zähler-sml-auslesen-mit-tasmota/&postID=25807#post25807

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Farmer-cb @paul53 last edited by

                      @paul53 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

                      @Farmer-cb sagte:

                      Resetest du den wert irgendwann

                      Den sollte man nach einigen Minuten ohne Trigger (ohne Wertänderung) auf 0 setzen.

                      Hier ein Vorschlag mit Tagesmenge und maximaler Intensität am Tag:

                      const idRegen = '...'; // Regenmesser
                      const idMenge = '0_userdata.0.Wetter.Regen.Menge_heute';
                      const idStaerke = '0_userdata.0.Wetter.Regen.Staerke';
                      const idMax = '0_userdata.0.Wetter.Regen.Max_Staerke';
                      const idGestern = '0_userdata.0.Wetter.Regen.Menge_gestern';
                      
                      var menge = getState(idMenge).val;
                      var lastPuls = getState(idRegen).lc;
                      var max = getState(idMax).val;
                      var timer = null;
                      
                      on({id: idRegen, change: 'lt'}, function(dp) { // triggert bei Flanke true --> false
                          menge += 0.45566;
                          setState(idMenge, menge, true);
                          let act = 3600000 * 0.45566 / (dp.state.lc - lastPuls);
                          lastPuls = dp.state.lc;
                          setState(idStaerke, act, true);
                          if(timer) {
                              clearTimeout(timer);
                              timer = null;
                          }
                          timer = setTimeout(function() {
                              setState(idStaerke, 0, true);
                          }, 1800000); // 30 Minuten
                          if(act > max) {
                              max = act;
                              setState(idMax, max, true);
                          }
                      });
                      
                      schedule('0 0 * * *', function() {
                          setState(idGestern, menge, true);
                          menge = 0;
                          setState(idMenge, 0, true);
                          max = 0;
                          setState(idMax, 0, true);
                      });
                      

                      habs jetzt testen können und funktioniert einwandfrei, vielen Dank für die Unterstützung

                      1 Reply Last reply Reply Quote 0
                      • F
                        Farmer-cb @A H 0 last edited by

                        @A-H-0 sagte in Regenmengenmesser Ventus W174 Regenmenge berechnen:

                        Hallo @Farmer-cb wie erfasst du die Werte des Ventus W174 im ioBroker? Ich hatte diesen interessanten Link gefunden um es mit modifizierter Tasmota Firmware direkt im Wemos D1 Mini zu ermitteln, was aber wohl nicht so einfach ist da man die FW complieren muss.

                        https://forum.creationx.de/forum/index.php?thread/1095-d0-zähler-sml-auslesen-mit-tasmota/&postID=25807#post25807

                        Servus
                        ich hab den Reedkontakt direkt am NodeMCU-ESP32 hängen, und lass mir die Signale übermitteln, habe aber den Reedkontakt auf eine Seite der Wippe gezogen, somit erhalte ich keinen kurzen Impulse, sondern immer einen Wechsel.
                        soll heissen:
                        ist die Wippe Links bekomme ich FALSE, ist die Wippe rechts bekomme ich TRUE. da brauch ich keine Angst haben wegen zu kurzen Flanken beim Wischen wenn die Wippe die Seite wechselt.
                        Ausgewertet wird immer ein Signalwechsel, egal ob TRUE->FALSE oder FALSE->TRUE

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Farmer-cb last edited by

                          @Farmer-cb sagte:

                          Ausgewertet wird immer ein Signalwechsel, egal ob TRUE->FALSE oder FALSE->TRUE

                          Also hast Du change: 'lt' geändert in change: 'ne' ?

                          F 1 Reply Last reply Reply Quote 0
                          • K
                            karstent last edited by

                            @Farmer-cb said in [gelöst] Regenmengenmesser Ventus W174 Regenmenge berechnen:

                            const idRegen = '...'; // Regenmesser const idMenge = '0_userdata.0.Wetter.Regen.Menge_heute'; const idStaerke = '0_userdata.0.Wetter.Regen.Staerke'; const idMax = '0_userdata.0.Wetter.Regen.Max_Staerke'; const idGestern = '0_userdata.0.Wetter.Regen.Menge_gestern';

                            Jetzt stehe ich auf dem Schlauch und würde das Script gerne verwenden. idRegen scheint klar, ist der Datenpunkt der Impulse.
                            Nur was sind das für Datenpunkte darunter?
                            Werden die angelegt oder muss ich die anlegen?
                            Danke

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

                              @karstent sagte:

                              muss ich die anlegen?

                              Ja.

                              1 Reply Last reply Reply Quote 0
                              • K
                                karstent last edited by

                                wie konfiguriere ich eigentlich die Datenpunkte?
                                Was trage ich z.B. bei "min" und "max" ein ?
                                "Unit" ist warscheinlich "mm"
                                datenpukt.JPG

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

                                  @karstent sagte:

                                  Was trage ich z.B. bei "min" und "max" ein ?
                                  "Unit" ist warscheinlich "mm"

                                  0 und 100 können bleiben, denn mehr als 100 mm pro Tag wird es nicht regnen. "unit" bei Menge "mm", bei Stärke "mm/h".

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

                                    prima, danke

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      Farmer-cb @paul53 last edited by

                                      @paul53 sagte in [gelöst] Regenmengenmesser Ventus W174 Regenmenge berechnen:

                                      @Farmer-cb sagte:

                                      Ausgewertet wird immer ein Signalwechsel, egal ob TRUE->FALSE oder FALSE->TRUE

                                      Also hast Du change: 'lt' geändert in change: 'ne' ?

                                      jap

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        karstent last edited by

                                        Jetzt habe ich doch noch mal eine Frage zum Script. In den variablen werden mir Werte angezeigt die etliche Nachkommastellen beinhalten. Kann man das irgendwie auf 2 Nachkommastellen begrenzen?
                                        Danke
                                        nachkomma.JPG

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

                                          @karstent sagte:

                                          Kann man das irgendwie auf 2 Nachkommastellen begrenzen?

                                          Man kann. Beispiel Menge:

                                              setState(idMenge, Math.round(menge * 100) / 100, true);
                                          
                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            karstent @paul53 last edited by

                                            @paul53 prima, danke Dir

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            684
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            4
                                            21
                                            3199
                                            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