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 - Version 2 - all-in-device

NEWS

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben Hardware
wasserzählerversion 2ai on the edgecnnwater meterwater gaugeesp32ov2640neuronale netzehausautomatisierung
3.4k Beiträge 238 Kommentatoren 2.0m Aufrufe 230 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.
  • Z Zwer2k

    @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 Offline
    J Offline
    jomjol
    schrieb am zuletzt editiert von
    #296

    @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 Antwort Letzte Antwort
    1
    • Z Zwer2k

      @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 Offline
      J Offline
      jomjol
      schrieb am zuletzt editiert von jomjol
      #297

      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.

      pfriedP 1 Antwort Letzte Antwort
      1
      • J 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.

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

        @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

        HasontH 1 Antwort Letzte Antwort
        0
        • pfriedP pfried

          @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

          HasontH Offline
          HasontH Offline
          Hasont
          schrieb am zuletzt editiert von
          #299

          @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

          HasontH 1 Antwort Letzte Antwort
          0
          • HasontH Hasont

            @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

            HasontH Offline
            HasontH Offline
            Hasont
            schrieb am zuletzt editiert von
            #300

            @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

            MichMeinM 1 Antwort Letzte Antwort
            0
            • HasontH Hasont

              @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

              MichMeinM Online
              MichMeinM Online
              MichMein
              schrieb am zuletzt editiert von
              #301

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

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

              S HasontH 2 Antworten Letzte Antwort
              0
              • MichMeinM MichMein

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

                S Offline
                S Offline
                spaceduck
                schrieb am zuletzt editiert von
                #302

                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

                HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

                1 Antwort Letzte Antwort
                0
                • pfriedP pfried

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

                  HasontH Offline
                  HasontH Offline
                  Hasont
                  schrieb am zuletzt editiert von Hasont
                  #303

                  @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 HasontH 2 Antworten Letzte Antwort
                  0
                  • HasontH 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 Offline
                    S Offline
                    spaceduck
                    schrieb am zuletzt editiert von spaceduck
                    #304

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

                    HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

                    HasontH 1 Antwort Letzte Antwort
                    0
                    • S spaceduck

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

                      HasontH Offline
                      HasontH Offline
                      Hasont
                      schrieb am zuletzt editiert von Hasont
                      #305

                      @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 Antwort Letzte Antwort
                      0
                      • HasontH 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 Offline
                        S Offline
                        spaceduck
                        schrieb am zuletzt editiert von
                        #306

                        @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...

                        HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          schweigel
                          schrieb am zuletzt editiert von
                          #307

                          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 Antworten Letzte Antwort
                          0
                          • S schweigel

                            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 Offline
                            J Offline
                            jomjol
                            schrieb am zuletzt editiert von
                            #308

                            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 Antwort Letzte Antwort
                            0
                            • J jomjol

                              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 Offline
                              S Offline
                              schweigel
                              schrieb am zuletzt editiert von
                              #309

                              @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.

                              coyoteC 1 Antwort Letzte Antwort
                              0
                              • S schweigel

                                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

                                Z Offline
                                Z Offline
                                Zwer2k
                                schrieb am zuletzt editiert von
                                #310

                                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 Antwort Letzte Antwort
                                0
                                • S schweigel

                                  @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.

                                  coyoteC Offline
                                  coyoteC Offline
                                  coyote
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #311

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • Z Offline
                                    Z Offline
                                    Zwer2k
                                    schrieb am zuletzt editiert von Zwer2k
                                    #312

                                    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 Antwort Letzte Antwort
                                    0
                                    • Z 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 Offline
                                      J Offline
                                      jomjol
                                      schrieb am zuletzt editiert von
                                      #313

                                      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 Antworten Letzte Antwort
                                      0
                                      • Z Zwer2k

                                        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 Offline
                                        S Offline
                                        schweigel
                                        schrieb am zuletzt editiert von
                                        #314

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • J jomjol

                                          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 Offline
                                          Z Offline
                                          Zwer2k
                                          schrieb am zuletzt editiert von
                                          #315

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

                                          554

                                          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