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

      @jomjol Hallo Jomjol, erst einmal viele Dank und meinen Respekt für deine Arbeit an diesem Projekt.
      Das mit dem Binding der Sourcen habe ich zwar gelesen, aber nicht als Lösung für mein Problem angesehen. Habe gerade verzweifelt versucht, die .ini im Container zu editieren, nachdem ich herausgefunden habe wie ich im Docker dahin komme.
      Werde den von dir empfohlenen Weg ersteinmal weiterverfolgen, auch wenn die Pfadzuweisungen bei mir garantiert erst einmal wieder einen Schwung graue Haare erzeugen wird.
      Du hast garantiert genug andere Sachen um die Ohren, als mir die Grundlagen von Docker zu erklären.
      Wenn ich gar nicht mehr weiter komme, melde ich mich noch mal.

      Einen angenehmen Ersten Advent wünscht
      Ralf

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

        @jomjol Hast Du schon einen Lösung für den RB3 gefunden? Ich bin am Ende meines Wissens (was nicht sehr schwer ist)
        Liebe Grüße
        Paul

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

          @pfried Hallo Paul,
          Timing hätte besser nicht sein können 😊 👍
          Ich konnte zwar noch immer keine Installation auf dem Raspberry hinbekommen ... ABER:

          Seit 1 Stunde gibt es ein Docker-Image, welches auf dem Docker meines Raspberry B3 ohne Probleme läuft!

          Hier findest du den Download: jomjol/wasserzaehler:raspi-rolling

          Ich bin super gespannt, ob das auch bei dir läuft!

          Beste Grüße,
          jomjol

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

            @jomjol Super!!! Ich werde den Test asap angehen. Vielen Dank für all Deine Mühe!

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

              zu Beginn erstmal ein Danke an Jomjol für die Arbeit.

              Ich hab das Projekt heute gerade gefunden und wühle mich durch diesen riesigen Thread.
              Da ich wie der eine oder andere direkt über ein paar Grundlagen gestolpert bin, hier ein paar Links zum Thema
              ESP32 - Arduino IDE für Laien oder Anfänger.
              Auf den beiden Seiten werden die Grundlagen, wie ich finde recht einfach erklärt und dargestellt.

              ESP32-CAM

              Install ESP in Arduino IDE

              Ich hoffe dem einen oder anderen hilft es.

              1 Reply Last reply Reply Quote 1
              • R
                Radi @Mikewolf last edited by

                @Mikewolf Hallo Mike,

                was hast du letztendlich gemach, um das Bild richtig hinzustellen? Bei mir sieht das ROI ähnlich wie bei dir aus (verzerrt und gespiegelt)roi.jpg

                Habe keine Vorstellung, wo ich jetzt ansetzen soll. Kamera drehen oder gibt es noch Einstellmöglichkeiten in der config.ini?

                Grüße
                Ralf

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

                  @Radi Hallo Radi, du musst die Referenzen und Config.ini wie folgt anpassen:

                  Alignment_procedure_draft.pdf

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

                    @jomjol Hallo,
                    die Alignment Procedure habe ich gelesen, aber nichts gefunden, wie ich das gespiegelte Bild wieder richtig herum bekomme. Der Parameter "initial_rotation_angle" dreht das Bild nur um den Mittelpunkt, oder? Der Snapshot der Kamera ist ja richtig herum, nur um einige Grad verdreht (siehe meinen Beitrag vom 30.11.) Habe ich etwas übersehen?

                    Gruß
                    Ralf

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

                      @Radi
                      Hiermit rotierst du das Bild
                      [alignment]
                      initial_rotation_angle=180

                      Du musst dir aber für deinen Zähler die 3 markierten Bereiche aus deinem Zähler rauspicken und genauso konfigurieren. Jeder Zähler sieht anders aus. Deswegen musst du deine 3 Bereiche rauspicken, per Bildbearbeitung ausschneiden, speichern und die Position x,y in die ini eintragen. Damit erkennt das Programm deinen Zähler und diese Bereiche und rotiert das Bild entsprechend (solltest du irgendwann mal deine Camera verdreht haben musst du nichts mehr an der ini ändern). Also einmal Seite 2 durchgehen und bei dir anwenden.

                      777cb467-def9-405f-9a41-5de9a3b8d82b-image.png

                      R 2 Replies Last reply Reply Quote 0
                      • W
                        watcherkb @jomjol last edited by

                        @jomjol sagte in Wasserzähler - Selfmade:

                        @watcherkb Du hast völlig recht mit dem Fehler in der der ReadDigitalDigitClass.py.

                        Mich wundert nur, dass mein rolling lief 🙄

                        Die Docker Rolling Version ist upgedated, Code wird korrigiert, probiere es bei Gelegenheit bitte nochmal ...

                        hey, sorry komme aktuell nicht dazu deine Änderung zu testen. Werde es bei Gelegenheit machen und dir berichten.

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

                          @watcherkb Das habe ich soweit, glaube ich zumindest, verstanden. In meinem Post vom 30.11. habe ich ein Bild angehängt, das zeigt, wie das Kamerabild momentan aussieht. Habe gestern die Pfadzuweisung für die config.ini und das Logverzeichnis hinbekommen. Daraufhin mit dem initial_rotation_angle ein wenig geübt, aber kein vernünftiges Bild im ROI hinbekommen.
                          Ich verstehe nicht, wieso das Bild im ROI gespiegelt ist und wie ich es normal bekomme.
                          Ich glaube nicht das eine einfache Drehung reicht. Der User mikewolf hatte eine ähnliche Ausgangssituation , deshalb hatte ich die heutige Frage an ihn gestellt, bin natürlich für jede andere Unterstützung dankbar.

                          Grüße
                          Ralf

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

                            @watcherkb Tschuldigung, ist wohl heute doch nicht der Tag, wo das mit dem Lesen klappt. Dein letzter an mich gerichtete Satz war es wohl, der mir die richtige Richtung gibt . Hatte mich nur auf der ersten Seite festgebissen und die wichtigen Sachen übersehen oder besser noch gar nicht gelesen. Gelobe Besserung und werde das heute Abend mal ausprobieren.
                            Ralf

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

                              Ich habe heute mal die Wasseruhr freigeräumt und mit Erschrecken festgestellt, dass meine eine völlig andere Uhr ist, als die, welche hier immer auf allen Bildern zu sehen ist.

                              canvas.png

                              funktioniert das Ganze auch mit einer solchen Wasseruhr? oder bin ich der einzige hier, der einen solchen Exoten im Keller hängen hat?

                              Gruss
                              Silvio

                              pfried J 2 Replies Last reply Reply Quote 0
                              • pfried
                                pfried @cybertron last edited by pfried

                                @cybertron Edit: siehe Post von jomjol weiter unten.

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

                                  @jomjol Kannst Du mir bitte nochmals auf die Sprünge helfen wie Du den Docker am Raspberry startest.
                                  Liebe Grüße
                                  Paul

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

                                  geht gar nicht wie oben beschrieben.
                                  Habe

                                  sudo docker run -p 3000:3000 jomjol/wasserzaehler:rasp-rolling -- mount ......etcetc
                                  versucht, da sagt Docker, dass er den mount Befehl nicht kennt.

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

                                    Ich habe leider das Problem, dass die Fehlerprüfung gar nicht mehr greift.
                                    Habe heute auch mehrfach den Docker Container recreatet (Synology DS918+ / rolling), was leider keinen Erfolg brachte.
                                    Gemerkt hatte ich es, als heute die Wasseruhr von 299 auf 300 m³ gewechselt hat.
                                    Da wurde NNN.0156 angezeigt. Es kahm aber kein Error.
                                    Mit der Version von Mitte November hatte die Fehlerprüfung noch funktioniert.
                                    Da mittlerweile die Erkennung wirklich gut funktioniert, ist mir leider nicht aufgefallen, seit wann genau die Fehlerprüfung nicht mehr geht.

                                    Aktuell sieht meine .ini so aus.

                                    [Imagesource]
                                    TimeoutLoadImage=30
                                    #IP durch die IP des ESP32 ersetzen!
                                    URLImageSource=http://192.168.178.71/capture_with_flashlight
                                    LogImageLocation=./log/source_image
                                    # Falls nur schlechte / fehlerhafte Bilder gelockt werden sollen, naechste Zeile Kommentar entfernen
                                    LogOnlyFalsePictures=True
                                    
                                    [ConsistencyCheck]
                                    Enabled=True
                                    AllowNegativeRates=False
                                    #Maximum Change of new to old value (+ or -)
                                    MaxRateValue=0.2
                                    
                                    #Return in Case of Error: Value = OldValue or NewValue
                                    #                         ErrorMessage = Return Text with problem (seperated by Tabstopp) if nothing, then no error message
                                    #                         Readout = Real Readout without corrections (NewValue)
                                    ErrorReturn=OldValue, ErrorMessage, Readout
                                    #ErrorReturn=OldValue, ErrorMessage
                                    #ErrorReturn=NewValue, ErrorMessage
                                    
                                    
                                    [alignment]
                                    initial_rotation_angle=358
                                    
                                    [alignment.ref0]
                                    image=./config/Ref_ZR_x99_y219.jpg
                                    pos_x=130
                                    pos_y=166
                                    
                                    [alignment.ref1]
                                    image=./config/Ref_m3_x512_y117.jpg
                                    pos_x=554
                                    pos_y=150
                                    
                                    [alignment.ref2]
                                    image=./config/Ref_x0_x301_y386.jpg
                                    pos_x=339
                                    pos_y=416
                                    
                                    [Digital_Digit]
                                    names=ziffer1, ziffer2, ziffer3, ziffer4, ziffer5
                                    Modelfile=./config/neuralnets/Train_CNN_Digital-Readout_Version_4.1.0.h5
                                    #LogImageLocation=./log/digital_digit
                                    #LogNames=zeiger3, zeiger4
                                    
                                    [Analog_Counter]
                                    names=zeiger1, zeiger2, zeiger3, zeiger4
                                    Modelfile=./config/neuralnets/CNN_Analog-Readout_Version-4.0.1.h5
                                    #LogImageLocation=./log/analog_counter
                                    #LogNames=zeiger3, zeiger4
                                    
                                    [Analog_Counter.zeiger1]
                                    pos_x=524
                                    pos_y=258
                                    dx=120
                                    dy=120
                                    
                                    [Analog_Counter.zeiger2]
                                    pos_x=456
                                    pos_y=390
                                    dx=120
                                    dy=120
                                    
                                    [Analog_Counter.zeiger3]
                                    pos_x=330
                                    pos_y=446
                                    dx=120
                                    dy=120
                                    
                                    [Analog_Counter.zeiger4]
                                    pos_x=167
                                    pos_y=382
                                    dx=120
                                    dy=120
                                    
                                        
                                    [Digital_Digit.ziffer1]
                                    pos_x=232
                                    pos_y=126
                                    dx=42
                                    dy=75
                                    
                                    [Digital_Digit.ziffer2]
                                    pos_x=292
                                    pos_y=126
                                    dx=42
                                    dy=75
                                    
                                    [Digital_Digit.ziffer3]
                                    pos_x=355
                                    pos_y=126
                                    dx=42
                                    dy=75
                                    
                                    [Digital_Digit.ziffer4]
                                    pos_x=417
                                    pos_y=126
                                    dx=42
                                    dy=75
                                    
                                    [Digital_Digit.ziffer5]
                                    pos_x=476
                                    pos_y=126
                                    dx=42
                                    dy=75
                                    
                                    
                                    pfried J 2 Replies Last reply Reply Quote 0
                                    • coyote
                                      coyote Most Active last edited by

                                      Mal an alle die Verbindungsabbrüche des ESPs haben. Ich habe seit gut einer Woche den Parser Adapter abgeschaltet und frage die URL mit einem Script alle 10min ab, läuft bisher ohne Verbindungsabbrüche, liegt wohl wirklich am Parser Adapter, warum auch immer.

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

                                        @cybertron Grundsätzlich vom Prozess kann es auch damit funktionieren, aber dazu müssen:

                                        1. Die Ziffern neu/zusätzlich trainert werden (Weiss auf Schwarz bzw. Rot)
                                        2. Der Zeiger trainiert werden, da er komplett anders aussieht (falls 0.1l notwendig)

                                        Für 1) braucht es von jeder Ziffer einige Bilder, sowohl von den Schwarzen, wie auch von den Roten.

                                        Gruß,
                                        jomjol

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

                                          @pfried Hallo Paul,
                                          du musst zuerst die Verzeichnisse "log" und "config" anlegen und dann die richtigen absoluten Pfade bei source eintragen. Wenn ich es bei mir direkt unter dem Homeverzeichnis des Users "pi" mache funktioniert es folgendermassen:

                                          mkdir log
                                          mkdir config
                                          docker run -p 3000:3000 --mount type=bind,source=/home/pi/config,target=/config --mount type=bind,source=/home/pi/log,target=/log jomjol/wasserzaehler:raspi-rolling
                                          
                                          

                                          Gruß,
                                          jomjol

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

                                            @coyote Stellst Du uns das Script mit einer Anleitung bitte zur Verfügung?!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            718
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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