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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                        • pfried
                          pfried @Knallochse last edited by

                          @Knallochse Guten Morgen, habe dazu weiter oben gepostet. Check doch mal ob nicht statt Enable=True ConsistencyEnable=True in die Config.ini gehört.

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

                            @jomjol Hallo Jomjol, vielen Dank, funktioniert 👍 😊 Frage: kann ich den Docker auch unter dem pm2 Tool laufen lassen, sodass nach einem Neustart der Docker automatisch gestartet wird?
                            Liebe Grüße
                            Paul

                            EDIT: So geht es:
                            pm2 start 'sudo 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'

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

                              @jomjol Ich leider nochmals. Bekomme nun über den Parser immer das Ergebnis: 411.8888 Das ROI Bild zeigt aber:

                              6277f56a-3ad6-47b0-8b98-f69331c6eae4-image.png

                              a3aba84b-c02a-4e40-9b06-b725f5691bd1-image.png

                              Mache ich da noch was falsch? Früher waren immer die Zeiger korrekt und die Ziffern falsch, jetzt ist es umgekehrt.
                              Liebe Grüße
                              Paul

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

                                Servus
                                Mal ne etwas andere Zwischenfrage
                                Wie habt ihr den Plastikdeckel von der Wasseruhr ab bekommen?
                                Wenn ich den drauf lasse und auf klappe passt das mit dem 3D-Druck nicht mehr.
                                Oder habt ihr da ein Stück aus dem gedruckten Ring raus geschnitten?
                                Gruß Peer

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

                                  @C1500 Ich habe einfach was rausgedremelt , da ich denke das die Wasserwerke was dagegen haben, wenn Mann mechanisch was an der Wasseruhr verändert.
                                  Ist ja handwerklich auch keine große Sache

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

                                    @pfried sagte in Wasserzähler - Selfmade:

                                    @Knallochse Guten Morgen, habe dazu weiter oben gepostet. Check doch mal ob nicht statt Enable=True ConsistencyEnable=True in die Config.ini gehört.

                                    Danke für den Hinweis, habe die config.ini mal dahingehend geändert (probiert habe ich : ConsistencyEnable=True und ConsistencyCheckEnable=True , was aber keinen Effekt hatte. Wird weiterhin kein Fehler ausgegeben. Mal sehen, ob @jomjol noch eine Idee hat.

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

                                      Ich möchte einfach mal einen Gedanken zur Erkennung allgemein äußern.
                                      Braucht es die Erkennung der digitalen Zahlen überhaupt?
                                      Da bei mir die analogen Zeiger sehr zuverlässig erkannt werden, könnte man da nicht die m3-Zahlen rechnerisch erhöhten?
                                      Bei mir machen halt die digitalen Zahlen Probleme.
                                      Momentan sieht das Bild so aus:
                                      A9119AFD-CEF3-4E1D-B098-776D60A9C939.jpeg
                                      Erkannt wird: N00.1684 00N00 1684 (also die 3 nicht)

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

                                        @pfried na klar, ich bin jetzt nicht der Javascript Programmierer, aber es funktioniert 😉
                                        Bei schedule sind 10 Minuten eingestellt.
                                        In der Klammer von body.slice können die Stellen noch angepasst werden, hier ist 0 (Anfang vom Array) und 8 (bis zur 8ten Stelle des Arrays). Könnt ihr anpassen, wie ihr es braucht.

                                        createState('javascript.0.Wasserzaehler.Stand',"");
                                        
                                        schedule('*/10 * * * *', function () {
                                        
                                        var url = "http://IP:3000/wasserzaehler.html?usePreValue";
                                        var req = require('request');
                                        req(url, function(error, response, body) {
                                            if (body){
                                            log("Body OK","warn");
                                           
                                            setState("javascript.0.Wasserzaehler.Stand",body.slice(0, 8));
                                            }
                                            else
                                            {log("Body fehlerhaft","warn");
                                           
                                            }
                                        })
                                        });
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          jomjol @Knallochse last edited by

                                          @Knallochse Habe mal gerade meine internen Logs geprüft. Bei mir hat die Fehlererkennung gestern noch angeschlagen (ErrorRateTooHigh).
                                          Hast du das Problem jetzt nur beim Übergang auf die nächsten Hunderter?
                                          NNN dürfte es eigentlich gar nicht geben, wenn du mit den Wasserzähler mit dem Parameter "usePreValue" aufrufst - das würde ich unbedingt empfehlen:

                                          /wasserzaehler.html?usePrevalue
                                          
                                          Knallochse 1 Reply Last reply Reply Quote 0
                                          • Knallochse
                                            Knallochse @jomjol last edited by

                                            @jomjol:

                                            /wasserzaehler.html?usePrevalue
                                            

                                            Dankeschön, damit geht die Fehlerprüfung 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            591
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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