Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Selfmade

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • pfried
      pfried last edited by pfried

      @jomjol Habe die neue Docker Version getestet. Es dauert nun nicht mehr 4 Stunden bis der Memory überläuft sondern 15 Stunden:

      3b92ed7e-f434-4e6e-817e-a58972087e3b-image.png

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

        @pfried Hallo Paul,
        der Memory-Leak liegt intern in Tensorflow. Da kann ich an meiner Software nichts machen. Nicht mal das Löschen und Neuladen der Tensorflowobjekte hilft nicht, da offenbar ein interner Tensor im Speicher bleibt. Habe mehrere Threads dazu gefunden.
        Die Tensorflow-Community arbeitet daran und es gibt Hinweise, dass es in der Nightly besser wird, aber anscheinend nicht bei allen.
        Bleibt nur das Beobachten und Update, sobald es eine neue Version gibt, testen. Ich beobachte es weiter.
        Eventuell kannst du deinen Container regelmäßig nach ein paar Stunden per Script neu starten als Zwischenlösung?
        Gruß, jomjol

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

          Hallo, hat jemand eine Lösung für die Beschlagung des Wasserzählers gefunden?

          d0177c24-6a35-4b7b-832f-5a61c328b433-image.png

          Wie man sieht sinkt dadurch die Erkennungsrate gegen null:

          f9fd4ff5-9405-4437-9b20-0fc6469d1140-image.png

          W 1 Reply Last reply Reply Quote 0
          • W
            watcherkb @pfried last edited by

            @pfried das Beschlagen hat nur einen Grund: Wasser ist kalt, Umgebung warm. Dadurch beschlägt es. Also entweder dämmt man den Wasserzähler gegen Wärme, oder alternativ probieren eine anti-Beschlagfolie oder Spray verwenden. Alles nur Theorie...hab ich auch noch vor mir.

            pfried 1 Reply Last reply Reply Quote 0
            • pfried
              pfried @watcherkb last edited by

              @watcherkb Das mit dem Spray werde ich versuchen. Werde berichten. Außerdem werde ich nun an einem freien Tag einen Ventilator in das Gehäuse einbauen, Vielleicht hilft das ja was.....

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

                @jomjol Guten Morgen jomjol: Wie machst Du das, dass in Deinem Docker Container der Phyton Task nicht überläuft durch den Tensorflow Memory Leak? Hättest Du vielleicht ein Script für mich um den Docker container zu stoppen und gleich wieder zu starten um den Memory Leak zu umschiffen?
                Liebe Grüße
                Paul

                PS.: Ich habe einen Post gelesen, dass das Memory Leak Problem mit 2.1.0-dev20191125 gelöst wurde?!

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

                  @pfried Mein Docker läuft auf einem Server mit 12GB RAM, bei mir taucht dieser Fehler nicht auf und falls der Container abschmiert, startet er über "Portainer" wieder neu.
                  Das mit Tensorflow 2.1 habe ich auch gelesen und schon mal probiert. Leider lief damit mein Code selbst in der normalen Anaconda-Umgebung noch nicht. Ich warte mal, bis es einen Release gibt. Dann muss ich ihn aber auch noch selbst für meine Synology kompilieren und für einen Raspi armv7-Version hat es erfahrungsgemäß noch etwas Delay. Ich bleibe dran, habe aber erst nach den Weihnachtsfeiertagen etwas Zeit dafür.

                  P.S.: Zwischenlösung im Container wäre eine Implementierung innerhalb des Containers mit dem pm2-Modul. Das könnte das Python einfach neu starten, wenn es mit einem Speicherfehler abbricht. Wie gesagt, nach den Feiertagen habe ich etwas Zeit dafür, vorher steht Family an 😊

                  1 Reply Last reply Reply Quote 0
                  • E
                    ecki945 last edited by ecki945

                    Würde das Projekt gerne in nem Debian 9 Container unter Proxmox realisieren. Habe mal begonnen nach der Anleitung für nen Raspberry 3 zu installieren. Doch einige Pakete bekomme ich nicht installiert bzw. angeboten unter cpu Typ amd64

                    Vielleicht hat der Autor oder andere User die dieses Projekt schon laufen haben) dieses Projekts mal Zeit hier nen kleine Leitfaden zu erstellen.

                    1 Reply Last reply Reply Quote 0
                    • G
                      gerald123 last edited by

                      Hallo,
                      Ich hab jetzt auch den ESP mit der Software "2.3.0 ESP32-CAM only" bespielt.
                      Er läuft eine unregelmäßige Zeit lang normal, aber dann verliert er die WLan Verbindung.
                      Am Serialmonitor sehe ich folgene Fehlermeldung:
                      8df27cea-c23f-47f5-89ce-20fc8af41aaa-image.png
                      Kann mir jemand von euch sagen was da nicht stimmt mit meiner CAM?

                      pfried 1 Reply Last reply Reply Quote 0
                      • pfried
                        pfried @gerald123 last edited by

                        @gerald123 Hallo Gerald, weiter oben gibt es mehrere Beiträge zu dem Thema. Der Thread ist sehr lange zum einlesen, aber es zahlt sich aus, auf die Erfahrungen zurückzugreifen. Liebe Grüße Paul

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

                          @pfried @gerald123
                          Das Thema nicht stabiler ESP ist immer wieder ein Thema. Ihr könnt eure Erfahrung / Themen gerne im GitHUB als Commit dokumentieren (https://github.com/jomjol/water-meter-system-complete), dann können wir hier immer darauf verweisen und es dort pflegen. Hier bei 490 Beiträgen alles zu finden wird wirklich schwierig 🙂

                          1 Reply Last reply Reply Quote 0
                          • G
                            gerald123 last edited by

                            Danke für die Infos, ich werde mal die Versuche mit einem kurzen Abfragezyklus machen.
                            Hoffe das er dann stabil durchläuft.
                            Alles andere ist schon am laufen und funktioniert auch super, danke nochmal für das tolle Projekt.

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

                              Ich habe die Version der Dockerfiles auf 5.x gehoben. Wesentliche Unterschiede:
                              Unterbau mit Op

                              • ListenpunktenCV und Tensorflow sind in separaten Dockerfiles ausgelagert

                              Es gibt jetzt eine Version für Intelprozessor ohne AVX2-Version (latest) und Raspberry PI (raspi).
                              Damit ist der Build einfacher und besser wartbar. Für die Raspi-Rolling habe ich jetzt einen Restart nach Crash implementiert
                              @pfried teste bitte mal, ob damit mit dem Memory Leak automatisch gestartet wird.
                              Gruß, jomjol

                              1 Reply Last reply Reply Quote 0
                              • E
                                ecki945 last edited by

                                kann mir jemand die Fehlermeldung nach Aufruf von:

                                root@Test:~# docker run -p 3000:3000 --mount type=bind,src=/home, target=/config --mount type=bind,src=/home,target=/log jomjol/wasserzaehler:latest
                                

                                erklären?

                                invalid argument "type=bind,src=/home," for "--mount" flag: invalid field '' must be a key=value pair
                                See 'docker run --help'.
                                
                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  jomjol @ecki945 last edited by

                                  @ecki945 Fehlermeldung sagt mir nichts, aber mir ist aufgefallen, dass du beide Verzeichnisse (log & config) auf dasselbe /home Verzeichnis mountest. Das dürfte nicht funktionieren.

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

                                    @ecki945 Mein Aufruf:
                                    sudo docker run -p 3000:3000 --mount type=bind,source=/home/pi/Wasserzaehler_4.2/code/config,target=/config --mount type=bind,source=/home/pi/Wasserzaehler_4.2/code/log,target=/log --memory-swap -1 jomjol/wasserzaehler:raspi-rolling

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      ecki945 last edited by ecki945

                                      Zwischenzeitlich habe ich es geschafft, dass der Dockeraufruf funktioniert. Leider habe ich nun folgendes Problem:

                                      
                                      stephan@Test:~$ sudo docker run -p 3000:3000 --mount type=bind,source=/jomjolconfig,target=/config --mount type=bind,source=/jomjollog,target=/log --memory-swap -1 jomjol/wasserzaehler:latest
                                      [sudo] password for stephan:
                                      Unable to find image 'jomjol/wasserzaehler:latest' locally
                                      latest: Pulling from jomjol/wasserzaehler
                                      16ea0e8c8879: Pull complete
                                      50024b0106d5: Pull complete
                                      ff95660c6937: Pull complete
                                      9c7d0e5c0bc2: Pull complete
                                      29c4fb388fdf: Pull complete
                                      8659dae93050: Pull complete
                                      c8208a94eb32: Pull complete
                                      465b26a31c40: Pull complete
                                      84af071ddf6f: Extracting [==================================================>]  1.871MB/1.871MB
                                      72674e39b52a: Download complete
                                      257c064c14b2: Download complete
                                      13079f9eaad3: Download complete
                                      da4020cd652a: Download complete
                                      967ef883685d: Download complete
                                      e064e3ebdc71: Download complete
                                      docker: failed to register layer: ApplyLayer exit status 1 stdout:  stderr: write /usr/local/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/specifiers.py: no space left on device.
                                      See 'docker run --help'.
                                      

                                      Ich vermute mal, dass das auch mit dem Docker in nem LXC Container unter Proxmox zusammen hängt. Habe leider aktuell wenig Zeit mich um diese Sache zu kümmern

                                      pfried 1 Reply Last reply Reply Quote 0
                                      • pfried
                                        pfried @ecki945 last edited by pfried

                                        @ecki945 Hast du dir vorher die version runtergeladen?

                                        sudo docker pull jomjol/wasserzaehler:raspi-rolling

                                        wobei raspi-rolling mit der Version ersetzt wird, welche du brauchst.

                                        sissiwup 1 Reply Last reply Reply Quote 0
                                        • sissiwup
                                          sissiwup @pfried last edited by

                                          Hallo,

                                          habe das Projekt gestern auch umgesetzt. Hat alles wunderbar auf anhieb funktioniert.
                                          Ich habe als einziges im ESP32-Code noch eine feste IP vergeben. Das mache ich bei allen IOT-Geräten, damit ich, falls ich mal den Router wechsele nicht von vorne Anfangen muss.

                                          Als Abfrage habe ich das Java-Skript verwendet.

                                          Hier noch ein Tipp für grafana:

                                          SELECT
                                          floor(n.ts/1000) as time_sec,
                                          convert(n.val,DECIMAL(10,4)) as value,
                                          "Wasser" as metric
                                          FROM ts_string n
                                          WHERE $__unixEpochFrom()*1000<n.ts and $__unixEpochTo()*1000>n.ts and n.id = 2372 and n.id
                                          ORDER BY n.ts ASC
                                          

                                          Die ID ist natürlich anzupassen. (Ich speichere in mysql)

                                          Hier mein Docker-Aufruf:

                                          docker run -d --restart unless-stopped -p 3300:3000 --mount type=bind,source=/var/docker/wasser,target=/config --mount type=bind,source=/var/docker/log,target=/log jomjol/wasserzaehler:latest
                                          

                                          Hier habe ich den Port von 3000 auf 3300 umgesetzt (3000 nutzt grafana).
                                          Mit -d läuft es als Service und mit --restart unless-stopped wird es auch nach Rechner Neustart wieder gestartet.

                                          Also vielen Dank an euch für die super Arbeit.

                                          1 Reply Last reply Reply Quote 1
                                          • E
                                            ecki945 last edited by

                                            @pfried Der Aufruf mit deinem Parametern erzeugt die gleiche Fehlermeldung:

                                            
                                            root@Test:/home/stephan# sudo docker run -p 3000:3000 --mount type=bind,source=/jomjolconfig,target=/config --mount type=bind,source=/jomjollog,target=/log --memory-swap -1 jomjol/wasserzaehler:latest
                                            Unable to find image 'jomjol/wasserzaehler:latest' locally
                                            latest: Pulling from jomjol/wasserzaehler
                                            16ea0e8c8879: Pull complete
                                            50024b0106d5: Pull complete
                                            ff95660c6937: Pull complete
                                            9c7d0e5c0bc2: Pull complete
                                            29c4fb388fdf: Pull complete
                                            8659dae93050: Pull complete
                                            c8208a94eb32: Pull complete
                                            465b26a31c40: Pull complete
                                            84af071ddf6f: Extracting [==================================================>]  1.871MB/1.871MB
                                            72674e39b52a: Download complete
                                            257c064c14b2: Download complete
                                            13079f9eaad3: Download complete
                                            da4020cd652a: Download complete
                                            967ef883685d: Download complete
                                            e064e3ebdc71: Download complete
                                            docker: failed to register layer: ApplyLayer exit status 1 stdout:  stderr: write /usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py: no space left on device.
                                            
                                            

                                            Da ich ja Docker in einem lxc Container laufen lassen will, vermute ich hier Zugriffprobleme.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            592
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to wasser wasserzähler
                                            48
                                            1089
                                            267037
                                            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