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

      Ja hab da schon mit den pixeln gespielt^^ leider noch erfolglos hab mir die Positionen aus deiner Referenz gemessen und mit meinen angepasst. Die draft kannte ich noch nicht schaue ich mir jedoch gleich an. Anbei mal die Config sowie die Bilder. Ausgelöst wird das ganze durch diesen befehl http://192.168.2.13:3000/wasserzaehler.html

      Gruß Julianconfig.ini SourceImage_2019-09-16_16-36-44.jpg

      J 2 Replies Last reply Reply Quote 0
      • J
        jomjol @mcchickents last edited by

        @mcchickents Ich habe eine neue Version erstellt, mit der du direckt die ROIs und Referenzen sehen kannst:
        roi_masked.jpg

        Image ist bei Docker mit dem Tag "rolling" hochgeladen. Das ROI bekommt du mit der Seite "/roi.html" anstatt wasserzaehler - alles ohne Parameter.

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

          @mcchickents Hallo Julian,
          habe mir gerade dein Config.ini angeschaut. Das passt mit dem Bild noch nicht zusammen. Laut Config nimmst du ein UXGA (1600x1200) auf, die Größe der ROIs für die analogen Zähler passen aber eher zu einem kleineren Bild (SVGA (800x600)), da sie auf 142x142 eingestellt sind, im Bild ausgemessen sind es aber ca. 245x245.
          Eigentlich reicht SVGA aus, dazu im Config beim URLImageSource "size=SVGA" ändern.
          Ich würde dir empehlen, die Bildgröße erstmal auf SVGA zu ändern (Zeile URLImageSource Parameter size ändern in size=SVGA) und mit dem neuen Server Image (jomjol/wasserzaehler:rolling) die ROIs sich anzuschauen.
          Gruß, jomjol

          J 1 Reply Last reply Reply Quote 0
          • M
            mcchickents last edited by

            Hi,
            geile Idee leider funktioniert es bei mir im Chrome gar nicht. Bild Kann nicht angezeigt werden. Im Internet Explorer bekomme ich diese Bildausschnitt.

            roi.JPG

            config ist auf SVGA geändert.

            Gruß Julian

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

              @jomjol Komisch, sollte eigentlich ein vollständiges Bild zeigen. Geht bei mir in Firefox problemlos. Muss mich mal auf die Suche machen, woran es liegen kann, vor allem, dass du nur den Ausschnitt siehst.
              Für heute ist aber Schluss.
              Gruß, jomjol

              1 Reply Last reply Reply Quote 0
              • M
                mcchickents last edited by

                Chrome = geht nicht
                Internet = nur ausschnitt
                Edge= funktioniert 🙂

                J 1 Reply Last reply Reply Quote 0
                • M
                  mcchickents last edited by mcchickents

                  Hi jomjol,

                  hab nochmal angepasst. Mit der eins und mit den Zeigern habe ich aber immer noch Probleme.
                  30N.5570 0030N 5570

                  config.ini
                  SourceImage_2019-09-17_17-40-17.jpg

                  1.png

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

                    @mcchickents sieht schon besser aus.
                    Folgende Frage:
                    Hast du eigene Referenzbilder aus deinem Kamerabild verwendet oder noch die von meinem Zähler? Sieht für mich noch aus, als ob die Referenzen nicht ganz passen (ZR sieht aus, als ob es nach links verrutsch ist).

                    Die ROIs für die Zeiger passen nicht ganz. Sie müssen genau mittig über den Kreisen liegen (siehe z.B. meinen Post

                    Das die "1" nicht passt ist Absicht, da es nicht eindeutig auf 1 steht sond zwischen 1 und 2. Dann liefert die Auswertung ein "N" (steht für NaN - Not a Number). Dann muss du diese Ziffer aus einem alten Zählerstand, z.B. aus der Datenbank auslesen.

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

                      @mcchickents Habe einen Fehler im Code beim Versenden der Images gefunden. Scheint als ob Firefox darauf nicht so sensitiv war. Chrome und Edge gehen bei mir jetzt auch.
                      Docker mit Tag :rolling ist aktualisiert
                      Gruß, jomjol

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

                        @jomjol : könntest du evtl. für die ESP32 Variante eine Hardwareliste zusammenstellen? Das würde mir zum Nachbauen sehr helfen.
                        Hast du auch Gaszähler und Stromzähler mit der gleichen Idee umgesetzt, oder was nutzt du da? Beim Gaszähler hab ich es mit einem Reedkontakt versucht, leider stimmen die Werte nicht. Ich bekomme es nicht vernünftig entprellt. Nutze EspEasy mit Esp8266 Nodemcu.

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

                          @watcherkb Hallo Watcherkb,

                          klar, gerne. Eine Hard Hardwareliste findest du auch auf Github, wo du den Code runterladen kannst:
                          https://github.com/jomjol/water-meter-picture-provider

                          hier ein Screenshot:
                          72784dc1-d4ed-4df3-9eec-9378d8647e7b-grafik.png

                          Aber warum willst du noch den ESP8266 nehmen? Ich würde dir die ESP32-CAM Variante mit internem Flash empfehlen. Kostet viel weniger und bedarf nur einer Stromversorgung und keiner externen LED.
                          Ist auch viel billiger. Allein die ArduCam kostet ca. 25 EUR (Achtung nur mit JPEG-Chip kaufen!), einen ESP32-CAM mit OV2640 bekommst du für da 10 EUR oder 5$ aus CN.

                          Beim Stromzähler verwende ich eine kommerzielle Lösung von Homematic. Technisch geht es aber auch mit diesem Setup, der Code ist bewußt sehr generisch gehalten und läßt sich gut anpassen.

                          Gruß,
                          Jomjol

                          W 1 Reply Last reply Reply Quote 0
                          • M
                            mcchickents last edited by

                            Guten Abend,

                            wäre es noch möglich von den 3 Refernzbilder auch die Größe zu bestimmen in der config Datei. Ich habe mir heute eigene Bilder erstellt jedoch sind meine ein paar Pixel größer. Hat das Bild Referenz auch eine Bedeutung oder ist es nur zu Veranschaulichung im Verzeichnis.

                            Gruß Julian

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

                              @mcchickents Die Größe der Referenzbilder ist beliebig und wird zur Berechnung nirgends benötigt. Wenn deine Bilder etwas größer oder kleiner sind, spielt das keine Rolle. Wichtig ist nur, dass die Koordinate der linken oberen Ecke genau der Stelle entspricht, an der du das Bild in deiner eigenen Referenz rausgeschnitten hast.
                              Das Bild "Referencz" hat keine Bedeutung (mein eigenes Referenzbild) werde es in der nächsten Verion löschen.

                              1 Reply Last reply Reply Quote 0
                              • M
                                mcchickents last edited by

                                Hi Jomjol,

                                habe ich so eingestellt zur Zeit funktioniert es ganz gut. Bei den Zeiger habe ich als noch eine Abweichung von max 1. Hab gestern und heute mal versucht das ganze zu loggen. Leider noch etwas erfolgslos^^. Mit dem simple api adapter habe ich es hinbekommen einen wert in eine selber erstelte Variable zu schreiben jedoch noch nicht die werte aus dem link http://192.168.2.13:3000/wasserzaehler.html.

                                Dann habe ich mal etwas im blockly getestet leider will das aber auch nicht richtig laufen. Anbei mal ein Bild vielleicht hat ja jemand von euch eine Idee.
                                Wasser pro.PNG

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

                                  @jomjol Hi, sorry ich hatte wohl sagen sollen dass ich auf die ESP32 Variante setzen möchte. Deswegen die Frage nach der Hardwareliste. Was für ein Modul setzt du noch vor den ESP, also da wo das miniusb kabel steckt?

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

                                    @watcherkb das ist wohl ein Micro USB Breakout Modul, davon hab ich mir jetzt auch mal welche bestellt.

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

                                      @coyote @watcherkb ja korrekt, ist ein micro usb Breakout-Board:

                                      IMG_20190920_174935.jpg

                                      Welches genau, kann ich euch nicht mehr sagen. Im Zweifelsfall müsst ihr die Löcher auf dem Inlay etwas anpassen. Dient nur der Stromversorgung. Zur Programmierung baue ich das Teil dann jeweils aus.

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

                                        @mcchickents
                                        Am besten du nimmst den Parser Adapter. Da ist bereits alles drin.
                                        Einstellungen siehst du im Bild.
                                        Als RegEX nimmst du folgendes: "[N|0-9][N|0-9][N0-9][N|0-9][N|0-9]\D\d\d\d\d"
                                        Den Inhalt der Anführungszeichen nehmen ohne jene welche. 😉
                                        Dann hast du den Wert deines Zählers in den Objekten unter Parser und kannst ihn weiterverarbeiten, Loggen oder was auch immer

                                        63136003-5735-4988-a0ff-26b8804185bf-image.png

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

                                          Um das Thema mit dem "N" in den Griff zu bekommen, habe ich einen Algorithmus implementiert, der nun auch den letzten Wert mit berücksichtigt. Wenn die Ziffern auf einem Zwischenwert stehen, also "N" zurück liefern, dann wird kann der Algo prüfen, ob die Ziffer mit "N" vorher schonmal erkannt wurde und das N durch die gültige Ziffer ersetzten. Es werden auch Zehnerübergänge berücksichtigt. Also z.B.:

                                          letzer gültiger Wert: 401.995
                                          Rückgabe-Wert: 40N.015

                                          Dann wir daraus: 402.015

                                          Um das Feature zu nutzen muss bei der Abfrage des Wasserzaehler ein Parameter ergänzt werden:

                                          .../wasserzaehler.html?usePreValue

                                          Wenn Docker gerade neu gestaret wurde und noch keine Zahl ganz ohne "N" detektiert wurde, funktioniert es natürlich nicht. Dazu gibt es aber die Möglichkeit einen gültigen Zählerwert manuell zu setzen:

                                          .../setPreValue.html?value=402.015

                                          Das experimentelle Docker Image (jomjol/wasserzaehler:rolling) enthält dieses Feature.

                                          Gruß,
                                          jomjol

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            mcchickents last edited by mcchickents

                                            Hi jomjol,

                                            hab die letzten Tage mal etwas anderes wie Wasserzähler gemacht.
                                            Heute habe ich dein neuste update getestet.

                                            Wenn ich den Wert Setzte erhalte ich folgende Antwort.
                                            Last value set to: 00302.0398

                                            Wenn ich jetzt den Parser wieder arbeiten lasse will das N in der 30N leider nicht verschwinden.
                                            Anbei meine Praser Einstellungen. Config ini ist die alte.

                                            Noch eine kurze Frage zu deinem "N Algo" kann der Algorithmus auch erkennen wenn die Zeiger Falsch detektiert worden sind. Ein Beispiel

                                            Scan 1 302.0008
                                            Scan 2 302.0009 richtig
                                            Scan 3 302.0007 falsch

                                            Sozusagen wenn die Zahl kleiner wird das dann dein Algo den Scann korrigiert?#

                                            Gruß Julian

                                            Ps. Echt geile arbeit von dir.

                                            f7c82904-9347-40af-b99c-3c4eec7f7686-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            748
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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