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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jomjol @cybertron last edited by

      @cybertron Grundsätzlich vom Prozess kann es auch damit funktionieren, aber dazu müssen:

      1. Die Ziffern neu/zusätzlich trainert werden (Weiss auf Schwarz bzw. Rot)
      2. Der Zeiger trainiert werden, da er komplett anders aussieht (falls 0.1l notwendig)

      Für 1) braucht es von jeder Ziffer einige Bilder, sowohl von den Schwarzen, wie auch von den Roten.

      Gruß,
      jomjol

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

        @pfried Hallo Paul,
        du musst zuerst die Verzeichnisse "log" und "config" anlegen und dann die richtigen absoluten Pfade bei source eintragen. Wenn ich es bei mir direkt unter dem Homeverzeichnis des Users "pi" mache funktioniert es folgendermassen:

        mkdir log
        mkdir config
        docker run -p 3000:3000 --mount type=bind,source=/home/pi/config,target=/config --mount type=bind,source=/home/pi/log,target=/log jomjol/wasserzaehler:raspi-rolling
        
        

        Gruß,
        jomjol

        pfried 2 Replies Last reply Reply Quote 0
        • pfried
          pfried @coyote last edited by

          @coyote Stellst Du uns das Script mit einer Anleitung bitte zur Verfügung?!

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

            @Knallochse Guten Morgen, habe dazu weiter oben gepostet. Check doch mal ob nicht statt Enable=True ConsistencyEnable=True in die Config.ini gehört.

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

              @jomjol Hallo Jomjol, vielen Dank, funktioniert 👍 😊 Frage: kann ich den Docker auch unter dem pm2 Tool laufen lassen, sodass nach einem Neustart der Docker automatisch gestartet wird?
              Liebe Grüße
              Paul

              EDIT: So geht es:
              pm2 start 'sudo docker run -p 3000:3000 --mount type=bind,source=/home/pi/config,target=/config --mount type=bind,source=/home/pi/log,target=/log jomjol/wasserzaehler:raspi-rolling'

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

                @jomjol Ich leider nochmals. Bekomme nun über den Parser immer das Ergebnis: 411.8888 Das ROI Bild zeigt aber:

                6277f56a-3ad6-47b0-8b98-f69331c6eae4-image.png

                a3aba84b-c02a-4e40-9b06-b725f5691bd1-image.png

                Mache ich da noch was falsch? Früher waren immer die Zeiger korrekt und die Ziffern falsch, jetzt ist es umgekehrt.
                Liebe Grüße
                Paul

                1 Reply Last reply Reply Quote 0
                • C
                  C1500 last edited by

                  Servus
                  Mal ne etwas andere Zwischenfrage
                  Wie habt ihr den Plastikdeckel von der Wasseruhr ab bekommen?
                  Wenn ich den drauf lasse und auf klappe passt das mit dem 3D-Druck nicht mehr.
                  Oder habt ihr da ein Stück aus dem gedruckten Ring raus geschnitten?
                  Gruß Peer

                  Knallochse 1 Reply Last reply Reply Quote 0
                  • Knallochse
                    Knallochse @C1500 last edited by

                    @C1500 Ich habe einfach was rausgedremelt , da ich denke das die Wasserwerke was dagegen haben, wenn Mann mechanisch was an der Wasseruhr verändert.
                    Ist ja handwerklich auch keine große Sache

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

                      @pfried sagte in Wasserzähler - Selfmade:

                      @Knallochse Guten Morgen, habe dazu weiter oben gepostet. Check doch mal ob nicht statt Enable=True ConsistencyEnable=True in die Config.ini gehört.

                      Danke für den Hinweis, habe die config.ini mal dahingehend geändert (probiert habe ich : ConsistencyEnable=True und ConsistencyCheckEnable=True , was aber keinen Effekt hatte. Wird weiterhin kein Fehler ausgegeben. Mal sehen, ob @jomjol noch eine Idee hat.

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

                        Ich möchte einfach mal einen Gedanken zur Erkennung allgemein äußern.
                        Braucht es die Erkennung der digitalen Zahlen überhaupt?
                        Da bei mir die analogen Zeiger sehr zuverlässig erkannt werden, könnte man da nicht die m3-Zahlen rechnerisch erhöhten?
                        Bei mir machen halt die digitalen Zahlen Probleme.
                        Momentan sieht das Bild so aus:
                        A9119AFD-CEF3-4E1D-B098-776D60A9C939.jpeg
                        Erkannt wird: N00.1684 00N00 1684 (also die 3 nicht)

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

                          @pfried na klar, ich bin jetzt nicht der Javascript Programmierer, aber es funktioniert 😉
                          Bei schedule sind 10 Minuten eingestellt.
                          In der Klammer von body.slice können die Stellen noch angepasst werden, hier ist 0 (Anfang vom Array) und 8 (bis zur 8ten Stelle des Arrays). Könnt ihr anpassen, wie ihr es braucht.

                          createState('javascript.0.Wasserzaehler.Stand',"");
                          
                          schedule('*/10 * * * *', function () {
                          
                          var url = "http://IP:3000/wasserzaehler.html?usePreValue";
                          var req = require('request');
                          req(url, function(error, response, body) {
                              if (body){
                              log("Body OK","warn");
                             
                              setState("javascript.0.Wasserzaehler.Stand",body.slice(0, 8));
                              }
                              else
                              {log("Body fehlerhaft","warn");
                             
                              }
                          })
                          });
                          
                          1 Reply Last reply Reply Quote 0
                          • J
                            jomjol @Knallochse last edited by

                            @Knallochse Habe mal gerade meine internen Logs geprüft. Bei mir hat die Fehlererkennung gestern noch angeschlagen (ErrorRateTooHigh).
                            Hast du das Problem jetzt nur beim Übergang auf die nächsten Hunderter?
                            NNN dürfte es eigentlich gar nicht geben, wenn du mit den Wasserzähler mit dem Parameter "usePreValue" aufrufst - das würde ich unbedingt empfehlen:

                            /wasserzaehler.html?usePrevalue
                            
                            Knallochse 1 Reply Last reply Reply Quote 0
                            • Knallochse
                              Knallochse @jomjol last edited by

                              @jomjol:

                              /wasserzaehler.html?usePrevalue
                              

                              Dankeschön, damit geht die Fehlerprüfung 👍

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

                                @jomjol Hallo jomjol, bei meinem Raspberry 4 mit 2Gbyte Hauptspeicher, verabschiedet sich der Docker immer nach einiger Zeit mit:

                                9e6527bb-c9d6-4e5b-b03c-1f179abf9a46-image.png

                                Was kann ich da noch tun?
                                Liebe Grüße
                                Paul

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

                                  @pfried Was heisst den nach einiger Zeit? Scheint, dass irgendein Speicher überläuft, bisher habe ich mich nicht um das Speichermanagement gekümmtert.

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

                                    @pfried Hallo Paul, ich habe eine Speicherlücke in LoadFileFromHTTPClass.py gefunden und korrigiert. Da ich bis nächstes Wochenende verreist bin, habe ich keinen Raspi zum testen, ob es überhaupt läuft. Daher habe ich für dich ein neues Docker zum Testen hochgeladen: jomjol/wasserzaehler:raspi-rolling3

                                    Wichtig ist die "3" bei rolling. Ich wollte die alte Version ohne Test auf meinem Raspi (gerade ohne Strom) nicht überschreiben.

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

                                      @jomjol OK, mache mich gleich ans testen. Melde mich asap. Der letzte Overflow war zwischen 2 und 4 Stunden....

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

                                        @pfried Konnte das Image an einem Raspberry B3 testen - zumindest läuft es. Ich erstelle gerade das "raspi-rolling" neu. Sobald es durch ist, lösche ich "raspi-rolling3" - ist aber identisch
                                        Du hast das ganze auf einem Raspi 4 laufen - korrekt?

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

                                          @jomjol
                                          Hallo jomjol, habe um 15:35h den Docker gestartet und um 19:15h hat der Docker die Fehlermeldung ausgegeben, die nun bei jedem Aufruf ausgegeben wird. Startet man den Docker neu, läuft er wieder für die circa 4 Stunden. Unten die erste Fehlermeldung nach dem Crash:

                                          ceba2652-bbb4-4acc-8f96-4f2b2a8eec15-image.png

                                          Mein Docker läuft unter RB4
                                          Ich hoffe irgendwann gibt es wieder eine Version die unter Python läuft, denn im Docker ist man völlig blind wenn man sich nicht auskennt...
                                          Liebe Grüße
                                          Paul

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

                                            Moin, ich möchte mich hier mal kurz (oder lang 😊 ) mit einklinken.

                                            ich versuche gerade die Kamera zu implementieren, jedoch habe ich beim kompilieren folgenden Fehler
                                            'Adafruit_NeoPixel' does not name a type

                                            
                                            
                                                             from C:\Users\tajes\Documents\Arduino\all_wasser_skatch_jam\all_wasser_skatch_jam.ino:11:
                                            
                                            JomjolGitESP32CamComm.h:36:7: error: 'Adafruit_NeoPixel' does not name a type
                                            
                                                   Adafruit_NeoPixel *light; 
                                            
                                                   ^
                                            
                                            In file included from C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CAM-Server-Class.h:2:0,
                                            
                                                             from C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CAM-Server-Class.cpp:1:
                                            
                                            JomjolGitESP32CamComm.h:36:7: error: 'Adafruit_NeoPixel' does not name a type
                                            
                                                   Adafruit_NeoPixel *light; 
                                            
                                                   ^
                                            
                                            In file included from C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp:1:0:
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CAMComm.h:36:7: error: 'Adafruit_NeoPixel' does not name a type
                                            
                                                   Adafruit_NeoPixel *light; 
                                            
                                                   ^
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp: In constructor 'GitESP32CAMCommLibrary::ESP32CAMCommClass::ESP32CAMCommClass(int, int, int, int, int, WebServer*)':
                                            
                                            JomjolGitESP32CamComm.cpp:7:3: error: 'light' was not declared in this scope
                                            
                                               light = new Adafruit_NeoPixel(_num_led, _pin, NEO_GRBW + NEO_KHZ800);
                                            
                                               ^
                                            
                                            JomjolGitESP32CamComm.cpp:7:15: error: expected type-specifier before 'Adafruit_NeoPixel'
                                            
                                               light = new Adafruit_NeoPixel(_num_led, _pin, NEO_GRBW + NEO_KHZ800);
                                            
                                                           ^
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp: In member function 'virtual void GitESP32CAMCommLibrary::ESP32CAMCommClass::setup()':
                                            
                                            JomjolGitESP32CamComm.cpp:193:3: error: 'light' was not declared in this scope
                                            
                                               light->setBrightness(brightness);
                                            
                                               ^
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp: In member function 'void GitESP32CAMCommLibrary::ESP32CAMCommClass::LightOn()':
                                            
                                            JomjolGitESP32CamComm.cpp:213:3: error: 'light' was not declared in this scope
                                            
                                               light->show(); // Initialize all pixels to 'off'
                                            
                                               ^
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp: In member function 'void GitESP32CAMCommLibrary::ESP32CAMCommClass::LightOff()':
                                            
                                            JomjolGitESP32CamComm.cpp:220:13: error: 'light' was not declared in this scope
                                            
                                               colorWipe(light->Color(0, 0, 0, 0), 0); // Aus
                                            
                                                         ^
                                            
                                            C:\Users\tajes\AppData\Local\Temp\arduino_build_422536\sketch\JomjolGitESP32CamComm.cpp: In member function 'void GitESP32CAMCommLibrary::ESP32CAMCommClass::colorWipe(uint32_t, uint8_t)':
                                            
                                            JomjolGitESP32CamComm.cpp:226:23: error: 'light' was not declared in this scope
                                            
                                               for(uint16_t i=0; i<light->numPixels(); i++) {
                                            
                                                                   ^
                                            
                                            JomjolGitESP32CamComm.cpp:231:1: error: expected '}' at end of input
                                            
                                             }
                                            
                                             ^
                                            
                                            Mehrere Bibliotheken wurden für "WebServer.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WebServer
                                            Mehrere Bibliotheken wurden für "ESPmDNS.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\ESPmDNS
                                            Mehrere Bibliotheken wurden für "ArduinoOTA.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\ArduinoOTA
                                            Mehrere Bibliotheken wurden für "Update.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Update
                                            Mehrere Bibliotheken wurden für "FS.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS
                                            Mehrere Bibliotheken wurden für "WiFi.h" gefunden
                                             Benutzt: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
                                             Nicht benutzt: C:\Program
                                            Bibliothek WiFi in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi  wird verwendet
                                            Bibliothek WebServer in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WebServer  wird verwendet
                                            Bibliothek ESPmDNS in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\ESPmDNS  wird verwendet
                                            Bibliothek ArduinoOTA in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\ArduinoOTA  wird verwendet
                                            Bibliothek Update in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Update  wird verwendet
                                            Bibliothek FS in Version 1.0 im Ordner: C:\Users\tajes\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS  wird verwendet
                                            exit status 1
                                            'Adafruit_NeoPixel' does not name a type
                                            
                                                  Adafruit_NeoPixel *light; 
                                                  int brightness;
                                                  void colorWipe(uint32_t c, uint8_t wait);
                                            
                                                  framesize_t fr_size;
                                                  uint8_t fr_quality;
                                            

                                            Von diesem in der ersten Zeile, im Sketch Zeile 36

                                            Hat das schon mal jemand gehabt bzw. eine Lösung ad hock parat?

                                            Für Brainstorming oder :"Ey Du siehst den Wald vor lauter Bäume nicht..." wäre ich sehr dankbar...

                                            Und Daumen Hoch für die geleistete Arbeit hier 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            796
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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