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.
    • pfried
      pfried last edited by pfried

      @watcherkb @coyote
      Wie auch schon weiter oben beschrieben, hatte ich dasselbe Verhalten. Der Parser geht aus irgendeinem Grund nicht mehr und ein paar Minuten (15?) ist der ESP32 tot. Dann hilft nur mehr neustarten des ESP32 - Wasserzähler Server und des Parsers. Mir aber ein Rätsel warum das so ist....

      @mameier1234
      Man muss über den initial_rotation_angle den ungefähren Drehwinkel einstellen. Also zuerst ein Bild mit http://IP-Adresse ESP32/wasserzaehler.html machen und dann entweder deinen Aufbau solange drehen bis das Bild gerade zu Dir zeigt, oder Du stellst eben über den initial_rotation_angle einen Winkel so ein, das das Bild "gerade" (also nicht am Kopf stehend) zu Dir zeigt. Um den Fokus zu verstellen verdrehe die Linse circa eine halbe Umdrehung. Das erste Bild bei Dir sieht eh schon gut aus, deshalb initial_rotation_angle = 0. Mir scheint aber, dass der Aufbau schief auf dem Wasserzähler montiert ist (links näher als rechts)

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

        @pfried ganz genau, deshalb muss ich mal schauen ob man da was mit Javascript machen kann und ob es dann geht

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

          @Knallochse

          1. Du musst erstmal das Bild scharf bekommen (siehe dazu viel weiter oben im Chat).
          2. Jetzt musst du die Refererenzen und die Config-Einstellungen an deinen Wasserzähler anpassen. Anleitung habe ich hier verlinkt:Alignment_procedure_draft.pdf
          1 Reply Last reply Reply Quote 0
          • J
            jomjol @Knallochse last edited by

            @Knallochse Ich habe die "roi.html" angepasst. In der neuesten Version hat sie jetzt ein Kreuz in der Mitte.

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

              @pfried Hallo Pfried,
              ich verwende eine Synology DS718 mit einem Intel-Prozessor und habe darauf Docker laufen. Das ist echt stabil.
              Es sollte aber eigentlich auf jedem Linux-Server mit einem Intel-Prozessor funktionieren.

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

                @jomjol Da werde ich mir wohl ein Weihnachtsgeschenk machen müssen.... denn mit dem RB4 ist die Stabilität anscheinend wirklich ein Problem......abgesehen davon, dass es derzeit gar nicht geht.

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

                  @jomjol und @pfried : Ich glaube hier gibt es eine Verwechslung. Ich hatte eher @mameier1234 helfen wollen, seinen Wassermengenzähler in Betrieb zu nehmen. Bei mir läuft es soweit

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

                    @pfried @coyote sehr komisch... bin froh dass ich nicht der Einzige mit dem Problem bin. Ich hoffe wir finden da bald ne Lösung.

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

                      @watcherkb habe jetzt ein Script zusammengebastelt, da aber der ESP schon wieder offline ist, kann ich erst heute mittag testen.

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

                        @jomjol Ich habe heute einen neuen Docker Container erstellt (mit deinen Änderungen von gestern V4.1.0) Ich habe dabei auch die Bildeinrichtung komplett neu vorgenommen, um die neue RIO.html zu testen (mit dem Kreuz) 👍 . Mir hatte diese Änderung sehr geholfen, um die Zeiger zu platzieren.
                        Vielen Dank für die Umsetzung.
                        Bis jetzt sieht es gut aus mit der Erkennung. Ich muss das natürlich länger beobachten, um die Änderungen beurteilen zu können. Ich gebe auch jeden Fall hier ein Feedback

                        1 Reply Last reply Reply Quote 0
                        • C
                          ChrisXY last edited by ChrisXY

                          Also ich muss in 2020 mein Gartenwasserzähler erneuern. Da die Eichung abgelaufen ist. Gibt es da kostengünstige Wasseruhren die man einfacher auswerten kann? Glaube aber die ESP Version ist trotzdem um einiges Günstiger ? Auch wenn man eh einen neuen Zähler braucht?

                          Kann ein ESP auch 2 Kameras gleichzeitig ? Habe 2 Zähler nur 1m auseinander 😉

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

                            @Knallochse Auf welcher HW hast Du den Docker rennen, auch auf der DS718?

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

                              @ChrisXY ESP32-CAM dürfte nur eine Kamer können, da die Kamera direkt über die GPIOs angesteuert wird.

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

                                @ChrisXY Nope, wie schon jomjol schreibt, ein ESP32 für einen Zähler, aber wenn Du Dir all die Posts reinziehst, wirst Du bemerken, dass der beschriebene Wasserzähler nichts für den Garten ist. Da würde ich mir eher einen Zähler mit Reed Kontakt zulegen (bekommst Du bei Amazon) und den Homematic Energiezähler verwenden.

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

                                  @pfried der Docker läuft auf meiner DS918+

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

                                    @Mikewolf @jomjol sagte in Wasserzähler - Selfmade:

                                    habe jetzt in der Synology den Dockercontainer(rolling) ok, mount /log und /config angelegt,
                                    nur wie bekomme ich den Server dazu das er sich die config von /config holt???

                                    hi. Wie geht das? Habe heute erstmalig Docker auf einem Debian zum Laufen gebracht und mir das Rolling gepullt. Was muss ich jetzt tun um die config.ini anzupassen, bzw. wie komm ich dort hin? Danke für die Hilfe.

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

                                      @watcherkb Du musst zwei Verzeichnisse anlegen, von dem du das eine auf das Docker interne Verzeichnis "config" und das andere auf das Verzeichnis "log" mountest.
                                      Das sollte folgendermaßen funktionieren:

                                      docker run -p 3000:3000 --mount type=bind,source=/volume/configpath,target=/config --mount type=bind,source=/volume/logpath,target=/log
                                      

                                      wobei der erste source-path auf dein Verzeichnis für die Config-Dateien und der zweite auf das log-Verzeichniss zeigt.
                                      Theoretisch sollte beim ersten Start jeweils eine Default config angelegt werden. Alternativ kannst du das externe config-Verzeichnis auch mit den Files von GitHub befüllen.
                                      Anschließend kannst du alles auf dem exteren Config-Verzeichnis beabeiten. Der Docker-Container verwendet dann diese Dateien.

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

                                        @jomjol danke. Hat soweit geklappt. Nur nimmt er jetzt nichts auf.
                                        roi.html geht, wasserzaehler.html geht nicht.

                                        "Diese Seite funktioniert nicht↵↵192.168.1.36 hat keine Daten gesendet.↵↵ERR_EMPTY_RESPONSE↵Neu laden"
                                        

                                        Log vom Docker:

                                        2019-11-27T20:43:47.290813951Z Start Init Zaehlerstand,
                                        2019-11-27T20:43:47.290874783Z Analog Model Init Done,
                                        2019-11-27T20:43:47.290892104Z Digital Model Init Done,
                                        2019-11-27T20:43:47.290908028Z Digital Model Init Done,
                                        2019-11-27T20:43:47.290923393Z Wasserzaehler is serving at port 3000,
                                        2019-11-27T20:43:52.311942677Z Premature end of JPEG file,
                                        2019-11-27T20:44:04.787198970Z Start ROI,
                                        2019-11-27T20:44:04.787249885Z Get ROI done,
                                        2019-11-27T20:44:04.787369453Z 192.168.1.82 - - [27/Nov/2019 20:43:53] "GET /roi.html HTTP/1.1" 200 -,
                                        2019-11-27T20:44:04.787390685Z 192.168.1.82 - - [27/Nov/2019 20:43:53] "GET /image_tmp/roi.jpg HTTP/1.1" 200 -,
                                        2019-11-27T20:44:09.735852849Z Premature end of JPEG file,
                                        

                                        hab was dazu gefunden. Jedoch hapert es an Python Kenntnissen.
                                        https://stackoverflow.com/questions/33548956/detect-avoid-premature-end-of-jpeg-in-cv2-python

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

                                          @watcherkb wasserzaehler.html liefert erstmal kein Bild, sondern nur den Zählherstand als Zahlen. Wenn du das aufgenommene Bild mit anschauen willst, musst du es mit dem Parameter "?full" folgendermaßen aufrufen:

                                          wasserzaehler.html?full
                                          

                                          Dann sollte es auch ein Bild liefern.

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

                                            @jomjol leider dasselbe.

                                            2019-11-27T21:24:05.838258179Z Start CutImage, AnalogReadout, DigitalReadout,
                                            2019-11-27T21:24:05.838368529Z ----------------------------------------,
                                            2019-11-27T21:24:05.838385920Z Exception happened during processing of request from ('192.168.1.82', 49439),
                                            2019-11-27T21:24:05.838400796Z Traceback (most recent call last):,
                                            2019-11-27T21:24:05.838415113Z   File "/usr/local/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock,
                                            2019-11-27T21:24:05.838429780Z     self.process_request(request, client_address),
                                            2019-11-27T21:24:05.838443958Z   File "/usr/local/lib/python3.7/socketserver.py", line 347, in process_request,
                                            2019-11-27T21:24:05.838458625Z     self.finish_request(request, client_address),
                                            2019-11-27T21:24:05.838472803Z   File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request,
                                            2019-11-27T21:24:05.838487400Z     self.RequestHandlerClass(request, client_address, self),
                                            2019-11-27T21:24:05.838501508Z   File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__,
                                            2019-11-27T21:24:05.838516035Z     self.handle(),
                                            2019-11-27T21:24:05.838530003Z   File "/usr/local/lib/python3.7/http/server.py", line 426, in handle,
                                            2019-11-27T21:24:05.838544320Z     self.handle_one_request(),
                                            2019-11-27T21:24:05.838558428Z   File "/usr/local/lib/python3.7/http/server.py", line 414, in handle_one_request,
                                            2019-11-27T21:24:05.838572956Z     method(),
                                            2019-11-27T21:24:05.838586924Z   File "./wasseruhr.py", line 74, in do_GET,
                                            2019-11-27T21:24:05.838601381Z     result = wasserzaehler.getZaehlerstand(url, simple, usePrevalue, single),
                                            2019-11-27T21:24:05.838615559Z   File "/lib/ZaehlerstandClass.py", line 82, in getZaehlerstand,
                                            2019-11-27T21:24:05.838630016Z     resultdigital = self.readDigitalDigit.Readout(resultcut[1], logtime),
                                            2019-11-27T21:24:05.838644334Z   File "/lib/ReadDigitalDigitClass.py", line 77, in Readout,
                                            2019-11-27T21:24:05.838658651Z     self.saveLogImage(image, value, logtime),
                                            2019-11-27T21:24:05.838672829Z   File "/lib/ReadDigitalDigitClass.py", line 101, in saveLogImage,
                                            2019-11-27T21:24:05.838687007Z     cv2.imwrite(speichername, image[1]),
                                            2019-11-27T21:24:05.838701115Z TypeError: Expected Ptr<cv::UMat> for argument '%s',
                                            2019-11-27T21:24:05.838715572Z ----------------------------------------,
                                            2019-11-27T21:24:10.786941317Z Premature end of JPEG file,
                                            
                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            654
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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