Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • Atifan
      Atifan last edited by Atifan

      Hier mal noch ein Bild von der Installation am Wasserzähler, für alle die sich sowas neu Installieren wollen.
      Habe die ESP32 CAM einfach mit Panzerband am 3D-Halter fixiert
      Sieht nicht schön aus, sieht aber auch keiner 🐶
      Der Halter wird mit 1x Schraube an der Wand fixiert, mit der Linse mittig über der Wasseruhr, ca. 10cm Entfernung.
      Der Sicherungskasten mit einem 5V Netzteil befindet sich ca. in 1m Entfernung.
      Habe einfach über 2 Drähte die 5V zur ESP32 CAM gebracht und dort angeschlossen.

      Das Intervall vom Parser habe ich bei mir auf 3600000ms erhöht, das entspricht einer Stunde, d.h. jede Stunde wird 1x geparst.
      Ich denke auf Dauer ist es besser, wenn man die LED der ESP32 CAM nicht unnötig oft aktiviert, oder hat da jemand Langzeiterfahrung?

      a7ba677a-6b09-4db5-b606-9dc3bb827e9b-image.png

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

        @Atifan Hallo Atifan,
        sieht so aus, als ob auch die Aufsteckversion bei dir funktionieren könnte:
        https://www.thingiverse.com/thing:3860911
        Ich habe bei mir den Deckel abgebaut, dann geht es echt gut.

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

          Hallo zusammen,

          ich hatte ja schonmal angedeutet, an einem WYSIWYG Editor für die Config.ini zu arbeiten. Insbesondere auch, um die Erstellung von Reference-Images und ROIs für die Ziffern und Zeiger zu vereinfachen. Ich habe es jetzt einen ersten Prototyp als Alpha-Version auf meinem Server am laufen.
          Es ist graphisch weder schön, noch 100% selbsterklärend. Deshalb veröffentliche ich den Link erstmal nur hier in diesem Post an erfahrene User 😊. Hier die Adresse:

          http://wasserzaehler.ignorelist.com

          Probiert es einfach aus und gebt mir Feedback. Dafür habe ich ein GitHub eingerichtet, wo ihr Issues starten könnt: https://github.com/jomjol/water-meter-config-creator-web-application

          Bitte seid etwas geduldig mit der Performance. Es läuft bei mir auf einer Synology, leider bekomme ich bei mir kein High-Speed DSL.

          Bin gespannt auf euer Feedback!

          Beste Grüße,
          jomjol

          1 Reply Last reply Reply Quote 1
          • Atifan
            Atifan last edited by

            Hi, hab den Editor mal getestet und funktioniert wunderbar 🙂 Am Anfang ist es bisschen unverständlich was man machen muss, aber irgendwann blickt man durch und dann ist es eigentlich ganz einfach 🙂 Erspart jedenfalls das gefrickel in Paint und geht damit schon bisschen einfacher 🙂 Super Arbeit! Danke!

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

              @Atifan Danke für das erste Feedback - ja der Einstieg ist etwas unverständlich. Mir geht es erstmal um den Workflow. Design und Benutzerführung kommt noch. Habe ich erstmal so gelöst, dass man erst weiter kommt, wenn man alles notwendige eingestellt hat.

              Atifan Knallochse 2 Replies Last reply Reply Quote 0
              • Atifan
                Atifan @jomjol last edited by Atifan

                🙂 Ja klar, erst mal die grundlegenden Funktionen testen 🙂 Aber funktioniert alles 🙂
                Von der Performance her hatte ich auch keine Probleme.

                1 Reply Last reply Reply Quote 0
                • Knallochse
                  Knallochse last edited by

                  @jomjol Durch den Editor habe ich gelernt, dass man die Rotation auch in Nachkommastellen angeben kann. 😀 Ich habe jetzt auch keine offensichtlichen Fehler entdecken können.
                  Als Verbesserungsvorschlag: Es wäre bestimmt sinnvoll, das beim ermitteln der Koordinaten der Digitalzahlen man eine Hilfestellung zu den Außenmaßen (per Digitalzahl) bekommt. Vielleicht die manuelle Eingabe so gestalten, dass die Zahl oben und unten genau reinpasst, und die Gesamtgröße (+23% oben bzw. +22% unten) durch den Editor ermittelt wird. Ich hoffe, ich habe mich verständlich ausgedrückt, ansonsten bitte noch einmal nachfragen.
                  Aber schon mal ein geiler Einstieg 👍

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

                    @Knallochse Danke!
                    Die Nachkommastellen werden nicht gespeichtert 😳, das dient nur zur optimalen Ausrichtung des Referenzbildes. Leichte Verdrehung von einigen wenigen Grad kompensiert nachher sehr zuverlässig die Alignment Prozedur über die Referenzbilder.

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

                      @jomjol Toll wäre auch, wenn das Referenzbild direkt der ESP-Cam kommt (Eingabe IP)

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

                        @Knallochse sagte in Wasserzähler - Selfmade:

                        @jomjol Toll wäre auch, wenn das Referenzbild direkt der ESP-Cam kommt (Eingabe IP)

                        Das klappt nicht, weil ich vermutlich aus der Webapplication heraus nicht auf eine lokale IP in deinem Heimnetz zugreifen kann. Wenn das ginge, wäre natürlich cool - habe aber noch keine Idee.

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

                          @jomjol Ich hatte angenommen, dass der Editor mal eine Art Einrichtungsassistent wird. (offline)
                          Aber so geht es ja auch 👍

                          1 Reply Last reply Reply Quote 0
                          • Atifan
                            Atifan last edited by

                            @jomjol : Bei mir ist in der Config die ich durch dein Tool erstellt hab die 4. und 5. digital Ziffer vertauscht.
                            Hab ich da irgnendwo nen Fehler gemacht?
                            In der Config waren die Daten verdreht, also habe ich es geändert, aber die Anzeige ist immer noch verdreht Oo

                            [Imagesource]
                            timeoutloadimage = 30
                            #ip durch die ip des esp32 ersetzen!
                            urlimagesource = http://192.168.178.238/capture_with_flashlight
                            #logimagelocation=logimagelocation
                            #logonlyfalsepictures=false
                            
                            [ConsistencyCheck]
                            enabled = True
                            #stores the last value in a file for the case of a restart (e.g. docker container after update)
                            readprevaluefromfileatstartup = True
                            #maximum time spanning since last startup for use of prevalue from filestorage in minutes
                            readprevaluefromfilemaxage = 30
                            allownegativerates = False
                            #maximum change of new to old value (+ or -)
                            maxratevalue = 0.1
                            #return in case of error: value = oldvalue or newvalue
                            #                         errormessage = return text with problem (seperated by tabstopp) if nothing, then no error message
                            #                         readout = real readout without corrections (newvalue)
                            errorreturn = OldValue, ErrorMessage, Readout
                            
                            [AnalogReadOut]
                            #if enabled analog counters will be read, if disabled only digital counters will be read.
                            enabled = True
                            
                            [alignment]
                            initial_rotation_angle = 0.0
                            
                            [alignment.ref0]
                            image = ./config/ref0.jpg
                            pos_x = 335
                            pos_y = 260
                            
                            [alignment.ref1]
                            image = ./config/ref1.jpg
                            pos_x = 499
                            pos_y = 186
                            
                            [alignment.ref2]
                            image = ./config/ref2.jpg
                            pos_x = 365
                            pos_y = 445
                            
                            [Digital_Digit]
                            names = ziffer1, ziffer2, ziffer3, ziffer5, ziffer4
                            modelfile = ./config/neuralnets/Train_CNN_Digital-Readout_Version_5.0.0.h5
                            #logimagelocation=
                            #lognames=
                            
                            [Analog_Counter]
                            names = zeiger1, zeiger2, zeiger3, zeiger4
                            modelfile = ./config/neuralnets/CNN_Analog-Readout_Version-5.0.0.h5
                            #logimagelocation=
                            #lognames=
                            
                            [Analog_Counter.zeiger1]
                            pos_x = 536
                            pos_y = 286
                            dx = 123
                            dy = 123
                            
                            [Analog_Counter.zeiger2]
                            pos_x = 481
                            pos_y = 416
                            dx = 122
                            dy = 122
                            
                            [Analog_Counter.zeiger3]
                            pos_x = 349
                            pos_y = 468
                            dx = 122
                            dy = 122
                            
                            [Analog_Counter.zeiger4]
                            pos_x = 208
                            pos_y = 408
                            dx = 123
                            dy = 123
                            
                            [Digital_Digit.ziffer1]
                            pos_x = 251
                            pos_y = 197
                            dx = 28
                            dy = 50
                            
                            [Digital_Digit.ziffer2]
                            pos_x = 298
                            pos_y = 197
                            dx = 28
                            dy = 50
                            
                            [Digital_Digit.ziffer3]
                            pos_x = 344
                            pos_y = 197
                            dx = 28
                            dy = 50
                            
                            [Digital_Digit.ziffer5]
                            pos_x = 438
                            pos_y = 197
                            dx = 28
                            dy = 50
                            
                            [Digital_Digit.ziffer4]
                            pos_x = 392
                            pos_y = 197
                            dx = 28
                            dy = 50
                            
                            
                            

                            7e31218f-b826-4089-82b9-0b5559f8ff51-image.png

                            1 Reply Last reply Reply Quote 0
                            • Atifan
                              Atifan last edited by

                              Ah hat sich erledigt, habe den Fehler gefunden in der config.

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

                                @Atifan Die Reihenfolge wird im Parameter :

                                [Digital_Digit]
                                names = ziffer1, ziffer2, ziffer3, ziffer5, ziffer4
                                

                                festgelegt. Vielleicht hast du die Reihenfolge geändert, indem du aus Versehen auf "Move Next" / "Move Previous" geklickt hast.
                                Sehe schon, ich muss in die Applikation noch einen "Life Test" mit einem Demobild einbauen.

                                1 Reply Last reply Reply Quote 0
                                • Atifan
                                  Atifan last edited by

                                  Ja so wird es passiert sein.

                                  Ich habe jetzt die durch dein Tool neu erstellten Rererenzbilder + Konfigurationsdateien + den Ordner neuralnets mit Inhalt auf meinen Server kopieren und den Server neu gestartet, aber irgendwie funktioniert es dann nicht mehr.
                                  Muss ich da noch irgendwas beachten wenn ich die Konfigs austauschen möchte?

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

                                    @Atifan Eigentlich nicht. Bei mir hat es auch so funktioniert. Vergleich mal deine beiden Config.ini. Wenn z.B. die IP vom ESP32 nicht mehr stimmt, dann gibt es noch keine sinnvolle Fehlermeldung. Muss ich mal einbauen.

                                    1 Reply Last reply Reply Quote 0
                                    • Knallochse
                                      Knallochse last edited by

                                      Weil bei mir gerade wieder die m3 Zahl sich zwischen 2 Werten bewegt, habe ich nachgeschaut, was erkannt wird.

                                      076B6407-6790-4C89-BB49-BFA2C564597E.jpeg

                                      192.168.178.86:1905/wasserzaehler.html?usePrevalue gibt aus

                                      E1240095-4EB5-4A3F-B779-39870BD7B284.jpeg

                                      Richtig wäre 315,9350

                                      Nur zur Info

                                      Auswertung unter Docker mit aktuellem rolling auf Synology.

                                      PS.: mit meiner Berechnung (Blockly hier im Thread) mit hochrechnen des m3 Wertes funktioniert das seit 2 Monaten ohne Fehler

                                      9D1A8BC7-D59B-414E-B090-A611BD4C3B32.jpeg

                                      J 1 Reply Last reply Reply Quote 0
                                      • Atifan
                                        Atifan last edited by

                                        Hi, wie meinst du denn mit hochrechnen des M3 Wertes?
                                        Wie rechnest du denn hoch?
                                        Man könnte natürlich entweder nur die digitalen Ziffern auswerten, dann fehlen einem aber genauere Zwischenwerte.
                                        Oder man zählt den den kleinsten analogen Zähler hoch, da müsste man dann aber sehr viele Bilder machen und sehr genau hochrechnen, bzw. braucht ein hohes Abtastintervall, damit das funktioniert.
                                        Wie hast du es denn gelöst?

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

                                          Hallo @Knallochse,
                                          das Problem kenne ich und es liegt daran, dass bevor "NAN" kam, er die verschobene 5 als 9 erkannt hat und dann diesen Wert in "PreValue" gespeichert hat. Das tritt eigentlich nur beim Überang von 5 auf 6 auf und ich habe vor kurzem mein CNN nochmals besser trainiert. Aber es läuft noch nicht lange genug, um sicher zu sein, dass es hilft.

                                          Knallochse 1 Reply Last reply Reply Quote 0
                                          • Knallochse
                                            Knallochse @Atifan last edited by

                                            @Atifan Meine Lösung (Blockly) hatte ich hier beschrieben
                                            https://forum.iobroker.net/post/340650

                                            Und @sissiwup hatte hier
                                            https://forum.iobroker.net/post/360651
                                            auch ein JavaScript veröffentlicht .
                                            Dieses Script hatte ich bisher nicht getestet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            630
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to wasser wasserzähler
                                            48
                                            1089
                                            314477
                                            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