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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.

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

        Hallo @Zwer2k,

        • Modem-Sleep wird nicht aktiviert - ESP32 sollte dauerhaft als Webserver erreichbar sein
        • Von einer Verwendung als Gateway würde ich absehen. Die Bilderkennung fordert den ESP32 ziemlich (100% Core für ~ 2 Minuten). Unverstandene Reboots gibt es auch immer wieder. Daher würde ich aktuell keine weiteren Funktionen implementieren.

        Gruß,
        jomjol

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

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

          Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.

          Idee ist gut - kann hier jemand unterstützen und rollierende Aufräumroutinen programmieren? Da im Filename das Datum drin steht, könnte man das mit wenig Aufwand erstellen.
          Für das Logfile könnte man ja auch 1 Logfile pro Tag und alte Logs dann nach x-Tagen löschen.
          Wer Lust/Zeit hat gerne melden, ich kann dann Hinweise geben, wo der beste Start ist. Idealerweise als folk in Github, dann kann ich es anschließend in einem Merge einbinden. Ich selbst komme die nächsten 1-2 Wochen nicht dazu, neue Features zu implementieren.

          Temporäre Alternative: Deaktiveren der Log-Files.

          Beste Grüße,
          jomjol

          coyote Z 2 Replies Last reply Reply Quote 1
          • coyote
            coyote Most Active @jomjol last edited by

            @jomjol nach formatieren und neu beschreiben der SD-Karte läuft alles wieder, habe die Log Files jetzt auch mal deaktiviert. Werde bei beobachten, ob es jetzt besser läuft

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

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

              @jomjol nach formatieren und neu beschreiben der SD-Karte läuft alles wieder, habe die Log Files jetzt auch mal deaktiviert. Werde bei beobachten, ob es jetzt besser läuft

              Habe jetzt auch SD Karte gewechselt und Log Dateien gelöscht. Auch gleich Update auf neue Firmware und HTML gemacht.
              Ging alles Problemlos. Mal sehen was die nächsten Tage bringen.

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

                @jomjol
                Bei Modem-Sleep bleibt der ESP per WLAN erreichbar, es wird nur nicht mit voller Leistung gesendet, der sollte der AP nicht zu weit entfernt sein ich denke das Modem wird in kurzen Intervallen abgeschaltet daher Modem-Sleep (So verstehe ich es zumindest). Hier zieht ESP nur ca. 1/2 der normalen Leistung (hab ich getestet).

                esp_wifi_set_ps(WIFI_PS_MAX_MODEM);
                esp_wifi_set_ps(WIFI_PS_MIN_MODEM);
                esp_wifi_set_ps(WIFI_PS_NONE);
                

                Nicht erreichbar ist ESP nur bei light-sleep und deep-sleep.

                esp_light_sleep_start();
                esp_deep_sleep_start();
                

                Theoretisch könnte zusätzlich während nicht gerechnet wird und niemand auf die Oberfläche zugreift noch der CPU-Takt herab gesetzt werden.

                setCpuFrequencyMhz(80);
                setCpuFrequencyMhz(240);
                
                J 1 Reply Last reply Reply Quote 0
                • Z
                  Zwer2k @jomjol last edited by

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

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

                  Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.

                  Idee ist gut - kann hier jemand unterstützen und rollierende Aufräumroutinen programmieren? Da im Filename das Datum drin steht, könnte man das mit wenig Aufwand erstellen.
                  Für das Logfile könnte man ja auch 1 Logfile pro Tag und alte Logs dann nach x-Tagen löschen.
                  Wer Lust/Zeit hat gerne melden, ich kann dann Hinweise geben, wo der beste Start ist. Idealerweise als folk in Github, dann kann ich es anschließend in einem Merge einbinden. Ich selbst komme die nächsten 1-2 Wochen nicht dazu, neue Features zu implementieren.

                  Temporäre Alternative: Deaktiveren der Log-Files.

                  Beste Grüße,
                  jomjol

                  Kann ich mir mal anschauen, dürfte ja nicht zu kompliziert sein.
                  Wo wäre den die Funktonalität am besten untergebracht?

                  Hab mir kurz mal den Code angeschaut. Aufgenommene Bilder werden ja zuerst unter /img_tmp/raw.jpg abgelegt also immer überschrieben. Wenn die Bilder alle 5min aufgenommen werden, dann sind es nach einem Jahr schon 100.000 mal. Ich glaube da werden schon meiste Karten tot sein. Einige werden vermutlich schon viel früher defekte aufweisen, was eventuell die Probleme erklären könnte. Außer die Karten habe eine Logik die Datei immer wo anderes zu legen, was ich nicht glaube.

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

                    @Zwer2k Ja das mit dem Schreiben könnte ein Problem sein. Alternative wäre, alles über den Speicher zu machen. Da aber manche der neuronalen Netze schon 1.4 MB belegen und die verwendeten Bibliotheken die Bilder im Raw Format, je nach Auflösung auch > 1MB und für die Verarbeitung auch mehrfach (Orginal und bearbeitete Kopie) verwenden, habe ich momentan den Zwischenweg über die SD-Karte gewählt.

                    Erzeugt werden die Log-Files an folgenden Stellen:

                    1. Log.txt auf root: Bibliothek: \lib\jomjol_logfile\
                    2. Abspeichern der Bilder:
                      Analog: \lib\jomjol_flowcontroll\ClassFlowAnalog.cpp --> bool ClassFlowAnalog::doNeuralNetwork(string time)
                      Digital: \lib\jomjol_flowcontroll\ClassFlowDigit.cpp --> bool ClassFlowAnalog::doNeuralNetwork(string time)

                    Ich würde jedoch vorschlagen, nicht dort einzugreifen, sondern am Ende des Flows eine "Aufräumaktion" aufzunehmen. Dort kann man dann auch parameterisiert z.B. die letzten x-Tage / Stunden ... Files wieder löschen.

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

                      Hallo @Zwer2k,
                      danke für die Erklärung - klingt machbar. Frage ist, ob jemand dieses Feature benötigt.

                      Mein ESP32 rechnet von dem 4.85 Minuten Zyklus ca 2.5 Minuten, d.h. ich könnte nur für ca. 50% den Strom um die hälfte Sparen. Sinn macht das natürlich, wenn der Zyklus in deutlich längeren Zeitspannen gemessen wird.

                      Du könntest einfach mal ein Feature-Request als Issue in Github anstossen. Dann geht die Idee auch nicht verloren.

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

                        @Hasont @coyote Hi Gents, ich kann Euch nur empfehlen Euch die ScanDisk MaxEndurance SD Karten zuzulegen. Ich hatte noch nie ein Problem mit diesen speziellen SD Cards und soviel teurer sind diese auch nicht:

                        063352e6-3b4e-47f7-9ad2-2d1c338c8bf8-grafik.png

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

                          @pfried Meinst du es liegt wirklich an der SD Karte.
                          Nach dem neuen Aufsetzen macht er so alle 4,5 Stunden einen Reset. Bin mal gespannt wie es weiter geht.
                          Hab jetzt ne 4 GB Karte drin.
                          Log 3neu.JPG

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

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

                            @pfried Meinst du es liegt wirklich an der SD Karte.
                            Nach dem neuen Aufsetzen macht er so alle 4,5 Stunden einen Reset. Bin mal gespannt wie es weiter geht.
                            Hab jetzt ne 4 GB Karte drin.
                            Log 3neu.JPG

                            Übrigends ist das Log ne Stunde voraus, im Value stimmt die Uhrzeit

                            MichMein 1 Reply Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            561
                                            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
                                            1518739
                                            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