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. Skripten / Logik
  4. JavaScript
  5. Durchfluss Liter/Min aus Zählerstand

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Durchfluss Liter/Min aus Zählerstand

Geplant Angeheftet Gesperrt Verschoben JavaScript
19 Beiträge 4 Kommentatoren 1.0k Aufrufe 3 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.
  • HomoranH Homoran

    @duffy6 sagte in Durchfluss Liter/Min aus Zählerstand:

    ohne dass ich jede Minute den Zählerstand auslese und damit den Durchfluss berechne?

    was ist denn daran so schlecht?
    Das dürfte die genaueste Methode sein, da garantiert nich immer der gleiche Fluss herrscht.

    Das mache ich so beim Wasser und auch beim Gas. Dort berechne ich mir daraus sogar die momentane Brennerleistung.

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #6

    @homoran sagte: was ist denn daran so schlecht?

    Dass bei niedrigem Durchfluss (z.B. 0,4 l/min) der Durchflusswert zwischen 0 und 1 wechselt (bei Zählerauflösung 1 l). Evtl. sind die 5 Minuten Timeout noch zu kurz, um auf Durchfluss 0 zu setzen?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    K 1 Antwort Letzte Antwort
    1
    • paul53P paul53

      @homoran sagte: was ist denn daran so schlecht?

      Dass bei niedrigem Durchfluss (z.B. 0,4 l/min) der Durchflusswert zwischen 0 und 1 wechselt (bei Zählerauflösung 1 l). Evtl. sind die 5 Minuten Timeout noch zu kurz, um auf Durchfluss 0 zu setzen?

      K Offline
      K Offline
      klassisch
      Most Active
      schrieb am zuletzt editiert von
      #7

      @paul53 Dieses auf 0 Setzen benötigt man gerade weil man nicht zyklisch die Daten verarbeitet.
      Wenn man z.B. alle Minute neue Daten bekommt (egal ob gepusht oder gepullt) braucht man dieses extra Nullen nicht. passiert dann automatisch - und physikalisch korrekt wie ich meine. Das Zyklische Nullen verfälscht die Flusswerte, meine ich. Habe das "Problem" bei meinem Regenmesser.

      paul53P 1 Antwort Letzte Antwort
      0
      • K klassisch

        @paul53 Dieses auf 0 Setzen benötigt man gerade weil man nicht zyklisch die Daten verarbeitet.
        Wenn man z.B. alle Minute neue Daten bekommt (egal ob gepusht oder gepullt) braucht man dieses extra Nullen nicht. passiert dann automatisch - und physikalisch korrekt wie ich meine. Das Zyklische Nullen verfälscht die Flusswerte, meine ich. Habe das "Problem" bei meinem Regenmesser.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #8

        @klassisch sagte: Wenn man z.B. alle Minute neue Daten bekommt (egal ob gepusht oder gepullt) braucht man dieses extra Nullen nicht.

        Das ist richtig. Man hat bei einer Zählerauflösung von 1 l aber keine Nachkommastellen, sondern der Wert schwankt zwischen zwei Integer-Werten.

        @klassisch sagte in Durchfluss Liter/Min aus Zählerstand:

        Das Zyklische Nullen verfälscht die Flusswerte, meine ich.

        Es wird nicht zyklisch genullt, sondern nur, wenn lange genug nicht mehr getriggert wird, weil sich der Zählerstand nicht ändert.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        K 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @klassisch sagte: Wenn man z.B. alle Minute neue Daten bekommt (egal ob gepusht oder gepullt) braucht man dieses extra Nullen nicht.

          Das ist richtig. Man hat bei einer Zählerauflösung von 1 l aber keine Nachkommastellen, sondern der Wert schwankt zwischen zwei Integer-Werten.

          @klassisch sagte in Durchfluss Liter/Min aus Zählerstand:

          Das Zyklische Nullen verfälscht die Flusswerte, meine ich.

          Es wird nicht zyklisch genullt, sondern nur, wenn lange genug nicht mehr getriggert wird, weil sich der Zählerstand nicht ändert.

          K Offline
          K Offline
          klassisch
          Most Active
          schrieb am zuletzt editiert von
          #9

          @paul53 sagte in Durchfluss Liter/Min aus Zählerstand:

          Das ist richtig. Man hat bei einer Zählerauflösung von 1 l aber keine Nachkommastellen, sondern der Wert schwankt zwischen zwei Integer-Werten.

          Wenn der Zähler steht, dann wird der Zählerdes Bruchs und damit der berechnete Durchfluss Null.

          Es wird nicht zyklisch genullt, sondern nur, wenn lange genug nicht mehr getriggert wird, weil sich der Zählerstand nicht ändert.

          Ja, da hast Du recht und ich habe es falsch geschrieben Genullt wird nach einem (beliebig gewähltem) timeout. In dieser Timeout Zeit kann was falsches angezeigt werden. Es wird noch Durchfluss gezeigt, obwohl keiner mehr da ist.

          Meine Wasserzähler ESPs (und früher die S0 Zähler ESPs) schicken jede Minute eine Impulssumme. Also wird jede Minute der Wert aktualisiert und der Durchfluß (bzw. Leistung) berechnet. Bei der Methode braucht es den Timeout Reset nicht. ioBroker muß halt jede Minute was tun. Aber der Rechner packt das schon.

          paul53P 1 Antwort Letzte Antwort
          0
          • K klassisch

            @paul53 sagte in Durchfluss Liter/Min aus Zählerstand:

            Das ist richtig. Man hat bei einer Zählerauflösung von 1 l aber keine Nachkommastellen, sondern der Wert schwankt zwischen zwei Integer-Werten.

            Wenn der Zähler steht, dann wird der Zählerdes Bruchs und damit der berechnete Durchfluss Null.

            Es wird nicht zyklisch genullt, sondern nur, wenn lange genug nicht mehr getriggert wird, weil sich der Zählerstand nicht ändert.

            Ja, da hast Du recht und ich habe es falsch geschrieben Genullt wird nach einem (beliebig gewähltem) timeout. In dieser Timeout Zeit kann was falsches angezeigt werden. Es wird noch Durchfluss gezeigt, obwohl keiner mehr da ist.

            Meine Wasserzähler ESPs (und früher die S0 Zähler ESPs) schicken jede Minute eine Impulssumme. Also wird jede Minute der Wert aktualisiert und der Durchfluß (bzw. Leistung) berechnet. Bei der Methode braucht es den Timeout Reset nicht. ioBroker muß halt jede Minute was tun. Aber der Rechner packt das schon.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #10

            @klassisch sagte: Es wird noch Durchfluss gezeigt, obwohl keiner mehr da ist.

            Richtig. Im zyklischen Fall wird zwischendurch "kein Durchfluss" angezeigt, obwohl geringer Durchfluss vorhanden ist. Man muss sich also entscheiden, was man bevorzugt.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            K 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @klassisch sagte: Es wird noch Durchfluss gezeigt, obwohl keiner mehr da ist.

              Richtig. Im zyklischen Fall wird zwischendurch "kein Durchfluss" angezeigt, obwohl geringer Durchfluss vorhanden ist. Man muss sich also entscheiden, was man bevorzugt.

              K Offline
              K Offline
              klassisch
              Most Active
              schrieb am zuletzt editiert von
              #11

              [OT "philosophische" Diskussion]
              @paul53 sagte in Durchfluss Liter/Min aus Zählerstand:

              Im zyklischen Fall wird zwischendurch "kein Durchfluss" angezeigt, obwohl geringer Durchfluss vorhanden ist. Man muss sich also entscheiden, was man bevorzugt.

              Es wird halt beim zyklischen Messen und Rechnen kein zusätzlicher Durchfluß erzeugt. Kleine Durchflüsse werden u.U. ungeschickt "gerundet", die Fehler sollten sich aber wegintegrieren .
              Wenn ich die Durchflüsse beider Methoden wieder zu einem Volumen aufintegrieren würde, dann wäre die zyklische Verarbeitung näher an der Volumenanzeige des Zählers. Deshalb habe ich mich für die Wasserzähler und die ehem. S0 Zähler (jetzt durch Modbus Zähler ersetzt) für dieses Verfahren entschieden.

              Bei den Wasserzählern taste ich optisch das Sternrad ab.
              Bei der letzten Jahresablesung hatten meine elektronischen Werte zu den abgelesenen folgende Abweichung: -0,07%; -0,01%; -0,08% . Gut, hat jetzt mit der eigentlichen Fragestellung nach Durchfluß (bzw Leistung) nichts zu tun, habe die Daten aber jetzt gerade gesichtet und finde sie gar nicht so schlecht...

              Beim Regenmesser mache ich es noch anders, mit Resetierung nach timeout. Da interessiert mich vor allem die Gesamtmenge, die davon nicht beinflußt wird, und eigentlich nur bei sehr starken Regenfällen noch die maximale Regenintensität (wow, gestern hatten wir kurzzeitig mal 91mm/h). Da halte ich es lean und prozessiere nur, wenn die Kippwaage umschlägt. Ab und an denke ich wieder über diese meßtechnische Unsauberkeit nach, aber dann ist es mir an dieser Stellen auch nicht soo wichtig.....

              1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @duffy6 sagte in Durchfluss Liter/Min aus Zählerstand:

                ohne dass ich jede Minute den Zählerstand auslese und damit den Durchfluss berechne?

                was ist denn daran so schlecht?
                Das dürfte die genaueste Methode sein, da garantiert nich immer der gleiche Fluss herrscht.

                Das mache ich so beim Wasser und auch beim Gas. Dort berechne ich mir daraus sogar die momentane Brennerleistung.

                D Offline
                D Offline
                duffy6
                schrieb am zuletzt editiert von duffy6
                #12

                @homoran
                Könntest Du mir den Codeschnipsel der minütlichen Ausführung hier mal reinstellen?

                Bin nämlich gerade am überlegen wie ich an den "alten" Wert (der eine Minute alt ist) komme ohne ein weiteres Binding anzulegen.
                "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                paul53P HomoranH 2 Antworten Letzte Antwort
                0
                • D duffy6

                  @homoran
                  Könntest Du mir den Codeschnipsel der minütlichen Ausführung hier mal reinstellen?

                  Bin nämlich gerade am überlegen wie ich an den "alten" Wert (der eine Minute alt ist) komme ohne ein weiteres Binding anzulegen.
                  "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #13

                  @duffy6 sagte: "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                  Nein, man benötigt eine eigene Variable "lastValue", die bei Skriptstart initialisiert werden muss.

                  const idZaehler = 'abc'; // ID eintragen
                  const idDurchfluss = '0_userdata.0.xyz'; // ID eintragen
                  const Faktor = 0; // selbst ermitteln!
                   
                  var lastValue = getState(idZaehler).val;
                   
                  schedule('* * * * *', function() {
                      let value = getState(idZaehler).val;
                      let durchfluss = Faktor * (value - lastValue);
                      lastValue = value;
                      setState(idDurchfluss, durchfluss, true);
                  });
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  1
                  • D duffy6

                    @homoran
                    Könntest Du mir den Codeschnipsel der minütlichen Ausführung hier mal reinstellen?

                    Bin nämlich gerade am überlegen wie ich an den "alten" Wert (der eine Minute alt ist) komme ohne ein weiteres Binding anzulegen.
                    "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #14

                    @duffy6 sagte in Durchfluss Liter/Min aus Zählerstand:

                    @homoran
                    Könntest Du mir den Codeschnipsel der minütlichen Ausführung hier mal reinstellen?

                    Bin nämlich gerade am überlegen wie ich an den "alten" Wert (der eine Minute alt ist) komme ohne ein weiteres Binding anzulegen.
                    "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                    ich arbeite mit dem Datenpunkt vom Zählerstand auf Aktualisierung.
                    Dann steht auch old value zur Verfügung.

                    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 -

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @duffy6 sagte in Durchfluss Liter/Min aus Zählerstand:

                      @homoran
                      Könntest Du mir den Codeschnipsel der minütlichen Ausführung hier mal reinstellen?

                      Bin nämlich gerade am überlegen wie ich an den "alten" Wert (der eine Minute alt ist) komme ohne ein weiteres Binding anzulegen.
                      "oldvalue" klappt ja bei einer Intervall-Ausführung nicht, oder?

                      ich arbeite mit dem Datenpunkt vom Zählerstand auf Aktualisierung.
                      Dann steht auch old value zur Verfügung.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #15

                      @homoran sagte: Datenpunkt vom Zählerstand auf Aktualisierung.

                      Der DP wird jede Minute aktualisiert?

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @homoran sagte: Datenpunkt vom Zählerstand auf Aktualisierung.

                        Der DP wird jede Minute aktualisiert?

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #16

                        @paul53 sagte in Durchfluss Liter/Min aus Zählerstand:

                        @homoran sagte: Datenpunkt vom Zählerstand auf Aktualisierung.

                        Der DP wird jede Minute aktualisiert?

                        nee, nicht wirklich!
                        das ist alle drei Minuten. Ich mache das mit dem ESP32 CAM Projekt von @jomjol

                        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 -

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @paul53 sagte in Durchfluss Liter/Min aus Zählerstand:

                          @homoran sagte: Datenpunkt vom Zählerstand auf Aktualisierung.

                          Der DP wird jede Minute aktualisiert?

                          nee, nicht wirklich!
                          das ist alle drei Minuten. Ich mache das mit dem ESP32 CAM Projekt von @jomjol

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #17

                          @homoran sagte: alle drei Minuten.

                          Hauptsache zyklisch.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @homoran sagte: alle drei Minuten.

                            Hauptsache zyklisch.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #18

                            @paul53 sagte:

                            Hauptsache zyklisch.

                            ja!
                            ich hatte sogar einen Algorithmus drin, der überprüft hat, ob ein Wert ausgesetzt hatte und dann die entsprechenden Werte in das Schieberegister für den Mittelwert nachgetragen hat.

                            Hier der Gasverbrauch (in dem Heizkreisgraphen)
                            Screenshot_20230116-144832_Firefox.jpg

                            und hier der "Kessel"kreislauf mit errechneter Brennerleistung (magenta) über den Durchschnitt der letzten 10 Messungen
                            Screenshot_20230116-144932_Firefox.jpg

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

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

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

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              klassisch
                              Most Active
                              schrieb am zuletzt editiert von klassisch
                              #19

                              Bei meinen zyklischen Daten (Wasserzähler, früher auch S0 Stromzähler) habe ich den Zyklus durch die Sensoren vorgeben lassen. Diese senden jede Minute neue Daten (Gesamtsumme).
                              Dann kann man auf die Datenpunkte triggern und "old" funktioniert auch wieder.
                              Das Ursprungsskript von @paul53 passt dann, wenn man den timeout block raus nimmt.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              683

                              Online

                              32.6k

                              Benutzer

                              82.3k

                              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