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 @sissiwup last edited by

      @sissiwup sagte in Wasserzähler - Selfmade:

      @Atifan w_08_04_20_04_15_01.jpg

      Funktioniert eigentlich recht gut. Was bei meinem Bild. z.B. schlecht ist, sind die Reflektionen auf der 0

      Die 5.0 er Modelle bei den Digits funktionieren bei mir besser als die 4.x er.
      Die analogen sind aber schlechter, da hatte ich vorher nie Probleme.
      Da erkennt er aktuell oft eine Ecke des Zeigers als Zeiger,

      Klebe was mattes dunkles auf die Stelle wo das Licht reflektiert, da auf dem einen analogen Rädchen.
      Dann sollten die Reflektionen weg sein.

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

        @Knallochse

        Start seit Start/Reset: http://ip-ESP32/getruntime
        Letzter Watchdog-Reset: http://ip-ESP32/lastwatchdogreset
        Version auslesen: http://ip-ESP32

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

          @watcherkb ich danke dir vielmals.
          Die ersten beiden Links passen.
          Der Link zur Versionsinfo (nur IP der Kamera) wirft bei mir nur das aus
          DBB0B83C-8C0B-4FB8-A592-46473E713B21.jpeg
          Leider kein Hinweis auf die Version.
          Hatte die letzte Version von @jomjol gestern geflasht

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

            Am Port liegt es nicht, da der Container die Anfrage ja ohne Probleme kriegt:

            ----------------------------------------                                                                                                                 
            Start CutImage, AnalogReadout, DigitalReadout                                                                                                            
            ----------------------------------------                                                                                                                 
            **Exception happened during processing of request from ('192.168.23.145', 56212)**   
            

            Ich denke es liegt am ESP bzw, dass dieser zu langsam reagiert...
            Wenn ich den ESP ausschalte dann bekomme ich die Fehlermeldung vom Container, dass der ESP nicht erreichbar ist.

            2741455d-288d-4558-a56a-e94f90757ccb-image.png

            @jomjol, kann man irgendwie etwas einstellen in deinem Code, dass die Laufzeit verlängert, so wie in PHP z.B. das Memory Limit oder die Executingtime ?

            Oder ich muss mir eine Antenne für den ESP kaufen, sodass dieser vllt. die Daten schneller sendet, da der Empfang noch besser ist? Bis das Bild in 800x600 geladen ist, dauert es ca. 7 Sekunden.. Wie ist denn das bei euch? Gehts wesentlich schneller?

            LG und danke euch im Voraus
            Maurice

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

              @Knallochse sagte in Wasserzähler - Selfmade:

              @watcherkb ich danke dir vielmals.
              Die ersten beiden Links passen.
              Der Link zur Versionsinfo (nur IP der Kamera) wirft bei mir nur das aus
              DBB0B83C-8C0B-4FB8-A592-46473E713B21.jpeg
              Leider kein Hinweis auf die Version.
              Hatte die letzte Version von @jomjol gestern geflasht

              Dann verwendest du vermutlich noch nicht die neueste Version - Achtung: in Github gibt es eine Rolling - die enthält die neuesten Features!
              Bei mir funktioniert es:
              08969d89-196c-4302-a27a-8a8367a078b0-grafik.png

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

                @overfl0w Es ist schon ein Timeout eingebaut und das kannst du in der Config.ini auch einstellen - TimeoutLoadImage:

                [Imagesource]
                TimeoutLoadImage=30
                #IP durch die IP des ESP32 ersetzen!
                URLImageSource=http://IP-ESP32/capture_with_flashlight
                

                Standartmäßig steht es auf 30s. Ich hatte aber auch schon das Problem mit schlechten Verbindungen. Am Ende hat nur ein Repeater im Keller geholfen.

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

                  @jomjol Danke. Aufgrund deiner Antwort habe ich gerade nochmal geflasht.
                  97DFE24A-3220-4751-9863-283E2904C88E.jpeg
                  Jetzt scheint die neue Version drauf zu sein.
                  Da hatte ich wohl vor 2 Tagen einen Aussetzer 🤦

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

                    @Knallochse Das war kein Aussetzer... mir ging es genauso

                    Bildschirmfoto 2020-04-10 um 09.37.26.png

                    ich habe mir auch nur die neue (8Tage) alte Datei geholt...

                    in der ...server-class.cpp steht das mit der Version drin.. aber laut Github ist das auch die einzige Änderung an der Datei..

                    Auf jeden Fall: Seit ich die neue Version geflasht habe ist Ruhe mit Unterbrechungen.. vorher 4-10 x am Tag.. .Seit Gestern kein einziges Mal. Top Arbeit !

                    Wie würde denn das mit dem OTA flashen funktionieren ?

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

                      Ich habe auch das Problem mit dem Erkennen von Ecken.
                      Beispiel: Zeiger 4 wird als 8 statt 4 erkannt:

                      734947c7-35f9-42f9-9839-3ed0f3697568-grafik.png

                      862976de-fd60-47d8-b8de-46f019fbec24-grafik.png

                      Und das mit dem OTA update vom ESP würde mich auch interessieren, würde mir das Absteigen in den Schacht ersparen.....

                      @jomjol Eine Frage zu dem TimeoutLoadImage: von wann bis wann wird da gemessen (und was)?

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

                        @pfried Sammelt bitte einfach ein paar von den fehlerhaften Zeigern und schickt sie mir dann. Ich kann die dann in das Training integrieren.

                        TimeoutLoadImage = Wartezeit auf die Antwort des ESP32-CAM Servers

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

                          @jomjol Ich bin jetzt schon ein paar Schritte weiter (3D-Druck hat geklappt, dein rolling-Release für die Firmware stürzt nicht mehr ab, WLAN-Problem beseitigt, etc ...) und habe ein paar Roh-Bilder (pre-Auswertung) gesammelt, die dann teilweise falsch erkannt wurden. z.B. wurde immer wieder eine 5 als 9 interpretiert.

                          Kriege ich diese irgendwie (statt des Live-Bildes) an deinen Docker-Container gefüttert (zum Verifizieren) oder muss ich dafür eigens einen HTTP-Server aufsetzen oder die Dateien auf einen kopieren, da der Container nur eine URL als Bildquelle akzeptiert?

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

                            @Jens77 Der Container akzeptiert nur eine URL als Input. Eine Art Filedownload habe ich nicht implementiert.

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

                              @jomjol OK, das ist verschmerzbar - die ersten 20 Bilder kann ich notfalls auch selber in die Datenbank schreiben. Herzlichen Dank auf jeden Fall für deine Vorarbeit, das ist echt ein anspruchsvolles Projekt!

                              Was sind dann die best practices für die Einbindung in iobroker? Derzeit schreibe ich bloß in einem bash-Skript die erkannten Werte direkt in InfluxDB, mittels eines bash-Skripts, welches einfach per cron alle 10min läuft. Das ist aber sehr rudimentär und erlaubt ja auch keine Reaktionen, sondern nur Anzeigen von Werten.

                              Trotzdem, hier ist meine Lösung:

                              #!/bin/sh
                              # /home/pi/wasseruhr-docker.sh
                              #
                              sudo docker run -p 3003:3000 --name wasseruhr \
                                --mount type=bind,source=/home/pi/wasseruhr-config,target=/config \
                                --mount type=bind,source=/home/pi/wasseruhr-config,target=/log \
                                jomjol/wasserzaehler:raspi-latest
                              
                              #!/bin/bash
                              # /home/pi/wasseruhr-cron.sh
                              #
                              
                              # läuft der Docker Container? sonst neustarten und etwas warten
                              sudo docker container ls |grep -q wasseruhr || ( $HOME/wasseruhr-docker.sh & sleep 5 )
                              
                              # Daten holen
                              VALUE=$(wget -q http://localhost:3003/wasserzaehler.html -O - | cut -f1)
                              # PREVALUE=   ... todo
                              
                              # wenn VALUE einen Wert hat, dann ist die Ablesung erfolgreich gewesen
                              if test -z "$VALUE" ; then
                              	echo "Docker is NOT running. Getting just the image ..."
                              	wget -q http://192.168.179.130/capture_with_flashlight -O $HOME/wasseruhr/"$(date +%Y%m%d-%H%M).jpg"
                              else
                              	echo "Docker IS running. Getting cached image + inserting parsed value into DB."
                              	wget -q http://localhost:3003/image_tmp/alg.jpg -O $HOME/wasseruhr/"$(date +%Y%m%d-%H%M)__$VALUE.jpg"
                              	influx -database 'iobroker' -execute "INSERT wasseruhr.0.absolute value=$VALUE"
                              fi
                              

                              Die Cronjobs:

                              # Wasseruhr Download
                              */10 *	* * *	pi	/home/pi/wasseruhr-cron.sh
                              31 */6	* * *	root	/usr/bin/docker restart wasseruhr
                              
                              sissiwup 1 Reply Last reply Reply Quote 0
                              • sissiwup
                                sissiwup @Jens77 last edited by

                                @Jens77
                                Hi,

                                such mal nach JavaScript oder Parser-Adapter hier im Thread.

                                J 1 Reply Last reply Reply Quote 0
                                • H
                                  hugo1215 last edited by

                                  Hallo zusammen,
                                  nach dem ich durch zufall auf Thingiverse deine Druckdatein gesehen habe dachte ich mir das brauche ich auch.
                                  Gesagt getan. Alle Teile bestellt. Habe jetzt auch den ESP geflasht bekommen mit einem Arduino und mir auch ein Bild angezeigt bekommen habe wollte ich gern den Server aufsetzten. Nur leider stehe ich sowas von auf dem Schlauch. Habe leider keine Qnap bzw. Synology. Bei mir steht ein Asus Tinkerboard zur verfügung.
                                  Wie bekomme ich es denn da Installiert??
                                  Gruß

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

                                    @hugo1215 Wenn Du schnellen Erfolg haben möchtest, würde ich die Investition in einen RB3 vorschlagen (40 Euro), dann ist es wirklich eine Sache von einem Tag und die Auswertung läuft. Alle Vorleistungen dazu wurden mit jomjol hier erarbeitet und jeder bekommt auch immer Support!

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

                                      @pfried sagte in Wasserzähler - Selfmade:

                                      @hugo1215 Wenn Du schnellen Erfolg haben möchtest, würde ich die Investition in einen RB3 vorschlagen (40 Euro), dann ist es wirklich eine Sache von einem Tag und die Auswertung läuft. Alle Vorleistungen dazu wurden mit jomjol hier erarbeitet und jeder bekommt auch immer Support!

                                      @pfried Mir geht es nicht um schnellen erfolg. Sondern darum es auch zum laufen zu bekommen. Es soll nicht der Eindruck entstehen das die Arbeit von jomjol schlecht ist. Dieser ist meiner Meinung doch ein Tolles Ergebnis. Nur leider komme ich an dieser stelle nicht weiter und dachte ich hier im Forum eine Antwort bekomme da ja auch weiter oben in den Beiträgen ja schonmal danach gefragt wurde wie man das ganze auch auf einem Tinkerboard zum laufen bekommt.

                                      Muss ich wirklich dann einen RB3 laufen lassen nur damit ich die Auswertung bekommen?? Hmm.

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

                                        @sissiwup @jomjol Habe ich gemacht. Ich bin mir noch nicht sicher, ob mir das eine zusätzliche Komplexitätsschicht (und 50MB mehr Speicherverbrauch) wert ist. Aber unabhängig davon habe ich noch eine Frage:

                                        Bei mir funktioniert die OCR inwischen ganz gut, allerdings rotieren meine Wasserzähler-Ziffern relativ langsam, so dass die Zeichenerkennung vor dem Beginn eines neuen Kubikmeters locker einen halben Tag lang "Müll" erkennt, weil das Zahlenrad zwischen zwei Zahlen festhängt. @jomjol, ich habe dir ein paar solcher Fotos geschickt.

                                        Man könnte natürlich jetzt dem Tensorflow auch alle Zwischenzustände beibringen, aber das ist möglicherweise overkill für das Netz.

                                        Vielleicht wäre es da einfacher, nicht erkannte Ziffern vor(!) dem Komma durch dieselbe Ziffer im "preValue" zu ersetzen, falls dadurch weder eine negative Rate noch eine zu hohe Rate bei herauskommt? Die ganzen Kubikmeter ändern sich ja i.A. nicht so schnell.

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

                                          @Jens77 sagte in Wasserzähler - Selfmade:

                                          Man könnte natürlich jetzt dem Tensorflow auch alle Zwischenzustände beibringen, aber das ist möglicherweise overkill für das Netz.

                                          Ja, das ist Overkill, zumal du dann von jeder Art von Zähler auch noch alle möglichen Zwischenbilder brauchst. Das kann man nicht vernünftig im Griff haben.

                                          Vielleicht wäre es da einfacher, nicht erkannte Ziffern vor(!) dem Komma durch dieselbe Ziffer im "preValue" zu ersetzen, falls dadurch weder eine negative Rate noch eine zu hohe Rate bei herauskommt? Die ganzen Kubikmeter ändern sich ja i.A. nicht so schnell.

                                          Das kann die Software schon. Wenn du den preValue korrekt setzt und die Abfrage mit dem Parameter usePrevalue machst:

                                          wasserzaehler.html?usePrevalue
                                          

                                          Werden die nicht erkannten Ziffern sinnvoll ersetzt. Über die Ini-Parameter in der Config.ini kannst du sogar das Verhalten bei unplausiblen Ergebnissen (z.B. negative Rate) einstellen. Schau dir nochmal die Doku im Github an.

                                          Vielleicht muss ich es irgendwann mal neu dokumentieren. Inzwischen gibt es so viele Möglichkeiten, dass sich fast schon ein Handbuch lohnen würde. Da ich es aber bis jetzt quasi allein mache, komme ich nicht dazu. 🙂

                                          Beste Grüße,
                                          jomjol

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

                                            @jomjol Wenn Du eine Wasserzähler Wiki machst würde ich meine Hilfe anbieten, könnte z.B. die Einbindung in den IOBroker zusammenfassen (aus all den Postings) .....

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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