Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Wasserzähler - Selfmade

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Wasserzähler - Selfmade

Geplant Angeheftet Gesperrt Verschoben Hardware
wasser wasserzählerhow-to
1.1k Beiträge 48 Kommentatoren 376.5k Aufrufe 72 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J jomjol

    @Knallochse Guten Morgen,
    danke für den Input - Code ist okay, aber ich hatte folgendes Phänomen: falsche erkannte letzte Ziffer (3 --> 9), das wurde mit RateTooHigh auch korrekt gemeldet. Die richtige Ziffer kam erst 150 Liter weiter (wieder zurück zur 3). Aber dann wurde sie auch nicht mehr gemeldet, da jetzt wieder RateTooHigh aufgrund der 150 Liter! Offensichtlich dauert es bei meiner Wasseruhr ca. 150 Liter bis die letzte Ziffer wieder korrekt im Bild ist.
    Ich habe jetzt erstmal den MaxRateValue auf 0.2 gesetzt (auch in den Default Settings - v5.5.2)
    Habe auch schonmal überlegt, ob ich deinen Algo zur Berechnung der Ziffern implementieren soll. Dann wird es halt für Aussenstehende echt schwierig, das zu verstehen und einzustellen. Andererseits wenn nur richtige Werte komme ist es auch egal, was im Inneren läuft.

    @all: Was ist eure Meinung?

    P.S.: versuche gerade Tensorflow 2.1 für die Synology zu kompilieren. Hatte auch schon geklappt aber nur mit Python 3.6, brauche aber Python 3.7. Mal sehen, vielleicht klappt es ja irgendwann demnächst (Run dauert immer etwas, da 10h+ kompiliert wird - gutes Argument für einen neuen Rechner - versuche es gerade meiner Frau schmackhaft zu machen :blush:)

    Gruß,
    jomjol

    sissiwupS Offline
    sissiwupS Offline
    sissiwup
    schrieb am zuletzt editiert von
    #738

    @jomjol
    Hallo,

    tesseract hat es bei meinen Tests nicht so sehr gebracht.
    Habe aber die Bildoptimierung in den normalen Zweig eingebaut. Damit sind bei mir die Ergebnisse besser.
    Natürlich sollte man das Modell dann auch auf solch optimierten Bildern trainieren.

    Habs als Pullrequest eingestellt.

    MfG

    Sissi

    –-----------------------------------------

    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


    sissiwupS 1 Antwort Letzte Antwort
    0
    • sissiwupS sissiwup

      @jomjol
      Hallo,

      tesseract hat es bei meinen Tests nicht so sehr gebracht.
      Habe aber die Bildoptimierung in den normalen Zweig eingebaut. Damit sind bei mir die Ergebnisse besser.
      Natürlich sollte man das Modell dann auch auf solch optimierten Bildern trainieren.

      Habs als Pullrequest eingestellt.

      sissiwupS Offline
      sissiwupS Offline
      sissiwup
      schrieb am zuletzt editiert von sissiwup
      #739

      Hallo,

      wer mal gerne mit einigen Optimierungen testen möchte:

      Anmelden an docker (z.B. um orginal Datei zu sichern):

      docker exec -it wasser bash
      

      Datei nach Docker kopieren:

      docker cp ReadDigitalDigitClass.py wasser:/lib/ReadDigitalDigitClass.py
      

      (wasser ist dabei bei mir der Name des Docker-Files)

      und natürlich neustarten

      docker restart wasser
      

      ReadDigitalDigitClass.py

      MfG

      Sissi

      –-----------------------------------------

      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


      sissiwupS 1 Antwort Letzte Antwort
      0
      • sissiwupS sissiwup

        Hallo,

        wer mal gerne mit einigen Optimierungen testen möchte:

        Anmelden an docker (z.B. um orginal Datei zu sichern):

        docker exec -it wasser bash
        

        Datei nach Docker kopieren:

        docker cp ReadDigitalDigitClass.py wasser:/lib/ReadDigitalDigitClass.py
        

        (wasser ist dabei bei mir der Name des Docker-Files)

        und natürlich neustarten

        docker restart wasser
        

        ReadDigitalDigitClass.py

        sissiwupS Offline
        sissiwupS Offline
        sissiwup
        schrieb am zuletzt editiert von sissiwup
        #740

        Hallo,

        nochmal ein Tipp zur Ausrichtung der analogen Zeiger:

        roi.jpg

        Es ist nicht wichtig den Kreis genau um die Ziffern zu legen.
        Das Kreuz sollte genau auf der Achse des Zeigers sein.
        Auf dem Bild sieht man, dass durch die nahe Kamera da einiges an Verzerrung entsteht.

        @jomjol Zum Ausrichten wäre es besser ein Kreuz in die Quadrate zu zeichnen. Der Kreis hilft nicht so sehr.

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        W J 2 Antworten Letzte Antwort
        0
        • AtifanA Offline
          AtifanA Offline
          Atifan
          schrieb am zuletzt editiert von Atifan
          #741

          Hi. Ansich funktioniert die Erkennung bei mir wunderbar. Außer wenn eine digitale Ziffer wechselt, dann gibt es Probleme.
          Hatte heute den Fall.
          Zähler 381,6961
          Die Ziffer 1 von "381" ist dann schon nicht mehr richtig sichtbar, sondern steht schon fast auf 2.
          Bis dahin funktioniert die Fehlerkorrektur.
          Jetzt kommt aber der Punkt wo die Ziffer umspringt auf 2.
          Dann hätte ich kurzzeitig 382.xxxx.
          Geloggt wird dann auch dieser Wert.
          Dann springen die Nachkommastellen auf 0 und der neue Wert ist kleiner als der vorherige.
          Dann wird solange nicht geloggt, bis die Nachkommastellen wieder stimmen.
          Ich hoffe ihr versteht was ich meine.
          Das Problem hatte ich schon mehrmals.
          Ich habe jetzt in der config eingestellt, dass ein Rückwärtssprung erlaubt ist.
          Hoffe nur das beeinflusst dann nicht meine Logging-Werte falsch.

          Hier ein Screenshot mit den geloggten Werten. Dort erkennt man schön den Wechsel, wo auf einmal die Vorkommastelle um 1 erhöht wird, die Nachkommastellen aber noch nicht auf 0 sind.

          d7c8aa78-2ac2-43af-9eb0-8910dff7d448-image.png

          pfriedP 1 Antwort Letzte Antwort
          0
          • coyoteC Offline
            coyoteC Offline
            coyote
            Most Active
            schrieb am zuletzt editiert von
            #742

            @sissiwup ich habe dein Script im Einsatz und habe es eigentlich so verstanden, dass damit auch keine kleineren Zählerstände entstehen oder sehe ich das falsch?
            Hier mal die History Tabelle, die zeigt, dass doch kleinere Zählerstände geloggt werden und ich glaube deshalb funktioniert auch der Datenpunkt in Sourceanalytix nicht.
            Anbei noch das Script dazu:

            createState('javascript.0.Wasserzaehler.Stand',"");
            createState('javascript.0.Wasserzaehler.Log',"");
            
             
            schedule('*/10 * * * *', function () {
             
            if (isNaN(Number(getState('javascript.0.Wasserzaehler.Stand').val))) {
                log("Set NaN!!!!","warn");
            } else {
                var url = "http://192.168.66.38:3000/setPreValue?value="+getState('javascript.0.Wasserzaehler.Stand').val;
             
                request(url, function(error, response, body) {
                    if (body){
                        log("Set OK:"+ body,"info");
                    }
                    else
                    {
                        log("Set fehlerhaft:" +url+"->"+ body,"warn");
                    }
                })
            }
             
            var url = "http://192.168.66.38:3000/wasserzaehler.html?usePreValue";
             
            request(url, function(error, response, body) {
                if (body){
                    var count=String(body.match(/^[0-9.N]+/));
                    var err=body.search("Error");
                    var org=count;
                    if (err>=0) {
                        org= String(body.match(/[0-9.N]+$/));
                        var oar = org.split(".");
                        var last = String(getState('javascript.0.Wasserzaehler.Stand').val);
                        var lar= last.split(".");
                        var calc = lar[0]+"."+oar[1];
                        if (Number(calc)<Number(last) && (Number("0."+oar[1])<0.1) && (Number("0."+lar[1])>0.9)){
                            	calc=(String(Number(lar[0])+1))+"."+oar[1];
                          }
                          log("Body Calc:"+calc,"info");
                          count=calc;
                    }
                    if (isNaN(Number(count))) {
                        log("Body OK/NaN:"+body,"warn");
                    } else {
                        log("Body OK:"+body+"->" + count,"info");
                        setState("javascript.0.Wasserzaehler.Stand",count);
                    }
                    setState("javascript.0.Wasserzaehler.Log",String(body));
                }
                else
                {
                    log("Body fehlerhaft:" +url+"->"+ body,"warn");
                } 
            }) 
            }); 
            

            Wasser_tabelle.JPG

            Den Tip zur Ausrichtung der Analogen Zeiger werde ich mal noch testen.

            1 Antwort Letzte Antwort
            0
            • AtifanA Atifan

              Hi. Ansich funktioniert die Erkennung bei mir wunderbar. Außer wenn eine digitale Ziffer wechselt, dann gibt es Probleme.
              Hatte heute den Fall.
              Zähler 381,6961
              Die Ziffer 1 von "381" ist dann schon nicht mehr richtig sichtbar, sondern steht schon fast auf 2.
              Bis dahin funktioniert die Fehlerkorrektur.
              Jetzt kommt aber der Punkt wo die Ziffer umspringt auf 2.
              Dann hätte ich kurzzeitig 382.xxxx.
              Geloggt wird dann auch dieser Wert.
              Dann springen die Nachkommastellen auf 0 und der neue Wert ist kleiner als der vorherige.
              Dann wird solange nicht geloggt, bis die Nachkommastellen wieder stimmen.
              Ich hoffe ihr versteht was ich meine.
              Das Problem hatte ich schon mehrmals.
              Ich habe jetzt in der config eingestellt, dass ein Rückwärtssprung erlaubt ist.
              Hoffe nur das beeinflusst dann nicht meine Logging-Werte falsch.

              Hier ein Screenshot mit den geloggten Werten. Dort erkennt man schön den Wechsel, wo auf einmal die Vorkommastelle um 1 erhöht wird, die Nachkommastellen aber noch nicht auf 0 sind.

              d7c8aa78-2ac2-43af-9eb0-8910dff7d448-image.png

              pfriedP Offline
              pfriedP Offline
              pfried
              schrieb am zuletzt editiert von
              #743

              @Atifan Dieses Verhalten sollte aber durch den Aufruf mit: xxx.xxx.xxxx.xxx:3000/wasserzaehler.html?usepreValue
              nicht passieren......

              AtifanA 1 Antwort Letzte Antwort
              0
              • sissiwupS sissiwup

                Hallo,

                nochmal ein Tipp zur Ausrichtung der analogen Zeiger:

                roi.jpg

                Es ist nicht wichtig den Kreis genau um die Ziffern zu legen.
                Das Kreuz sollte genau auf der Achse des Zeigers sein.
                Auf dem Bild sieht man, dass durch die nahe Kamera da einiges an Verzerrung entsteht.

                @jomjol Zum Ausrichten wäre es besser ein Kreuz in die Quadrate zu zeichnen. Der Kreis hilft nicht so sehr.

                W Offline
                W Offline
                watcherkb
                schrieb am zuletzt editiert von
                #744

                @sissiwup danke für den Tip. Habe ähnlichen Zähler wie du und noch Probleme mit den Zeigern. Werde das mal probieren.

                CC2538+CC2592 PA-Zigbee-Funkmodul

                1 Antwort Letzte Antwort
                0
                • pfriedP pfried

                  @Atifan Dieses Verhalten sollte aber durch den Aufruf mit: xxx.xxx.xxxx.xxx:3000/wasserzaehler.html?usepreValue
                  nicht passieren......

                  AtifanA Offline
                  AtifanA Offline
                  Atifan
                  schrieb am zuletzt editiert von Atifan
                  #745

                  @pfried sagte in Wasserzähler - Selfmade:

                  @Atifan Dieses Verhalten sollte aber durch den Aufruf mit: xxx.xxx.xxxx.xxx:3000/wasserzaehler.html?usepreValue
                  nicht passieren......

                  Hi, ist aber passiert. Ich nute ja das usepreValue. Das funktioniert ja auch. usepreValue bewirkt ja nur, dass solange ein "alter" Wert genommen wird, bis die Ziffer wieder lesbar ist und eine plausible Zahl ergibt. usepreValue verhindert aber nicht, dass falsche Werte geschrieben werden.
                  Im Grunde genommen funktioniert die Bildauswertung ja auch richtig. Das Problem ist, dass die Nachkommastellen erst 0000 erreichen, nachdem die digitalen Ziffern umgseprungen sind.

                  J 1 Antwort Letzte Antwort
                  0
                  • sissiwupS sissiwup

                    Hallo,

                    nochmal ein Tipp zur Ausrichtung der analogen Zeiger:

                    roi.jpg

                    Es ist nicht wichtig den Kreis genau um die Ziffern zu legen.
                    Das Kreuz sollte genau auf der Achse des Zeigers sein.
                    Auf dem Bild sieht man, dass durch die nahe Kamera da einiges an Verzerrung entsteht.

                    @jomjol Zum Ausrichten wäre es besser ein Kreuz in die Quadrate zu zeichnen. Der Kreis hilft nicht so sehr.

                    J Offline
                    J Offline
                    jomjol
                    schrieb am zuletzt editiert von
                    #746

                    @sissiwup ich habe in der Mitte so ein kleines Kreuz. Meinst du, dass ich es größer machen soll?

                    sissiwupS 1 Antwort Letzte Antwort
                    0
                    • AtifanA Atifan

                      @pfried sagte in Wasserzähler - Selfmade:

                      @Atifan Dieses Verhalten sollte aber durch den Aufruf mit: xxx.xxx.xxxx.xxx:3000/wasserzaehler.html?usepreValue
                      nicht passieren......

                      Hi, ist aber passiert. Ich nute ja das usepreValue. Das funktioniert ja auch. usepreValue bewirkt ja nur, dass solange ein "alter" Wert genommen wird, bis die Ziffer wieder lesbar ist und eine plausible Zahl ergibt. usepreValue verhindert aber nicht, dass falsche Werte geschrieben werden.
                      Im Grunde genommen funktioniert die Bildauswertung ja auch richtig. Das Problem ist, dass die Nachkommastellen erst 0000 erreichen, nachdem die digitalen Ziffern umgseprungen sind.

                      J Offline
                      J Offline
                      jomjol
                      schrieb am zuletzt editiert von
                      #747

                      @Atifan, @pfried Das Problem wird in der Tat nicht durch den Algo abgefangen! Denn bisher war es eigentlich immer so, dass die neuen Ziffer erst lesbar, wenn die Nachkomma schon wieder bei "0" waren.
                      Bei den Nachkommastellen läßt sich das abfangen, da es Zwischenwerte und ich quasi eine "Fuzzy"-Logik mit Berücksichtigung der nächsten Ziffer vorliegt. Das geht aber bei den digitalen Ziffern nicht so einfach.

                      1 Antwort Letzte Antwort
                      0
                      • AtifanA Offline
                        AtifanA Offline
                        Atifan
                        schrieb am zuletzt editiert von
                        #748

                        Hi, ja glaube ich. Ist bestimmt auch nicht so einfach zur "beheben". Aber ich bin so eig. zufrieden, es funktioniert ja. Einzige ist halt, dass ab und zu evtl. mal ein falscher Wert angezeigt wird mit einer Abweichung von max. 1m³. Denke da kann man mit leben :) Der Wert wird ja auch wieder automatisch korrigiert, daher ist die Chance dass man gerade danach schaut und man dann einen falschen Wert angezeigt bekommt auch relativ gering :)

                        1 Antwort Letzte Antwort
                        0
                        • J jomjol

                          @sissiwup ich habe in der Mitte so ein kleines Kreuz. Meinst du, dass ich es größer machen soll?

                          sissiwupS Offline
                          sissiwupS Offline
                          sissiwup
                          schrieb am zuletzt editiert von
                          #749

                          @jomjol
                          Hallo,

                          Ja, genau,
                          Ich würde das komplett durchziehen.

                          MfG

                          Sissi

                          –-----------------------------------------

                          1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                          1 Antwort Letzte Antwort
                          0
                          • AtifanA Offline
                            AtifanA Offline
                            Atifan
                            schrieb am zuletzt editiert von Atifan
                            #750

                            Kann es sein, dass der Server nen Memoryleak hat? Bei mir war der Webserver nicht mehr erreichbar, da habe ich den Server mal neu gestartet.
                            Dabei it mir aufgefallen, dass der Speicherverbrauch langsam immer weiter angestiegen ist bis auf über 6GB. Nach dem Reboot wieder bei 700-800 MB.

                            64b28a34-69f0-4966-9ec9-8f71c38d7850-image.png

                            pfriedP 1 Antwort Letzte Antwort
                            0
                            • AtifanA Atifan

                              Kann es sein, dass der Server nen Memoryleak hat? Bei mir war der Webserver nicht mehr erreichbar, da habe ich den Server mal neu gestartet.
                              Dabei it mir aufgefallen, dass der Speicherverbrauch langsam immer weiter angestiegen ist bis auf über 6GB. Nach dem Reboot wieder bei 700-800 MB.

                              64b28a34-69f0-4966-9ec9-8f71c38d7850-image.png

                              pfriedP Offline
                              pfriedP Offline
                              pfried
                              schrieb am zuletzt editiert von pfried
                              #751

                              @Atifan Guten Morgen, das Memory Leak sitzt in der Tensorflow Biblothek und ist weiter oben von jomjol beschrieben. Abhilfe: alle 3 - 6 Stunden den Docker mit .... sudo docker container restart [ID]..... neu starten.
                              https://github.com/tensorflow/tensorflow/issues/33009

                              1 Antwort Letzte Antwort
                              0
                              • AtifanA Offline
                                AtifanA Offline
                                Atifan
                                schrieb am zuletzt editiert von
                                #752

                                Ah ok Danke, dann ist es ja bekannt und wird evtl. irgendwann gefixt :)

                                W 1 Antwort Letzte Antwort
                                0
                                • AtifanA Atifan

                                  Ah ok Danke, dann ist es ja bekannt und wird evtl. irgendwann gefixt :)

                                  W Offline
                                  W Offline
                                  watcherkb
                                  schrieb am zuletzt editiert von
                                  #753

                                  @Atifan mich würden deine Proxmox-Settings zu dem Docker-Container interessieren. Bei mir hat es immer ein Problem mit Speicher zu klein gegeben beim ersten Pull des Docker-Containers.
                                  Welches OS hast du genommen und welche Hardwaresettings?

                                  CC2538+CC2592 PA-Zigbee-Funkmodul

                                  1 Antwort Letzte Antwort
                                  0
                                  • AtifanA Offline
                                    AtifanA Offline
                                    Atifan
                                    schrieb am zuletzt editiert von
                                    #754

                                    Habe eine 10GB Partition. Darauf Debian 10.2.0.
                                    Habe dem dann 8 Cores und 8GB RAM genehmigt :)
                                    Im Moment ist der RAM-Verbrauch aber nur bei 1,4GB.
                                    Es dauert schon paar Tage bis der RAM auf 6GB oder höher ist.

                                    1832d3cd-b619-494d-8cd6-c6a6e36bb22d-image.png

                                    W 1 Antwort Letzte Antwort
                                    0
                                    • AtifanA Atifan

                                      Habe eine 10GB Partition. Darauf Debian 10.2.0.
                                      Habe dem dann 8 Cores und 8GB RAM genehmigt :)
                                      Im Moment ist der RAM-Verbrauch aber nur bei 1,4GB.
                                      Es dauert schon paar Tage bis der RAM auf 6GB oder höher ist.

                                      1832d3cd-b619-494d-8cd6-c6a6e36bb22d-image.png

                                      W Offline
                                      W Offline
                                      watcherkb
                                      schrieb am zuletzt editiert von
                                      #755

                                      @Atifan ok, und in dieser VM dann Docker? Nach welcher Anleitung bist du denn vorgegangen?

                                      CC2538+CC2592 PA-Zigbee-Funkmodul

                                      1 Antwort Letzte Antwort
                                      0
                                      • AtifanA Offline
                                        AtifanA Offline
                                        Atifan
                                        schrieb am zuletzt editiert von Atifan
                                        #756

                                        Ja auf der VM habe ich dann Docker installiert.
                                        Ich bin aber leider nicht mehr sicher wie ich das genau gemacht habe.
                                        Ich glaub nach der Anleitung hier: https://docs.docker.com/install/linux/docker-ce/debian/
                                        Ich hatte aber glaube ich irgendwelche kleinere Probleme wo ein Befehl nicht funktionierte.
                                        Habe dann in einem Linux-Discord Hilfe bekommen und dann hats funktioniert.

                                        Wenn dann Docker installiert ist dann hier nach der Anleitung das Docker-Image installieren: https://hub.docker.com/r/jomjol/wasserzaehler

                                        1 Antwort Letzte Antwort
                                        1
                                        • AtifanA Offline
                                          AtifanA Offline
                                          Atifan
                                          schrieb am zuletzt editiert von
                                          #757

                                          Das Memoryleak verschlingt ungefähr ca. 50MB/h.
                                          Lasse jetzt duch nen cronjob jede Nacht rebooten:
                                          0 0 * * * root docker container restart b6c4d6ccc8b3

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          747

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe