Skip to content
  • 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
  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.1k

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

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

Wasserzähler - Selfmade

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

    @el_kassi sagte in Wasserzähler - Selfmade:

    out.zip
    Neuer Schnitt und mehr Ziffern

    Danke für den Input - ist verarbeitet und hochgeladen:

    TfLite v6.2.0: https://github.com/jomjol/neural-network-digital-counter-readout
    wasserzaehler - rolling v7.5.0: https://github.com/jomjol/water-meter-system-complete/tree/rolling

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

    Hallo zusammen,

    es ist schon länger etwas ruhiger hier im Thread. Hoffentlich bedeutet es, dass eure Zähler gut laufen 🙂

    Ich habe in der letzten Zeit an einer neues Version gearbeitet und möchte einen ersten Zwischenstand geben. Es ist mir gelungen, alle Prozesse, also auch die CNN-Image Recognition direkt auf dem ESP32 laufen zu lassen. Damit ist bald hoffentlich kein Docker-Container mehr nötig. Einige Punkte von euren Rückmeldungen habe ich auch schon berücksichtigt.

    z.B. die längere Laufzeit der Auswertung wird durch eine periodische automatische Erkennung gelöst, so dass ich bei Abfrage des Wertes eine schnelle aktuelle Antwort bekomme.

    Damit der Übergang möglichst einfach wird und auch, damit ich die Performance testen kann, habe ich auch die bisherige Funktion des ESP32-CAM als Bildlieferant beibehalten und man kann sowohl den Dockercontainer (Abfrage über /capture_with_flashlight), wie auch das komplette System auf dem ESP32 parallel laufen lassen ohne gegenseitge Beeinflussung.
    Ich hänge noch ziemlich in der Dokumentation und den Source-Code sollte ich auch noch etwas aufräumen, bevor ich ihn ins GitHub hochlade. Das ist mein Projekt für die kommenden Sommerferien 🙂

    Ich poste hier schon mal einen Link zum neuen Repository: https://github.com/jomjol/AI-on-the-edge-device

    Ist noch sehr leer, füllt sich aber bald hoffentlich kontinuierlich. Ich suche noch ein oder zwei Early-Adopter, die meine sehr frühen Versionen vorab testen. Ist aber noch ein früher Stand. Wer will, kann sich gerne per Chat bei mir melden.

    Beste Grüße,
    jomjol

    G pfriedP 2 Antworten Letzte Antwort
    1
    • J jomjol

      Hallo zusammen,

      es ist schon länger etwas ruhiger hier im Thread. Hoffentlich bedeutet es, dass eure Zähler gut laufen 🙂

      Ich habe in der letzten Zeit an einer neues Version gearbeitet und möchte einen ersten Zwischenstand geben. Es ist mir gelungen, alle Prozesse, also auch die CNN-Image Recognition direkt auf dem ESP32 laufen zu lassen. Damit ist bald hoffentlich kein Docker-Container mehr nötig. Einige Punkte von euren Rückmeldungen habe ich auch schon berücksichtigt.

      z.B. die längere Laufzeit der Auswertung wird durch eine periodische automatische Erkennung gelöst, so dass ich bei Abfrage des Wertes eine schnelle aktuelle Antwort bekomme.

      Damit der Übergang möglichst einfach wird und auch, damit ich die Performance testen kann, habe ich auch die bisherige Funktion des ESP32-CAM als Bildlieferant beibehalten und man kann sowohl den Dockercontainer (Abfrage über /capture_with_flashlight), wie auch das komplette System auf dem ESP32 parallel laufen lassen ohne gegenseitge Beeinflussung.
      Ich hänge noch ziemlich in der Dokumentation und den Source-Code sollte ich auch noch etwas aufräumen, bevor ich ihn ins GitHub hochlade. Das ist mein Projekt für die kommenden Sommerferien 🙂

      Ich poste hier schon mal einen Link zum neuen Repository: https://github.com/jomjol/AI-on-the-edge-device

      Ist noch sehr leer, füllt sich aber bald hoffentlich kontinuierlich. Ich suche noch ein oder zwei Early-Adopter, die meine sehr frühen Versionen vorab testen. Ist aber noch ein früher Stand. Wer will, kann sich gerne per Chat bei mir melden.

      Beste Grüße,
      jomjol

      G Offline
      G Offline
      gerald123
      schrieb am zuletzt editiert von
      #1009

      @jomjol Hallo jomjol,
      Das ist gut zu hören das in Zukunft alles nur noch am ESP32 läuft und direkt vom IoBroker abgefragt werden kann.
      Leider wurde bei mir jetzt ein neuer Wasserzähler eingebaut Type Diehl.
      Gibt es dazu schon eine Möglichkeit das ich ihn auch auslesen kann.20200712_194128.jpg
      20200712_194049.jpg
      Sg. Gerald

      Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

      J 1 Antwort Letzte Antwort
      0
      • G gerald123

        @jomjol Hallo jomjol,
        Das ist gut zu hören das in Zukunft alles nur noch am ESP32 läuft und direkt vom IoBroker abgefragt werden kann.
        Leider wurde bei mir jetzt ein neuer Wasserzähler eingebaut Type Diehl.
        Gibt es dazu schon eine Möglichkeit das ich ihn auch auslesen kann.20200712_194128.jpg
        20200712_194049.jpg
        Sg. Gerald

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

        @gerald123 Hallo Gerald,
        das sollte funktionieren. Inzwischen sind auch erste Ziffern mit weißer Schrift auf schwarzem bzw. rotem Hintergrund geteached. Einzig für das Komma brauchst du noch einen Trick auf der Serverseite. Das kann ich aber auch parametrisierbar gestalten, du bist nicht der erste, der danach fragen.

        Gruß,
        jomjol

        G M 2 Antworten Letzte Antwort
        0
        • J jomjol

          Hallo zusammen,

          es ist schon länger etwas ruhiger hier im Thread. Hoffentlich bedeutet es, dass eure Zähler gut laufen 🙂

          Ich habe in der letzten Zeit an einer neues Version gearbeitet und möchte einen ersten Zwischenstand geben. Es ist mir gelungen, alle Prozesse, also auch die CNN-Image Recognition direkt auf dem ESP32 laufen zu lassen. Damit ist bald hoffentlich kein Docker-Container mehr nötig. Einige Punkte von euren Rückmeldungen habe ich auch schon berücksichtigt.

          z.B. die längere Laufzeit der Auswertung wird durch eine periodische automatische Erkennung gelöst, so dass ich bei Abfrage des Wertes eine schnelle aktuelle Antwort bekomme.

          Damit der Übergang möglichst einfach wird und auch, damit ich die Performance testen kann, habe ich auch die bisherige Funktion des ESP32-CAM als Bildlieferant beibehalten und man kann sowohl den Dockercontainer (Abfrage über /capture_with_flashlight), wie auch das komplette System auf dem ESP32 parallel laufen lassen ohne gegenseitge Beeinflussung.
          Ich hänge noch ziemlich in der Dokumentation und den Source-Code sollte ich auch noch etwas aufräumen, bevor ich ihn ins GitHub hochlade. Das ist mein Projekt für die kommenden Sommerferien 🙂

          Ich poste hier schon mal einen Link zum neuen Repository: https://github.com/jomjol/AI-on-the-edge-device

          Ist noch sehr leer, füllt sich aber bald hoffentlich kontinuierlich. Ich suche noch ein oder zwei Early-Adopter, die meine sehr frühen Versionen vorab testen. Ist aber noch ein früher Stand. Wer will, kann sich gerne per Chat bei mir melden.

          Beste Grüße,
          jomjol

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

          @jomjol Super! Werde ich testen! Von mir ist es deshalb so "ruhig" da die Auswertung nun seit Monaten ohne Probleme läuft, lese aber selbstverständlich noch immer mit. Das Projekt hat mich total begeistert! Vielen Dank nochmals für Deine Mühe und Deine bisherige tolle Arbeit! Liebe Grüße Paul

          1 Antwort Letzte Antwort
          0
          • J jomjol

            @gerald123 Hallo Gerald,
            das sollte funktionieren. Inzwischen sind auch erste Ziffern mit weißer Schrift auf schwarzem bzw. rotem Hintergrund geteached. Einzig für das Komma brauchst du noch einen Trick auf der Serverseite. Das kann ich aber auch parametrisierbar gestalten, du bist nicht der erste, der danach fragen.

            Gruß,
            jomjol

            G Offline
            G Offline
            gerald123
            schrieb am zuletzt editiert von
            #1012

            @jomjol Das ist gut zu hören.
            Einen Adapter für die Kamera gibt es dafür auch schon oder muss ich versuchen diesen selber zu Konstruieren?

            Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

            J 1 Antwort Letzte Antwort
            0
            • J jomjol

              @gerald123 Hallo Gerald,
              das sollte funktionieren. Inzwischen sind auch erste Ziffern mit weißer Schrift auf schwarzem bzw. rotem Hintergrund geteached. Einzig für das Komma brauchst du noch einen Trick auf der Serverseite. Das kann ich aber auch parametrisierbar gestalten, du bist nicht der erste, der danach fragen.

              Gruß,
              jomjol

              M Offline
              M Offline
              michaeljoos
              schrieb am zuletzt editiert von
              #1013

              @jomjol said in Wasserzähler - Selfmade:

              Einzig für das Komma brauchst du noch einen Trick auf der Serverseite. Das kann ich aber auch parametrisierbar gestalten, du bist nicht der erste, der danach fragen.

              😉 😄 Genau, ich hab das in openHAB mit einer Java-Transformation gelöst. Wenn du das aber konfigurierbar machen könntest wäre das natürlich fantastisch.

              Bei mir läuft alles wunderbar. Mein Wasserverbrauch ist einfach so gering, dass ich immer noch am Ziffern sammeln & lernen bin. Sobald ich alles zusammen habe werde ich dir das komplette Paket schicken. Ich liefere dann auch rote Ziffern auf weissem Hintergrund. Habe mir ja unterdessen auch Jupyter, Tensorflow, Keras und all das Zeugs installiert damit ich die neuen Ziffern jeweils selbst anlernen kann und dich nicht immer "belästigen" muss. Das funktioniert tiptop und ich lerne sogar noch was dabei 🙂

              Gruess
              Michael

              1 Antwort Letzte Antwort
              0
              • KnallochseK Offline
                KnallochseK Offline
                Knallochse
                schrieb am zuletzt editiert von
                #1014

                @jomjol Auch von mir : Daumen hoch 👍
                Läuft seit Monaten super stabil und zu meiner vollen Zufriedenheit
                Ich möchte mich nochmal für deine Entwicklung dieses Projekts bei dir bedanken 👏

                HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                1 Antwort Letzte Antwort
                0
                • G gerald123

                  @jomjol Das ist gut zu hören.
                  Einen Adapter für die Kamera gibt es dafür auch schon oder muss ich versuchen diesen selber zu Konstruieren?

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

                  @gerald123 Hallo Gerald, einen Adapter musst du selbst konstruieren. Aber du kannst meinen Adapter verwenden und musst nur den unternen Teil anpassen.

                  G 1 Antwort Letzte Antwort
                  0
                  • J jomjol

                    @gerald123 Hallo Gerald, einen Adapter musst du selbst konstruieren. Aber du kannst meinen Adapter verwenden und musst nur den unternen Teil anpassen.

                    G Offline
                    G Offline
                    gerald123
                    schrieb am zuletzt editiert von
                    #1016

                    @jomjol danke für die Info und deine tolle Arbeit!
                    Werde mir den Adapter Konstruieren und wenn er soweit ist dann auch hier mal zeigen.
                    Schönen Abend wünsche ich.

                    Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      ramon2krpi3
                      schrieb am zuletzt editiert von
                      #1017

                      Hi @jomjol, I am implementing the project and I am encountering some difficulties. I would appreciate it if you could help me.
                      References.png
                      After generating the config.ini I cannot read any digit. When I see “… / roi.html” I get a distorted image that I show below. I have tried to choose and mix different texts in the image to form the triangle of references. For example I have used the JS2.5-04, x0,0001, 397, ... labels as references, but I can't get the image right. I was also surprised that when I launch “… / roi.html” the red boxes of ref0, ref1 and ref2 do not appear on the picture. Would be there any relationship?

                      Regards,
                      ROI.png
                      The references have been taken after leaving the holder installed and with the same flash lighting that the ESP32 LED provides.

                      The Docker is running on a raspberry pi4 2GB with the following structure:

                      sudo docker run -p 4000:3000 --mount type=bind,source=/home/pi/water-meter-system-complete/code/config,target=/config --mount type=bind,source=/home/pi/water-meter-system-complete/code/log,target=/log jomjol/wasserzaehler:raspi-latest

                      The counter is different from yours, with 8 digits, 5 black on white and 3 red on white.

                      1. Could you help me get the image right with the references?
                      2. Do you think there will be a problem with the type of digits that are slightly different from your project?

                      Regards

                      J 1 Antwort Letzte Antwort
                      0
                      • R ramon2krpi3

                        Hi @jomjol, I am implementing the project and I am encountering some difficulties. I would appreciate it if you could help me.
                        References.png
                        After generating the config.ini I cannot read any digit. When I see “… / roi.html” I get a distorted image that I show below. I have tried to choose and mix different texts in the image to form the triangle of references. For example I have used the JS2.5-04, x0,0001, 397, ... labels as references, but I can't get the image right. I was also surprised that when I launch “… / roi.html” the red boxes of ref0, ref1 and ref2 do not appear on the picture. Would be there any relationship?

                        Regards,
                        ROI.png
                        The references have been taken after leaving the holder installed and with the same flash lighting that the ESP32 LED provides.

                        The Docker is running on a raspberry pi4 2GB with the following structure:

                        sudo docker run -p 4000:3000 --mount type=bind,source=/home/pi/water-meter-system-complete/code/config,target=/config --mount type=bind,source=/home/pi/water-meter-system-complete/code/log,target=/log jomjol/wasserzaehler:raspi-latest

                        The counter is different from yours, with 8 digits, 5 black on white and 3 red on white.

                        1. Could you help me get the image right with the references?
                        2. Do you think there will be a problem with the type of digits that are slightly different from your project?

                        Regards

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

                        Hi @ramon2krpi3,

                        the distorted image shows, that one of the reference is not found. In principle you choose the right one. The image looks a bit unsharp, maybe you could adjust the focus slightly.
                        You can also use the orginal pictures (without enhance), that will make the algo a bit more sensitive to illumination light, but might get a better recognition, as the autocorrelation will result in higher contrast.

                        Two topics:

                        1. You need to get ride of the refection at the digits, this will not work
                        2. Why is your image off center? It looks like there are even better alignment options on the bottom.

                        Other topics are look good for the time beeing.

                        Hope that helps a bit.

                        Best regards,
                        jomjol

                        P.S.: the reference are never shown in the ROI, this is still a to do.

                        Why is your image of center?

                        R 1 Antwort Letzte Antwort
                        0
                        • J jomjol

                          Hi @ramon2krpi3,

                          the distorted image shows, that one of the reference is not found. In principle you choose the right one. The image looks a bit unsharp, maybe you could adjust the focus slightly.
                          You can also use the orginal pictures (without enhance), that will make the algo a bit more sensitive to illumination light, but might get a better recognition, as the autocorrelation will result in higher contrast.

                          Two topics:

                          1. You need to get ride of the refection at the digits, this will not work
                          2. Why is your image off center? It looks like there are even better alignment options on the bottom.

                          Other topics are look good for the time beeing.

                          Hope that helps a bit.

                          Best regards,
                          jomjol

                          P.S.: the reference are never shown in the ROI, this is still a to do.

                          Why is your image of center?

                          R Offline
                          R Offline
                          ramon2krpi3
                          schrieb am zuletzt editiert von
                          #1019

                          Hi @jomjol, luckily i just found the solution. Diving over the 1,000 thread post I have found the solution. The problem is that [alignment]
                          initial_rotation_angle = 92 cannot have a negative angle. The configurator "http://wasserzaehler.ignorelist.com" inserts the value in negative in the "config.ini" and therefore deforms. Just edit the "config.ini" and remove the negative sign

                          The problem now is the digit recognition. I know I've to solve the reflection, but in the meantime I wanted to test the rest of the digits unaffected by the reflection. The first 5 should work. The third digit, 6, has a strange shape in the upper left corner and does not detect it, it assigns a 0. On the other hand, 9 sometimes detects it as 0 and other times as 6.
                          Captura de pantalla 2020-08-05 a las 20.30.34.png

                          how can I get it to detect these digits?

                          Are they in a format recognizable by your trained system?
                          I am using the Train_CNN_Digital-Readout_Version_6.0.0.h5

                          Regards!

                          J 1 Antwort Letzte Antwort
                          0
                          • R ramon2krpi3

                            Hi @jomjol, luckily i just found the solution. Diving over the 1,000 thread post I have found the solution. The problem is that [alignment]
                            initial_rotation_angle = 92 cannot have a negative angle. The configurator "http://wasserzaehler.ignorelist.com" inserts the value in negative in the "config.ini" and therefore deforms. Just edit the "config.ini" and remove the negative sign

                            The problem now is the digit recognition. I know I've to solve the reflection, but in the meantime I wanted to test the rest of the digits unaffected by the reflection. The first 5 should work. The third digit, 6, has a strange shape in the upper left corner and does not detect it, it assigns a 0. On the other hand, 9 sometimes detects it as 0 and other times as 6.
                            Captura de pantalla 2020-08-05 a las 20.30.34.png

                            how can I get it to detect these digits?

                            Are they in a format recognizable by your trained system?
                            I am using the Train_CNN_Digital-Readout_Version_6.0.0.h5

                            Regards!

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

                            Hi @ramon2krpi3,

                            first it looks like, you are using the "master" branch of the docker server. I suggest to update to the "rolling" version. Within this a much better trained cnn-file is available (v 6.2.0). Just to know: the format has changed from h5 to tflite.

                            That should already improve the recognition. If this is not enough, it might be necesarry to train your numbers.

                            Best regards,
                            jomjol

                            R 1 Antwort Letzte Antwort
                            0
                            • J jomjol

                              Hi @ramon2krpi3,

                              first it looks like, you are using the "master" branch of the docker server. I suggest to update to the "rolling" version. Within this a much better trained cnn-file is available (v 6.2.0). Just to know: the format has changed from h5 to tflite.

                              That should already improve the recognition. If this is not enough, it might be necesarry to train your numbers.

                              Best regards,
                              jomjol

                              R Offline
                              R Offline
                              ramon2krpi3
                              schrieb am zuletzt editiert von
                              #1021

                              Hi @jomjol, could anybody summarize the step by step migration to rolling version?
                              Thanks!

                              R 1 Antwort Letzte Antwort
                              0
                              • R ramon2krpi3

                                Hi @jomjol, could anybody summarize the step by step migration to rolling version?
                                Thanks!

                                R Offline
                                R Offline
                                ramon2krpi3
                                schrieb am zuletzt editiert von
                                #1022

                                15242873-7889-4aac-8398-2d7cbc1713bd-image.png @ramon2krpi3 This is how I did:

                                1. Download the raspi-rolling image: sudo docker pull jomjol/wasserzaehler:raspi-rolling

                                2. Over my old folders structure I created a new app folder and I copied my old /config & /log folders

                                3. I downloaded “Train_CNN_Digital-Readout_Version_6.2.0.tflite” and put it in “/home/pi/water-meter-system-complete/code/app/config/neuralnets”

                                4. I edited “/home/pi/water-meter-system-complete/code/app/config/config.ini” and changed the new Train_CNN tflite

                                [Digital_Digit]
                                names = D1, D2, D3, D4, D5, D6, D7, D8
                                modelfile = ./config/neuralnets/Train_CNN_Digital-Readout_Version_6.2.0.tflite
                                LogImageLocation=./log/digital_digit

                                1. I run the docker and it seems do it well:

                                pi@pi4:~ $ docker run -p 4000:3000 --mount type=bind,source=/home/pi/water-meter-system-complete/code/app/config,target=/app/config --mount type=bind,source=/home/pi/water-meter-system-complete/code/app/log,target=/app/log --memory-swap -1 jomjol/wasserzaehler:raspi-rolling
                                92.0
                                Start Init Zaehlerstand
                                Analog Model Disabled
                                Digital Model Init Done
                                Digital Model Init Done
                                Prevalue loaded from file: 00000690.0000
                                Wasserzaehler is serving at port 3000

                                1. When I ask for a reading “http://192.168.1.234:4000/wasserzaehler.html&full” the docker gives me this error:

                                Exception happened during processing of request from ('192.168.1.231', 59241)
                                Traceback (most recent call last):
                                File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
                                self.process_request(request, client_address)
                                File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
                                self.finish_request(request, client_address)
                                File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
                                self.RequestHandlerClass(request, client_address, self)
                                File "/usr/lib/python3.7/socketserver.py", line 720, in init
                                self.handle()
                                File "/usr/lib/python3.7/http/server.py", line 426, in handle
                                self.handle_one_request()
                                File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
                                method()
                                File "./wasseruhr.py", line 37, in do_GET
                                GlobalError = wasserzaehler.CheckError()
                                File "/app/lib/ZaehlerstandClass.py", line 102, in CheckError
                                if self.readAnalogNeedle.GlobalError:
                                AttributeError: 'Zaehlerstand' object has no attribute 'readAnalogNeedle'

                                I'm lost. Do I have to modify/install anything else?
                                I didin't do nothing whit Tensorflow. May I do anything to manage TensoflowLite?

                                Regards

                                J 1 Antwort Letzte Antwort
                                0
                                • R ramon2krpi3

                                  15242873-7889-4aac-8398-2d7cbc1713bd-image.png @ramon2krpi3 This is how I did:

                                  1. Download the raspi-rolling image: sudo docker pull jomjol/wasserzaehler:raspi-rolling

                                  2. Over my old folders structure I created a new app folder and I copied my old /config & /log folders

                                  3. I downloaded “Train_CNN_Digital-Readout_Version_6.2.0.tflite” and put it in “/home/pi/water-meter-system-complete/code/app/config/neuralnets”

                                  4. I edited “/home/pi/water-meter-system-complete/code/app/config/config.ini” and changed the new Train_CNN tflite

                                  [Digital_Digit]
                                  names = D1, D2, D3, D4, D5, D6, D7, D8
                                  modelfile = ./config/neuralnets/Train_CNN_Digital-Readout_Version_6.2.0.tflite
                                  LogImageLocation=./log/digital_digit

                                  1. I run the docker and it seems do it well:

                                  pi@pi4:~ $ docker run -p 4000:3000 --mount type=bind,source=/home/pi/water-meter-system-complete/code/app/config,target=/app/config --mount type=bind,source=/home/pi/water-meter-system-complete/code/app/log,target=/app/log --memory-swap -1 jomjol/wasserzaehler:raspi-rolling
                                  92.0
                                  Start Init Zaehlerstand
                                  Analog Model Disabled
                                  Digital Model Init Done
                                  Digital Model Init Done
                                  Prevalue loaded from file: 00000690.0000
                                  Wasserzaehler is serving at port 3000

                                  1. When I ask for a reading “http://192.168.1.234:4000/wasserzaehler.html&full” the docker gives me this error:

                                  Exception happened during processing of request from ('192.168.1.231', 59241)
                                  Traceback (most recent call last):
                                  File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
                                  self.process_request(request, client_address)
                                  File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
                                  self.finish_request(request, client_address)
                                  File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
                                  self.RequestHandlerClass(request, client_address, self)
                                  File "/usr/lib/python3.7/socketserver.py", line 720, in init
                                  self.handle()
                                  File "/usr/lib/python3.7/http/server.py", line 426, in handle
                                  self.handle_one_request()
                                  File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
                                  method()
                                  File "./wasseruhr.py", line 37, in do_GET
                                  GlobalError = wasserzaehler.CheckError()
                                  File "/app/lib/ZaehlerstandClass.py", line 102, in CheckError
                                  if self.readAnalogNeedle.GlobalError:
                                  AttributeError: 'Zaehlerstand' object has no attribute 'readAnalogNeedle'

                                  I'm lost. Do I have to modify/install anything else?
                                  I didin't do nothing whit Tensorflow. May I do anything to manage TensoflowLite?

                                  Regards

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

                                  Hi @ramon2krpi3,

                                  you run into a bug in the code. Disabling the "Analog Readout" did not work in this version due to an unknown bug. Seems you are the first one, who really used this feature.
                                  I just corrected it and the Docker-Container is under construction. Should take another hour, than it should work.
                                  Thanks for you support in the detailed error description, made my debugging much easier.

                                  Best regards,
                                  jomjol

                                  J R 2 Antworten Letzte Antwort
                                  1
                                  • J jomjol

                                    Hi @ramon2krpi3,

                                    you run into a bug in the code. Disabling the "Analog Readout" did not work in this version due to an unknown bug. Seems you are the first one, who really used this feature.
                                    I just corrected it and the Docker-Container is under construction. Should take another hour, than it should work.
                                    Thanks for you support in the detailed error description, made my debugging much easier.

                                    Best regards,
                                    jomjol

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

                                    Hallo zusammen,

                                    hier ein Update zu meinem neuen Projekt. Die erste Beta-Version für den integrierten Wasserzähler ist funktionsfähig!

                                    Hier mal ein Screenshot von der Benutzerschnittstelle:
                                    a6170882-74bf-4adb-a509-e2f267e2b9b0-grafik.png

                                    Wie ihr seht, habe ich die verschiedenen Features der Bildaufnahme und Auswertung mit einer Web-Oberfläche verknüpft. Dass wird in Zukunft den Betrieb und die Anpassung des Servers deutlich vereinfachen und noch mehr Nutzern zugänglich machen.

                                    Hier mal ein paar Key-Features:

                                    • Webserver mit einfacher Oberfläche integriert - einfach erweiterbar (Idee: z.B. Bearbeitung der Config.ini direkt im Browser ?)
                                    • Zusätzlich ein einfacher Fileserver für die SD-Karte (browse, upload, download, delete)
                                    • OTA-Schnittstelle über Web-Interface, inkl. Reboot - kein Aus-/Einbau für Updates!
                                    • Kamera, Bildbearbeitung & Ziffer/Zeiger-Erkennung alles auf dem ESP32
                                    • Abwährtkompatibel (95%) zur Schnittstelle zu Bilderfassung (.../capture_with_flashlight), wie auch zum Dockercontainer (.../wasserzaehler.html)
                                    • Systeme laufen alle parallel (Multitasking Programmstruktur). Damit könnt ihr auch erstmal die alten System unverändert weiter laufen lassen und alles parallel testen.

                                    Einziger Nachteil: momentan dauert ein Auswertezyklus bei mir ca. 2.5 Minuten. Da ist noch viel Potential (>50%), aber für Just-In-Time Abfragen zu lange. Daher habe ich einen Scheduler implementiert, der zyklisch (z.B. alle 5 Minuten) die Auswertung macht und bei Abfragen den letzten Wert meldet. Konsistenzchecks, analog zum Docker-Container, sind natürlich auch impementiert.
                                    Da ich aus Platzgründen den INI-Parser selbst schreiben musste, ist der Syntax nicht vollkommen kompatibel aber leicht zu adaptieren. Auch werden nur noch 2 Referenzen verwendet, das hat sogar den Vorteil, dass es nicht mehr zu einer Verzehrung kommen kann.

                                    Für alle, die mal einen Blick darauf werfen wollen, finden sich die Firmwaredateien und eine Anleitung zum Flashen hier:

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

                                    Für Fragen, Anregungen, Bug-Reports, ... bin ich wie immer offen.

                                    Beste Grüße,
                                    jomjol

                                    P.S.: das ist eine recht aufwendige Portierung geworden, ich musste alles in C++ neu schreiben und habe es auch für Restrukturierung genutzt. Daher bitte ich zunächst Bugs zu verzeihen 🙂

                                    M G 2 Antworten Letzte Antwort
                                    1
                                    • J jomjol

                                      Hallo zusammen,

                                      hier ein Update zu meinem neuen Projekt. Die erste Beta-Version für den integrierten Wasserzähler ist funktionsfähig!

                                      Hier mal ein Screenshot von der Benutzerschnittstelle:
                                      a6170882-74bf-4adb-a509-e2f267e2b9b0-grafik.png

                                      Wie ihr seht, habe ich die verschiedenen Features der Bildaufnahme und Auswertung mit einer Web-Oberfläche verknüpft. Dass wird in Zukunft den Betrieb und die Anpassung des Servers deutlich vereinfachen und noch mehr Nutzern zugänglich machen.

                                      Hier mal ein paar Key-Features:

                                      • Webserver mit einfacher Oberfläche integriert - einfach erweiterbar (Idee: z.B. Bearbeitung der Config.ini direkt im Browser ?)
                                      • Zusätzlich ein einfacher Fileserver für die SD-Karte (browse, upload, download, delete)
                                      • OTA-Schnittstelle über Web-Interface, inkl. Reboot - kein Aus-/Einbau für Updates!
                                      • Kamera, Bildbearbeitung & Ziffer/Zeiger-Erkennung alles auf dem ESP32
                                      • Abwährtkompatibel (95%) zur Schnittstelle zu Bilderfassung (.../capture_with_flashlight), wie auch zum Dockercontainer (.../wasserzaehler.html)
                                      • Systeme laufen alle parallel (Multitasking Programmstruktur). Damit könnt ihr auch erstmal die alten System unverändert weiter laufen lassen und alles parallel testen.

                                      Einziger Nachteil: momentan dauert ein Auswertezyklus bei mir ca. 2.5 Minuten. Da ist noch viel Potential (>50%), aber für Just-In-Time Abfragen zu lange. Daher habe ich einen Scheduler implementiert, der zyklisch (z.B. alle 5 Minuten) die Auswertung macht und bei Abfragen den letzten Wert meldet. Konsistenzchecks, analog zum Docker-Container, sind natürlich auch impementiert.
                                      Da ich aus Platzgründen den INI-Parser selbst schreiben musste, ist der Syntax nicht vollkommen kompatibel aber leicht zu adaptieren. Auch werden nur noch 2 Referenzen verwendet, das hat sogar den Vorteil, dass es nicht mehr zu einer Verzehrung kommen kann.

                                      Für alle, die mal einen Blick darauf werfen wollen, finden sich die Firmwaredateien und eine Anleitung zum Flashen hier:

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

                                      Für Fragen, Anregungen, Bug-Reports, ... bin ich wie immer offen.

                                      Beste Grüße,
                                      jomjol

                                      P.S.: das ist eine recht aufwendige Portierung geworden, ich musste alles in C++ neu schreiben und habe es auch für Restrukturierung genutzt. Daher bitte ich zunächst Bugs zu verzeihen 🙂

                                      M Offline
                                      M Offline
                                      mameier1234
                                      schrieb am zuletzt editiert von
                                      #1025

                                      @jomjol Unglaublich !! Ich habe riesigen Respect !!! Danke für die geile Arbeit, ich liebe das bisherige Ergebniss....

                                      Grüße,

                                      Martin

                                      1 Antwort Letzte Antwort
                                      0
                                      • J jomjol

                                        Hallo zusammen,

                                        hier ein Update zu meinem neuen Projekt. Die erste Beta-Version für den integrierten Wasserzähler ist funktionsfähig!

                                        Hier mal ein Screenshot von der Benutzerschnittstelle:
                                        a6170882-74bf-4adb-a509-e2f267e2b9b0-grafik.png

                                        Wie ihr seht, habe ich die verschiedenen Features der Bildaufnahme und Auswertung mit einer Web-Oberfläche verknüpft. Dass wird in Zukunft den Betrieb und die Anpassung des Servers deutlich vereinfachen und noch mehr Nutzern zugänglich machen.

                                        Hier mal ein paar Key-Features:

                                        • Webserver mit einfacher Oberfläche integriert - einfach erweiterbar (Idee: z.B. Bearbeitung der Config.ini direkt im Browser ?)
                                        • Zusätzlich ein einfacher Fileserver für die SD-Karte (browse, upload, download, delete)
                                        • OTA-Schnittstelle über Web-Interface, inkl. Reboot - kein Aus-/Einbau für Updates!
                                        • Kamera, Bildbearbeitung & Ziffer/Zeiger-Erkennung alles auf dem ESP32
                                        • Abwährtkompatibel (95%) zur Schnittstelle zu Bilderfassung (.../capture_with_flashlight), wie auch zum Dockercontainer (.../wasserzaehler.html)
                                        • Systeme laufen alle parallel (Multitasking Programmstruktur). Damit könnt ihr auch erstmal die alten System unverändert weiter laufen lassen und alles parallel testen.

                                        Einziger Nachteil: momentan dauert ein Auswertezyklus bei mir ca. 2.5 Minuten. Da ist noch viel Potential (>50%), aber für Just-In-Time Abfragen zu lange. Daher habe ich einen Scheduler implementiert, der zyklisch (z.B. alle 5 Minuten) die Auswertung macht und bei Abfragen den letzten Wert meldet. Konsistenzchecks, analog zum Docker-Container, sind natürlich auch impementiert.
                                        Da ich aus Platzgründen den INI-Parser selbst schreiben musste, ist der Syntax nicht vollkommen kompatibel aber leicht zu adaptieren. Auch werden nur noch 2 Referenzen verwendet, das hat sogar den Vorteil, dass es nicht mehr zu einer Verzehrung kommen kann.

                                        Für alle, die mal einen Blick darauf werfen wollen, finden sich die Firmwaredateien und eine Anleitung zum Flashen hier:

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

                                        Für Fragen, Anregungen, Bug-Reports, ... bin ich wie immer offen.

                                        Beste Grüße,
                                        jomjol

                                        P.S.: das ist eine recht aufwendige Portierung geworden, ich musste alles in C++ neu schreiben und habe es auch für Restrukturierung genutzt. Daher bitte ich zunächst Bugs zu verzeihen 🙂

                                        G Offline
                                        G Offline
                                        gerald123
                                        schrieb am zuletzt editiert von
                                        #1026

                                        @jomjol Hallo jomjol,
                                        Die Bedienoberfläche schaut super aus 👍
                                        Um bei der Installation nichts falsch zu machen wollte ich frage ob es schon eine Anleitung in Deutsch gibt?
                                        Würde mir sehr helfen.
                                        Super tolles Projekt, bitte weiter so 👑

                                        Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

                                        J 1 Antwort Letzte Antwort
                                        0
                                        • G gerald123

                                          @jomjol Hallo jomjol,
                                          Die Bedienoberfläche schaut super aus 👍
                                          Um bei der Installation nichts falsch zu machen wollte ich frage ob es schon eine Anleitung in Deutsch gibt?
                                          Würde mir sehr helfen.
                                          Super tolles Projekt, bitte weiter so 👑

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

                                          @gerald123 Hallo Gerald,
                                          aktuell gibt es keine deutsche Anleitung und erstmal wollte ich es auch nicht zweisprachig machen. Aber ich kann dir gerne eine kurze Skype o.ä. Session anbieten und dann zeige ich es dir. Ist wirklich nicht schwierig. Bitte einfach kontakt per PM.

                                          Beste Grüße,
                                          jomjol

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          337

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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