Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Version 2 - all-in-device

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Wasserzähler - Version 2 - all-in-device

    This topic has been deleted. Only users with topic management privileges can see it.
    • Rene_HM
      Rene_HM Developer @jomjol last edited by

      @jomjol sagte in Wasserzähler - Version 2 - all-in-device:

      Was verstehst du unter "Überlaufproblem"?

      wie man im Bild sieht, wandert die letzte Stelle aus dem Sichtbereich (im o.g. Beispiel die 3). Diese Ziffer wird dann nicht mehr erkannt. Als Wert wird dann ein N (51N.93159) übergeben.
      Der letzte richtig erkannte Wert war 513,8898. Ich könnte mir also eine Lösung vorstellen, einfach die 513 weiter zu verwenden und nur die Nachkommastellen zu aktualisieren (solange das plausible ist)...

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Rene_HM last edited by

        @rene_hm sagte in Wasserzähler - Version 2 - all-in-device:

        ch könnte mir also eine Lösung vorstellen, einfach die 513 weiter zu verwenden und nur die Nachkommastellen zu aktualisieren (solange das plausible ist)...

        und woher weisst die KI, dass es nicht schon der Wechsel von 5 auf 6 ist?

        Rene_HM 3 Replies Last reply Reply Quote 0
        • Rene_HM
          Rene_HM Developer @Homoran last edited by

          @homoran weil im o.g. Beispiel nach der 513 die 514 kommt und solange die Nachkommstellen größer werden und den Nulldurchlauf noch nicht gesehen haben, könnte man das annehmen. Klar, das gilt nur dann, wenn der Wasserverbrauch in der gegebenen Abtastrate keinen weiteren oder mehrere Nulldurchläufe verursachen, was m.E. aber eher unwahrscheinlich ist (zumindest in meiner Anwendung)

          1 Reply Last reply Reply Quote 0
          • Rene_HM
            Rene_HM Developer @Homoran last edited by

            @homoran weil im o.g. Beispiel nach der 513 die 514 kommt und solange die Nachkommstellen größer werden und den Nulldurchlauf noch nicht gesehen haben, könnte man das annehmen. Klar, das gilt nur dann, wenn der Wasserverbrauch in der gegebenen Abtastrate keinen weiteren oder mehrere Nulldurchläufe verursachen, was m.E. aber eher unwahrscheinlich ist (zumindest in meiner Anwendung)

            J 1 Reply Last reply Reply Quote 0
            • Rene_HM
              Rene_HM Developer @Homoran last edited by

              @homoran weil im o.g. Beispiel nach der 513 die 514 kommt und solange die Nachkommstellen größer werden und den Nulldurchlauf noch nicht gesehen haben, könnte man das annehmen. Klar, das gilt nur dann, wenn der Wasserverbrauch in der gegebenen Abtastrate keinen weiteren oder mehrere Nulldurchläufe verursachen, was m.E. aber eher unwahrscheinlich ist (zumindest in meiner Anwendung)

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Rene_HM last edited by Homoran

                @rene_hm ich hab es schon nach dem ersten mal verstanden 😉

                Aber du setzt Wissen voraus, das die KI nicht hat.
                Die KI sieht außerdem nur alle 5 Minuten eine Momentaufnahme, kann also gar nicht wissen wie viele Nulldurchläufe in der Zwischenzeit existierten

                1 Reply Last reply Reply Quote 0
                • J
                  jomjol @Rene_HM last edited by

                  @rene_hm sagte in Wasserzähler - Version 2 - all-in-device:

                  @homoran weil im o.g. Beispiel nach der 513 die 514 kommt und solange die Nachkommstellen größer werden und den Nulldurchlauf noch nicht gesehen haben, könnte man das annehmen. Klar, das gilt nur dann, wenn der Wasserverbrauch in der gegebenen Abtastrate keinen weiteren oder mehrere Nulldurchläufe verursachen, was m.E. aber eher unwahrscheinlich ist (zumindest in meiner Anwendung)

                  Hallo zusammen,
                  die Software hat genau den von euch beschriebenen Algorithmus:

                  • wenn ein "N" erkannt wird, dann wird es mit dem letzten Wert (aus Previous Value) ersetzt.
                  • wenn der Parameter "CheckDigitIncreaseConsisstency" aktiviert ist, dann findet auch genau dies Konsistenzprüfung statt, ob die Stellen vorher schon einen Nulldurchgang hatten. Wie @rene_hm richtig bemerkt hat, funktioniert das nur zuverlässig, wenn zwischen zwei Messungen nicht mehrere Nulldurchläufe stattgefunden haben. Daher ist die Funktion nur bei hybriden Zählern (analog + digital) sinnvoll, da man dann genau davon ausgehen kann.
                    ff3d2182-2fc9-444c-8bbc-7196e45b5c60-grafik.png
                  M Rene_HM Rupert S. 3 Replies Last reply Reply Quote 0
                  • M
                    mameier1234 @jomjol last edited by

                    @jomjol Dann ist da aber noch was nicht optimal...

                    ddd06f2b-16bf-400e-8d0a-2b395929a720-image.png

                    Mein Beispiel.. ich habe vor kurzem einen neuen Zähler bekommen, der hat also bei 0 angefangen zu zählen..

                    Leider ist noch eine relativ große Luftblase drin, die wandert, so dass die Erkennung noch nicht opimal ist..

                    Wir haben also aktll 26.xxx Der Konsistenzcheck ist eingeschaltet und korrigier die Fehlerkennungen "meistens"

                    Aber scheinbar wir der Prevalue immer wieder mal vergessen...

                    Ich bin jetzt aus dem Urlaub zurückgekomen und er hat nicht mehr nur 26.xxx auf der Uhr gehabt sondern angeblich 04026.xxx also 4000 qm mehr als vorher...

                    Der Prevalue war dabei leer... Ich habe ihn neu gesetzt und jetzt ignoriert er die erkannte 4 an der 2 Stelle von links wieder..

                    Diesen Fehler hatte ich in den letzten Wochen schon einige male...

                    1 Reply Last reply Reply Quote 0
                    • Rene_HM
                      Rene_HM Developer @jomjol last edited by

                      @jomjol sagte in Wasserzähler - Version 2 - all-in-device:

                      CheckDigitIncreaseConsisstency

                      ich habe den CheckDigitIncreaseConsisstency jetzt mal eingeschaltet. Mal schauen, was passiert.

                      wenn ein "N" erkannt wird, dann wird es mit dem letzten Wert (aus Previous Value) ersetzt

                      sollte das auch ohne o.g. check passieren?

                      1 Reply Last reply Reply Quote 0
                      • E
                        ecki945 @jomjol last edited by

                        @jomjol Habe nun eine 2te SD Karte genommen. gleiche Fehlermeldung. Augenscheinlich kann der ESP32 nicht auf die Karte schreiben. Verstehe ich nicht ganz. Habe den Inhalt des SD-Karte Vereichniss der heruntergeladenen Version 9.11 auf die SD Karte kopiert und nach Spannungsversorgung kommt ja auch der Assistent. Schreibschutz gibt es ja keinen.

                        Vielleicht könnte jemand anders das mal mit einer neuen SD-Karte probieren und ggf Rückmeldung geben.

                        1 Reply Last reply Reply Quote 0
                        • Rupert S.
                          Rupert S. @jomjol last edited by

                          @jomjol said in Wasserzähler - Version 2 - all-in-device:

                          in der 9.1.0 beseitigt

                          Ok, ich sehe die Veränderung im Code für NUMBERS[j]->Nachkomma.
                          Hab' grad das Update auf 9.1.1 gemacht, jetzt funktioniert's: PreValue wird mit ausreichend Nachkommastellen abgespeichert. Danke schön!

                          1 Reply Last reply Reply Quote 0
                          • Rupert S.
                            Rupert S. @jomjol last edited by

                            @jomjol said in Wasserzähler - Version 2 - all-in-device:

                            Hallo zusammen,
                            die Software hat genau den von euch beschriebenen Algorithmus:

                            wenn ein "N" erkannt wird, dann wird es mit dem letzten Wert (aus Previous Value) ersetzt.

                            Ich habe ja einen ähnlichen Zähler wie @rene_hm: Die einzelnen Liter sind die letzte Digitalstelle, der eine analoge Zeiger dreht 1x pro Liter. Bei mir schiebt sich die letzte Digitalstelle (also der Liter) kontinuierlich vor.
                            Von x.0 bis ca. x.2 wird "x" korrekt erkannt.
                            Von x.3 bis x.7 wird x nicht erkannt und durch "N" ersetzt bzw. aus PreValue abgeleitet.
                            Von x.7 bis x.99999 wird x falsch, nämlich schon eins zu hoch erkannt, weil der Vorschub schon so weit ist.

                            Dieses Phänomen liegt in der Bauweise des Zählers und kann in der Bild- bzw. Ziffernerkennung erst mal nicht gelöst werden. Ich habe nur ca. 50% Chance, die letzte Digitalstelle zu erkennen. Der Algorithmus mit Betrachtung, was war vorher und was kann alles nicht sein (Rückwärtslauf usw.), muss es heilen.
                            Hier ist es möglicherweise aber etwas kurz gesprungen, sich nur den letzten Wert zu merken (PreValue) unabhängig davon, ob er eindeutig erkannt, oder wg. eines oder mehrerer "N" abgeleitet wurde. Beispiel:
                            401.09N1 kann mehrmals hintereinander so erkannt werden, auch wenn ich zwischen zwei Fotos ein exaktes Vielfaches von 1 ltr gezapft habe. Natürlich -- und das ist viel wahrscheinlicher -- kann es auch Stillstand gewesen sein. (Dass die letzte Stelle, hier 1, wenn sie sehr nahe an 2 liegt, trotz Stillstands mal als 1 und dann als 2 und wieder als 1 erkannt werden kann -- also Rücklauf, oder doch 0,9ltr Zuwachs?? -- ist ein eigenes Problem.)
                            Wenn dann irgendwann 401.10xx erkannt wird, habe ich vielleicht den MaxRateValue überschritten und damit das nächste Problem.
                            Daher mein Gedanke: Der Algorithmus sollte sich nicht nur den letzten "irgendwie" ermittelten Wert merken, sondern (auch?) den letzten klar (ohne "N") erkannten oder vom Benutzer eingegebenen Zählerstand, inkl. Zeitstempel. Der sollte zum Gegencheck des aktuellen Werts mit MaxRateValue und AllowNegativRates verwendet werden -- denn meine letzte "Ableitung" kann ja auch mal deutlich falsch gewesen sein, dann sollte sie durch einen sehr zuverlässig erkannten Zählerstand korrigiert werden können.

                            Nebenbei: Gibt es bei der Erkennung der einzelnen Ziffer eigentlich so was wie einen "Verlässlichkeitslevel", also eine Art Selbsteinschätzung, mit welcher Wahrscheinlichkeit die Bilderkennung korrekt ist?

                            -Rupert
                            PS: Mir ist klar, ich entwerfe hier tolle Ideen zur Verbesserung, ohne selbst auch nur annähernd in der Lage zu sein, so einen Algorithmus zu realisieren. 🙂

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              jomjol @Rupert S. last edited by

                              @rupert-s Hi Rupert,
                              die Idee mit dem letzten "klar erkannten Wert" ist nicht schlecht, aber die Frage, ob die Zahl auch richtig erkannt wurde, oder falsch löse ich darüber nicht. Das könnte man natürlich über einen "Verlässlichkeitswert" berücksichtigten. Das neuronale Netz liefert mit der Wahrscheinlichkeit auch einen Wert dafür. Das wird aber aktuell im Algorithmus nicht berücksichtigt. Dafür fehlt mir schlicht die Zeit, dass auszuarbeiten und vor allem zu implementieren und zu testen.
                              Gruß jomjol

                              1 Reply Last reply Reply Quote 0
                              • S
                                spaceduck last edited by spaceduck

                                Ich hab an meinem Stromzähler den Effekt das die "6" nicht oder nur sehr schlecht erkannt wird. Könnte das mit der Darstellung / Schreibweise dieser Ziffer zusammenhängen? Anbei mal ein Bild. Beeinflusst das die Erkennung? Wird im RAW Value als "0" erkannt.

                                056d4232-2479-4190-9e49-0dd00b5d025b-grafik.png

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  jomjol @spaceduck last edited by

                                  @spaceduck Danke für den Hinweis. Zwei Punkte:

                                  1. genau so eine "6" habe ich in der Tat nich in den Trainingsdaten
                                  2. mit deinem Hinweis habe ich gesehen, dass eine "6" versehentlich als "0" deklariert wurde --> könnte die Ursache sein

                                  Ich werde das mit dem nächsten Training korrigieren.

                                  S 2 Replies Last reply Reply Quote 1
                                  • S
                                    spaceduck @jomjol last edited by

                                    @jomjol
                                    Super, vielen Dank schonmal vorab! Dann warte ich mal gespannt auf das Update.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      steffi last edited by

                                      Moin, ich habe das Projekt jetzt auch einige Tage an einem Gaszähler laufen. Ein Gehäuse hab ich mir ausgedruckt aber leider die Spiegelungen mit der internen LED nicht in den Griff bekommen. Also flugs einen WS2812 Strip bestellt, 2 davon abgeschnitten und links und recht oben in den Ecke eingesetzt - Spiegelung nun vernachlässigbar.
                                      Erkennung funktioniert meistens, aber ich sehe, daß manchmal die Bilder nicht korrekt weiß sind sondern mal blau, mal grün sind, irgendwie funktioniert die Ansteuerung des WS2812 nicht immer sauber.
                                      Hat da schon jemand Erfahrungen gemacht?

                                      S A 2 Replies Last reply Reply Quote 0
                                      • S
                                        spaceduck @steffi last edited by spaceduck

                                        @steffi
                                        Welche Helligkeit hast du eingestellt und wieviel Strom kann dein Netzteil liefern? Würde spontan auf ein Problem mit der Stromversorgung tippen, bzw. das zuerst überprüfen.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          steffi @spaceduck last edited by

                                          @spaceduck
                                          RGB jeweils 120, Stromversorgung USB Netzteil mit Elko 2200 uF, ansonsten ist das System stabil, auch keine WLAN-Probleme oder Restarts - keine Ahnung. Hab auch Probleme mit bestimmten Ziffern, insbesondere mit den roten fünfen und sechsen

                                          Rupert S. 1 Reply Last reply Reply Quote 0
                                          • Rupert S.
                                            Rupert S. @steffi last edited by

                                            @steffi said in Wasserzähler - Version 2 - all-in-device:

                                            Stromversorgung USB Netzteil mit Elko 2200 uF

                                            Leider sagt das nichts über die Leistungsfähigkeit aus. Die Rückfrage von @spaceduck nach der Stromstärke (Ampere) ist mehr als berechtigt. Das sollte drauf stehen. Unter 1A sehe ich -- nach meinen eigenen Erfahrungen -- kritisch ...

                                            D S 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            563
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            ai on the edge cnn esp32 hausautomatisierung neuronale netze ov2640 version 2 wasserzähler water gauge water meter
                                            235
                                            3381
                                            1461696
                                            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