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.5k

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

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

Wasserzähler - Selfmade

Geplant Angeheftet Gesperrt Verschoben Hardware
wasser wasserzählerhow-to
1.1k Beiträge 48 Kommentatoren 375.3k 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.
  • M mcchickents

    Hi das hatte ich auch schon. Start mal den Docker Container neu.

    coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #171

    @mcchickents das hab ich gestern leider schon mehrmals gemacht. Kann es vllt auch am Winkel liegen? Dass wollte ich nachher mal probieren, da einen anderen Winkel in der Config anzugeben

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      mcchickents
      schrieb am zuletzt editiert von
      #172

      Ok nimm mal die 0,001 als Referenz dann wird das Dreieck größer.

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

        Hab ich gemacht und jetzt nen Winkel von 182 angegeben. Dann kommt folgendes raus.
        Aber wenn ich jetzt mit dem Winkel weiter spiele in Plus oder Minus Richtung wird es eher wieder schlechter.... Sonst noch ne Idee? Die Digitalen und Analogen Werte habe ich noch nicht verändert, sind ja vorerst auch nicht wichtig oder doch? Erst muss ja mal mein Referenzbild passen.
        Roi_182.JPG

        Irgendwie fehlt mir hier noch etwas das Verständnis. Das SourceImage ist doch einwandfrei , wieso ist es dann beim ROI Picture so verdreht? Dachte ich müsste mit dem Winkel nachher nur noch etwas nach rechts oder links drehen um die exakte Position einzustellen.

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

          Mir ist gerade noch was aufgefallen... Mein Bild ist quasi 600x800 nicht wie bei euch 800x600

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mcchickents
            schrieb am zuletzt editiert von
            #175

            Ich bin leider auch kein Profi wie du vielleicht gemerkt hast :-) poste doch mal deine config Datei.

            Ps ich habe den Winkel schon immer auf 0

            coyoteC 1 Antwort Letzte Antwort
            0
            • M mcchickents

              Ich bin leider auch kein Profi wie du vielleicht gemerkt hast :-) poste doch mal deine config Datei.

              Ps ich habe den Winkel schon immer auf 0

              coyoteC Offline
              coyoteC Offline
              coyote
              Most Active
              schrieb am zuletzt editiert von
              #176

              @mcchickents ich denke es liegt vllt doch an der Auflösung, die falsch herum ist. Probiere ich nachher mal. Habe die Kamera jetzt gedreht

              1 Antwort Letzte Antwort
              0
              • coyoteC coyote

                Hab ich gemacht und jetzt nen Winkel von 182 angegeben. Dann kommt folgendes raus.
                Aber wenn ich jetzt mit dem Winkel weiter spiele in Plus oder Minus Richtung wird es eher wieder schlechter.... Sonst noch ne Idee? Die Digitalen und Analogen Werte habe ich noch nicht verändert, sind ja vorerst auch nicht wichtig oder doch? Erst muss ja mal mein Referenzbild passen.
                Roi_182.JPG

                Irgendwie fehlt mir hier noch etwas das Verständnis. Das SourceImage ist doch einwandfrei , wieso ist es dann beim ROI Picture so verdreht? Dachte ich müsste mit dem Winkel nachher nur noch etwas nach rechts oder links drehen um die exakte Position einzustellen.

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

                @coyote Hallo coyote,
                irgendetwas stimmt mit deinen Referenzen noch nicht. Wenn ich mir dein Orginalbild anschaue, dann liegt "PN16" links und "m3" rechts von den 5 Ziffern. Dann müssten auch dort zwei rote Kästchen sein. Die sind aber alle unterhalb. Schau mal, ob die wirklich passen.
                Das verdrehte Bild kommt daher, dass die Koordinaten der Referenzen nicht passen. Dann wird es stark verzerrt.
                Der Ablauf der Bildverarbeit läuft wie folgt.

                1. Aufnehmen des Rohbildes
                2. Drehen um einen festen Winkel (initial_rotation_angle), um ein aufrechtes Bild zu erhalten. Falls das Bild schon richtig ist, dann den Winkel 0 angeben.
                3. Suchen der 3 Referenzen. Diese sollten möglichst in einem Dreieck sein und nicht zu nahe beieinander.
                  Das Bild wird dann gedreht und ggf. verzehrt, so dass die Referenzen an den Koordinaten liegen, wie sie im Config-File angegeben wurden.
                4. Rausschneiden der ROIs und auslesen

                Dein Orginalbild sieht erstmal ganz gut aus. Ich sehe deutliche Schatten. Wie weit bist du mit der Kamera weg?
                Bei deinem Zähler könnte die Form der Zeiger ein Problem werden. Die sehen anders aus, wie bei meinem Zähler und vielleicht funktioniert die Bilderkennung nicht optimal. Ggf. müsste man mit Bilder das Neuronale Netz nochmal nachtrainieren. Ist aber erstmal unabhängig vom Ausrichten des Bildes.
                Hier nochmal eine Step-By-Step Anleitung für die Einrichtung der Config.ini.
                Alignment_procedure_draft.pdf

                Ich versuche gerade mittels Bildverarbeitung die Positionen für die Konfiguratin automatisch zu finden, dass ist aber echt tricky und braucht sicher noch einige Zeit.

                Falls alle Stricke reissen, kannst du mir mal ein Originalbild von deiner Kamera schicken und ich finde etwas Zeit, um dich bei der Config zu unterstützen. Frühestens aber am Wochenende.

                Beste Grüße,
                jomjol

                coyoteC 1 Antwort Letzte Antwort
                0
                • J jomjol

                  @coyote Hallo coyote,
                  irgendetwas stimmt mit deinen Referenzen noch nicht. Wenn ich mir dein Orginalbild anschaue, dann liegt "PN16" links und "m3" rechts von den 5 Ziffern. Dann müssten auch dort zwei rote Kästchen sein. Die sind aber alle unterhalb. Schau mal, ob die wirklich passen.
                  Das verdrehte Bild kommt daher, dass die Koordinaten der Referenzen nicht passen. Dann wird es stark verzerrt.
                  Der Ablauf der Bildverarbeit läuft wie folgt.

                  1. Aufnehmen des Rohbildes
                  2. Drehen um einen festen Winkel (initial_rotation_angle), um ein aufrechtes Bild zu erhalten. Falls das Bild schon richtig ist, dann den Winkel 0 angeben.
                  3. Suchen der 3 Referenzen. Diese sollten möglichst in einem Dreieck sein und nicht zu nahe beieinander.
                    Das Bild wird dann gedreht und ggf. verzehrt, so dass die Referenzen an den Koordinaten liegen, wie sie im Config-File angegeben wurden.
                  4. Rausschneiden der ROIs und auslesen

                  Dein Orginalbild sieht erstmal ganz gut aus. Ich sehe deutliche Schatten. Wie weit bist du mit der Kamera weg?
                  Bei deinem Zähler könnte die Form der Zeiger ein Problem werden. Die sehen anders aus, wie bei meinem Zähler und vielleicht funktioniert die Bilderkennung nicht optimal. Ggf. müsste man mit Bilder das Neuronale Netz nochmal nachtrainieren. Ist aber erstmal unabhängig vom Ausrichten des Bildes.
                  Hier nochmal eine Step-By-Step Anleitung für die Einrichtung der Config.ini.
                  Alignment_procedure_draft.pdf

                  Ich versuche gerade mittels Bildverarbeitung die Positionen für die Konfiguratin automatisch zu finden, dass ist aber echt tricky und braucht sicher noch einige Zeit.

                  Falls alle Stricke reissen, kannst du mir mal ein Originalbild von deiner Kamera schicken und ich finde etwas Zeit, um dich bei der Config zu unterstützen. Frühestens aber am Wochenende.

                  Beste Grüße,
                  jomjol

                  coyoteC Offline
                  coyoteC Offline
                  coyote
                  Most Active
                  schrieb am zuletzt editiert von coyote
                  #178

                  @jomjol und zack, sieht das Ganze gleich viel besser aus ;-)
                  Hab ja jetzt die Kamera gedreht, damit die Auflösung 800x600 passt, alle Referenzen nochmal angepasst und siehe da, klappt.
                  Jetzt muss ich noch den Rest eingestellt bekommen.

                  Ich habe dein Gehäuse ausgedruckt, außer den unteren Teil, den musste ich etwas abändern, heißt ich bin ca. 10mm weiter weg vom Zähler.
                  Ja den Schatten seh ich auch, der ist jetzt nach rechts gewandert durch das Drehen der Kamera. Der blöde weisse Kunststoffring macht das Ganze nicht besser.
                  Roi.JPG

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

                    @jomjol sieht doch gar nicht so schlecht aus mit den Zeigern ;-)

                    Roi.JPG Stand.JPG

                    Die 2 will er irgendwie nicht, entweder gibts ne 7 oder N, hab schon bisschen mit den Koordinaten und Größen gespielt, aber will nicht. Vielleicht hast du da noch nen Tipp.
                    Mit den Zeigern passt doch fast, beim ersten Zeiger hatte ich auch schon ne 6 anstatt ne 5 drin, also wenn es so bleibt kann ich damit leben.

                    Cooles Projekt, vielen Dank dafür:+1:

                    J 1 Antwort Letzte Antwort
                    0
                    • coyoteC coyote

                      @jomjol sieht doch gar nicht so schlecht aus mit den Zeigern ;-)

                      Roi.JPG Stand.JPG

                      Die 2 will er irgendwie nicht, entweder gibts ne 7 oder N, hab schon bisschen mit den Koordinaten und Größen gespielt, aber will nicht. Vielleicht hast du da noch nen Tipp.
                      Mit den Zeigern passt doch fast, beim ersten Zeiger hatte ich auch schon ne 6 anstatt ne 5 drin, also wenn es so bleibt kann ich damit leben.

                      Cooles Projekt, vielen Dank dafür:+1:

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

                      @coyote Deine Ziffern sehen leicht anders aus, wie meine. Vermutlich muss ich die OCR etwas allgemeiner trainieren. Wenn du von jeder Ziffer mal so 3-4 Bilder gesammelt hast, kannst du sie mir schicken.
                      Das Trainieren der Ziffern ist recht einfach, bei den Zeigern wäre es aufwendiger.

                      Freut mich, dass es schonmal soweit klappt!

                      Gruß,
                      jomjol

                      1 Antwort Letzte Antwort
                      0
                      • J 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 Offline
                        M Offline
                        mcchickents
                        schrieb am zuletzt editiert von
                        #181

                        @jomjol said in Wasserzähler - Selfmade:

                        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

                        Hi habe es nochmal ausprobriert. Egals was ich mache bekomme das N bei 30N.4568 nicht weg. Bist du dir sicher das es in der aktuellen rolling Version drin ist? Habe den Docker auch nochmal neu installiert. Auch im Browser will es nicht funktionieren.

                        Gruß Julian

                        J 1 Antwort Letzte Antwort
                        0
                        • M mcchickents

                          @jomjol said in Wasserzähler - Selfmade:

                          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

                          Hi habe es nochmal ausprobriert. Egals was ich mache bekomme das N bei 30N.4568 nicht weg. Bist du dir sicher das es in der aktuellen rolling Version drin ist? Habe den Docker auch nochmal neu installiert. Auch im Browser will es nicht funktionieren.

                          Gruß Julian

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

                          @mcchickents Bekommst du eine Rückmeldung wenn du setPreValue.html?value=... " verwendest?

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            mcchickents
                            schrieb am zuletzt editiert von
                            #183

                            Hi Jomjol,

                            ja bekomme ich
                            http://192.168.2.13:3000/setPreValue.html?value=00303.2323
                            Last value set to: 00303.2323

                            10 sec später versuche ich das in chrome

                            http://192.168.2.13:3000/wasserzaehler.html?usePreValue
                            30N.7251 0030N 7251

                            und bekomme das zurück.

                            J 1 Antwort Letzte Antwort
                            0
                            • M mcchickents

                              Hi Jomjol,

                              ja bekomme ich
                              http://192.168.2.13:3000/setPreValue.html?value=00303.2323
                              Last value set to: 00303.2323

                              10 sec später versuche ich das in chrome

                              http://192.168.2.13:3000/wasserzaehler.html?usePreValue
                              30N.7251 0030N 7251

                              und bekomme das zurück.

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

                              @mcchickents Hi McChickents,
                              danke für den Hinweis. Fehler lag im Programm. Ich habe in der Implementierung auf "usePrevalue", also mit kleinem "v" getriggert.
                              Update in "rolling" ist raus, es ist jetzt egal ob due PreValue oder Prevalue schreibst.
                              Gruß, jomjol

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

                                @jomjol wie meinst du das mit den 3-4 Bildern jeder Zahl, heißt in verschiedenen Stellungen der Ziffer?
                                Ich glaube, ich warte erst mal nächste Woche ab, es könnte sein, dass ich eine neue Uhr bekommen, das muss ich noch klären, da Flecken unten an der Wasseruhr sind und das darf wohl nicht sein und muss ausgetauscht werden.

                                J 1 Antwort Letzte Antwort
                                0
                                • J jomjol

                                  @mcchickents Hi McChickents,
                                  danke für den Hinweis. Fehler lag im Programm. Ich habe in der Implementierung auf "usePrevalue", also mit kleinem "v" getriggert.
                                  Update in "rolling" ist raus, es ist jetzt egal ob due PreValue oder Prevalue schreibst.
                                  Gruß, jomjol

                                  M Offline
                                  M Offline
                                  mcchickents
                                  schrieb am zuletzt editiert von
                                  #186

                                  @jomjol

                                  neue Version installiert funktioniert einwandfrei. Perfekte Arbeit.

                                  Im Blockly habe ich mal den String in eine Zahl geschrieben.

                                  fc07b6bf-788b-40f8-9658-562b39cd98a1-image.png

                                  Leider wird nur 303 eingetragen die hinteren Zahlen werden abgeschnitte? Liegt das an dem Punkt in der ausgabe?

                                  1 Antwort Letzte Antwort
                                  0
                                  • coyoteC coyote

                                    @jomjol wie meinst du das mit den 3-4 Bildern jeder Zahl, heißt in verschiedenen Stellungen der Ziffer?
                                    Ich glaube, ich warte erst mal nächste Woche ab, es könnte sein, dass ich eine neue Uhr bekommen, das muss ich noch klären, da Flecken unten an der Wasseruhr sind und das darf wohl nicht sein und muss ausgetauscht werden.

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

                                    @coyote deine Ziffern sehen von der Geometrie anders aus wie auf meinem Zähler. Wenn du mir also von jeder Ziffer 1, 2, ... 9 und 0 die ausgeschnittenen Bilder aus dem log-Verzeichnis "\log\digital_digit" schickst, dann kann ich die Ziffernerkennung damit trainieren. Ich brauche halt 3-4 Bilder von jeder Ziffer.

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      mcchickents
                                      schrieb am zuletzt editiert von
                                      #188

                                      Guten abend zusammen,

                                      das Blockly für die Auswertung läuft^^
                                      falls Interesse besteht einfach melden.

                                      d388943f-dd87-46c5-9fc6-50fd39944eb6-image.png

                                      J MikewolfM pfriedP 3 Antworten Letzte Antwort
                                      0
                                      • M mcchickents

                                        Guten abend zusammen,

                                        das Blockly für die Auswertung läuft^^
                                        falls Interesse besteht einfach melden.

                                        d388943f-dd87-46c5-9fc6-50fd39944eb6-image.png

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

                                        @mcchickents Ich könnte dir auch eine Version erstellen, die direkt nur eine Zahl zurück gibt - dann musst du den String nicht zerlegen. Würde das helfen?

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • J jomjol

                                          @mcchickents Ich könnte dir auch eine Version erstellen, die direkt nur eine Zahl zurück gibt - dann musst du den String nicht zerlegen. Würde das helfen?

                                          M Offline
                                          M Offline
                                          mcchickents
                                          schrieb am zuletzt editiert von
                                          #190

                                          @jomjol

                                          Hi ja kannst du wenn du mal Zeit hast machen, das zerlegen funktioniert bis jetzt aber ganz gut.
                                          Was mir echt sehr gut gefallen würde ist das die Zahlen auf Plausibilität geprüft werden. So wir wir das oben schonmal angefangen haben^^. Für mich wäre am besten er würde dann lieber die gleiche Zahl nochmal ausgeben. statt einen Wert der viel zu groß ist. (In 15 Sekunden können keine 100 Liter durlaufen^^.

                                          Gruß Julian

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          709

                                          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