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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    562

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

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

Wasserzähler - Selfmade

Scheduled Pinned Locked Moved Hardware
wasser wasserzählerhow-to
1.1k Posts 48 Posters 395.7k 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.
  • AtifanA Offline
    AtifanA Offline
    Atifan
    wrote on last edited by
    #793

    Also ich habe mit der ESP-CAM ansich auch selten Probleme, habe den Code da auch eingebaut.
    Einziges Problem was ich habe, meine ESP-CAM ist über einen AVM Fritz Repeater 2400 angebunden.
    Wenn ich diesen mal neu starten muss wegen FW-Update oder so, dann reconnected die ESP-CAM oft nicht.
    Manchmal tut sie es, oft aber auch nicht. Ich muss dann immer kurz die Stromversorgung kappen damit sie rebootet und dann reconnectet sie auch wieder.
    Kann man das evtl. auch irgendwie in den Quellcode integrieren, damit das reconnecten besser klappt?

    J 1 Reply Last reply
    0
    • AtifanA Atifan

      Also ich habe mit der ESP-CAM ansich auch selten Probleme, habe den Code da auch eingebaut.
      Einziges Problem was ich habe, meine ESP-CAM ist über einen AVM Fritz Repeater 2400 angebunden.
      Wenn ich diesen mal neu starten muss wegen FW-Update oder so, dann reconnected die ESP-CAM oft nicht.
      Manchmal tut sie es, oft aber auch nicht. Ich muss dann immer kurz die Stromversorgung kappen damit sie rebootet und dann reconnectet sie auch wieder.
      Kann man das evtl. auch irgendwie in den Quellcode integrieren, damit das reconnecten besser klappt?

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

      @Atifan Habe gerade festgestellt, dass der Reconnect vermutlich nicht korrekt implementiert ist. Teste gerade ein Update, wenn es funktioniert lade ich es hoch.

      1 Reply Last reply
      0
      • AtifanA Offline
        AtifanA Offline
        Atifan
        wrote on last edited by
        #795

        Ah super, alles klar :)

        J 1 Reply Last reply
        0
        • AtifanA Atifan

          Ah super, alles klar :)

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

          @Atifan
          Auf Github gibt es ein Update (in der Version Rolling): https://github.com/jomjol/water-meter-picture-provider/tree/rolling

          2 Änderungen:

          • Reconnect zu WLan funktioniert jetzt auch wenn zwischendurch die WLan-Verbindung verloren geht
          • Blinking signalisiert eine verlorene WiFi-Verbindung (3x kurz alle 10s)
          1 Reply Last reply
          0
          • AtifanA Offline
            AtifanA Offline
            Atifan
            wrote on last edited by
            #797

            OK thx. Muss ich da noch irgendwas ändern außer meiner WLAN SSID und PW?

            1 Reply Last reply
            0
            • AtifanA Offline
              AtifanA Offline
              Atifan
              wrote on last edited by
              #798

              So habe mal die neue FW geflasht und dann meinen Repeater neu gestartet.
              Die ESP-CAM hat sich danach wieder automatisch connected, scheint also zu grundsätzlich zu funktionieren.
              Werde beobachten ob es immer funktioniert, aber ich denke es sieht gut aus :)

              1 Reply Last reply
              0
              • pfriedP Offline
                pfriedP Offline
                pfried
                wrote on last edited by pfried
                #799

                @jomjol Ist es eigentlich möglich den ESP32 über OTA zu flashen? Es ist nämlich ziemlich mühsam immer den Aufbau zu zerlegen, denn schon eine geringe Abweichung beim Wiederzusammenbau heißt auch wieder neu justieren...

                1 Reply Last reply
                1
                • AtifanA Offline
                  AtifanA Offline
                  Atifan
                  wrote on last edited by
                  #800

                  Also bei mir ging das ohne Probleme. Da mein Halter an der gleichen Stelle bleibt, bleibt alles genau gleich bis auf minimalste Abweichung welche aber nicht schlimm ist. Durch die Referenzpunkte findet die Software ja alle Punkte exakt wieder. Bei der Feinjustierung nehme ich mir immer das Smartphone dazu und öffne den Link http://192.168.178.115:3000/wasserzaehler.html?usePreValue&full .
                  So sieht man direkt ob alles passt.

                  1 Reply Last reply
                  0
                  • overfl0wO Offline
                    overfl0wO Offline
                    overfl0w
                    wrote on last edited by overfl0w
                    #801

                    Hallo Zusammen, doofe Frage, aber... ich habe meinen ESP32 gerade geflasht, nun möchte ich Docker auf mein Tinkerboard mit ARMBIAN installieren, die Frage ist wie mache ich das über Putty? Zweite Frage, die Webseite http://wasserzaehler.ignorelist.com scheint nicht mehr zu existieren auf deinem NAS? Braucht man die nicht mehr um die CFG anzupassen? Wenn ich alles hinbekommen habe, würde ich gerne ein Tutorial für Dummies machen, dieser Thread ist einfach inzwischen zu undurchsichtig wie ich finde .. Danke im Voraus!

                    Screenshot_1.png

                    Faulheit? Nein Smarthome :)

                    J 1 Reply Last reply
                    0
                    • overfl0wO overfl0w

                      Hallo Zusammen, doofe Frage, aber... ich habe meinen ESP32 gerade geflasht, nun möchte ich Docker auf mein Tinkerboard mit ARMBIAN installieren, die Frage ist wie mache ich das über Putty? Zweite Frage, die Webseite http://wasserzaehler.ignorelist.com scheint nicht mehr zu existieren auf deinem NAS? Braucht man die nicht mehr um die CFG anzupassen? Wenn ich alles hinbekommen habe, würde ich gerne ein Tutorial für Dummies machen, dieser Thread ist einfach inzwischen zu undurchsichtig wie ich finde .. Danke im Voraus!

                      Screenshot_1.png

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

                      @overfl0w Danke für den Hinweis mit der Webseite. Bei meinem NAS hat eine ReverseProxy einen Restart nicht vollständig überstanden. Jetzt geht es wieder!

                      1 Reply Last reply
                      0
                      • overfl0wO Offline
                        overfl0wO Offline
                        overfl0w
                        wrote on last edited by
                        #803

                        Danke @jomjol für's fixen der Seite. Leider stehe ich nun auf dem Schlauch.. Ich habe meinen ESP geflasht und bekomme auch ein relativ gutes Bild wie ich finde.

                        zaehler-overfl0w.png

                        Anschließend habe ich das Docker Image nun auf meinem QNAP NAS installiert und bekomme beim aufrufen des Ports 3000: "ERR_CONNECTION_REFUSED" .. Brauche ich noch irgendwelche Umgebungsvariablen o.ä?

                        Screenshot_3.png

                        Wie geht's dann weiter?
                        Vielleicht erbarmt sich jemand mir zu helfen? :-)

                        Danke im Voraus und einen schönen Sonntag
                        Maurice

                        Faulheit? Nein Smarthome :)

                        J 1 Reply Last reply
                        0
                        • overfl0wO overfl0w

                          Danke @jomjol für's fixen der Seite. Leider stehe ich nun auf dem Schlauch.. Ich habe meinen ESP geflasht und bekomme auch ein relativ gutes Bild wie ich finde.

                          zaehler-overfl0w.png

                          Anschließend habe ich das Docker Image nun auf meinem QNAP NAS installiert und bekomme beim aufrufen des Ports 3000: "ERR_CONNECTION_REFUSED" .. Brauche ich noch irgendwelche Umgebungsvariablen o.ä?

                          Screenshot_3.png

                          Wie geht's dann weiter?
                          Vielleicht erbarmt sich jemand mir zu helfen? :-)

                          Danke im Voraus und einen schönen Sonntag
                          Maurice

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

                          @overfl0w
                          Mit welchem Befehl genau hast du denn den Docker gestartet?
                          Hast du den Port 3000 auch nach aussen gemapt (Parameter -p 3000:3000)?

                          overfl0wO 1 Reply Last reply
                          0
                          • J jomjol

                            @overfl0w
                            Mit welchem Befehl genau hast du denn den Docker gestartet?
                            Hast du den Port 3000 auch nach aussen gemapt (Parameter -p 3000:3000)?

                            overfl0wO Offline
                            overfl0wO Offline
                            overfl0w
                            wrote on last edited by
                            #805

                            @jomjol
                            Okay, danke - Du hast mich auf den richtigen Weg gebracht :-D

                            b1c4b9ae-bdd0-4c9f-b27a-b4bb8692f93b-image.png

                            Sobald ich den Port 32768 anwähle kriege ich was, sorry. Allerdings muss ich hier scheinbar noch konfigurieren...Error - Problem during HTTP-request - URL: http://192.168.178.22/capture_with_flashlight

                            Ich versuch mich mal weiter durchzukämpfen :-)

                            LG

                            Faulheit? Nein Smarthome :)

                            1 Reply Last reply
                            0
                            • overfl0wO Offline
                              overfl0wO Offline
                              overfl0w
                              wrote on last edited by overfl0w
                              #806

                              So langsam steige ich durch alles durch. Man merkt Du hast da wirklich viel Arbeit und Zeit hineingesteckt. Danke dafür nochmal und dass Du das alles auch noch mit uns teilst. Leider verstehe ich nicht wie ich die erzeugte config.ini im Docker ablege bzw. wo?

                              Das hier klappt leider nicht, warschl. ist die Syntax falsch?

                              python ./wasseruhr.py docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log
                              

                              LG
                              Maurice

                              Faulheit? Nein Smarthome :)

                              J 1 Reply Last reply
                              0
                              • overfl0wO overfl0w

                                So langsam steige ich durch alles durch. Man merkt Du hast da wirklich viel Arbeit und Zeit hineingesteckt. Danke dafür nochmal und dass Du das alles auch noch mit uns teilst. Leider verstehe ich nicht wie ich die erzeugte config.ini im Docker ablege bzw. wo?

                                Das hier klappt leider nicht, warschl. ist die Syntax falsch?

                                python ./wasseruhr.py docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log
                                

                                LG
                                Maurice

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

                                @overfl0w Probier mal folgenden Syntax:

                                sudo docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log jomjol/wasserzaehler:DOCKER_TAG
                                

                                Du musst noch DOCKER_TAG ersetzen mit dem Docker-Container, den du verwendest.

                                overfl0wO 1 Reply Last reply
                                0
                                • J jomjol

                                  @overfl0w Probier mal folgenden Syntax:

                                  sudo docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log jomjol/wasserzaehler:DOCKER_TAG
                                  

                                  Du musst noch DOCKER_TAG ersetzen mit dem Docker-Container, den du verwendest.

                                  overfl0wO Offline
                                  overfl0wO Offline
                                  overfl0w
                                  wrote on last edited by
                                  #808

                                  @jomjol

                                  Brachte leider kein Erfolg, siehe:
                                  Screenshot_5.png

                                  Muss ich das evtl. hierüber machen:

                                  033edfe1-0745-4b2d-8ef6-8881f3f73113-image.png

                                  LG
                                  Maurice

                                  Faulheit? Nein Smarthome :)

                                  1 Reply Last reply
                                  0
                                  • overfl0wO Offline
                                    overfl0wO Offline
                                    overfl0w
                                    wrote on last edited by
                                    #809

                                    Ist das das hier? https://www.qnap.com/de-de/how-to/tutorial/article/so-erzeugen-und-nutzen-sie-den-iscsi-zieldienst-auf-einem-qnap-turbo-nas/

                                    Faulheit? Nein Smarthome :)

                                    coyoteC 1 Reply Last reply
                                    0
                                    • overfl0wO overfl0w

                                      Ist das das hier? https://www.qnap.com/de-de/how-to/tutorial/article/so-erzeugen-und-nutzen-sie-den-iscsi-zieldienst-auf-einem-qnap-turbo-nas/

                                      coyoteC Offline
                                      coyoteC Offline
                                      coyote
                                      Most Active
                                      wrote on last edited by
                                      #810

                                      @overfl0w ich hatte den Container auf meinem QNAP laufen, denke ich kann dir weiterhelfen.
                                      Also, den Container hast du ja schon geladen, du musst aber noch 2 Ordner anlegen und diese unter SharedFolder eintragen.
                                      Wie auf dem zweiten Bild zu sehen, habe ich einfach unter Container einen Ordner "wasserzaehler" erstellt und darin dann die beiden Ordner log und config.
                                      In den config Ordner schiebst du dann deine Referenzbilder, config und den Neuralnets Ordner.
                                      Port so einstellen wie im Bild:

                                      Port.JPG
                                      Folders.JPG

                                      Dann sollte der Container laufen

                                      overfl0wO 1 Reply Last reply
                                      0
                                      • coyoteC coyote

                                        @overfl0w ich hatte den Container auf meinem QNAP laufen, denke ich kann dir weiterhelfen.
                                        Also, den Container hast du ja schon geladen, du musst aber noch 2 Ordner anlegen und diese unter SharedFolder eintragen.
                                        Wie auf dem zweiten Bild zu sehen, habe ich einfach unter Container einen Ordner "wasserzaehler" erstellt und darin dann die beiden Ordner log und config.
                                        In den config Ordner schiebst du dann deine Referenzbilder, config und den Neuralnets Ordner.
                                        Port so einstellen wie im Bild:

                                        Port.JPG
                                        Folders.JPG

                                        Dann sollte der Container laufen

                                        overfl0wO Offline
                                        overfl0wO Offline
                                        overfl0w
                                        wrote on last edited by
                                        #811

                                        @coyote @jomjol vielen Dank euch beiden für eure Hilfe! Es scheint so als würde der Container nun laufen. Wenn ich eine Anfrage an den Container (http://192.168.23.2:3000/wasserzaehler.html) sende, passiert auch was im log vom Container:

                                        ----------------------------------------                                                                                                                                                                                                                    
                                        Start CutImage, AnalogReadout, DigitalReadout                                                                                                                                                                                                               
                                        ----------------------------------------                                                                                                                                                                                                                    
                                        Exception happened during processing of request from ('192.168.23.145', 50484)                                                                                                                                                                              
                                        Traceback (most recent call last):                                                                                                                                                                                                                          
                                          File "/usr/local/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock                                                                                                                                                                     
                                            self.process_request(request, client_address)                                                                                                                                                                                                           
                                          File "/usr/local/lib/python3.7/socketserver.py", line 347, in process_request                                                                                                                                                                             
                                            self.finish_request(request, client_address)                                                                                                                                                                                                            
                                          File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request                                                                                                                                                                              
                                            self.RequestHandlerClass(request, client_address, self)                                                                                                                                                                                                 
                                          File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__                                                                                                                                                                                    
                                            self.handle()                                                                                                                                                                                                                                           
                                          File "/usr/local/lib/python3.7/http/server.py", line 426, in handle                                                                                                                                                                                       
                                            self.handle_one_request()                                                                                                                                                                                                                               
                                          File "/usr/local/lib/python3.7/http/server.py", line 414, in handle_one_request                                                                                                                                                                           
                                            method()                                                                                                                                                                                                                                                
                                          File "./wasseruhr.py", line 111, in do_GET                                                                                                                                                                                                                
                                            result = wasserzaehler.getZaehlerstand(url, simple, usePrevalue, single)                                                                                                                                                                                
                                          File "/lib/ZaehlerstandClass.py", line 156, in getZaehlerstand                                                                                                                                                                                            
                                            resultcut = self.CutImage.Cut('./image_tmp/original.jpg')                                                                                                                                                                                               
                                          File "/lib/CutImageClass.py", line 46, in Cut                                                                                                                                                                                                             
                                            zeiger = self.cutZeiger(target)                                                                                                                                                                                                                         
                                          File "/lib/CutImageClass.py", line 62, in cutZeiger                                                                                                                                                                                                       
                                            cv2.imwrite(name, crop_img)                                                                                                                                                                                                                             
                                        cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function 'imwrite' 
                                        

                                        Allerdings bekomme ich einen: ERR_CONNECTION_REFUSED im Browser.
                                        LG
                                        Maurice

                                        Faulheit? Nein Smarthome :)

                                        coyoteC J 2 Replies Last reply
                                        0
                                        • overfl0wO overfl0w

                                          @coyote @jomjol vielen Dank euch beiden für eure Hilfe! Es scheint so als würde der Container nun laufen. Wenn ich eine Anfrage an den Container (http://192.168.23.2:3000/wasserzaehler.html) sende, passiert auch was im log vom Container:

                                          ----------------------------------------                                                                                                                                                                                                                    
                                          Start CutImage, AnalogReadout, DigitalReadout                                                                                                                                                                                                               
                                          ----------------------------------------                                                                                                                                                                                                                    
                                          Exception happened during processing of request from ('192.168.23.145', 50484)                                                                                                                                                                              
                                          Traceback (most recent call last):                                                                                                                                                                                                                          
                                            File "/usr/local/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock                                                                                                                                                                     
                                              self.process_request(request, client_address)                                                                                                                                                                                                           
                                            File "/usr/local/lib/python3.7/socketserver.py", line 347, in process_request                                                                                                                                                                             
                                              self.finish_request(request, client_address)                                                                                                                                                                                                            
                                            File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request                                                                                                                                                                              
                                              self.RequestHandlerClass(request, client_address, self)                                                                                                                                                                                                 
                                            File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__                                                                                                                                                                                    
                                              self.handle()                                                                                                                                                                                                                                           
                                            File "/usr/local/lib/python3.7/http/server.py", line 426, in handle                                                                                                                                                                                       
                                              self.handle_one_request()                                                                                                                                                                                                                               
                                            File "/usr/local/lib/python3.7/http/server.py", line 414, in handle_one_request                                                                                                                                                                           
                                              method()                                                                                                                                                                                                                                                
                                            File "./wasseruhr.py", line 111, in do_GET                                                                                                                                                                                                                
                                              result = wasserzaehler.getZaehlerstand(url, simple, usePrevalue, single)                                                                                                                                                                                
                                            File "/lib/ZaehlerstandClass.py", line 156, in getZaehlerstand                                                                                                                                                                                            
                                              resultcut = self.CutImage.Cut('./image_tmp/original.jpg')                                                                                                                                                                                               
                                            File "/lib/CutImageClass.py", line 46, in Cut                                                                                                                                                                                                             
                                              zeiger = self.cutZeiger(target)                                                                                                                                                                                                                         
                                            File "/lib/CutImageClass.py", line 62, in cutZeiger                                                                                                                                                                                                       
                                              cv2.imwrite(name, crop_img)                                                                                                                                                                                                                             
                                          cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function 'imwrite' 
                                          

                                          Allerdings bekomme ich einen: ERR_CONNECTION_REFUSED im Browser.
                                          LG
                                          Maurice

                                          coyoteC Offline
                                          coyoteC Offline
                                          coyote
                                          Most Active
                                          wrote on last edited by
                                          #812

                                          @overfl0w die Ordner hast du aber auf dem QNAP angelegt und mit deiner config versehen? In deiner config steht die IP deiner Cam, ja?

                                          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

                                          331

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          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