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

                      Hi,

                      ich beobachte das Thema jetzt schon ein paar Tage, aber der Thread ist mir zu lang zum komplett lesen (sorry) und mit der Suche habe ich nicht wirklich was gefunden. Daher hier kurz die Frage: kann man den Wasserzähler auch nutzen, wenn man keinen 3D Drucker zur Verfügung hat? Entweder weil man die Konstruktion anders macht (keine Ahnung, wie, aktuell) oder weil man die Teile irgendwo drucken lassen kann?

                      Danke. 🙂

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

                        @Garfonso Schaue Dir einmal Posting 703 an 😊

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

                          @Garfonso Ja! Du brauchst

                          1. eine Hardware, die ein jpg-Bild macht und es auf einer URL zur Verfügung stellt. Kann man selber drucken, drucken lassen oder eine ganz andere Lösung selbst machen
                          2. eine Docker-Instanz des Wasserzaehlers, der dieses Bild ausliest und dann die Zahl als Web-Page zur weiteren Verarbeitung zur Verfügung stellt.
                          D 1 Reply Last reply Reply Quote 0
                          • D
                            doublesib @jomjol last edited by

                            @Garfonso also wenn du ein Lego Fenster hast da passt der ESP32 perfekt rein 😎
                            IMG_20200302_165436.jpg

                            Knallochse Garfonso 2 Replies Last reply Reply Quote 2
                            • Knallochse
                              Knallochse @doublesib last edited by

                              @doublesib gefällt mir, deine Lösung. 😂

                              1 Reply Last reply Reply Quote 0
                              • Garfonso
                                Garfonso Developer @doublesib last edited by Garfonso

                                @doublesib
                                Haha, das sieht cool aus. Muss ich mal gucken, ob ich meiner Tochter davon welche abluchsen kann.... wobei... hinterher nehmen die Kinder das dann auseinander oder bauen was dran? 😉 Aber eine coole Idee.

                                Aber gut, dann ist das wohl noch ein Projekt in meiner langen Liste. 🙂

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

                                  Hallo zusammen,

                                  eine Grundsätzliche Frage an @jomjol und die anderen hier:

                                  Wäre es theoretisch möglich die Bilderkennung direkt auf dem ESP32 laufen zu lassen? Also ohne den Raspberry?
                                  Ich gehe davon aus, dass dies aufgrund der geringen Leistung des ESP32 nicht möglich ist?
                                  Bin Anfänger und wollte dazu mal die Meinung von einem Experten hören 🙂
                                  Danke im Voraus.

                                  Viele Grüße

                                  Garfonso sissiwup J 3 Replies Last reply Reply Quote 0
                                  • Garfonso
                                    Garfonso Developer @Jimh last edited by

                                    @Jimh
                                    Ehrlich gesagt bin ich immer noch erstaunt, dass es auf einem Raspberry läuft... Mein Informatikstudium ist zwar jetzt auch schon > 10 Jahre her, aber Bildverarbeitung / Bilderkennung ist nach wie vor eher am oberen Spektrum des Leistungshungers. Es gibt zwar spezial Hardware, die da auch einiges kann, keine Ahnung, was da auf dem ESP32 ist. Aber neuronale Netzwerke in Hardware auswerten ist m.E. noch ziemlich am Anfang und daher auf günstiger Hardware vermutlich noch nicht zu haben.

                                    (Aber das ist nur meine halbinformierte Meinung, habe mich mit ESP32 noch nicht näher beschäftigt -> es gibt auch so Miniplatinen Kameras, die Gesichtserkennung können).

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

                                      Hallo,

                                      mit der neusten Version ist die Zeigererkennung schlechter geworden.
                                      Die hat bei mir bisher nie Probleme gemacht:

                                      Bildschirmfoto 2020-04-20 um 19.00.17.png

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

                                        @Jimh sagte in Wasserzähler - Selfmade:

                                        Hallo zusammen,

                                        eine Grundsätzliche Frage an @jomjol und die anderen hier:

                                        Wäre es theoretisch möglich die Bilderkennung direkt auf dem ESP32 laufen zu lassen? Also ohne den Raspberry?
                                        Ich gehe davon aus, dass dies aufgrund der geringen Leistung des ESP32 nicht möglich ist?
                                        Bin Anfänger und wollte dazu mal die Meinung von einem Experten hören 🙂
                                        Danke im Voraus.

                                        Viele Grüße

                                        Ich habe mir das auch schon mal angeschaut. Das Problem ist tatsächlich gar nicht so sehr die Berechnung des neuronalen Netzes, sondern die Aligmentprozedur.
                                        Die neueste Version von Tensorflow unterstützt eine Bibliothek "TFLite", die speziell für Edge-Computing gemacht ist und auf einem ESP32 problemlos läuft. In der nächsten Version werde ich darauf umstellen (bin schon dran). Das Alignment läuft aber über OpenCV. Insbesondere die Erkennung der Referenzen braucht echt viel Rechenleistung und dafür habe ich noch keine Lösung auf dem ESP32.
                                        Hat jemand eine gute Idee? Ich hatte schon daran gedacht, einfache Erkennungsmarken auf die Wasseruhr zu kleben. Das könnte einen sehr einfachen Algorithmus ermöglichen.
                                        Was ist eure Meinung?
                                        Gruß, jomjol

                                        W Garfonso 2 Replies Last reply Reply Quote 1
                                        • J
                                          jomjol @sissiwup last edited by

                                          @sissiwup sagte in Wasserzähler - Selfmade:

                                          Hallo,

                                          mit der neusten Version ist die Zeigererkennung schlechter geworden.
                                          Die hat bei mir bisher nie Probleme gemacht:

                                          Ich habe auch gesehen, dass einer der Parameter für die Güte ca. 20% schlechter ist. Ich schaue mal, was ich machen kann.

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

                                            @jomjol sagte in Wasserzähler - Selfmade:

                                            @sissiwup sagte in Wasserzähler - Selfmade:

                                            Hallo,

                                            mit der neusten Version ist die Zeigererkennung schlechter geworden.
                                            Die hat bei mir bisher nie Probleme gemacht:

                                            Ich habe auch gesehen, dass einer der Parameter für die Güte ca. 20% schlechter ist. Ich schaue mal, was ich machen kann.

                                            Ich habe noch eine Optimierungsoption gefunden und 3-4 Bilder nochmal genauer klassifiziert. Jetzt ist die mittlere Abweichung wieder dort wo sie vorher war. Die neue Version ist 6.0.1 - probier es bei Gelegenheit doch einfach mal aus.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            754
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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