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.
    • vista
      vista @jomjol last edited by

      @jomjol Vielen Dank, ich rufe dich an ..

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

        Hello gentleman, sorry for writing in english, I know only few words in german and it's from rammstein 😄
        I am trying to modify this amazing project to my needs, the main problem is that we have another design of water meters here. I already sketched up rough mount for the right diameter of water meter, I am gathering data ( images ) to retrain the model because we have different numbers on rolling pins.
        The main question is, how could I modify the server in docker container so it would recognize data from 2 water meters, or possibly more, I am thinking about sensing the gas meter which use the same principle. I know I could run somehow 2 same containers but, I quite don't like this idea of "wasting resources".
        thanks
        IMG_20200203_202741.jpg
        IMG-87f6f1e33c6cf572243a9dbb6735a418-V.jpg

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

          @Luc3as Hi Lucas,
          let me know, when you have enough images for training the CNN. I would be very interested to increase additional number types into the training, increasing its usability for different kind of counters.
          Unfortunately it is not possible to easily implement two counters in only one running docker containers. The whole internal structure (config.ini, it's parsing, the internal data stucture) is intended for a single counter only. I strongly recommend to run two dockers, mapping to different ports.
          Otherwise a full restructuring of the source code is necessary. There is no plan from my side to do this at the moment.
          Best regards,
          jomjol

          1 Reply Last reply Reply Quote 0
          • I
            intruder7 last edited by

            @jomjol
            Hallo, ich habe mich die letzten Tage mal wieder intensiver mit der Thematik beschäftigt. Ich habe alles in einem Docker laufen auf einer Syn. Dabei habe ich das Problem, dass sich egelmäßig nach zwei bis drei Tagen der Server aufhängt und ich bei jeder Abfrage folgende Fehlermeldung bekomme.

            ---------------------------------------
            ----------------------------------------
            Exception happened during processing of request from ('172.17.0.1', 50807)
            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 103, in do_GET
                result = wasserzaehler.getZaehlerstand(url, simple, usePrevalue, single)
              File "/lib/ZaehlerstandClass.py", line 142, in getZaehlerstand
                txt, logtime = self.LoadFileFromHTTP.LoadImageFromURL(url, './image_tmp/original.jpg')
              File "/lib/LoadFileFromHTTPClass.py", line 57, in LoadImageFromURL
                action_process.start()
              File "/usr/local/lib/python3.7/multiprocessing/process.py", line 112, in start
                self._popen = self._Popen(self)
              File "/usr/local/lib/python3.7/multiprocessing/context.py", line 223, in _Popen
                return _default_context.get_context().Process._Popen(process_obj)
              File "/usr/local/lib/python3.7/multiprocessing/context.py", line 277, in _Popen
                return Popen(process_obj)
              File "/usr/local/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
                self._launch(process_obj)
              File "/usr/local/lib/python3.7/multiprocessing/popen_fork.py", line 70, in _launch
                self.pid = os.fork()
            OSError: [Errno 12] Cannot allocate memory
            ----------------------------------------
            

            Habe schon mehrmals neu installiert. Laufen hab ich die letzte rolling version.
            der Fehler ist immer der selbe der dann kommt. Nach einem Neustart des Dockercontainer funktioniert es wieder 2 bis 3 Tage.
            Hast du oder jemand anderes hier vielleicht ne Ahnung woran das liegt?

            LG

            Knallochse J 2 Replies Last reply Reply Quote 0
            • Knallochse
              Knallochse @intruder7 last edited by

              @intruder7 Ich kann dir leider nicht bei der Beseitigung des Fehlers helfen, aber du kannst über den Aufgabenplaner der Synology einen Zeitgesteuerten Neustart deines Containers einstellen
              EA3E0F6C-99AF-4F8D-B373-C1B23886AB71.jpeg

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

                @Knallochse Das wäre eine Alternative. Hatte ich schon mal dran gedacht, aber im Bereich Docker nichts dazu gefunden und auch nicht weiter verfolgt. Werde ich mal umsetzen.

                Danke dir

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

                  @intruder7 Ja, das Problem ist bekannt. In Tensorflow 2.0 gibt es ein Speicherleck. Mit jeder Bilderkennung wird etwas mehr Speicher geblockt und daher der Fehler. Es ist ein intrinsischer Fehler und soll erst mit einer Nachfolgenden Version beseitigt werden. Die kann ich aber aktuell noch nicht für die Synology kompilieren - bricht bei mir bisher immer ab.
                  Ich versuche es aber bei Gelegenheit wieder.
                  Beste Grüße,
                  jomjol

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

                    Hallo, bin sehr interessiert daran so einen Wasserzähler Sensor nachzubauen und hätte daher einige Fragen.

                    1. Geht das mit meinem analogen Wasserzähler der Firma Elster (siehe Bild)
                    2. ich habe zufällig ein ESP32CAM hier, bekomme die Kamera aber nicht gedreht bzw. fokussiert. Hat da jemand einen Tipp wie man das einfach hin bekommt oder evtl. einen Tipp für ein Kamera die ich mir bestellen könnte bei der es einfach geht. Ich habe keine originale OV2640 drauf sondern eine XRZ00D1
                    3. Gibt es irgendwo eine detaillierte Anleitung wie man vorgehen muss bzw. wie man den Server einrichtet und konfiguriert? Ich würde gerne den Server auf einem Intel NUC laufen lassen.

                    Schon mal Danke vorab.

                    9cb944dc-13b8-43cf-b710-db9f418bc2af-image.png

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

                      @Atifan Hallo Atifan,
                      zu 1) ja sollte gehen, nur das Kondenswasser ist ein Problem!
                      zu 2) bei der OV2640 muss du die Versiegelung des Objektivs leicht lösen und dann kannst du sie drehen (siehe https://www.thingiverse.com/thing:3860911). XRZ00D1 kenne ich nicht
                      zu 3) Idealerweise verwendet du einen Docker Container: https://github.com/jomjol/water-meter-system-complete

                      Beste Grüße,
                      jomjol

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

                        @Atifan Hi Atifan, wenn du das Bild auf diese Größe bekommst:

                        c8f280c7-22ec-430e-97f4-9f7b96b9d02a-image.png

                        ist auch das Kondenswasser kaum mehr ein Problem. Was ich gemacht habe um das Kondenswasserproblem ganz zu lösen: ich habe mir bei Amazon einen Auto-Entfeuchter von ThoMar (Air Dry Auto-Entfeuchter mit natürlichem Speichergranulat) bestellt. Das sind zwei Kissen drinnen mit 46 * 16 * 3 cm. Dieses 3-teilige Kissen habe ich um das Gehäuse des ESP32 gewickelt, sodass es fast Luftdicht abschließt. Seitdem ist mit Kondenswasser auf dem Schauglas schluss 😊 da diese Kissen komplett der Luft im Gehäuse die Feuchtigkeit entzieht. Die Kissen kann man auch wiederverwenden, dass heißt man legt diese auf die Heizung oder in die Sonne und läßt sie trocknen.

                        7e33f5b5-8482-4d4b-b7ad-2449b3cccf5b-image.png
                        7bd3a09d-d370-4404-8c02-00a17d874b0d-image.png
                        Kosten: circa 17,-- Euro

                        W Atifan 2 Replies Last reply Reply Quote 0
                        • W
                          watcherkb @pfried last edited by

                          @pfried super Tipp, danke dir!

                          @jomjol : ich denke ich habe das Problem mit dem Ausfall der ESP Camera gefunden. Bei mir war es so dass die Verbindung nach einiger Zeit weg war. Auch der Tipp, auf den Parser-Adapter zu verzichten brachte keinen Erfolg. Seit der Anpassung habe ich bisher keinen Ausfall gehabt. Vielleicht hilft es jemandem auch.

                          Meine Lösung: die Methode WifiReConnect() in der Zeile 14-21 in der Datei ESP32CAM_Server-GitHub.ino angepasst:

                          void WifiReConnect()
                          {
                            pinMode(INT_LED, OUTPUT);         // Initialize the LED_BUILTIN pin as an output
                            digitalWrite(INT_LED, HIGH);      // turn the LED on.
                           
                            if (WiFi.status() != WL_CONNECTED)
                            {
                              WiFi.mode(WIFI_STA);
                              WiFi.begin(ssid, password);
                              Serial.println("");
                          
                              // Wait for connection
                              // attempt to connect to Wifi network:
                              while ( WiFi.status() != WL_CONNECTED) {
                                Serial.print("Attempting to connect to WPA network, SSID: ");
                                Serial.println(ssid);
                                WiFi.begin(ssid, password);
                            
                                // wait 10 seconds for connection:
                                delay(10000);
                              }
                              Serial.println("");
                              Serial.print("Connected to ");
                              Serial.println(ssid);
                              Serial.print("IP address: ");
                              Serial.println(WiFi.localIP());
                          
                              if (MDNS.begin(host)) {
                                Serial.print("MDNS responder started - Host: "); Serial.println(host);
                              }
                          
                              for (int i=0;i<3;i++){
                                digitalWrite(INT_LED, LOW);          // turn the LED on.
                                delay(500);         // wait
                                digitalWrite(INT_LED, HIGH);         // turn the LED off.
                                delay(500);   // wait
                                delay(0);                        //to prevent watchdog firing.
                              }
                            }
                          }
                          
                          Atifan J 2 Replies Last reply Reply Quote 0
                          • Marcel saß
                            Marcel saß last edited by Marcel saß

                            Super Projekt.

                            bekomme nach das als Ausgabe:

                            .4434 00000 4434 ErrorRateTooHigh (294.4704) 294.9138

                            die letzte Zahl stimmt. Warum steht davor was? habe ich etwas doppelt am laufen?

                            Wie bekomme ich jetzt diese Zahl in den IOBroker?
                            wie dieser anfrage im Script : http://192.168.XXXXXXX/setPreValue?value= bekomme ich gar keine Ausgabe.

                            Marcel saß J 2 Replies Last reply Reply Quote 0
                            • Marcel saß
                              Marcel saß @Marcel saß last edited by Marcel saß

                              Hier stand mist...

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

                                hier stand auch Mist.

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

                                  So, habe die Firmware von Github auf meinen ESP32 geflasht und die Änderungen von @watcherkb vorgenommen.
                                  Die Kamera an sich funktioniert und macht Bilder, wenn ich über Browser aufrufe "http://192.168.178.197/capture".
                                  Was aber nicht funkioniert ist die LED an und AUS schalten, da tut sich nix, LED bleibt immer aus.
                                  Weiß einer was das sein kann?
                                  Die LED ist nicht defekt, hatte extra eine andere FW geflasht zum Testen.

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

                                    @Atifan du musst die Adafruit Neopixel Library installieren da sie in dem Sketch von jomjol verwendet wird.
                                    https://www.arduino.cc/en/Guide/Libraries

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

                                      @watcherkb sagte in Wasserzähler - Selfmade:

                                      @Atifan du musst die Adafruit Neopixel Library installieren da sie in dem Sketch von jomjol verwendet wird.
                                      https://www.arduino.cc/en/Guide/Libraries

                                      Hi, ja Danke, habe ich bereits rausgefunden 😄 Habe es geflasht und funktioniert soweit alles bis auf die LED. Warum die nicht geht weiss ich nicht 😞

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

                                        @Atifan hast du den richtigen Aufruf? http://deineIP/capture_with_flashlight

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

                                          Ja, habe versucht
                                          http://192.168.178.197/capture_with_light
                                          http://192.168.178.197/lighton

                                          funktioniert beides nicht 😞

                                          http://192.168.178.197/capture funktioniert und liefert ein Bild

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

                                            @Atifan ist nicht dasselbe wie flashlight. Probiere was ich dir geschrieben habe.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            967
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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