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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

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

      @pete0815 Naja der ESP32 an sich hat schon einen ziemlich guten DeepSleep (<< 1 mA), aber die verbaute Schaltung in Verbindung mit der Kamera ist nicht gut gelöst für Stromsparen.
      Wie gesagt, der 5V auf 3.3V Spannungsregler braucht selbst schon 1-2mA, es gibt dort auch andere, aber hier nicht verbaut.
      Zudem kann die Kamera nicht sauber von der Spannungsversorgung getrennt werden und der Transistor für die FlashLED ist auch nicht optimal gewählt.

      In der aktuellen Konfiguration wird der ESP32 nicht in den DeepSleep geschickt - macht auch keinen Sinn (siehe oben). Damit ist er zumindest immer per HTML erreichbar. Wenn es mal ein Kameraboard mit besserem Ruhestrom gibt, wäre das vielleicht schon eine Option.

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

        Will nun auch seid über nem halben Jahr wieder mal eine neuere Software nutzen. Habe dazu die alten SD Karte formatiert und die Master Version 9.0 draufkopiert. Der Assistent zur Neueinrichtung ist toll. Habe jedoch ein Problem. Ich erstelle ein neues Referenz Image, edititiere dieses und will das Referenz Update speichern. Bekomme dann die Fehlermeldung, Die Datei existiert schon. Bei den weiteren Schritten im System ebeneso. Sobald ich die Config speichern will, kommt immer die Fehlermeldung. Datei existiert schon und er speichert nichts ab. Jemand eine Idee?

        79b3c667-14a1-4cca-a3ec-0761f29b41d5-grafik.png

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

          @ecki945 Dann ist vermutlich irgendetwas beim SD-Kartezugriff schief gegangen. Vielleicht hilft einfach ein kompletter Restart. Im Zweifelsfall nochmals die SD-Karte formatieren und bespielen.

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

            @jomjol irgendwie verstehe ichs selber nicht. Hab nun 2x die sd Karte formatiert und 1x mit github Version 9.00 und 1x mit der 9.01 von heute Mittag probiert. Beides mal das gleiche.

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

              Hallo @jomjol

              nach einer längeren Pause habe ich meinen Wasserzähler reaktiviert. Die wesentliche Änderung ist eine ordentliche Spannungsversorgung: Hatte ich den ESP vorher über eine ca. 12m lange Leitung aus den 5V meines Raspberry Pi versorgt, ist es jetzt ein separates 1A-USB-Netzteil direkt am ESP -- und schon läuft's stabil 😉 . Kein Wunder, zieht der ESP doch gerne mal Impulse bis zu 500 mA (mit dem Labornetzteil gesehen).

              Nun habe ich gerade frisch die Version 9.1.0 geflasht (hatte von letzter Woche noch 9.0.0), weil ich im Changelog gesehen habe, dass Du einen Fehler im decimal shift korrigiert hast. Ich meine aber, da ist immer noch was faul: Ich habe decimal shift = -3, weil die ersten drei Nachkommastellen der m³ noch digital vorliegen. Nur die 4. ist bei meinem Modell analog:
              Bildschirmfoto_2021-11-14_17-42-16.png
              Obwohl Raw Value perfekt erkannt wird mit 4 Nachkommastellen, ist Value auf 1 Nachkommastelle gerundet. Wie bekomme ich die höhere Auflösung?
              (Aktiviere ich Extended Resolution, gibt's im Raw Value eine 5. Stelle und beim Value eine zweite...)

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

                Kurze Frage: Gibt es zu dem Überlauf-Problem (siehe Bild) schon eine Lösung?
                bild.PNG

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

                  @rene_hm Verstehe die Frage nicht ganz. Was verstehst du unter "Überlaufproblem"?

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

                    @rupert-s Das ist komisch, da genau dieser Fehler eigentlich in der 9.1.0 beseitigt sein sollte. Ich kann es leider selbst nicht testen. Aber im Issue (https://github.com/jomjol/AI-on-the-edge-device/issues/385) gab es die RM, dass das Problem gelöst ist. Änderung im Code ist auch enthalten.

                    michi2274 created this issue in jomjol/AI-on-the-edge-device

                    closed Probleme mit den Kommastellen #385

                    Rupert S. 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:

                      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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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