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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Wasserzähler - Version 2 - all-in-device

    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      Zwer2k @jomjol last edited by

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

      Grundsätzlich schon. Die GPIOs sind eigentlich schon durch als Ausgabe-PINs für einen anderen Feature Request belegt - also schon ein Interessenkonflikt.

      Du meinst vermutlich die Anfrage um Externe Flash-LED ansprechen zu können.

      Welche GPIOs könnten überhaupt für andere Zwecke verwendet werden?
      So wie ich es sehe sind die meisten für die SD-Karte verwendet.
      GPIO16 sollte als einziger ohne Einschränkungen nutzbar sein.
      Serielle Schnittstelle wird ja fast nie benutzt, somit können doch GPIO1 und 3 für andere Zwecke verwendet werden.
      GPIO 0 könnte bei richtiger Beschaltung auch verwendet werden, ist halt wichtig das hier beim Booten HI anliegt.
      In FeatureRequest.md steht was davon, dass GPIO 12 und 13 verfügbar sind. Werden die nicht auch von der SD-Karte mitbenutzt?

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

        @zwer2k Verfügbar sind GPIO 12 und 13, jedoch jetzt schon per http steuerbar für eine Spezialanwendung. Die Serielle Schnittstelle wird zwar im Betrieb nicht genutzt, ich benötige sie aber sehr intensiv für die Entwicklung und das Debugging. Daher müsste deine Implementierung sehr einfach deaktivierbar sein.
        Mit GPIO0 habe ich bisher keine guten Erfahrungen gemacht. Es schein irgendwie auch noch mit der SD-Karte verknüpft zu sein.

        Z 1 Reply Last reply Reply Quote 0
        • Rupert S.
          Rupert S. last edited by Rupert S.

          Hallo,

          mein verlängertes Wochenende habe ich damit verbracht, ESP-Boards, Kameras und SD-Karten hin und her zu tauschen. Meine Erkenntnis: Auch mit einem externen 10k-Widerstand von IO0 nach +5V gerät ein Board in den Download-Modus -- vielleicht ist es doch einfach nur defekt...
          Von den beiden SD-Karten ist jetzt die andere im Einsatz. Mal schau'n.

          Bin nun auf Version master - v7.1.1 - 2020-05-30.
          Was mir beim vielen Konfigurieren aufgefallen ist: In der config.ini steht (via Fileserver)

          [System]
          TimeZone = CET-1CEST,M3.5.0,M10.5.0/3
          

          Die Website /index_configure.html zeigt aber nur "Timezone: CET-1CEST". Das wird beim Speichern (Update Config.ini) dann auch übernommen, so dass die Erweiterung mit den Schalttagen verloren geht.

          Ist es richtig, dass der ESP intern mit Zulu-Time rechnet? Ich hatte mich gewundert, dass beim Auslesen der SD-Karte (mit dem Desktop) die config.ini einen Zeitstempel in der Zukunft hatte.

          So ganz stabil und mit zuverlässigen Ergebnissen läuft's bei mir immer noch nicht. Wenn ich daher "meine 5 Ct" für Verbesserungen einbringen darf: Zum Debuggen fände ich weitere MQTT-Kanäle sehr hilfreich. Z.B. einen für den RAW-Value (inkl. der N für nicht erkannte Ziffern) und einen für corrected oder checked value -- welcher auch immer vom "Topic" abweichen kann. Ich hätte es ja fast selbst in einen fork eingebaut, aber die Komplexität überfordert mich dann doch. Und: Den Error-Kanal sollte man m.E. nur befeuern, wenn tatsächlich ein Fehler vorliegt. Die kontinuierlichen "no error" oder früher " " finde ich nicht optimal...

          Viele Grüße, Rupert

          Rupert S. 1 Reply Last reply Reply Quote 0
          • Rupert S.
            Rupert S. @Rupert S. last edited by

            @rupert-s said in Wasserzähler - Version 2 - all-in-device:

            Von den beiden SD-Karten ist jetzt die andere im Einsatz. Mal schau'n.

            Nein, kein Erfolg: in <90 min 2x Dauerlicht. Es kommen dann auch keine Daten mehr. Der Webserver antwortet zwar noch, z.B. auf /capture_with_flashlight, aber das reaktiviert die Bilderkennung auch nicht. Immerhin funktioniert ein /reboot aus der Ferne...

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

              Ich habe in den letzten Tagen auch meine ersten Gehversuche mit dem AI-on-the-edge Wasserzähler-Leser gemacht. Nach diversen Fehlversuchen (zwischendrin hat der esp32-cam alle 20 Sekunden gebootet, weil ich wohl irgendwas in der config.ini hatte, was ihm nicht gefallen hat) und einem regelmäßig bei der Configuration verschwindenen config.ini (inzwischen habe ich immer ein Backup zur Hand, das ich zur Not wieder hochladen kann), sieht jetzt eigentlich alles ganz gut aus, außer dass die digits nicht zuverlässig erkannt werden:
              2021-06-06_18-25-32.png
              Manchmal erkennt er die 8 als 8, meistens allerdings als 0. Und die Einerstelle des Zählerstandes (zwischen 6 und 7, sollte also 6 oder zur Not "N" sein), wird inzwischen auch als 0 erkannt 😞
              Was kann ich dagegen tun?
              Ich habe schon so lange am Rohr gedreht, dass ich jetzt genau bei 90° liege und keine zusätzlichen Artefakte durch die Rotation des Bildes dazu kommen, aber das löst das Problem leider auch nicht.
              Gibt es vielleicht irgendwo eine andere Datenbank für weiße Zahlen auf schwarzem Grund?
              Oder kann ich die selber anlernen?

              Gruß
              Roland

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

                @jomjol Wie ist der Ablauf bei der Erkennung?
                Es wird ein Bild erstellt
                Gemäß den Vorgaben gedreht
                Jede Markierung analysiert?

                Ich habe immer wieder dieses Phänomen. Als würde die Erkennung bereits starten obwohl das Bild noch nicht korrekt gedreht ist

                Negative Rate - Returned old value - read value: 111.711 - raw value: N0N11.NN1 - checked value: 111.710999
                

                e1112d3c-8648-4253-8a4d-7afce8324eb3-image.png
                3aba4fb8-e01d-4880-a612-ffdf49d213bc-image.png

                Log Eintrag
                Durch das scheinbar nicht fertige Drehen sind dann leider auch Falscherkennungen vorhanden.
                Ist von 162.791 auf 162.885 gesprungen obwohl eigentlich 162.805
                Die errechnete Flow Rate wäre aber auch nicht korrekt oder habe ich da einen Denkfehler?
                Wäre doch 0.094 und nicht 0.018799

                Vermutlich habe ich jedoch etwas falsch eingestellt. Werde auf alle Fälle noch abkleben wie weiter oben empfohlen


                2021-06-07T10:24:41: task_autodoFlow - round done
                2021-06-07T10:24:41: CPU Temperature: 56.1
                2021-06-07T10:28:29: task_autodoFlow - next round - Round #2
                2021-06-07T10:28:29: FlowControll.doFlow - ClassFlowMakeImage
                2021-06-07T10:28:38: FlowControll.doFlow - ClassFlowAlignment
                2021-06-07T10:29:34: FlowControll.doFlow - ClassFlowDigit
                2021-06-07T10:29:40: FlowControll.doFlow - ClassFlowPostProcessing
                2021-06-07T10:29:40: FlowControll.doFlow - ClassFlowMQTT
                2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=29954, MULTICAL21/Zählerstand, 162.791
                2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=25632, MULTICAL21/error, no error
                2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=46787, MULTICAL21/rate, 0.000000
                2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=5091, MULTICAL21/timestamp, 2021-06-07T10:28:38
                2021-06-07T10:29:41: task_autodoFlow - round done
                2021-06-07T10:29:41: CPU Temperature: 55.0
                2021-06-07T10:33:29: task_autodoFlow - next round - Round #3
                2021-06-07T10:33:30: FlowControll.doFlow - ClassFlowMakeImage
                2021-06-07T10:33:38: FlowControll.doFlow - ClassFlowAlignment
                2021-06-07T10:34:35: FlowControll.doFlow - ClassFlowDigit
                2021-06-07T10:34:40: FlowControll.doFlow - ClassFlowPostProcessing
                2021-06-07T10:34:40: FlowControll.doFlow - ClassFlowMQTT
                2021-06-07T10:34:40: sent publish successful in MQTTPublish, msg_id=23117, MULTICAL21/Zählerstand, 162.885
                2021-06-07T10:34:40: sent publish successful in MQTTPublish, msg_id=1050, MULTICAL21/error, no error
                2021-06-07T10:34:41: sent publish successful in MQTTPublish, msg_id=47338, MULTICAL21/rate, 0.018799
                2021-06-07T10:34:41: sent publish successful in MQTTPublish, msg_id=5971, MULTICAL21/timestamp, 2021-06-07T10:33:38
                2021-06-07T10:34:41: task_autodoFlow - round done
                2021-06-07T10:34:41: CPU Temperature: 53.9
                2021-06-07T10:38:30: task_autodoFlow - next round - Round #4
                2021-06-07T10:38:30: FlowControll.doFlow - ClassFlowMakeImage
                2021-06-07T10:38:38: FlowControll.doFlow - ClassFlowAlignment
                2021-06-07T10:39:34: FlowControll.doFlow - ClassFlowDigit
                2021-06-07T10:39:40: FlowControll.doFlow - ClassFlowPostProcessing
                2021-06-07T10:39:40: FlowControll.doFlow - ClassFlowMQTT
                2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=63797, MULTICAL21/Zählerstand, 162.885
                2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=4306, MULTICAL21/error, Rate too high - Returned old value - read value: 10112.885 - checked value: 10112.885
                2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=8474, MULTICAL21/rate, 0.000000
                2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=59232, MULTICAL21/timestamp, 2021-06-07T10:33:38
                2021-06-07T10:39:40: task_autodoFlow - round done

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

                  @tbsjah
                  Normaler Ablauf:

                  1. Bildaufnehmen
                  2. Alignment (Analyse der beiden Referenzmarken)
                  3. Analyse der Zahlen
                  4. Analyse der Zeiger
                  5. Zusammensetzen, Konsistenzprüfung, Verschicken

                  Es mindestens drei Ursachen, warum das Bild komisch aussehen kann:
                  a) Zwischen Bildaufnahme und Alignment, wird das Zwischenbild angezeigt, da nicht genug RAM vorhanden ist, um das alte Bild weiter vorzuhalten, bis die neue Analyse vollständig ist.
                  Dann sollten aber keine falsch erkannten Ziffern erkannt werden, da die alten noch angezeigt werden

                  b) Etwas mit der Kameraaufnahme ging schief, dann wird manchmal noch das alte Bild ververarbeitet und z.B. nochmal gedreht --> führt zu völlig falschen Werten

                  c) Alignmentmarken nicht richtig gefunden --> Versatz um bis zu 40 Pixel und entsprechen unpassende Erkennung.

                  Ich tippe bei deinem Bild auf c), da der Kontrast der Referenzmarken sehr schwach aussieht. Kannst du andere Marken wählen oder vielleicht etwas Dunkles aufkleben, und das als Marke verwenden?

                  Gruß,
                  jomjol

                  b) Alignmentmarken nicht gefunden

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

                    @jomjol Danke für die Erklärung 🙂

                    34f9a6f9-aa72-40e2-a71a-8c49145bde58-image.png

                    Sieht jetzt soweit gut aus

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

                      @tbsjah Ich glaube Du könntest noch was verbessern, wenn Du zwischen die beiden weißen Quadrate noch einen schwarzen Filz, oder Stoffstücken aufklebst.

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

                        Was auch relativ gut geht, ich hab den ESP in ein Stück Kabelkanal gesetzt, nur die Linse schaut durch ein kleines Loch raus. Der Blitz wird durch das weiße Kunststoff ein bissel abgeschwächt (leuchtet aber gut durch), was zu deutlich weniger Reflektionen führt.

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

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

                          @jomjol Danke für die Erklärung 🙂

                          34f9a6f9-aa72-40e2-a71a-8c49145bde58-image.png

                          Sieht jetzt soweit gut aus

                          Klingt gut, noch ein kleiner Tip zu deinen ROIs. Du kannst sie ruhig ein bisschen größer wählen. Es ist nicht schlimm, wenn sich die ROIs leicht überlappen. Insbesondere deine "1" ist ziemlich an der Kante und das könnte zu Problemen führen.

                          1 Reply Last reply Reply Quote 1
                          • W
                            wingfighter last edited by wingfighter

                            Hallo jomjol,

                            ich habe das Projekt seit drei Wochen aktiv und nutze die Werte, die per MQTT übertragen werden.
                            Leider ist der Rate-Topic immer 0.000000.
                            Gibt es eine Einstellung, die ich vergessen haben könnte? Oder ist die Berechnung der Rate noch nicht aktiv?

                            Viele Grüße
                            wingfighter

                            Nachtrag: Nun hatte ich mich entschlossen, mal nachzufragen, da steht heute eine Rate drin. OK. Zurzeit läuft die Beregnung, da führt der konstante Wasserverbrauch zu mehr Messwerten und eben auch einer Rate.

                            Bedeutet 0.000000 = 1 m³ und ist die ganz rechte Stelle demnach 1ml?

                            W J 2 Replies Last reply Reply Quote 0
                            • W
                              WernerS @wingfighter last edited by

                              @jomjol

                              Hallo

                              ich habe bei meinem Stromzähler jetzt ein update von 4.1.0 auf 7.1.1 master gemacht. Jetzt erkennt er allerdings fast nichts mehr. Da sind jetzt auch 2 Rechtecke bei den Digits zu einstellen zu sehen. Was muss ich ändern?

                              Gruß
                              Werner

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

                                @werners Hallo Werner,
                                hast du auch die tflite übernommen oder bei der alten belassen? Nur diese allein beeinflußt eigentlich die Erkennung. Ansonsten müsstes du mal ein Logfile und insbesondere ein Bild von der Oberfläche posten. Bei mir hatte der Wechsel ohne Probleme funktioniert.

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

                                  @wingfighter Das mit der Rate ist etwas komisch. Verwendest du die neueste Version, vorher war da noch ein Bug drin.

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

                                    @jomjol

                                    Hallo

                                    ich habe dann alles komplett dann neu aufgepielt und die SD karte vorher gelöscht. Hat auch nichts gebracht. Welche Bilder brauchst du genau? Welche die man speichern kann?

                                    Gruß
                                    Werner

                                    J 1 Reply Last reply Reply Quote 0
                                    • Rupert S.
                                      Rupert S. last edited by

                                      Hallo @jomjol,
                                      ich weiß, es steht mir nicht zu, an einem Projekt rumzumäkeln, an dem ich mich nicht beteiligt habe und für das ich keinen Cent bezahle. Aber ich will meine Erfahrungen der letzten Tage teilen.
                                      Am 5.6. habe ich den Wasserzähler wieder in Betrieb genommen (V 7.1.1). Schon nach kurzer Zeit blieb die Blitzlampe mal wieder auf Dauerlicht und alle MQTT-Meldungen blieben aus. Der Webserver antwortete aber noch. Das brachte mich auf die Idee, das Eintreffen von MQTT-Nachrichten zu überwachen und bei Ausbleiben derselben einen Reboot zu senden. Das ließ sich mit meiner OpenHAB-Installation problemlos einrichten.
                                      Der Wasserzähler sollte alle 5 min den Zählerstand senden. Kam nach etwas über 10 min immer noch nichts, löste das den Reboot(-versuch) aus. Der Reboot war meist nach ca. 30 min nötig, klappte meistens aber nicht immer. Alle "Hänger", die ich beobachten konnte, waren mit Dauerlicht verbunden. Daher vermute ich dort zumindest ein essentielles Problem.
                                      Parallel zur Überwachung und Reboot wollte ich regelmäßig die Fotos haben. Um die SD-Karte zu schonen, richtete ich einen cronjob ein mit

                                      curl -s http://watermeter/capture_with_flashlight > ...
                                      

                                      Der hat aber nur ganz selten ein brauchbares Bild liefern können.
                                      Es besteht ja durchaus der Verdacht, dass die Hardware defekt ist. Zum Vergleich habe ich das Projekt https://github.com/easytarget/esp32-cam-webserver aufgespielt: Es liefert stabil saubere Bilder. 48h Stunden am Stück habe ich ebenfalls mittels curl alle 20 min ein Foto geholt. Bei diesem Projekt lässt sich übrigens die Blitzlampe dimmen -- ein hier gleichfalls gut brauchbares Feature...

                                      Wie gesagt, ich fühle mich nicht berechtigt hier rumzumäkeln: Dieses Projekt hat eine Komplexität, die meine Fähigkeiten weit übersteigt, so dass ich mich kaum einbringen kann. Aber schick' wär's halt schon, wenn's stabil liefe 🙂
                                      Viele Grüße, Rupert

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        jomjol @Rupert S. last edited by

                                        @rupert-s Hallo Rupert,
                                        vielen Dank für die detailierte Beschreibung des Fehlers. Ich kenne dieses Phänomen teilweise, da ich auch zwei ESP32-CAM betreibe. Eine läuft sehr stabil, eine zweite hängt sich auch immer wieder auf. Beide laufen auf demselben Softwarestand, so dass ich einen Hardwareunterschied als Ursache annehme, den ich aber nicht finden kann. Auffällig ist, dass die Kamera eine unterschiedliche Beschriftung auf dem Flexband haben.
                                        Mein stabiler ESP32 läuft seit über 300 Runden ohne Reboot:

                                        2021-06-15T21:36:11: sent publish successful in MQTTPublish, msg_id=42529, wasserzaehler/timestamp, 2021-06-15T21:35:42
                                        2021-06-15T21:36:11: task_autodoFlow - round done
                                        2021-06-15T21:36:11: CPU Temperature: 67.2
                                        2021-06-15T21:40:29: task_autodoFlow - next round - Round #323
                                        2021-06-15T21:40:29: 	FlowControll.doFlow - ClassFlowMakeImage
                                        

                                        Ab Version 7.1.x ist mir aufgefallen, dass die Firmware auf http-Zugriffe deutlich "empfindlicher" reagiert, sprich mit häufigerem Reboot. Wenn du mit "curl" dauerhaft die Bilder abrufst, dann könnte das eventuell die Ursache sein. Kannst du mal prüfen, ob es ohne "curl" besser läuft?
                                        Ggf. macht dann die Verwendung einer vorherigen Version bei dir auch Sinn.
                                        Beste Grüße,
                                        jomjol

                                        Rupert S. 2 Replies Last reply Reply Quote 0
                                        • J
                                          jomjol @WernerS last edited by

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

                                          @jomjol

                                          Hallo

                                          ich habe dann alles komplett dann neu aufgepielt und die SD karte vorher gelöscht. Hat auch nichts gebracht. Welche Bilder brauchst du genau? Welche die man speichern kann?

                                          Gruß
                                          Werner

                                          Logfile und mal ein Bild vom Alignment für den Anfang. Vielleicht können wir auch sonst mal telefonieren. Schick mir ggf. eine PM mit deiner Mail, dann können wir versuchen so in Kontakt zu kommen.

                                          W 1 Reply Last reply Reply Quote 0
                                          • Rupert S.
                                            Rupert S. @jomjol last edited by

                                            @jomjol said in Wasserzähler - Version 2 - all-in-device:

                                            Kannst du mal prüfen, ob es ohne "curl" besser läuft?

                                            Curl sollte 1x pro Stunde das Bild liefern. Zwischendurch habe ich den Job für >2 Tage deaktiviert: Kein Unterschied.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            591
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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