Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

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

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

      @Hasont hi,
      mach doch in der config mal das Debug an, dann könntest Du auch eventuell sehen warum er neu startet.

      S Hasont 2 Replies Last reply Reply Quote 0
      • S
        spaceduck @MichMein last edited by

        Ich hätte noch diverse Zwischenringe (2x klein und 1x groß) aus dem Projekt hier verfügbar die ich gegen Erstattung der Portokosten abgebe.
        Wenn die jemand haben möchte bitte kurze Info, sonst fliegen sie in den Müll. Die Teile sind im SLS Verfahren gedruckt worden, Material PA2200

        IMG_2295.jpg

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

          @pfried @mcchickents
          Hallo, hab den alten Thread mal durchgelesen und denke ich könnte eure Einbindung in den IoBrocker gut gebrauchen. Hab dann den Parser installiert und die Daten werden mir auch angezeigt.
          Dann habe ich unter JavaScripts einen Ordner Wasserverbrauch angelegt und darin das Blockly von @mcchickents eingefügt. So wie ich das sehe startet es auch ohne Fehler. Hab dann meine 3N Stellen angepasst.
          Script1.JPG
          Was bedeutet das hm-rega, sind das nur Datenfelder?

          Leider komme ich jetzt nicht mehr so recht weiter. Es wird mir ein Objekt angelegt aber scheinbar fehlen mir die nötigen Ausgabefelder.
          Wasserverbrauch.JPG
          Ich werde da aus dem alten Thread jetzt nicht ganz schlau. Da steht mal was von neue Instanzen anlegen und dann soll man unter Javascript neue Variablen anlegen (siehe Info aus dem alten Thread an QC1500)
          alter Thread.JPG
          Denke ich brauch da mal eure Hilfe.
          Wasseruhr Blockly.txt

          Update 1:
          Hab jetzt noch 3 Variablen angelegt und bekomme Daten.
          hm-rega.JPG
          Was aber hat es mit hm-rega.0.3xxxx auf sich?
          Wenn ich die auch als Variable anlegen möchte wird das immer in einem eigenem Pfad angelegt

          Update 2:
          Denke das Blockly ist neuer und ich brauch auch die hm-rega Variablen.
          Hab die jetzt als HM965 - HM103 angelegt und im Blockly entsprechend zugeordnet.
          Bei 969 hab ich schon ne 0 bekommen (müsste Verbrauch 5min sein)
          Mal sehen was die Tage da so passiert.

          Zum Thema mit dem Reset alle ca. 3,5 Stunden hab ich das Log jetzt mal eingeschaltet.

          Ev. habt Ihr ja ein Script das über Blockly direkt ohne HomeMatic funktioniert.
          Ziel sollte es sein den Wasserverbrauch aufzuzeigen und in der Urlaubsphase einen Wasserverbrauch außerhalb der Gießzeiten über Telegram zu melden um Notfalls den Haupthahn abzusperren.

          Danke schon mal für eure Hilfe
          Horst

          S Hasont 2 Replies Last reply Reply Quote 0
          • S
            spaceduck @Hasont last edited by spaceduck

            @Hasont
            Wieso schickst Du die Werte nicht per mqtt an den iobroker? Das geht super easy ohne Scripte, Parser & Co...

            Hasont 1 Reply Last reply Reply Quote 0
            • Hasont
              Hasont @spaceduck last edited by Hasont

              @spaceduck Mach ich noch, betrifft aber ja nur das Auslesen der Rohdaten.
              Ich möchte aber ja weitere Daten mit denen ich im Urlaub bewerten kann ob ein ungewollter Wasserverbrauch stattfindet damit ich notfalls das Wasser automatisch oder von Hand abstellen kann.
              Was hätte mqtt denn für Vorteile?
              LG Horst

              S 1 Reply Last reply Reply Quote 0
              • S
                spaceduck @Hasont last edited by

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

                Ich möchte aber ja weitere Daten mit denen ich...

                Mmh, ich glaube wir reden aneinander vorbei. Der Aufbau liefert doch eh nur den Zählerstand! Den Zählerstand direkt vom Gerät via mqtt in einen Datenpunkt schreiben, dann kannst Du Dich mit Scripten austoben, also das mit dem ungewollten Wasserverbrauch programmieren und so...

                1 Reply Last reply Reply Quote 0
                • S
                  schweigel last edited by

                  Hallo,

                  erstmal vielen Dank für die tolle Arbeit an dem Projekt.👏
                  Bisher hatte ich mehrere Versionen im Einsatz. Leider durch schlechte WLAN Verbindung nicht wirklich produktiv. Da habe ich nun nachgerüstet → externe Antenne an der ESP32CAM. Die Verbindung ist nun deutlich besser und ich habe auf die aktuelle Version mit MQTT aktualisiert.
                  Nun stehe ich bei folgendem Problem, das er die Zahlen und Zeiger nicht mehr erkennt.

                  dd37ec04-ed60-4f27-9f8b-7773225fcaf9-image.png
                  Hat da jemand einen Tipp für mich?

                  Grüße

                  J Z 2 Replies Last reply Reply Quote 0
                  • J
                    jomjol @schweigel last edited by

                    Hallo @schweigel,

                    so ein Fehlerbild habe ich noch nie gesehen! Aber die "-1" ist der Defaultwert, wenn die neuronalen Bilderkennung keine Werte liefert. Ich würde also mal die tflite-Files in der config.ini die Dateinamen mit den Dateinamen in /config Verzeichnis abgleichen (z.B. Model=/config/dig0650s3.tflite).

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

                      @jomjol

                      Es stand auf Model=/config/dig0640s3.tflite und die Datei ist auch vorhanden.

                      Habe dann noch die Datei dig0650s3.tflite runter geladen und die config.ini entsprechend aktualisiert. Der Fehler bleibt aber.

                      coyote 1 Reply Last reply Reply Quote 0
                      • Z
                        Zwer2k @schweigel last edited by

                        Hallo @schweigel ,

                        scheint gleicher Fehler wie ich vor kurzem hatte zu sein. Ich habe den Fehler durch formatieren der SD-Karte weg bekommen.
                        Ich vermurte, dass durch häufiges beschreiben der SD-Karte Sektoren der Karte beschädigt werden.
                        Könntest du bitte versuchen folgende Datein von der SD-Karte zu löschen und zu testen ob es wieder funktioniert?
                        /log.txt
                        /img_tmp/ <-- hier alle Dateien
                        Sollte per "File Server" über die Web-Oberfläche möglich sein.

                        Gruß
                        Zwer2k

                        S 1 Reply Last reply Reply Quote 0
                        • coyote
                          coyote Most Active @schweigel last edited by

                          @schweigel da muss ich @Zwer2k zustimmen, konnte dies auch mal beobachten. Nach formatieren und neu beschreiben der SD-Karte lief es wieder

                          1 Reply Last reply Reply Quote 0
                          • Z
                            Zwer2k last edited by Zwer2k

                            Hallo @jomjol,

                            ich versuche gerade das Rotieren der Log-Dateien und -Bilder zu implementieren.
                            Rotation von log.txt habe ich bereits implementiert. Bei den Bildern bin ich auf interessanten Effekt gestoßen.
                            Wenn ich in der Funktion ClassFlowAnalog::doNeuralNetwork nach dem Aufruf tflite->MakeAllocate() ein Verzeichnis erstelle z.B. so mkdir("/sdcard/log/analog/abc", S_IRWXU), wird das Verzeichnis zwar erstellt, der ESP stürzt aber anschließend in der Funktion tflite->LoadInputImage(ioresize); in folgender Zeile ab

                            float* input_data_ptr = (interpreter->input(0))->data.f;
                            

                            Wenn ich das Verzeichnis gleich am Anfang von der Funktion doNeuralNetwork erstelle, gibt es keine Probleme.

                            Da ich nicht genau weiß wie die TFLite-Lib funktioniert, kann ich mir das Verhalten nicht erklären. Kannst du es Verstehen / macht das Sinn?
                            Eventuell hat es auch etwas mit den Abstürzen zutun die immer wieder auftreten.

                            Gruß
                            Zwer2k

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

                              Hallo @Zwer2k,

                              das ist in der Tat eine sehr spannende Beobachtung. Ich kenne diesen Fehler mit dem "mkdir" nicht, verwende aber auch "mkdir" gar nicht. Kannst du mal testen, ob der Fehler auch auftritt, wenn du an dieser Stelle ein File einfach nur öffnest und liest?
                              Dann könnte das derselbe Effekt sein, der auch für die Reboots sorgt. Diese Stelle im Code ist diesbezüglich sehr auffällig. Wenn du da genauer rein schaust, findest du, dass ich dort sogar zwei jpg/bmp Bibliotheken verwende, damit es funktioniert.
                              Was da passiert bin ich noch nicht dahinter gestiegen. Leider schaffe ich es nicht einen Debugger anzuschließen :-(.
                              Wenn du willst können wir uns das auch mal gemeinsam in einer skype Session anschauen - wäre super, wenn diese Reboots endlich verstanden wurden.
                              Gruß,
                              jomjol

                              Z 2 Replies Last reply Reply Quote 0
                              • S
                                schweigel @Zwer2k last edited by

                                @Zwer2k
                                Danke, habe die Karte nochmal formatiert und die Daten wieder drauf kopiert, nun geht es.😀

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

                                  Hallo @jomjol ,

                                  es scheint tatsächlich nur an mkdir zu liegen, weder das Lesen noch Beschreiben von Daten an der gleichen Stelle verursacht Abstürze.
                                  Hat tflite eventuell Speicherleeks die die Probleme Verursachen, die Lib hat ja noch einige offene Issues die in die Richtung gehen. Es kann aber auch sein, dass der Core von ESP32 noch Fehlerhaft ist. Hab ein anderes Projekt bei dem unregelmäßige Abstürze auftreten, die ich mir nicht erklären kann. Die Abstürze treten öfter auf je mehr der ESP per WiFi kommuniziert (HTTP/MQTT).

                                  Während dem Testen ist mir allerdings ein Watchdog-Reboot aufgefallen

                                  handler_wasserzaehler uri:
                                  /wasserzaehler.html
                                  uri: /img_tmp/alg_roi.jpg
                                  1 uri: /img_tmp/alg_roi.jpg, filename: /alg_roi.jpg, filepath: /sdcard/alg_roi.jpg
                                  File to upload: /sdcard/img_tmp//alg_roi.jpg
                                  E (109680) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
                                  E (109680) task_wdt:  - IDLE0 (CPU 0)
                                  E (109680) task_wdt: Tasks currently running:
                                  E (109680) task_wdt: CPU 0: httpd
                                  E (109680) task_wdt: CPU 1: IDLE1
                                  I (109710) serverhelp: Sending file : /sdcard/img_tmp//alg_roi.jpg (46997 bytes)...
                                  I (109890) serverhelp: File sending complete
                                  abort() was called at PC 0x401c50d5 on core 0
                                  ELF file SHA256: 9d0eb747742923ae
                                  Backtrace: 0x4008dd45:0x3fff2ad0 0x4008e0e1:0x3fff2af0 0x401c50d5:0x3fff2b10 0x401c699d:0x3fff2c50 0x401e6d4f:0x3fffacd0 0x401a0101:0x3fffacf0 0x400fb59f:0x3fffad10 0x400fc3c6:0x3fffb360 0x400f1eb1:0x3fffb3d0 0x400d531e:0x3fffb580 0x400d57d8:0x3fffb5d0 0x4008e945:0x3fffb740
                                  Rebooting...
                                  ets Jun  8 2016 00:22:57
                                  rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                  configsip: 0, SPIWP:0xee
                                  clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                  mode:DIO, clock div:2
                                  load:0x3fff0030,len:4
                                  load:0x3fff0034,len:7164
                                  load:0x40078000,len:13856
                                  load:0x40080400,len:4052
                                  entry 0x40080688
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    WernerS last edited by

                                    Hallo

                                    ich habe jetzt auch den Gaszähler am laufen. Schein super zu funktionieren. Mit MQTT scheint das auch besser zu sein als mit dem Parser der als stehen bleibt. Nur sin mir die folgenden Warnings aufgefallen mit denen ich nichts anfangen kann. Kennt das jemand?

                                    (1058) Client [Wasserzaehler] Message 20951 deleted after 11 retries
                                    (1058) Client [Wasserzaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number
                                    (1058) Client [Gaszaehler] Message 26870 deleted after 11 retries
                                    (1058) Client [Gaszaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number
                                    (1058) Client [Wasserzaehler] Message 1135 deleted after 11 retries
                                    (1058) Client [Wasserzaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number
                                    (1058) Client [Gaszaehler] Message 5278 deleted after 11 retries
                                    (1058) Client [Gaszaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number
                                    (1058) Client [Wasserzaehler] Message 32653 deleted after 11 retries
                                    (1058) Client [Wasserzaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number
                                    (1058) Client [Wasserzaehler] Message 54757 deleted after 11 retries
                                    (1058) Client [Wasserzaehler] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type number

                                    Gruß
                                    Werner

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

                                      Hi Werner,
                                      ich das mit dem Parser so gelöst, dass ich die Instanz alle 6 Stunden neu starte. Das geht im Instanzen Reiter, Expertenmodus.

                                      ba6a20f9-ddac-40c0-b3b0-f10c378aaa81-grafik.png
                                      3dcf1f1b-06d3-4a44-9543-5b558ea47f17-grafik.png

                                      Seitdem ist ruhe...
                                      Liebe Grüße
                                      Paul

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

                                        @pfried Hi, was hat das denn mit dem Parser Adapter zu tun wenn die Messages vom mqtt Instanz kommen?

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

                                          @watcherkb Er schreibt, dass er jetzt den MQTT verwendet, weil der Parser nicht geht.... 😊

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

                                            @pfried aso jetzt hab ichs. Na wenn er jetzt mqtt nutzt, kann er den Parser ganz ausschalten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            697
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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