Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Wasserzähler - Version 2 - all-in-device

NEWS

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

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

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

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

Scheduled Pinned Locked Moved Hardware
wasserzählerversion 2ai on the edgecnnwater meterwater gaugeesp32ov2640neuronale netzehausautomatisierung
3.4k Posts 238 Posters 2.0m Views 230 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J jomjol

    @worbis
    Bei den Reflexionen könnte auch ein schwarzer Kleber auf dem Glas helfen (siehe weiter oben in den Posts). Die Umstellung auf XGA müsste man 2 Dinge prüfen:

    1. Speicherplatz - Man muss zweimal das Bild (unkomprimiert) im Speicher ablegen.
    2. Hauptrechenlast ist das Finden der Referenzstrukturen. Das hängt vom Suchfeld ab (aktuell 20x20). Bei höherer Auflösung müsste man es für den gleichen Bereich entsprechend vergrößern und das geht massiv auf die Rechenlast (quadratisch).

    Am meisten freue ich mich über Likes, Weitersagen und Verbreitung des Projekts - je mehr Traffic in GitHub oder Thingiverse, desto besser 🙂 :-). Natürlich trinke ich auch Kaffee oder Bier - aber das ist virtuell etwas schwierig 😃

    Vielen Dank für dein tolles Feedback und beste Grüße,

    jomjol

    W Offline
    W Offline
    watcherkb
    wrote on last edited by
    #250

    hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.

    CC2538+CC2592 PA-Zigbee-Funkmodul

    pfriedP J 2 Replies Last reply
    0
    • W watcherkb

      hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.

      pfriedP Offline
      pfriedP Offline
      pfried
      wrote on last edited by
      #251

      @watcherkb Ich kann mich erinnern, dass jemand bereits das mit dem "ums Eck" schauen realisiert hat. @jomjol hat dann auch was in die SW eingebaut um die "Spiegelung" des Bildes wieder zu beseitigen.

      W 1 Reply Last reply
      0
      • HasontH Hasont

        @jomjol ,
        es war UsePreValue und seit dem alles bestens.
        Man kann ja beim ersten mal auch nicht alles richtig machen;-)
        Nächster Schritt wäre das in IOBrocker einzubinden. Ziel sollte es sein in der Urlaubsphase einen Wasserverbrauch außerhalb der Gießzeiten über Telegram zu melden und Notfalls den Haupthahn abzusperren. Hab ich mit China Kugelventil 1/2" schon
        in Richtung Garten gemacht.
        Wasser Umschalter.JPG.
        Wenn wir Zuhause sind wird über nen Umschalter das Gartenwasser fest zugeschaltet. Im Urlaub steuert der Raspi die Ventile und schaltet kurz vorher das Gartenwasser zu. Das 1.1/4" Kugelventil für die Hauptwasserleitung hab ich schon. In Verbindung mit deinem Wasserzähler macht mir das richtig Spass. Wenn jemand sowas schon gemacht hat dann wäre ich über ein entsprechendes Script ganz froh.
        LG
        Horst

        pfriedP Offline
        pfriedP Offline
        pfried
        wrote on last edited by
        #252

        @Hasont Was für ein Script brauchst Du? Wir haben in dem Vorgänger Thread einige Scripte erarbeitet.

        HasontH 2 Replies Last reply
        0
        • J jomjol

          Hallo zusammen,

          ich möchte in diesem Thread den Wasserzähler in der Version 2 vorstellen und diskutieren. In Version 1 waren 2 Komponeten notwendig (Hardware mit Kameraaufnahme, Docker-Server zur Auswertung). Das Zusammenspiel und die Konfiguration waren nicht immer ganz einfach.

          Daher habe ich eine Nachfolgegeneration entwickelt, bei der alles in einem all-included Device umgesetzt ist und es noch um eine Web-basierte graphische Oberfläche zur einfachen Konfiguration ergänzt.

          Das Grundprinzip basiert unverändert auf einem ESP32-Modul mit Kamera, welches regelmäßig ein Bild aufnimmt und durch Bilderkennung (Neuronale Netze, CNN) auswertet und den Zählerstand digitalisiert zur Verfügung stellt:
          29bcd786-9496-4509-9d83-53d2aa12f075-grafik.png
          5c454ff1-52e5-4a6e-8161-374ed3add53a-grafik.png

          Hier ein Eindruck der graphischen Benutzeroberfläche:

          aad50478-622e-4df1-9224-6370205904f4-grafik.png

          Die Hardware ist wieder auf Thingiverse veröffentlicht, die Software könnt ihr als Firmware oder zum selber kompilieren auf GitHub finden. Dort gibt es auch ein Wiki mit Installations- und Konfigurationsanleitung.

          • Hardware: https://www.thingiverse.com/thing:4573481

          • Software/Wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki

          Ich stehe hier gerne wieder für Feedback, Fragen oder einfach zur Hilfe zur Verfügung und freue mich, wenn dieser Thread genauso intensiv genutzt wird, wie bei der Version 1 (>1k Beiträge und >22k Aufrufe).

          Beste Grüße und viel Spass beim Nachbauen,

          Jomjol

          P.S.: die neue Software ist sehr flexibel aufgebaut und kann grundsätzlich auch Bildererkennung / Neuronale Netze für andere Zwecke eingesetzt werden. Wer eine gute Idee oder Anregung hat oder bei eine Modifikation Unterstützung braucht - bitte auch gerne einfach hier posten.

          W Offline
          W Offline
          worbis
          wrote on last edited by
          #253

          @jomjol einen Verbesserungsvorschlag um auch andere Sensoren gut ablesen zu können, wäre eine Option das jeder erkannter Wert (Ziffer oder Zeiger) in einer MQTT Nachricht verschickt wird. Entweder als eine Nachricht z.b. mit Strichpunkt getrennt oder als mehrere Nachrichten. Damit könnten auch Anzeigwerte erkannt werden wo die Berechnungslogik wie sie aktuell ist nicht gut funktioniert. Auch die Logik wie sich der Wert errechnet kann damit ausgelagert werden. Und am besten wäre es noch den confidence Wert aus dem Modell mitzuschicken. z.B.: Zahl 8, confidence 80%.

          1 Reply Last reply
          0
          • pfriedP pfried

            @watcherkb Ich kann mich erinnern, dass jemand bereits das mit dem "ums Eck" schauen realisiert hat. @jomjol hat dann auch was in die SW eingebaut um die "Spiegelung" des Bildes wieder zu beseitigen.

            W Offline
            W Offline
            watcherkb
            wrote on last edited by
            #254

            @pfried ja kann mich auch dran erinnern. Müsste im alten Thread gewesen sein.

            CC2538+CC2592 PA-Zigbee-Funkmodul

            1 Reply Last reply
            0
            • S Offline
              S Offline
              stan23
              wrote on last edited by
              #255

              Eine Sache ist mir noch aufgefallen:
              mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar die preValue, denn nach einem solchen Reboot werden die Digitalzahlen statt 569 als 509, 559 oder 599 erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.

              Wie kann ich hier unterstützen?
              Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
              Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?

              Version: master - v3.1.0 - 2020-10-26

              Viele Grüße
              Marco

              J 1 Reply Last reply
              0
              • W watcherkb

                hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.

                J Offline
                J Offline
                jomjol
                wrote on last edited by
                #256

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

                hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.

                Hi watchkerb,
                der Parameter zum Spiegeln des Kamerabildes lautet:

                [Alignment]
                InitalMirror = true
                

                Details siehe wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki/Configuration-Parameter-Details

                Gruß,
                jomjol

                1 Reply Last reply
                2
                • S stan23

                  Eine Sache ist mir noch aufgefallen:
                  mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar die preValue, denn nach einem solchen Reboot werden die Digitalzahlen statt 569 als 509, 559 oder 599 erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.

                  Wie kann ich hier unterstützen?
                  Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
                  Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?

                  Version: master - v3.1.0 - 2020-10-26

                  J Offline
                  J Offline
                  jomjol
                  wrote on last edited by
                  #257

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

                  Eine Sache ist mir noch aufgefallen:
                  mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar die preValue, denn nach einem solchen Reboot werden die Digitalzahlen statt 569 als 509, 559 oder 599 erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.

                  Wie kann ich hier unterstützen?
                  Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
                  Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?

                  Version: master - v3.1.0 - 2020-10-26

                  Das ist leider ein dauerhaftes Problem, welche teilweise auf die verwendeten Bildverarbeitungsbibliotheken zurück verfolgen kann.
                  Leider habe ich es nicht geschafft, einen Debugger an das ESP32-CAM Modul anzubinden, da aufgrund Kamera und SD-Card auch die Standart-Debugging Port belegt sind.

                  Wenn sich dort jeman auskennt, wäre das sehr hilfreich!

                  @stan23: eine Zwischenlösung, um bei Auftretten des Fehlers nicht in die von dir benannten Probleme zu laufen ist, den Parameter PreValueAgeStartup auf einen sehr großen Wert zu setzen. Denn der steuert, wieviele Minuten der PreValue gut ist.
                  Ein kurzer Wert führt in folgender Situationen zu dem benannten Problem: Da gerade ein ungültiger Wert "N" gelesen wird, wird der PreValue nicht aktualisiert. Wenn kein Wasser gebraucht wird (z.B. Nacht) kann dies auch mehrere Stunden andauern. Nun startet der ESP32 irgendwann zufällig neu und viola - er verwendet den PreValue nicht und kann die Zahlen auch nicht korrigieren. Empfehlung: Parameter auf mehrere Stunden einstellen.

                  H S 2 Replies Last reply
                  1
                  • J jomjol

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

                    Eine Sache ist mir noch aufgefallen:
                    mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar die preValue, denn nach einem solchen Reboot werden die Digitalzahlen statt 569 als 509, 559 oder 599 erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.

                    Wie kann ich hier unterstützen?
                    Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
                    Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?

                    Version: master - v3.1.0 - 2020-10-26

                    Das ist leider ein dauerhaftes Problem, welche teilweise auf die verwendeten Bildverarbeitungsbibliotheken zurück verfolgen kann.
                    Leider habe ich es nicht geschafft, einen Debugger an das ESP32-CAM Modul anzubinden, da aufgrund Kamera und SD-Card auch die Standart-Debugging Port belegt sind.

                    Wenn sich dort jeman auskennt, wäre das sehr hilfreich!

                    @stan23: eine Zwischenlösung, um bei Auftretten des Fehlers nicht in die von dir benannten Probleme zu laufen ist, den Parameter PreValueAgeStartup auf einen sehr großen Wert zu setzen. Denn der steuert, wieviele Minuten der PreValue gut ist.
                    Ein kurzer Wert führt in folgender Situationen zu dem benannten Problem: Da gerade ein ungültiger Wert "N" gelesen wird, wird der PreValue nicht aktualisiert. Wenn kein Wasser gebraucht wird (z.B. Nacht) kann dies auch mehrere Stunden andauern. Nun startet der ESP32 irgendwann zufällig neu und viola - er verwendet den PreValue nicht und kann die Zahlen auch nicht korrigieren. Empfehlung: Parameter auf mehrere Stunden einstellen.

                    H Offline
                    H Offline
                    hike
                    wrote on last edited by
                    #258

                    @jomjol

                    Hilfe gesucht: Problem beim Druck des Kameradeckels 3d_AI-on-the-edge_Cover.stl.

                    Hallo,
                    Ich habe mich zum ersten Mal an einem 3D-Druck versucht ( Cura 4.7 , Conrad Monoprice Mini V2, Velleman PLA)

                    Meine ersten Versuche habe ich mit dem Kameragehäuse gemacht.

                    Ich habe das Gehäuse (3b) und den Einsatz(3c) problemlos gedruckt bekommen.

                    Der Drucker scheitert aber immer am Deckel, weil die Software den Deckel auf 4 Beinchen stellt und die großen Zwischenräume nicht überbrückt werden konnten.
                    Gibt es eine Möglichkeit , den Deckel um 180° zu drehen und dann zu sclicen?

                    Gruß Hike

                    J 1 Reply Last reply
                    0
                    • H hike

                      @jomjol

                      Hilfe gesucht: Problem beim Druck des Kameradeckels 3d_AI-on-the-edge_Cover.stl.

                      Hallo,
                      Ich habe mich zum ersten Mal an einem 3D-Druck versucht ( Cura 4.7 , Conrad Monoprice Mini V2, Velleman PLA)

                      Meine ersten Versuche habe ich mit dem Kameragehäuse gemacht.

                      Ich habe das Gehäuse (3b) und den Einsatz(3c) problemlos gedruckt bekommen.

                      Der Drucker scheitert aber immer am Deckel, weil die Software den Deckel auf 4 Beinchen stellt und die großen Zwischenräume nicht überbrückt werden konnten.
                      Gibt es eine Möglichkeit , den Deckel um 180° zu drehen und dann zu sclicen?

                      Gruß Hike

                      J Offline
                      J Offline
                      jomjol
                      wrote on last edited by
                      #259

                      Hi @hike,

                      drehen in CURA ist kein Problem. Einfach das Objekt auswählen und auf der linken Seite das Tool zum Drehen wählen:

                      ed73800f-9e13-4806-babe-eabdc5cefb92-grafik.png

                      Gruß,
                      jomjol

                      H 1 Reply Last reply
                      1
                      • MichMeinM Online
                        MichMeinM Online
                        MichMein
                        wrote on last edited by MichMein
                        #260

                        Hallo @jomjol,

                        zu allererst mal alle Daumen hoch für Dein Superprojekt hier. Ich habe schon ein ganze Zeit mitgelesen und habe es dann diese Woche geschafft den ESP zu flashen und heute habe ich mir provisorisch ne Pappschachtel über den Wasserzähler gestülpt und den ESP im Gehäuse oben drauf geklebt. Nach ein wenig Justierung und drehen am Fokus klappt das sehr gut, Weltklasse! Nächste Woche werde ich mir mal Deine Adapterringe für die Wasseruhr drucken.

                        Ich habe versucht den MQTT Diesnt im Sonoff Adapter zu nutzen, das hat leider nicht geklappt da dieser scheinbar eine ganz bestimmt Art der Nachrichten erwartet. Mit dem MQTT Server Adapter hat es dann geklappt.

                        Hat jemand der anderen Nutzer es durch Einstellungen in der Config.ini geschafft das gute Stück in den Sonoff Adapter zu bekommen? Dadurch könnte ich mir den zusätzlichen Adapter sparen.

                        Fazit: SPITZENPROJEKT!

                        PS. als nächstes ist der Gaszähler am dran.

                        Schönes Wochenende noch, Gruß Michael

                        EDIT: kann ich irgendwie die Uhrzeit des ESP einstellen?

                        Gruß Michael
                        Sofern Beiträge hilfreich für Dich sind, nutze das Voting unten rechts.

                        J 1 Reply Last reply
                        0
                        • J jomjol

                          Hi @hike,

                          drehen in CURA ist kein Problem. Einfach das Objekt auswählen und auf der linken Seite das Tool zum Drehen wählen:

                          ed73800f-9e13-4806-babe-eabdc5cefb92-grafik.png

                          Gruß,
                          jomjol

                          H Offline
                          H Offline
                          hike
                          wrote on last edited by
                          #261

                          @jomjol Danke für den Tip, jetzt druckt er auch den Deckel.

                          Thema Gaszähler / Wasserzähler:

                          Die Rebootzs haben bei mir zwei unterscheidbare und reproduzierbare Ursachen.

                          1. Wenn ein Flow läuft, führt ein Aufruf der Startseite bei mir zum Reboot.
                          2. Nach etwa 43 Flows erfolgt ein Reboot.

                          zu 1: Ich habe die Ausgaben im Seriellen Monitor vom vielen Reboots im ESP-Exception-Decoder analysiert.
                          Es werden immer wieder andere Stellen im Code von FtLite angezeigt.
                          Für mich sieht das so aus, als wären die verwendten Routinen in den Bibliotheken nicht reentrant.
                          Ich habe deshalb die sysInfo weiter ausgebaut um mehr über den Status der Flows zu erfahren.
                          Wartet man bis der aktuelle Flow abgeschlossen ist, bleibt das System stabil. Die Startseite ruft zum Aufbau mehrfach den Webserver über verschiedene url's auf. Das scheint das RTOS-Beriebssystem zu überfordern, wenn gleichzeitig noch sehr rechen- und zeitintensive Prozesse zur Bildanalyse laufen.

                          zu 2: Der zweite Fehler sieht danach aus, dass Speicher ( möglicherweise in den Bibliotheken ) nicht richtig freigegeben wird und die Heaps damit immer kleiner werden bis es kracht. Ich hatte ein ähnliches Problem bei der Verwendung von fmt2jpg aus img_converters.h. Leider ist das Interface zu fmt2jpg schlecht kommentiert, man muss in den Code reinsehen um zu erkennen, das die Routine selber für die Auagabe Speicher alloziert die man anschließened selber freigeben muss.

                          Ich arbeite weiter daran.

                          Gruß Hike

                          J 1 Reply Last reply
                          1
                          • MichMeinM MichMein

                            Hallo @jomjol,

                            zu allererst mal alle Daumen hoch für Dein Superprojekt hier. Ich habe schon ein ganze Zeit mitgelesen und habe es dann diese Woche geschafft den ESP zu flashen und heute habe ich mir provisorisch ne Pappschachtel über den Wasserzähler gestülpt und den ESP im Gehäuse oben drauf geklebt. Nach ein wenig Justierung und drehen am Fokus klappt das sehr gut, Weltklasse! Nächste Woche werde ich mir mal Deine Adapterringe für die Wasseruhr drucken.

                            Ich habe versucht den MQTT Diesnt im Sonoff Adapter zu nutzen, das hat leider nicht geklappt da dieser scheinbar eine ganz bestimmt Art der Nachrichten erwartet. Mit dem MQTT Server Adapter hat es dann geklappt.

                            Hat jemand der anderen Nutzer es durch Einstellungen in der Config.ini geschafft das gute Stück in den Sonoff Adapter zu bekommen? Dadurch könnte ich mir den zusätzlichen Adapter sparen.

                            Fazit: SPITZENPROJEKT!

                            PS. als nächstes ist der Gaszähler am dran.

                            Schönes Wochenende noch, Gruß Michael

                            EDIT: kann ich irgendwie die Uhrzeit des ESP einstellen?

                            J Offline
                            J Offline
                            jomjol
                            wrote on last edited by
                            #262

                            Hallo @MichMein,

                            die Uhrzeit stellt sich immer bei einem Hard-Reboot ein. Sollte eigentlich auch bei einem Softreboot passieren - tut aber noch nicht :-).

                            Gruß,
                            jomjol

                            MichMeinM 1 Reply Last reply
                            0
                            • J jomjol

                              Hallo @MichMein,

                              die Uhrzeit stellt sich immer bei einem Hard-Reboot ein. Sollte eigentlich auch bei einem Softreboot passieren - tut aber noch nicht :-).

                              Gruß,
                              jomjol

                              MichMeinM Online
                              MichMeinM Online
                              MichMein
                              wrote on last edited by
                              #263

                              @jomjol hi, der ESP ist meiner Zeit 1 Stunde voraus, das hätte ich gerne geändert.

                              watermeter.png

                              Danke

                              Gruß Michael
                              Sofern Beiträge hilfreich für Dich sind, nutze das Voting unten rechts.

                              J 1 Reply Last reply
                              0
                              • H hike

                                @jomjol Danke für den Tip, jetzt druckt er auch den Deckel.

                                Thema Gaszähler / Wasserzähler:

                                Die Rebootzs haben bei mir zwei unterscheidbare und reproduzierbare Ursachen.

                                1. Wenn ein Flow läuft, führt ein Aufruf der Startseite bei mir zum Reboot.
                                2. Nach etwa 43 Flows erfolgt ein Reboot.

                                zu 1: Ich habe die Ausgaben im Seriellen Monitor vom vielen Reboots im ESP-Exception-Decoder analysiert.
                                Es werden immer wieder andere Stellen im Code von FtLite angezeigt.
                                Für mich sieht das so aus, als wären die verwendten Routinen in den Bibliotheken nicht reentrant.
                                Ich habe deshalb die sysInfo weiter ausgebaut um mehr über den Status der Flows zu erfahren.
                                Wartet man bis der aktuelle Flow abgeschlossen ist, bleibt das System stabil. Die Startseite ruft zum Aufbau mehrfach den Webserver über verschiedene url's auf. Das scheint das RTOS-Beriebssystem zu überfordern, wenn gleichzeitig noch sehr rechen- und zeitintensive Prozesse zur Bildanalyse laufen.

                                zu 2: Der zweite Fehler sieht danach aus, dass Speicher ( möglicherweise in den Bibliotheken ) nicht richtig freigegeben wird und die Heaps damit immer kleiner werden bis es kracht. Ich hatte ein ähnliches Problem bei der Verwendung von fmt2jpg aus img_converters.h. Leider ist das Interface zu fmt2jpg schlecht kommentiert, man muss in den Code reinsehen um zu erkennen, das die Routine selber für die Auagabe Speicher alloziert die man anschließened selber freigeben muss.

                                Ich arbeite weiter daran.

                                Gruß Hike

                                J Offline
                                J Offline
                                jomjol
                                wrote on last edited by
                                #264

                                Hi @hike,
                                an deinen Debugging Fähigkeiten wäre ich interessiert - vielleicht können wir uns dazu mal austauschen - Der Reboot ist die "letzte" große Baustelle, an der ich scheitere und die mit einigen Work-Arounds halbwegs erträglich halte. Ist aber immer nur eine Krücke.
                                Bin gespannt, was du rausfindest.
                                Gruß,
                                jomjol

                                H 1 Reply Last reply
                                1
                                • MichMeinM MichMein

                                  @jomjol hi, der ESP ist meiner Zeit 1 Stunde voraus, das hätte ich gerne geändert.

                                  watermeter.png

                                  Danke

                                  J Offline
                                  J Offline
                                  jomjol
                                  wrote on last edited by
                                  #265

                                  @MichMein Habe mir gerade den Quellcode angeschaut und den ersten Fehler gefunden. Bei einem Soft-Reboot wird der Time-Server nicht gesetzt und dann kann er natürlich auch die Zeit nicht synchronisieren. Bin gerade aber nicht zuhause und kann es daher nicht testen. Ich probiere es nächste Woche und melde mich. Wenn es daran liegt, könnte ich

                                  1. entweder Menüpunkt zur Synchroniserung oder
                                  2. einmal alle 24h einen Sync

                                  oder beides implementieren. Danke für den Hinweis.
                                  Gruß,
                                  jomjol

                                  MichMeinM 1 Reply Last reply
                                  1
                                  • J jomjol

                                    @MichMein Habe mir gerade den Quellcode angeschaut und den ersten Fehler gefunden. Bei einem Soft-Reboot wird der Time-Server nicht gesetzt und dann kann er natürlich auch die Zeit nicht synchronisieren. Bin gerade aber nicht zuhause und kann es daher nicht testen. Ich probiere es nächste Woche und melde mich. Wenn es daran liegt, könnte ich

                                    1. entweder Menüpunkt zur Synchroniserung oder
                                    2. einmal alle 24h einen Sync

                                    oder beides implementieren. Danke für den Hinweis.
                                    Gruß,
                                    jomjol

                                    MichMeinM Online
                                    MichMeinM Online
                                    MichMein
                                    wrote on last edited by
                                    #266

                                    @jomjol hi, ist letztendlich nichts schlimmes, mach Dir also keinen Stress. Im ioBroker DP wird die Zeit der ankommenden Daten über MQTT richtig geschrieben, mir war es in den Log nur aufgefallen.

                                    Wenn Du mal ganz viel Zeit und Lust hast wäre es ne tolle Sache wenn Du das MQTT Zeugs für den Sonoff-Adpater im ioBroker konform gestalten könntest.

                                    ... Bin gerade aber nicht zuhause und kann es daher nicht testen ...

                                    Noch darfst Du weg, ab Montag ist das erstmal wieder vorbei 😀

                                    Gruß Michael
                                    Sofern Beiträge hilfreich für Dich sind, nutze das Voting unten rechts.

                                    1 Reply Last reply
                                    0
                                    • J jomjol

                                      Hi @hike,
                                      an deinen Debugging Fähigkeiten wäre ich interessiert - vielleicht können wir uns dazu mal austauschen - Der Reboot ist die "letzte" große Baustelle, an der ich scheitere und die mit einigen Work-Arounds halbwegs erträglich halte. Ist aber immer nur eine Krücke.
                                      Bin gespannt, was du rausfindest.
                                      Gruß,
                                      jomjol

                                      H Offline
                                      H Offline
                                      hike
                                      wrote on last edited by
                                      #267

                                      @jomjol

                                      Hallo
                                      Ich habe die Rolling Version vom 25.9.2020 als Ausgangspunkt genommen und diverse Änderungen im Code vorgenommen. Leider habe ich nur sehr,sehr rudimentäre Erfahrungen mit collaborativen Arbeiten mit GIT.
                                      In den neueren Code habe ich noch nicht reingesehen.

                                      Da ich den Wasserzähler leider nicht stabil bekommen habe, habe ich mich an meinem Gaszähler versucht.
                                      Da werden doch häufiger Ziffern richtig erkannt.

                                      Um die Beleuchtung regulieren zu können, habe ich ledc_timer verwendet. da muss man wegen der Verwendung einiger Timer durch die Kamera aufpassen. Ich verwende LEDC_Timer_2 und LED_Channel_7.
                                      Die SD-Card habe ich auf slot_config.width = 1 eingestellt, damit wird GPIO04 frei.

                                      Alle Versuche, den zweiten I2C-Bus zu nutzen ( z.B. für ein OLED-Display) sind gescheitert

                                      Ich habe viele Logging- Funktionen auf ESP_LOGI(TAG," "); umgestellt
                                      Die Logfilegröße habe ich beschränkt und lege die alten Log_files in einem separaten Verzeichnis ab.

                                      Du verwendest stb_xx.h files . Gibt es dazu eine API-Dokumentation?
                                      Wo werden Funktionen verwendet, die in Referenzparametern Ergebnisse zurückliefern,
                                      Bekommen die beim Aufruf einen Ergebnisspeicherblock mitgeliefert oder allozieren die selber Speicher.
                                      Du verwendest an verschiedenen Stelllen user_ctx->scratch, da steht meistens nur ein Namesstring drin, ich habe aber irgendwo auch einmal ein Malloc gesehen, finde das aber nicht mehr

                                      Gruß Hike

                                      J 1 Reply Last reply
                                      1
                                      • H hike

                                        @jomjol

                                        Hallo
                                        Ich habe die Rolling Version vom 25.9.2020 als Ausgangspunkt genommen und diverse Änderungen im Code vorgenommen. Leider habe ich nur sehr,sehr rudimentäre Erfahrungen mit collaborativen Arbeiten mit GIT.
                                        In den neueren Code habe ich noch nicht reingesehen.

                                        Da ich den Wasserzähler leider nicht stabil bekommen habe, habe ich mich an meinem Gaszähler versucht.
                                        Da werden doch häufiger Ziffern richtig erkannt.

                                        Um die Beleuchtung regulieren zu können, habe ich ledc_timer verwendet. da muss man wegen der Verwendung einiger Timer durch die Kamera aufpassen. Ich verwende LEDC_Timer_2 und LED_Channel_7.
                                        Die SD-Card habe ich auf slot_config.width = 1 eingestellt, damit wird GPIO04 frei.

                                        Alle Versuche, den zweiten I2C-Bus zu nutzen ( z.B. für ein OLED-Display) sind gescheitert

                                        Ich habe viele Logging- Funktionen auf ESP_LOGI(TAG," "); umgestellt
                                        Die Logfilegröße habe ich beschränkt und lege die alten Log_files in einem separaten Verzeichnis ab.

                                        Du verwendest stb_xx.h files . Gibt es dazu eine API-Dokumentation?
                                        Wo werden Funktionen verwendet, die in Referenzparametern Ergebnisse zurückliefern,
                                        Bekommen die beim Aufruf einen Ergebnisspeicherblock mitgeliefert oder allozieren die selber Speicher.
                                        Du verwendest an verschiedenen Stelllen user_ctx->scratch, da steht meistens nur ein Namesstring drin, ich habe aber irgendwo auch einmal ein Malloc gesehen, finde das aber nicht mehr

                                        Gruß Hike

                                        J Offline
                                        J Offline
                                        jomjol
                                        wrote on last edited by
                                        #268

                                        Hallo @hike,

                                        die Diskussion zu den Programmierdetails könnte etwas ausführlicher werden und nur wenige im ioBroker Forum werden die Details verfolgen wollen. Daher schlage ich vor, diese in einem Issue in GitHub zu führen:

                                        https://github.com/jomjol/AI-on-the-edge-device/issues/39

                                        Meine Antwort zu deinen Fragen findest du dort. Ich hoffe, das passt für dich!

                                        Gruß,
                                        jomjol

                                        1 Reply Last reply
                                        1
                                        • J jomjol

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

                                          Eine Sache ist mir noch aufgefallen:
                                          mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar die preValue, denn nach einem solchen Reboot werden die Digitalzahlen statt 569 als 509, 559 oder 599 erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.

                                          Wie kann ich hier unterstützen?
                                          Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
                                          Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?

                                          Version: master - v3.1.0 - 2020-10-26

                                          Das ist leider ein dauerhaftes Problem, welche teilweise auf die verwendeten Bildverarbeitungsbibliotheken zurück verfolgen kann.
                                          Leider habe ich es nicht geschafft, einen Debugger an das ESP32-CAM Modul anzubinden, da aufgrund Kamera und SD-Card auch die Standart-Debugging Port belegt sind.

                                          Wenn sich dort jeman auskennt, wäre das sehr hilfreich!

                                          @stan23: eine Zwischenlösung, um bei Auftretten des Fehlers nicht in die von dir benannten Probleme zu laufen ist, den Parameter PreValueAgeStartup auf einen sehr großen Wert zu setzen. Denn der steuert, wieviele Minuten der PreValue gut ist.
                                          Ein kurzer Wert führt in folgender Situationen zu dem benannten Problem: Da gerade ein ungültiger Wert "N" gelesen wird, wird der PreValue nicht aktualisiert. Wenn kein Wasser gebraucht wird (z.B. Nacht) kann dies auch mehrere Stunden andauern. Nun startet der ESP32 irgendwann zufällig neu und viola - er verwendet den PreValue nicht und kann die Zahlen auch nicht korrigieren. Empfehlung: Parameter auf mehrere Stunden einstellen.

                                          S Offline
                                          S Offline
                                          stan23
                                          wrote on last edited by
                                          #269

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

                                          @stan23: eine Zwischenlösung, um bei Auftreten des Fehlers nicht in die von dir benannten Probleme zu laufen ist, den Parameter PreValueAgeStartup auf einen sehr großen Wert zu setzen. Denn der steuert, wie viele Minuten der PreValue gut ist.

                                          Danke, das probiere ist momentan.

                                          In der Zwischenzeit habe ich mich um meinen Gaszähler gekümmert. Leider habe ich bei der ersten Gehäuseversion nicht berücksichtigt dass die erste Nachkommastelle hinter dem dicken roten Rahmen versteckt ist, 3 und 8 sind nicht zu unterscheiden.
                                          Also werde ich das Teil nochmal anpassen und neu drucken müssen.
                                          bab73244-47b4-4b70-a367-0cb522006287-grafik.png

                                          Viele Grüße
                                          Marco

                                          HasontH 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          611

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe