Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Version 2 - all-in-device

    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 - Version 2 - all-in-device

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jens Meyer
      Jens Meyer @ESP8266 last edited by

      @esp8266
      Ja darum fragte ich ja ob jemand ein Script schon im Einsatz
      Z hat und das eventuell zur Verfügung stellt.. für jemanden der keine Programmierkenntnisse hat und sich damit sehr schwer tut

      ESP8266 1 Reply Last reply Reply Quote 0
      • ESP8266
        ESP8266 @Jens Meyer last edited by ESP8266

        @jens-meyer , ich habe auch keine Programmierkenntnisse. Blockly habe ich mir selbst bei gebracht. Wer logisch denken kann, kann damit auch umgehen. Viel probieren ist angsagt und natürlich Beispiele suchen. Das Netz ist voll davon.
        Sorry, solche Fragen habe ich hier nie gestellt. Also nicht übel nehmen.😊
        Teilweise wird sich nicht einmal für das bereitstellen bedankt. Zudem ist mein Script eh noch nicht fertig. Halbfertige Sachen gebe ich nicht raus. Das würde zuviele Diskussionen lostreten mit der Anpasserei etc. Zuviele Baustellen noch. Zur Zeit keine Lust und und und.....
        Also ran ans Werk.....

        L 1 Reply Last reply Reply Quote 0
        • L
          Lollo_C @ESP8266 last edited by

          Hallo Zusammen,
          ich muss doch noch einmal um Hilfe bitten. Irgendwie werden meine Analogwerte bei den ersten beiden Analogwerten nicht richtig interpretiert. Dadurch bekomme ich immer Fehler auf Grund der Abweichungen.Wasseruhr _1.png Wasseruhr _2.png
          Weitere Frage: Ich habe "MaxRateValue" auf 0.5 stehen. Ist das so in Ordnung oder wie würdet Ihr es einstellen.
          Vielen Dank im Voraus

          ESP8266 1 Reply Last reply Reply Quote 0
          • ESP8266
            ESP8266 @Lollo_C last edited by ESP8266

            @lollo_c , MaxRateValue auf 0,1 (mit Koma und nicht Punkt). Du hast schon 6 Nachkomma stellen. Also falsch.
            Gib deine preValue mit nur 4 Stellen hinter dem Komma ein. So wie deine Analog Roi´s es auch sind. Kontrast und Helligkeitseinstellungen können auch noch Einfluß darauf haben.
            Mal ein bisschen rumspielen, man macht nichts kaputt.

            L 1 Reply Last reply Reply Quote 0
            • L
              Lollo_C @ESP8266 last edited by

              @esp8266 Danke für die Antwort. Ich habe tatsächlich 0,5 (mit Komma) eingestellt. Die PreValue gebe ich immer mit 4 Nachkommastellen ein. Die 5. und 6. Stelle wird automatisch hinzugefügt. Ich dachte, das muss so sein.
              Nachdem die 1. Analogstelle deutlich über die 4 gewandert ist, bekomme ich auf einmal richtige Werte angezeigt. Wasseruhr03.png Wasseruhr04.png
              Habe leider keine Erklärung dafür.

              L 1 Reply Last reply Reply Quote 0
              • S
                Sammydk @Sammydk last edited by Sammydk

                @sammydk sagte in Wasserzähler - Version 2 - all-in-device:
                Hier mal Fotos von meinem Wasseruhrzähler im lackiertem HT-Rohr.
                IMG_20220816_114504856.jpg
                IMG_20220816_114433514.jpg
                ![ ]Wasserzähler_Ergebniss.jpg

                1 Reply Last reply Reply Quote 0
                • L
                  Lollo_C @Lollo_C last edited by

                  Habe leider keine Erklärung dafür.

                  Habe die Erklärung bzw. Lösung gefunden: Musste in der config.ini die Dateien für das Model umstellen. Seitdem überträgt die Wasseruhr ohne Probleme.
                  Vielen Dank für die Unterstützung.

                  Jens Meyer L 2 Replies Last reply Reply Quote 0
                  • Jens Meyer
                    Jens Meyer @Lollo_C last edited by Jens Meyer

                    Hallo .. ich habe mal eine Frage..? Ich möchte. Einen Gaszähler noch smart machen… wie weit muss der Abstand der Cam sein? Bzw was ist der beste Wert dafür?

                    BananaJoe 1 Reply Last reply Reply Quote 0
                    • BananaJoe
                      BananaJoe Most Active @Jens Meyer last edited by BananaJoe

                      @jens-meyer sagte in Wasserzähler - Version 2 - all-in-device:

                      Hallo .. ich habe mal eine Frage..? Ich möchte. Einen Gastmähler noch smart machen… wie weit muss der Abstand der Cam sein? Bzw was ist der beste Wert dafür?

                      so um die 70 bis 90 mm passt zumeist / lässt sich scharfstellen.
                      Bei meiner Wasseruhr hatte ich etwa 70mm zur Linse, bei meinem Gaszähler sind es ca. 83mm, bei meinem Stromzähler mit Spiegel auch so um die 80

                      Jens Meyer 1 Reply Last reply Reply Quote 0
                      • Jens Meyer
                        Jens Meyer @BananaJoe last edited by

                        @bananajoe

                        Danke für die info… da muss ich mir mal was konstruieren

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          Peter 3 @Jens Meyer last edited by

                          Moin,

                          ich habe auch einen Uralt-Gaszähler von 1995. Allerdings habe ich keinen 3D-Drucker und auch keine Lötkenntnisse. Aus diesem Grund meine Frage: Gibt es eine einigermaßen erschwingliche Komplettlösung zum Kauf? (Habe irgendwo eine für > 250 Euro gesehen, was aber über meinem Budget liegt.)

                          Ich könnte mir auch vorstellen eine Webcam vor den Zähler zu stellen und die Bilder dann selber auszuwerten. Oder spricht etwas dagegen?

                          Danke im Voraus & Grüße ... Peter

                          BananaJoe 1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active @Peter 3 last edited by

                            @peter-3 kauf dir die notwendige Hardware (ESP32-CAM, Speicherkarte, USB Kabel + Netzteil) und richte das ein.

                            Als Halter ... dann musst du halt kreativ werden. Dose mit Loch im Boden, Ablußrohr, Holz, Legobausteine, Zollstock, Pappe, Uhu, Klebeband, Panzertape usw.
                            Du musst es nur schaffen das die Linse des ESP in einem Abstand zum Zähler sitzt das du das Bild scharf stellen kannst und die Zahlen möglichst groß drauf sind.

                            Im Thread gab es wie ich meine schon einige wilde Konstruktionen.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Peter 3 @BananaJoe last edited by

                              @bananajoe, vielen Dank für Deine superschnelle Antwort! 👍 Leider bin ich in Punkto Hardwarebastelei recht unbeholfen. Auch aus diesem Grund fragte ich nach einer Komplettlösung.

                              Grüße ... Peter

                              1 Reply Last reply Reply Quote 0
                              • S
                                sovnio last edited by

                                Hi jomjol,

                                ich stehe grad etwas auf dem Schlauch.
                                Ich habe nach deiner erstklassigen Anleitung die ESP32 CAM aufgesetzt und über meinem Wasserzähler installiert.
                                Nun verrichtet die Cam auch Ihren Dienst und macht in regelmäßigen Abständen ein Foto. Die Ausgabewerte des Digitizer passen auch.

                                Nun ist es aber so, dass ich null komma null Plan von der Einbindung in den ioBroker habe.
                                Wie bekomme ich das nun hin, dass ich die Werte im ioBroker sichtbar machen und per vis visualisieren kann?

                                Ich habe bereits probiert, den MQTT Client unter dem ioBroker zu installieren und diesen mitdenselben Werten wie sie auch bei dem Digitizer hinterlegt sind zu starten. Leider ohne erfolg.

                                Hast Du nähere Infos, wie ich nun die Daten im io Broker sichtbar machen kann?

                                VG
                                sovnio

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @sovnio last edited by

                                  @sovnio sagte in Wasserzähler - Version 2 - all-in-device:

                                  wie ich nun die Daten im io Broker sichtbar machen kann?

                                  hast du irgendwo einen Mqtt broker laufen?

                                  Wenn nein, benötigst du den MQTT Adapter als Broker.
                                  der ESP32 ist der client

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    sovnio @Homoran last edited by

                                    @homoran - danke für deine Antwort.

                                    Ich hatte bereits den MQTT Broker/Client Adapter auf dem iobroker installiert. Die dortigen Daten dann entsprechend mit denen des Digitizers abgeglichen. Jedoch auch ohne Erfolg.

                                    Muss ich MQTT zwingend auf dem Raspberry laufen haben oder reicht der Adapter im iobroker aus?

                                    Welche IP muss ich im MQTT Broker hinterlegen und ist der Port frei wählbar?

                                    User und Passwort zur Anmeldung kann ich durchaus weglassen, da es ohnehin ausschließlich lokal läuft?

                                    S 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by Homoran

                                      @sovnio sagte in Wasserzähler - Version 2 - all-in-device:

                                      Muss ich MQTT zwingend auf dem Raspberry laufen haben oder reicht der Adapter im iobroker aus?

                                      wie meinst du das?
                                      MQTT ist ein Protokoll.
                                      Du benötigst mindestens einen Broker (Zentrale) und einen client.

                                      der ESP32 istcein Client und published fie Werte zum Broker.
                                      Dazu musst du im ESP die Zugangsdaten für den Broker angeben (mindestens IP und Port)

                                      Wenn du den MQTT Adapter als Broker konfigurierst wäten das die IP vom ioBroker und der Standardport wenn du nichts verändert hast.

                                      im Broker musst du 0.0.0.0 als IP eintragen

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Silversurfer 0 @sovnio last edited by Silversurfer 0

                                        @sovnio
                                        Der MQTT Broker/Client im ioBroker ist ein Server und ein Client.
                                        Die Instanz im ioBroker muß gestartet sein.
                                        Default Port ist 1883.
                                        UserId und Password must du im Config Tab im ioBroker konfigurieren.
                                        Screenshot 2022-09-05 at 08.53.25.png
                                        Diese Werte zusammen mit der IP des ioBroker hosts (bei dir wohl dein Rasperrry Pi) im Digitizer angeben.
                                        Im log kannst du schauen, ob die Werte ankommen.
                                        Sonst findest du die Wert im IoBroker in der Objects Sektion unter mqtt.

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          Lollo_C @Lollo_C last edited by

                                          @lollo_c sagte in Wasserzähler - Version 2 - all-in-device:

                                          Habe die Erklärung bzw. Lösung gefunden: Musste in der config.ini die Dateien für das Model umstellen. Seitdem überträgt die Wasseruhr ohne Probleme.

                                          Hallo Zusammen,
                                          leider arbeitet meine Wasseruhr noch nicht zufriedenstellend. Die Anzeige der Analogwerte erfolgt sehr gut. Probleme treten aber auf, wenn die letzte Ziffer der Digitalanzeige wechselt. Dann wir die neue Zahl schon erkannt und als Wert genommen, obwohl die Analogwerte noch bei #,9### sind. Dann kommt eine Fehlermeldung in der Art:
                                          Rate too high - Read: 673.9759 - Pre: 672.9619
                                          weil ja der Wert gegenüber dem Vorwert um 1 m3 zu hoch ist. Das geht dann so weiter, bis der Previous Value irgendwann mal den Wert des gelesenen Wertes übernimmt. Dann erfolgen ein paar Messungen ohne Fehler, allerdings mit um 1 m3 zu hohen Werten, bis es dann zu folgenden Fehlermeldungen kommt:
                                          Neg. Rate - Read: - Raw: 00673.0056 - Pre: 673.9954
                                          Das ist dann der Moment, an dem ich händisch eingreife, einen neuen preValue setze und die zu hohen Werte aus der influxDB lösche. Dann läuft die Wasseruhr wieder bis zum nächsten Wechsel der letzten Digitalziffer.
                                          Zwischenzeitlich hatte ich auch mal die Digitale-Modeldatei von dig-class100_0120_s2_q.tflite nach dig-class100_s1d-md-v1.0_q.tflite getauscht. Allerdings auch ohne Erfolg. Ich vermute ich mache irgendwo einen Gedankenfehler. Deshalb hier auch mal meine config.ini

                                          [MakeImage]
                                          LogImageLocation = /log/source
                                          WaitBeforeTakingPicture = 5
                                          LogfileRetentionInDays = 15
                                          Brightness = 0
                                          Contrast = 0
                                          Saturation = 0
                                          LEDIntensity = 50
                                          ImageQuality = 12
                                          ImageSize = VGA
                                          FixedExposure = false
                                          
                                          [Alignment]
                                          InitialRotate = 93
                                          InitialMirror = false
                                          SearchFieldX = 20
                                          SearchFieldY = 20
                                          AlignmentAlgo = default
                                          FlipImageSize = false
                                          /config/ref0.jpg 383 139
                                          /config/ref1.jpg 107 306
                                          
                                          [Digits]
                                          Model = /config/dig-class100_s1d-md-v1.0_q.tflite
                                          CNNGoodThreshold = 0.5
                                          LogImageLocation = /log/digit
                                          LogfileRetentionInDays = 3
                                          main.dig1 220 145 28 50
                                          main.dig2 251 145 28 50
                                          main.dig3 283 145 28 50
                                          main.dig4 314 145 28 50
                                          main.dig5 345 145 28 50
                                          
                                          [Analog]
                                          Model = /config/ana-class100_0120_s1_q.tflite
                                          LogImageLocation = /log/analog
                                          LogfileRetentionInDays = 3
                                          main.ana1 417 210 79 79
                                          main.ana2 380 298 79 79
                                          main.ana3 291 333 79 79
                                          main.ana4 199 293 79 79
                                          
                                          [PostProcessing]
                                          main.DecimalShift = 0
                                          PreValueUse = true
                                          PreValueAgeStartup = 720
                                          AllowNegativeRates = false
                                          main.MaxRateValue = 0.05
                                          main.MaxRateType = RateChange
                                          ;main.ExtendedResolution = false
                                          ;main.IgnoreLeadingNaN = true
                                          ErrorMessage = true
                                          CheckDigitIncreaseConsistency = false
                                          
                                          [MQTT]
                                          Uri = mqtt://192.168.###.###:1882
                                          MainTopic = wasserzaehler
                                          ClientID = wasser
                                          user = iobroker
                                          password = #################
                                          ;SetRetainFlag = false
                                          
                                          ;[InfluxDB]
                                          ;Uri = undefined
                                          ;Database = 
                                          ;Measurement = undefined
                                          ;user = undefined
                                          ;password = undefined
                                          
                                          ;[GPIO]
                                          ;IO0 = input disabled 10 false false 
                                          ;IO1 = input disabled 10 false false 
                                          ;IO3 = input disabled 10 false false 
                                          ;IO4 = built-in-led disabled 10 false false 
                                          ;IO12 = input-pullup disabled 10 false false 
                                          ;IO13 = input-pullup disabled 10 false false 
                                          LEDType = WS2812
                                          LEDNumbers = 2
                                          LEDColor = 150 150 150
                                          
                                          [AutoTimer]
                                          AutoStart = true
                                          Intervall = 5
                                          
                                          [Debug]
                                          Logfile = true
                                          LogfileRetentionInDays = 3
                                          
                                          [System]
                                          TimeZone = CET-1CEST,M3.5.0,M10.5.0/3
                                          ;TimeServer = undefined
                                          ;AutoAdjustSummertime = false
                                          ;Hostname = undefined
                                          SetupMode = false
                                          

                                          .


                                          Es wäre schön, wenn ein Experte mal darüber schaut und mir auf die Sprünge helfen kann. Vielen Dank.

                                          ESP8266 1 Reply Last reply Reply Quote 0
                                          • ESP8266
                                            ESP8266 @Lollo_C last edited by ESP8266

                                            @lollo_c sagte in Wasserzähler - Version 2 - all-in-device:

                                            @lollo_c sagte in Wasserzähler - Version 2 - all-in-device:

                                            Habe die Erklärung bzw. Lösung gefunden: Musste in der config.ini die Dateien für das Model umstellen. Seitdem überträgt die Wasseruhr ohne Probleme.

                                            Das ist dann der Moment, an dem ich händisch eingreife, einen neuen preValue setze und die zu hohen Werte aus der influxDB lösche. Dann läuft die Wasseruhr wieder bis zum nächsten Wechsel der letzten Digitalziffer.
                                            Zwischenzeitlich hatte ich auch mal die Digitale-Modeldatei von dig-class100_0120_s2_q.tflite nach dig-class100_s1d-md-v1.0_q.tflite getauscht. Allerdings auch ohne Erfolg.

                                            Kein Wunder, dass das nicht hilft. Die sind für die Digitalen Zahlen zuständig und nicht für die Analogen. Deine Analogen sind nur falsch.

                                            Das ist dafür zuständig:

                                            Model = /config/ana0910s3_longq.tflite
                                            

                                            Hier meine PostProcessings aus der Config.ini. Mehr wirst du nicht brauchen.
                                            Keine Koordinaten, GPIO´s etc.

                                            [PostProcessing]
                                            main.DecimalShift = 0
                                            PreValueUse = true
                                            PreValueAgeStartup = 720
                                            AllowNegativeRates = false
                                            main.MaxRateValue = 0.1
                                            main.MaxRateType = AbsoluteChange
                                            main.ExtendedResolution = false
                                            main.IgnoreLeadingNaN = false
                                            ErrorMessage = true
                                            CheckDigitIncreaseConsistency = true
                                            

                                            btw. habe ich keine Probleme damit:

                                            f2663723-3050-47e7-b940-a50e9b9d936e-grafik.png

                                            L N 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            906
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            ai on the edge cnn esp32 hausautomatisierung neuronale netze ov2640 version 2 wasserzähler water gauge water meter
                                            235
                                            3381
                                            1468538
                                            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