Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Wasserzähler - Selfmade

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Wasserzähler - Selfmade

Scheduled Pinned Locked Moved Hardware
wasser wasserzählerhow-to
1.1k Posts 48 Posters 391.2k Views 72 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • coyoteC coyote

    @jomjol sieht doch gar nicht so schlecht aus mit den Zeigern ;-)

    Roi.JPG Stand.JPG

    Die 2 will er irgendwie nicht, entweder gibts ne 7 oder N, hab schon bisschen mit den Koordinaten und Größen gespielt, aber will nicht. Vielleicht hast du da noch nen Tipp.
    Mit den Zeigern passt doch fast, beim ersten Zeiger hatte ich auch schon ne 6 anstatt ne 5 drin, also wenn es so bleibt kann ich damit leben.

    Cooles Projekt, vielen Dank dafür:+1:

    J Offline
    J Offline
    jomjol
    wrote on last edited by
    #180

    @coyote Deine Ziffern sehen leicht anders aus, wie meine. Vermutlich muss ich die OCR etwas allgemeiner trainieren. Wenn du von jeder Ziffer mal so 3-4 Bilder gesammelt hast, kannst du sie mir schicken.
    Das Trainieren der Ziffern ist recht einfach, bei den Zeigern wäre es aufwendiger.

    Freut mich, dass es schonmal soweit klappt!

    Gruß,
    jomjol

    1 Reply Last reply
    0
    • J jomjol

      Um das Thema mit dem "N" in den Griff zu bekommen, habe ich einen Algorithmus implementiert, der nun auch den letzten Wert mit berücksichtigt. Wenn die Ziffern auf einem Zwischenwert stehen, also "N" zurück liefern, dann wird kann der Algo prüfen, ob die Ziffer mit "N" vorher schonmal erkannt wurde und das N durch die gültige Ziffer ersetzten. Es werden auch Zehnerübergänge berücksichtigt. Also z.B.:

      letzer gültiger Wert: 401.995
      Rückgabe-Wert: 40N.015

      Dann wir daraus: 402.015

      Um das Feature zu nutzen muss bei der Abfrage des Wasserzaehler ein Parameter ergänzt werden:

      .../wasserzaehler.html?usePreValue

      Wenn Docker gerade neu gestaret wurde und noch keine Zahl ganz ohne "N" detektiert wurde, funktioniert es natürlich nicht. Dazu gibt es aber die Möglichkeit einen gültigen Zählerwert manuell zu setzen:

      .../setPreValue.html?value=402.015

      Das experimentelle Docker Image (jomjol/wasserzaehler:rolling) enthält dieses Feature.

      Gruß,
      jomjol

      M Offline
      M Offline
      mcchickents
      wrote on last edited by
      #181

      @jomjol said in Wasserzähler - Selfmade:

      Um das Thema mit dem "N" in den Griff zu bekommen, habe ich einen Algorithmus implementiert, der nun auch den letzten Wert mit berücksichtigt. Wenn die Ziffern auf einem Zwischenwert stehen, also "N" zurück liefern, dann wird kann der Algo prüfen, ob die Ziffer mit "N" vorher schonmal erkannt wurde und das N durch die gültige Ziffer ersetzten. Es werden auch Zehnerübergänge berücksichtigt. Also z.B.:

      letzer gültiger Wert: 401.995
      Rückgabe-Wert: 40N.015

      Dann wir daraus: 402.015

      Um das Feature zu nutzen muss bei der Abfrage des Wasserzaehler ein Parameter ergänzt werden:

      .../wasserzaehler.html?usePreValue

      Wenn Docker gerade neu gestaret wurde und noch keine Zahl ganz ohne "N" detektiert wurde, funktioniert es natürlich nicht. Dazu gibt es aber die Möglichkeit einen gültigen Zählerwert manuell zu setzen:

      .../setPreValue.html?value=402.015

      Das experimentelle Docker Image (jomjol/wasserzaehler:rolling) enthält dieses Feature.

      Gruß,
      jomjol

      Hi habe es nochmal ausprobriert. Egals was ich mache bekomme das N bei 30N.4568 nicht weg. Bist du dir sicher das es in der aktuellen rolling Version drin ist? Habe den Docker auch nochmal neu installiert. Auch im Browser will es nicht funktionieren.

      Gruß Julian

      J 1 Reply Last reply
      0
      • M mcchickents

        @jomjol said in Wasserzähler - Selfmade:

        Um das Thema mit dem "N" in den Griff zu bekommen, habe ich einen Algorithmus implementiert, der nun auch den letzten Wert mit berücksichtigt. Wenn die Ziffern auf einem Zwischenwert stehen, also "N" zurück liefern, dann wird kann der Algo prüfen, ob die Ziffer mit "N" vorher schonmal erkannt wurde und das N durch die gültige Ziffer ersetzten. Es werden auch Zehnerübergänge berücksichtigt. Also z.B.:

        letzer gültiger Wert: 401.995
        Rückgabe-Wert: 40N.015

        Dann wir daraus: 402.015

        Um das Feature zu nutzen muss bei der Abfrage des Wasserzaehler ein Parameter ergänzt werden:

        .../wasserzaehler.html?usePreValue

        Wenn Docker gerade neu gestaret wurde und noch keine Zahl ganz ohne "N" detektiert wurde, funktioniert es natürlich nicht. Dazu gibt es aber die Möglichkeit einen gültigen Zählerwert manuell zu setzen:

        .../setPreValue.html?value=402.015

        Das experimentelle Docker Image (jomjol/wasserzaehler:rolling) enthält dieses Feature.

        Gruß,
        jomjol

        Hi habe es nochmal ausprobriert. Egals was ich mache bekomme das N bei 30N.4568 nicht weg. Bist du dir sicher das es in der aktuellen rolling Version drin ist? Habe den Docker auch nochmal neu installiert. Auch im Browser will es nicht funktionieren.

        Gruß Julian

        J Offline
        J Offline
        jomjol
        wrote on last edited by
        #182

        @mcchickents Bekommst du eine Rückmeldung wenn du setPreValue.html?value=... " verwendest?

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mcchickents
          wrote on last edited by
          #183

          Hi Jomjol,

          ja bekomme ich
          http://192.168.2.13:3000/setPreValue.html?value=00303.2323
          Last value set to: 00303.2323

          10 sec später versuche ich das in chrome

          http://192.168.2.13:3000/wasserzaehler.html?usePreValue
          30N.7251 0030N 7251

          und bekomme das zurück.

          J 1 Reply Last reply
          0
          • M mcchickents

            Hi Jomjol,

            ja bekomme ich
            http://192.168.2.13:3000/setPreValue.html?value=00303.2323
            Last value set to: 00303.2323

            10 sec später versuche ich das in chrome

            http://192.168.2.13:3000/wasserzaehler.html?usePreValue
            30N.7251 0030N 7251

            und bekomme das zurück.

            J Offline
            J Offline
            jomjol
            wrote on last edited by
            #184

            @mcchickents Hi McChickents,
            danke für den Hinweis. Fehler lag im Programm. Ich habe in der Implementierung auf "usePrevalue", also mit kleinem "v" getriggert.
            Update in "rolling" ist raus, es ist jetzt egal ob due PreValue oder Prevalue schreibst.
            Gruß, jomjol

            M 1 Reply Last reply
            0
            • coyoteC Offline
              coyoteC Offline
              coyote
              Most Active
              wrote on last edited by
              #185

              @jomjol wie meinst du das mit den 3-4 Bildern jeder Zahl, heißt in verschiedenen Stellungen der Ziffer?
              Ich glaube, ich warte erst mal nächste Woche ab, es könnte sein, dass ich eine neue Uhr bekommen, das muss ich noch klären, da Flecken unten an der Wasseruhr sind und das darf wohl nicht sein und muss ausgetauscht werden.

              J 1 Reply Last reply
              0
              • J jomjol

                @mcchickents Hi McChickents,
                danke für den Hinweis. Fehler lag im Programm. Ich habe in der Implementierung auf "usePrevalue", also mit kleinem "v" getriggert.
                Update in "rolling" ist raus, es ist jetzt egal ob due PreValue oder Prevalue schreibst.
                Gruß, jomjol

                M Offline
                M Offline
                mcchickents
                wrote on last edited by
                #186

                @jomjol

                neue Version installiert funktioniert einwandfrei. Perfekte Arbeit.

                Im Blockly habe ich mal den String in eine Zahl geschrieben.

                fc07b6bf-788b-40f8-9658-562b39cd98a1-image.png

                Leider wird nur 303 eingetragen die hinteren Zahlen werden abgeschnitte? Liegt das an dem Punkt in der ausgabe?

                1 Reply Last reply
                0
                • coyoteC coyote

                  @jomjol wie meinst du das mit den 3-4 Bildern jeder Zahl, heißt in verschiedenen Stellungen der Ziffer?
                  Ich glaube, ich warte erst mal nächste Woche ab, es könnte sein, dass ich eine neue Uhr bekommen, das muss ich noch klären, da Flecken unten an der Wasseruhr sind und das darf wohl nicht sein und muss ausgetauscht werden.

                  J Offline
                  J Offline
                  jomjol
                  wrote on last edited by
                  #187

                  @coyote deine Ziffern sehen von der Geometrie anders aus wie auf meinem Zähler. Wenn du mir also von jeder Ziffer 1, 2, ... 9 und 0 die ausgeschnittenen Bilder aus dem log-Verzeichnis "\log\digital_digit" schickst, dann kann ich die Ziffernerkennung damit trainieren. Ich brauche halt 3-4 Bilder von jeder Ziffer.

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mcchickents
                    wrote on last edited by
                    #188

                    Guten abend zusammen,

                    das Blockly für die Auswertung läuft^^
                    falls Interesse besteht einfach melden.

                    d388943f-dd87-46c5-9fc6-50fd39944eb6-image.png

                    J MikewolfM pfriedP 3 Replies Last reply
                    0
                    • M mcchickents

                      Guten abend zusammen,

                      das Blockly für die Auswertung läuft^^
                      falls Interesse besteht einfach melden.

                      d388943f-dd87-46c5-9fc6-50fd39944eb6-image.png

                      J Offline
                      J Offline
                      jomjol
                      wrote on last edited by
                      #189

                      @mcchickents Ich könnte dir auch eine Version erstellen, die direkt nur eine Zahl zurück gibt - dann musst du den String nicht zerlegen. Würde das helfen?

                      M 1 Reply Last reply
                      0
                      • J jomjol

                        @mcchickents Ich könnte dir auch eine Version erstellen, die direkt nur eine Zahl zurück gibt - dann musst du den String nicht zerlegen. Würde das helfen?

                        M Offline
                        M Offline
                        mcchickents
                        wrote on last edited by
                        #190

                        @jomjol

                        Hi ja kannst du wenn du mal Zeit hast machen, das zerlegen funktioniert bis jetzt aber ganz gut.
                        Was mir echt sehr gut gefallen würde ist das die Zahlen auf Plausibilität geprüft werden. So wir wir das oben schonmal angefangen haben^^. Für mich wäre am besten er würde dann lieber die gleiche Zahl nochmal ausgeben. statt einen Wert der viel zu groß ist. (In 15 Sekunden können keine 100 Liter durlaufen^^.

                        Gruß Julian

                        MikewolfM J 2 Replies Last reply
                        0
                        • M mcchickents

                          @jomjol

                          Hi ja kannst du wenn du mal Zeit hast machen, das zerlegen funktioniert bis jetzt aber ganz gut.
                          Was mir echt sehr gut gefallen würde ist das die Zahlen auf Plausibilität geprüft werden. So wir wir das oben schonmal angefangen haben^^. Für mich wäre am besten er würde dann lieber die gleiche Zahl nochmal ausgeben. statt einen Wert der viel zu groß ist. (In 15 Sekunden können keine 100 Liter durlaufen^^.

                          Gruß Julian

                          MikewolfM Offline
                          MikewolfM Offline
                          Mikewolf
                          wrote on last edited by
                          #191

                          hallo , so habe esp32-cam geflasht ok, meldet sich und mach auch bilder soweit ok!

                          habe nur probleme mit dem "server", egal ob python oder java funkt nicht .....
                          seit4days
                          habe jetzt in der Synology den Dockercontainer(rolling) ok, mount /log und /config angelegt,
                          nur wie bekomme ich den Server dazu das er sich die config von /config holt???
                          das config im dockercontainer kann ich ja leider nicht bearbeiten da es in der bash weder vi noch nano gibt
                          und ich auch nix nachinstallieren kann ??

                          wäre für jede hilfe dankbar !!
                          Mit freundlichen Grüßen
                          mikewolf

                          PS Super Projekt !!
                          Merci dafür !

                          Homematic (ca450 Rf komponenten), FS20,Alexas,Sonoff,ESP,Arduino,Lightly,Milight,NEEO,Harmony,Synology,HP-Gen8

                          RF-link,Dreamboxen,Raspi,Cubie,Odroid,Fritz,Xiaomi-Vaccum,

                          J W 2 Replies Last reply
                          0
                          • M mcchickents

                            @jomjol

                            Hi ja kannst du wenn du mal Zeit hast machen, das zerlegen funktioniert bis jetzt aber ganz gut.
                            Was mir echt sehr gut gefallen würde ist das die Zahlen auf Plausibilität geprüft werden. So wir wir das oben schonmal angefangen haben^^. Für mich wäre am besten er würde dann lieber die gleiche Zahl nochmal ausgeben. statt einen Wert der viel zu groß ist. (In 15 Sekunden können keine 100 Liter durlaufen^^.

                            Gruß Julian

                            J Offline
                            J Offline
                            jomjol
                            wrote on last edited by
                            #192

                            @mcchickents Hi Mikewolf,
                            du musst dir von GitHub einmal die Dateien und Verzeichnisstruktur in dein gemountetes Verzeichnis für /log und /config kopieren: https://github.com/jomjol/water-meter-system-complete/tree/master/code
                            Dann kannst du dort die Config.ini anpassen und die Log-Bilder anschauen.

                            Du bist nicht der erste, der mit der Installation von Python etc. auf einem Linux Server Probleme hat. Aufgrund der Keras/Tensorflow/OpenCV Bibliotheken ist die Installation recht empfindlich auf kleinere Änderungen oder Versionsupdates. Daher auch die Lösung über Docker - auch wenn es mit 1.9 GByte recht groß ist.

                            Freut mich, dass du es probierst. Halt mich gerne auf dem Laufenden über deinen Fortschritt oder ggf. Probleme. Kleinigkeiten kann ich i.d.R. recht schnell anpassen. Ich brauche etwas "Beta"-Tester Erfahrung. Denn selbst ist man schnell recht "betriebsblind".

                            Beste Grüße,
                            jomjol

                            1 Reply Last reply
                            0
                            • MikewolfM Offline
                              MikewolfM Offline
                              Mikewolf
                              wrote on last edited by
                              #193

                              Hallo Danke soweit funktionierts mal !! Danke Halterung is im Druck ,
                              wird morgen monitiert und dann gehts an die Einstellungen :confused:

                              Frage wäre ein Umbau für Gaszähler möglich (hier gibts nur Zahlen Fotos morgen ) ???
                              Wäre ne optimale Lösung um kompl. Energie (wasser,Gas, Strom) um Vorhandenen Zähler
                              mit subzähler abzugleichen und genaue kontrolle der Abrechnung (WAF )

                              Danke nochmals für das Projekt und die Hilfe !!
                              Mit freundlichen Grüßen
                              mikewolf

                              Homematic (ca450 Rf komponenten), FS20,Alexas,Sonoff,ESP,Arduino,Lightly,Milight,NEEO,Harmony,Synology,HP-Gen8

                              RF-link,Dreamboxen,Raspi,Cubie,Odroid,Fritz,Xiaomi-Vaccum,

                              J 1 Reply Last reply
                              0
                              • MikewolfM Mikewolf

                                Hallo Danke soweit funktionierts mal !! Danke Halterung is im Druck ,
                                wird morgen monitiert und dann gehts an die Einstellungen :confused:

                                Frage wäre ein Umbau für Gaszähler möglich (hier gibts nur Zahlen Fotos morgen ) ???
                                Wäre ne optimale Lösung um kompl. Energie (wasser,Gas, Strom) um Vorhandenen Zähler
                                mit subzähler abzugleichen und genaue kontrolle der Abrechnung (WAF )

                                Danke nochmals für das Projekt und die Hilfe !!
                                Mit freundlichen Grüßen
                                mikewolf

                                J Offline
                                J Offline
                                jomjol
                                wrote on last edited by
                                #194

                                @Mikewolf Ja, Zähler nur mit Ziffern ist auch möglich, dann einfach in der Config.ini keine Analogen zähler angeben. Ist aber ungetestet, wenn es also ein Problem gibt, bitte einfach kurze Info.

                                1 Reply Last reply
                                0
                                • MikewolfM Mikewolf

                                  hallo , so habe esp32-cam geflasht ok, meldet sich und mach auch bilder soweit ok!

                                  habe nur probleme mit dem "server", egal ob python oder java funkt nicht .....
                                  seit4days
                                  habe jetzt in der Synology den Dockercontainer(rolling) ok, mount /log und /config angelegt,
                                  nur wie bekomme ich den Server dazu das er sich die config von /config holt???
                                  das config im dockercontainer kann ich ja leider nicht bearbeiten da es in der bash weder vi noch nano gibt
                                  und ich auch nix nachinstallieren kann ??

                                  wäre für jede hilfe dankbar !!
                                  Mit freundlichen Grüßen
                                  mikewolf

                                  PS Super Projekt !!
                                  Merci dafür !

                                  J Offline
                                  J Offline
                                  jomjol
                                  wrote on last edited by
                                  #195

                                  @Mikewolf Hi Mikewolf,
                                  ich habe dein Problem mit den leeren /config und /log zum Anlass genommen und eine Default Config hinterlegt. Wenn du jetzt das Programm startest, prüft es ob in /config und /log die notwendigen Dateien drin liegen. Falls nein, dann kopiert er sie von einem internen config_default und legt die notwendige Verzeichnissstruktur auch an.
                                  Version ist in die "rolling" Version auf Docker hochgeladen.
                                  Gruß,
                                  jomjol

                                  M 1 Reply Last reply
                                  0
                                  • KnallochseK Offline
                                    KnallochseK Offline
                                    Knallochse
                                    wrote on last edited by
                                    #196

                                    Hallo Gemeinde.
                                    Ich würde dieses Projekt gerne umsetzen, habe aber leider keinen 3D Drucker. Wäre jemand so nett, und würde das Gehäuse gegen Bezahlung für mich drucken?

                                    HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                                    M 1 Reply Last reply
                                    0
                                    • KnallochseK Knallochse

                                      Hallo Gemeinde.
                                      Ich würde dieses Projekt gerne umsetzen, habe aber leider keinen 3D Drucker. Wäre jemand so nett, und würde das Gehäuse gegen Bezahlung für mich drucken?

                                      M Offline
                                      M Offline
                                      mcchickents
                                      wrote on last edited by
                                      #197

                                      @Knallochse

                                      Hi ich kann dir gerne das zeug ausdrucken. Schreib mir mal eine e-mail julian.troescher@web.de

                                      KnallochseK 1 Reply Last reply
                                      1
                                      • J jomjol

                                        @Mikewolf Hi Mikewolf,
                                        ich habe dein Problem mit den leeren /config und /log zum Anlass genommen und eine Default Config hinterlegt. Wenn du jetzt das Programm startest, prüft es ob in /config und /log die notwendigen Dateien drin liegen. Falls nein, dann kopiert er sie von einem internen config_default und legt die notwendige Verzeichnissstruktur auch an.
                                        Version ist in die "rolling" Version auf Docker hochgeladen.
                                        Gruß,
                                        jomjol

                                        M Offline
                                        M Offline
                                        mcchickents
                                        wrote on last edited by
                                        #198

                                        @jomjol

                                        Kurze frage wie hast du das in deinem auswert Programm gelöst oder hast du nicht solche Sprünge in der Auswertung?

                                        54a0fd39-ebe4-4ff2-aa4a-ff9368ff73ec-image.png

                                        J 1 Reply Last reply
                                        0
                                        • M mcchickents

                                          @jomjol

                                          Kurze frage wie hast du das in deinem auswert Programm gelöst oder hast du nicht solche Sprünge in der Auswertung?

                                          54a0fd39-ebe4-4ff2-aa4a-ff9368ff73ec-image.png

                                          J Offline
                                          J Offline
                                          jomjol
                                          wrote on last edited by
                                          #199

                                          @mcchickents Ich habe solche Sprünge bei mir nicht, vermutlich weil die Bilder optimal auf meine Zeiger trainiert sind. Ich bin gerade dabei im Wasserzaehler.py eine Konsistenzprüfung (keine kleineren Werte, maximal Veränderung zum letzten Wert) zu implementieren.
                                          Das geht jetzt, da ich über usePreValue immer gültige Zahlenwerte habe. Brauche aber noch ein bisschen, da ich momentan nicht so viel Zeit zum programmieren habe.
                                          Gruß,
                                          Jomjol

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe