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

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

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

        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 Reply Quote 0
        • pfried
          pfried last edited by pfried

          @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 Reply Quote 1
          • Atifan
            Atifan last edited by

            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 Reply Quote 0
            • overfl0w
              overfl0w last edited by 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 1 Reply Last reply Reply Quote 0
              • J
                jomjol @overfl0w last edited by

                @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 Reply Quote 0
                • overfl0w
                  overfl0w last edited by

                  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 1 Reply Last reply Reply Quote 0
                  • J
                    jomjol @overfl0w last edited by

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

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

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

                      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

                      1 Reply Last reply Reply Quote 0
                      • overfl0w
                        overfl0w last edited by 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 1 Reply Last reply Reply Quote 0
                        • J
                          jomjol @overfl0w last edited by

                          @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.

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

                            @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

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

                              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/

                              coyote 1 Reply Last reply Reply Quote 0
                              • coyote
                                coyote Most Active @overfl0w last edited by

                                @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

                                overfl0w 1 Reply Last reply Reply Quote 0
                                • overfl0w
                                  overfl0w @coyote last edited by

                                  @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

                                  coyote J 2 Replies Last reply Reply Quote 0
                                  • coyote
                                    coyote Most Active @overfl0w last edited by

                                    @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 Reply Quote 0
                                    • J
                                      jomjol @overfl0w last edited by

                                      @overfl0w Könnte eine typische Fehlermeldung sein, wenn deine in der Config.ini eingetrage ESP32-CAM nicht reagiert. Z.B. falche IP o.ä.

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

                                        @jomjol @coyote Danke euch für die schnelle Rückmeldung. Sollte richtig sein.. Hier zwei Screenshots:

                                        Screenshot_1.png
                                        Screenshot_2.png
                                        esp32.png

                                        LG
                                        Maurice

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

                                          Ich habe mal alles neu gestartet.. jetzt bekomme ich Serverseitig:

                                          fc7c36a5-86c4-4603-889f-eac1856b8a91-image.png

                                          Also scheinbar hat der Container wirklich ein Problem mit dem ESP... Muss ich dem Container evtl. noch erlauben aufs LAN zuzugreifen? Oder ist der Delay zu groß bis das Bild am Container ankommt und dann nen Timeout auswirft? Wenn ich die URL aus der cfg aufrufe bekomme ich ein einwandfreies Bild.

                                          LG und danke euch schonmal
                                          Maurice

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

                                            @overfl0w Hallo Maurice,
                                            auf den ersten Blick sieht das alles gut aus. Die Fehlermeldung zeigt, dass die Abfrage des ESP32-CAM nicht funktioniert. Wenn sie von ausserhalb direkt klappt, dann kann es vielleicht an den Netzwerk-Setting von deinem Docker-Container liegen. Wie hast du ihn den eingestellt?
                                            Bei mir läuft das Netzwerk des Containers als "bridged", so dass es vollen Zugriff auf mein lokales Netzwerk und damit auch die ESP32-CAM hat. Wenn du dort host oder none hast, könnte es Probleme geben.
                                            Gruß,
                                            jomjol

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            489
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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