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.
    • sissiwup
      sissiwup @sissiwup last edited by sissiwup

      @sissiwup
      Hallo,

      für alle die den docker häufiger restarten habe ich das Skript angepaßt.
      Der letzte Wert wird als preValue gesetzt.
      Gleichzeitig habe ich noch angepasst, dass nicht nur 3-stellige Wasserzähler funktionieren.

      createState('javascript.0.vWasserzaehler',"");
       
      schedule('*/10 * * * *', function () {
      
      var url = "http://192.168.1.13:3000/setPreValue?value="+getState('javascript.0.vWasserzaehler').val;
      var req = require('request');
      req(url, function(error, response, body) {
          if (body){
              log("Set OK:"+ body,"info");
          }
          else
          {
              log("Set fehlerhaft:" +url+"->"+ body,"warn");
          }
      })
      
      
      var url = "http://192.168.1.13:3000/wasserzaehler.html?usePreValue";
      var req = require('request');
      req(url, function(error, response, body) {
          if (body){
              var count=String(body.match(/^[0-9.N]+/));
              log("Body OK:"+body+"->" + count,"info");
              setState("javascript.0.vWasserzaehler",count);
          }
          else
          {
              log("Body fehlerhaft:" +url+"->"+ body,"warn");
          }
      })
      });
      
      J pfried 2 Replies Last reply Reply Quote 1
      • J
        jomjol @sissiwup last edited by

        @sissiwup Colle Idee mit dem automatischen Setzen von preValue. Den Wert könnte man auch intern speichern. Frage ist dann nur, was mache ich, wenn der Container länger nicht lief und der Wert schon "sehr alt" ist. Man könnte noch ein Verfallsdatum hinzufügen - überlege ich mir mal.

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

          @jomjol Hi Jomjol, ich bin nicht auf die Idee gekommen, dass man den usePreValue Parameter braucht, da auch im Code unter dem checkConsistency ein PreValue nicht vorkommt:

          2ac1d518-097a-4659-a4bd-8f1f4d59ed77-image.png

          Werde einen Issue in Github aufmachen. Ich denke aber, dass der Vorschlag von @sissiwup ausreicht.....

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

            @sissiwup Bitte um Nachsicht ich bin Anfänger: Ich habe statt dem Parser im IOBroker nun unter javascript Deinen Code reinkopiert, aber es stellt das Ding bei var req = require('request'); auf: cannot find name 'require'

            342d3ca2-b9a3-4e32-8d59-669cfc73124c-image.png

            Was mache ich falsch?

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

              @pfried hi,
              die IP von Zeile 5 stimmt erstmal nicht mit Zeile 18 überein. Xxx.xxx.x.130 & xxx.xxx.x.13 ...
              So als Schnellübersicht... 😉

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

                @Rababersaft Habe ich nun ausgebessert, danke für den Hinweis!
                Fehlermeldung im Log:

                df1e8efd-fd60-49c5-8f9b-ee5962bd50b1-image.png

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

                  @pfried sagte in Wasserzähler - Selfmade:

                  @sissiwup Bitte um Nachsicht ich bin Anfänger: Ich habe statt dem Parser im IOBroker nun unter javascript Deinen Code reinkopiert, aber es stellt das Ding bei var req = require('request'); auf: cannot find name 'require'

                  342d3ca2-b9a3-4e32-8d59-669cfc73124c-image.png

                  Was mache ich falsch?

                  Hallo,

                  request ist schon vordefiniert. Muss nicht mehr eingebunden werden.
                  Und zur Fehlermeldung siehe: Forum zu Fehler

                  createState('javascript.0.vWasserzaehler',"");
                   
                  schedule('*/10 * * * *', function () {
                  
                  var url = "http://192.168.1.13:3000/setPreValue?value="+getState('javascript.0.vWasserzaehler').val;
                  
                  request(url, function(error, response, body) {
                      if (body){
                          log("Set OK:"+ body,"info");
                      }
                      else
                      {
                          log("Set fehlerhaft:" +url+"->"+ body,"warn");
                      }
                  })
                  
                  
                  var url = "http://192.168.1.13:3000/wasserzaehler.html?usePreValue";
                  
                  request(url, function(error, response, body) {
                      if (body){
                          var count=String(body.match(/^[0-9.N]+/));
                          log("Body OK:"+body+"->" + count,"info");
                          setState("javascript.0.vWasserzaehler",count);
                      }
                      else
                      {
                          log("Body fehlerhaft:" +url+"->"+ body,"warn");
                      }
                  })
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • sissiwup
                    sissiwup @pfried last edited by

                    @pfried
                    Was steht in javascript.0.vWasserzaehler ?
                    Schreib da mal deinen letzten Wert rein

                    123.34567

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

                      @jomjol sagte in Wasserzähler - Selfmade:

                      @sissiwup Colle Idee mit dem automatischen Setzen von preValue. Den Wert könnte man auch intern speichern. Frage ist dann nur, was mache ich, wenn der Container länger nicht lief und der Wert schon "sehr alt" ist. Man könnte noch ein Verfallsdatum hinzufügen - überlege ich mir mal.

                      Ja, ich mußte bei mir die 0.1 auch schon erhöhen, da ich die Wasseruhr nur alle 10 Minuten auslese. Nutze jetzt 0.5 (config.ini)

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

                        @sissiwup @pfried
                        Ich habe gerade die rolling erweitert, um das Speichern und Laden des preValue-Wertes in eine "prevalue.ini". Über zwei Parameter im Bereich ConsinstencyCheck kann man ...

                        1. Das Laden ein/ausschalten: ReadPreValueFromFileAtStartup=True
                        2. Eine maximale Zeit seit dem letzten Speichern und dem Laden definieren, um zu alte Werte beim Laden zu verwerfen: ReadPreValueFromFileMaxAge=30
                          Einheit hier ist Minuten - sprich wenn der gespeicherte Wert älter als 30 Minuten vor dem Neustart ist, wird er nicht mehr geladen.

                        Der Docker-Build für die normale Rolling und Raspi-Rolling läuft gerade auf Docker-Hub und sollte bald verfügbar sein. Macht euch vielleicht vorher ein Backup eurer alten Rolling, da ich für Debugging und Fehlersuche die Tage nicht so viel Zeit habe. Bei mir läuft es, aber man weiß ja nie :-).

                        Gruß, jomjol

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

                          @sissiwup Danke, jetzt geht es! 😊

                          1 Reply Last reply Reply Quote 0
                          • Marcel saß
                            Marcel saß last edited by

                            Druckt jemand die Halterung für den ESP32 in schwarz gegen Bezahlung?

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

                              Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings). Bei sind in den letzten Tagen keine Fehler aufgetreten oder gemeldet worden und ich beginne eine größe Implementierung für die Config.ini - daher das Update.
                              Gruß,
                              jomjol

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

                                Hi jomjol, bei mir geht die neue Version wieder einmal super! Danke! Sag hast Du eine Lösung für das Anlaufen des Wasserzählers, ich habe schon einige Dinge ausprobiert, aber das Problem kommt immer wieder......

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

                                  @pfried Anlaufen ist bei mir kein Problem, da der Zähler in einem recht warmen Kellerraum ist. Könnte mir einen Lüfter oder eine kleine Heizung vorstellen. Meistens reicht ja schon ein Temperaturuntersschied von wenigen 2-3 Grad, um eine Kondensation zu vermeiden. Problem ist nur, dass man die Wasseruhr selbst heizen müsste - das geht eher nicht.
                                  Hattest du Kondensation schon, bevor du die Halterung drauf hattest? Wenn nein, könnte schon eine Halterung mit großen Lüftungslöchern helfen - vielleicht erstmal reinsägen.

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

                                    Guten Morgen,
                                    könnte einer der Docker Experten hier mal noch ne kleine Anleitung machen was man machen muss, wenn ich die neue Version herunterladen und starten will. Behelfe mir momentan damit, dass ich alle Container und Images löschen, neuen Pull machen und den Container starte. Das geht aber sicher auch einfacher.

                                    Was mich immer noch irritiert: Mein Proxmox Container hat ohne heruntergeladene Docker Container ca. 5GByte Speicherbedarf auf der Festplatte. Lade ich den Docker herunter und starte diesen, Hat sich der Speicherbedarf (Festplatte) um ca. 13GByte erhöht auf ca. 28 GByte.

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

                                      @ecki945
                                      Guten Abend!
                                      Auch wenn der Container noch läuft kann man mit:

                                      sudo docker pull jomjol/wasserzaehler:[Docker Version].........ein Image laden (geht auch bei laufenden Container)
                                      sudo docker system df............................................................................Anzeige aller Images und Container
                                      sudo docker container ls........................................................................zeigt alle Container an
                                      sudo docker image ls...............................................................................zeigt alle Images an
                                      sudo docker container prune................................................................löscht alle alten Container
                                      sudo docker image prune......................................................................löscht alle alten Images
                                      sudo docker container kill [Container ID oder Alias Name].....Stoppt den Container mit der korresp. ID oder Alias
                                      sudo docker container rm [Container ID oder Alias Name].....Removed den Container (nach kill aufrufen-Port Freigabe)
                                      sudo docker restart [Container ID oder Alias Name]..................Neustart des Containers

                                      Das sind alle Kommandos die ich verwende (es gibt aber viel, viel mehr: sudo docker --help).

                                      Aufruf des Containers:

                                      sudo docker run -d --name wasser --restart unless-stopped -p 3000:3000 ..........................

                                      -d.................................................start as a service
                                      --name wasser.......................Alias Name des Containers
                                      --restart unless-stopped....Docker startet nach Neustart des Systems wieder selbstständig
                                      -P 3000:3000...........................Port ausserhalb / innerhalb des Containers (innerhalb soweit ich weiß nicht ändern). Somit kann man mehrere Instanzen des Containers laufen lassen, halt mit verschiedenen Ports.

                                      So ich hoffe, dass ich alles richtig wiedergegeben habe 😊

                                      1 Reply Last reply Reply Quote 2
                                      • Rababersaft
                                        Rababersaft @jomjol last edited by Rababersaft

                                        @jomjol sagte in Wasserzähler - Selfmade:

                                        Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings).

                                        Danke für Deine viele Arbeit und Mühe... und ich bin echt begeistert, was du hier auf die Beine stellst....
                                        Nach meinem letzten Pull für den :latest, habe ich bei der Versionsabfrage http://xxx.xxx.xxx.xxx:3000/version noch Version 5.0.0 als ergebnis.
                                        ist das richtig?

                                        sorry wenn ich doof frage...

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

                                          @Rababersaft Nein, da hast du noch nicht die aktuelle Version. Die sollte Version 5.3.0 zeigen.
                                          Zumindest bei meiner rolling tut sie das auch. raspi-rolling habe ich nicht aktiv geprüft.
                                          Du must den docker container nochmal ziehen und neu starten.
                                          Gruß, jomjol

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

                                            @Rababersaft sagte in Wasserzähler - Selfmade:

                                            @jomjol sagte in Wasserzähler - Selfmade:

                                            Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings).

                                            Danke für Deine viele Arbeit und Mühe... und ich bin echt begeistert, was du hier auf die Beine stellst....
                                            Nach meinem letzten Pull für den :latest, habe ich bei der Versionsabfrage http://xxx.xxx.xxx.xxx:3000/version noch Version 5.0.0 als ergebnis.
                                            ist das richtig?

                                            sorry wenn ich doof frage...

                                            Hallo,

                                            bei meiner latest version kommt:

                                            Version 5.3.0
                                            
                                            docker image ls -a 
                                            docker container ls -a
                                            

                                            zeigt die vorhandenen Images bzw. container (hier kannst du auf Created schauen)

                                            sissiwup 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            370
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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