Skip to content
  • Home
  • 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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Wasserzähler - Selfmade

NEWS

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

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

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

Wasserzähler - Selfmade

Geplant Angeheftet Gesperrt Verschoben Hardware
wasser wasserzählerhow-to
1.1k Beiträge 48 Kommentatoren 374.8k Aufrufe 72 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.
  • pfriedP Offline
    pfriedP Offline
    pfried
    schrieb am zuletzt editiert von
    #539

    @sissiwup Schau Dir nochmals das Bild bei Dir an, es kommt mir vor, dass das Bild "schräg" ist. Das ist mir passiert, als ich die Referenzpunkte nicht genau gesetzt hatte. Mein Bild sieht jetzt so aus:

    98039b18-be11-4fc0-82e8-10d902ba89a4-image.png

    PS.: Nochwas für alle, die Probleme mit dem "anlaufen" (Kondenswasser) des Wasserzähler haben. Habe vieles ausprobiert und auch einen Ventilator in das Gehäuse eingebaut, der verschlimmert aber die Sache noch. Ich verwende nun Wasser, welches ich auf das Schauglass aufbringe. Das hält nun schon sehr lange, da mein Zähler in einem dunklen, kalten Schacht installiert ist.

    1 Antwort Letzte Antwort
    0
    • J jomjol

      @sissiwup Wenn du mir von jeder Ziffer (0, 1 ... 9) jeweils ca 3-4 Bilder schickst, kann ich sie in das Training von der Bilderkennung mit aufnehmen. Das sollte deinProblem lösen

      sissiwupS Offline
      sissiwupS Offline
      sissiwup
      schrieb am zuletzt editiert von
      #540

      @jomjol sagte in Wasserzähler - Selfmade:

      @sissiwup Wenn du mir von jeder Ziffer (0, 1 ... 9) jeweils ca 3-4 Bilder schickst, kann ich sie in das Training von der Bilderkennung mit aufnehmen. Das sollte deinProblem lösen

      Hallo,
      Schön wäre es, wenn er die Bilder unterschiedlicher Ziffern automatisch sammelt. Dauert ja doch ein paar Tage, bis alle Ziffern mal dran waren, wenn man nicht grade einen Gatenteich befüllt.

      Dann könnte man auch ein eigenes Modell speziell für die eigenen Verhältnisse erstellen.

      MfG

      Sissi

      –-----------------------------------------

      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


      J 1 Antwort Letzte Antwort
      0
      • sissiwupS sissiwup

        @jomjol sagte in Wasserzähler - Selfmade:

        @sissiwup Wenn du mir von jeder Ziffer (0, 1 ... 9) jeweils ca 3-4 Bilder schickst, kann ich sie in das Training von der Bilderkennung mit aufnehmen. Das sollte deinProblem lösen

        Hallo,
        Schön wäre es, wenn er die Bilder unterschiedlicher Ziffern automatisch sammelt. Dauert ja doch ein paar Tage, bis alle Ziffern mal dran waren, wenn man nicht grade einen Gatenteich befüllt.

        Dann könnte man auch ein eigenes Modell speziell für die eigenen Verhältnisse erstellen.

        J Offline
        J Offline
        jomjol
        schrieb am zuletzt editiert von
        #541

        @sissiwup Hallo sissiwup,
        das tut das Programm auch schon. Du kannst es in der Config.ini aktivieren, indem du die Kommentierung vor der Zeile LogImageLocation entfernst, dann findest du die Bilder im entsprechenden log Verzeichnis:

        [Digital_Digit]
        names=ziffer1, ziffer2, ziffer3, ziffer4, ziffer5
        Modelfile=./config/neuralnets/Train_CNN_Digital-Readout_Version_4.1.0.h5
        LogImageLocation=./log/digital_digit
        #LogNames=ziffer4, ziffer5
        

        Wenn du nur die letzten Ziffern mitloggen willst, da sich die anderen eh nicht ändern, es sei den du versorgst ein ganzes Dorf, kann du über den Parameter LogNames noch festlegen, dass nur Bilder der aufgezählten Ziffern geloggt werden. Die Namen müssen zu den Bezeichnungen deiner ROIs passen.
        Ziffern, die nicht zugeordnet werden konnten ("N") finden sich in "NAN".
        Gruß,
        jomjol

        sissiwupS 1 Antwort Letzte Antwort
        1
        • J jomjol

          @sissiwup Hallo sissiwup,
          das tut das Programm auch schon. Du kannst es in der Config.ini aktivieren, indem du die Kommentierung vor der Zeile LogImageLocation entfernst, dann findest du die Bilder im entsprechenden log Verzeichnis:

          [Digital_Digit]
          names=ziffer1, ziffer2, ziffer3, ziffer4, ziffer5
          Modelfile=./config/neuralnets/Train_CNN_Digital-Readout_Version_4.1.0.h5
          LogImageLocation=./log/digital_digit
          #LogNames=ziffer4, ziffer5
          

          Wenn du nur die letzten Ziffern mitloggen willst, da sich die anderen eh nicht ändern, es sei den du versorgst ein ganzes Dorf, kann du über den Parameter LogNames noch festlegen, dass nur Bilder der aufgezählten Ziffern geloggt werden. Die Namen müssen zu den Bezeichnungen deiner ROIs passen.
          Ziffern, die nicht zugeordnet werden konnten ("N") finden sich in "NAN".
          Gruß,
          jomjol

          sissiwupS Offline
          sissiwupS Offline
          sissiwup
          schrieb am zuletzt editiert von sissiwup
          #542

          @jomjol sagte in Wasserzähler - Selfmade:

          @sissiwup Hallo sissiwup,
          das tut das Programm auch schon. Du kannst es in der Config.ini aktivieren, indem du die Kommentierung vor der Zeile LogImageLocation entfernst, dann findest du die Bilder im entsprechenden log Verzeichnis:

          [Digital_Digit]
          names=ziffer1, ziffer2, ziffer3, ziffer4, ziffer5
          Modelfile=./config/neuralnets/Train_CNN_Digital-Readout_Version_4.1.0.h5
          LogImageLocation=./log/digital_digit
          #LogNames=ziffer4, ziffer5
          

          Wenn du nur die letzten Ziffern mitloggen willst, da sich die anderen eh nicht ändern, es sei den du versorgst ein ganzes Dorf, kann du über den Parameter LogNames noch festlegen, dass nur Bilder der aufgezählten Ziffern geloggt werden. Die Namen müssen zu den Bezeichnungen deiner ROIs passen.
          Ziffern, die nicht zugeordnet werden konnten ("N") finden sich in "NAN".
          Gruß,
          jomjol

          Super, Danke. Probiere ich aus.

          MfG

          Sissi

          –-----------------------------------------

          1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


          1 Antwort Letzte Antwort
          0
          • E Offline
            E Offline
            ecki945
            schrieb am zuletzt editiert von
            #543

            Eine Frage zur Ausgabeinternetseite vom Dockercontainer. Habe aktuell die Ausgabe:

            fe5f6bab-7f7e-4744-a8ab-a29057e20d3a-grafik.png

            Der Wert 106.0934 passt eigentlich. Jedoch hat der Parser Adapter Probleme den Wert zu empfangen. Wo kann die "Internetseite" im Docker Container angepasst werden, dass der Parser Adapter es leichter hat, den aktuellen Wert zu finden?

            sissiwupS 1 Antwort Letzte Antwort
            0
            • E ecki945

              Eine Frage zur Ausgabeinternetseite vom Dockercontainer. Habe aktuell die Ausgabe:

              fe5f6bab-7f7e-4744-a8ab-a29057e20d3a-grafik.png

              Der Wert 106.0934 passt eigentlich. Jedoch hat der Parser Adapter Probleme den Wert zu empfangen. Wo kann die "Internetseite" im Docker Container angepasst werden, dass der Parser Adapter es leichter hat, den aktuellen Wert zu finden?

              sissiwupS Offline
              sissiwupS Offline
              sissiwup
              schrieb am zuletzt editiert von
              #544

              @ecki945 sagte in Wasserzähler - Selfmade:

              Eine Frage zur Ausgabeinternetseite vom Dockercontainer. Habe aktuell die Ausgabe:

              fe5f6bab-7f7e-4744-a8ab-a29057e20d3a-grafik.png

              Der Wert 106.0934 passt eigentlich. Jedoch hat der Parser Adapter Probleme den Wert zu empfangen. Wo kann die "Internetseite" im Docker Container angepasst werden, dass der Parser Adapter es leichter hat, den aktuellen Wert zu finden?

              Hallo,

              was für einen Aufruf nutzt du?
              Hast du "?usePreValue" am Ende dran?

              Bei mir hat der Parser-Adapter leider den ESP zum Absturz gebracht. Seit dem nutze ich das o.g. Skript. Das läuft jetzt stabil.

              MfG

              Sissi

              –-----------------------------------------

              1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                ecki945
                schrieb am zuletzt editiert von
                #545

                Guten Morgen

                @sissiwup Ich rufe den Parser mit URL: http://192.168.178.61:3000/wasserzaehler.html auf.

                sissiwupS 1 Antwort Letzte Antwort
                0
                • pfriedP Offline
                  pfriedP Offline
                  pfried
                  schrieb am zuletzt editiert von
                  #546

                  @jomjol
                  Guten Morgen, ich hätte eine Frage bzgl der Auswertung: es kommt ja doch relativ oft vor, dass die Ziffer 5 wechselt. Bei meiner Wasseruhr startet der Wechsel circa 50 Liter vorher (also z.B. bei 422,9500 und die Erkennung funktioniert wieder circa 10 Liter nach dem Wechsel (also bei z.B. 423,0100). Dazwischen kommt das N bei der Auswertung der Ziffer 5 (z.B. 42N,9990). Könnte man nicht in diesem Bereich, also von xxxxx,09500 bis xxxxx,0100 dieses N automatisch mit dem "richtigen" Wert ersetzen? Also 422,9999 und dann weiter mit 423.0000 ....
                  Den Bereich könnte man dann vielleicht in der config.ini einstellbar machen (Liter vorher / Liter nachher) da wahrscheinlich jede Wasseruhr anders ist.
                  Aber vielleicht gibt es bereits einen einfacheren Weg?
                  Liebe Grüße
                  Paul

                  1 Antwort Letzte Antwort
                  0
                  • E ecki945

                    Guten Morgen

                    @sissiwup Ich rufe den Parser mit URL: http://192.168.178.61:3000/wasserzaehler.html auf.

                    sissiwupS Offline
                    sissiwupS Offline
                    sissiwup
                    schrieb am zuletzt editiert von sissiwup
                    #547

                    @ecki945 sagte in Wasserzähler - Selfmade:

                    Guten Morgen

                    @sissiwup Ich rufe den Parser mit URL: http://192.168.178.61:3000/wasserzaehler.html auf.

                    Hallo,
                    Dann nutze doch
                    http://192.168.178.61:3000/wasserzaehler.html?usePrevalue

                    Das ist genau dafür gemacht, das er die Ziffern korrigiert.

                    MfG

                    Sissi

                    –-----------------------------------------

                    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                    1 Antwort Letzte Antwort
                    0
                    • pfriedP Offline
                      pfriedP Offline
                      pfried
                      schrieb am zuletzt editiert von
                      #548

                      @jomjol Hi jomjol,
                      ich komme nochmals auf die ZaehlerstandClass.py zurück. Ich habe in der config.ini in der Sektion:

                      51ed74d4-f7b2-4625-90ce-3c89eed9662d-image.png

                      stehen. Trotzdem gibt es negative Sprünge als auch Werte die > 100 Liter auseinander liegen....

                      cc0d7096-a5e3-4233-a71f-a517fac5fdd1-image.png

                      Oder mache ich was mit dem Parser falsch?

                      db5686d2-15a3-467e-8487-9d015bc19719-image.png

                      c4a43517-7d1e-458f-8ed2-8ab29d44c009-image.png
                      RegEX = [N|0-9][N|0-9][N|0-9][N|0-9][N|0-9]\D\d\d\d\d

                      J 1 Antwort Letzte Antwort
                      0
                      • pfriedP pfried

                        @jomjol Hi jomjol,
                        ich komme nochmals auf die ZaehlerstandClass.py zurück. Ich habe in der config.ini in der Sektion:

                        51ed74d4-f7b2-4625-90ce-3c89eed9662d-image.png

                        stehen. Trotzdem gibt es negative Sprünge als auch Werte die > 100 Liter auseinander liegen....

                        cc0d7096-a5e3-4233-a71f-a517fac5fdd1-image.png

                        Oder mache ich was mit dem Parser falsch?

                        db5686d2-15a3-467e-8487-9d015bc19719-image.png

                        c4a43517-7d1e-458f-8ed2-8ab29d44c009-image.png
                        RegEX = [N|0-9][N|0-9][N|0-9][N|0-9][N|0-9]\D\d\d\d\d

                        J Offline
                        J Offline
                        jomjol
                        schrieb am zuletzt editiert von
                        #549

                        @pfried Hallo pfried,
                        auf den ersten Blick sehe ich keinen Fehler und eigentlich dürftest du keine negativen Werte haben. Zwei Fragen dazu:

                        1. Hast du den Server nach Änderung der Config.ini neu gestartet?
                        2. usePreValue funktioniert nur, wenn auch mindestens einmal ein vollständiger Wert (also ohne "N") gelesen wurde. Alternativ kannst du den WErt auch mit /setPreValue?value=406.1187 setzen.

                        Beste Grüße, jomjol

                        pfriedP 1 Antwort Letzte Antwort
                        0
                        • J jomjol

                          @pfried Hallo pfried,
                          auf den ersten Blick sehe ich keinen Fehler und eigentlich dürftest du keine negativen Werte haben. Zwei Fragen dazu:

                          1. Hast du den Server nach Änderung der Config.ini neu gestartet?
                          2. usePreValue funktioniert nur, wenn auch mindestens einmal ein vollständiger Wert (also ohne "N") gelesen wurde. Alternativ kannst du den WErt auch mit /setPreValue?value=406.1187 setzen.

                          Beste Grüße, jomjol

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

                          @jomjol Hallo jomjol, der Server wird über den Docker restart Befehl alle zwei Stunden neu gestartet. Ich habe das auch getestet und es wird bei jeden restart auch die config.ini übernommen.
                          Ich hatte den usePreValue zu dem oben genannten Zeitpunkt nicht in Verwendung. Das Bild zeigt zwar die Verwendung, ist aber nicht aktuell.
                          Liebe Grüße
                          Paul

                          J 1 Antwort Letzte Antwort
                          0
                          • B Offline
                            B Offline
                            Brati
                            schrieb am zuletzt editiert von
                            #551

                            Sooo, hab das DAU Stadium verlassen und muss nur noch etwas nachjustieren:

                            1. Test.jpg

                            Meine ESP Cam zickt im WLAN rum, wenn sie sich sich mit dem Mesh Repeater verbindet, dann ist sie nicht mehr erreichbar. Und ohne das ich ihn kurz rausziehe, geht sie immer zum Repeater, obwohl der weiter weg ist als die FritzBox.

                            Warum werden mir eigentlich die 3 Analogen Zeiger Positionen angezeigt, obwohl in der ini

                            [AnalogReadOut]
                            #If enabled analog counters will be read, if disabled only digital counters will be read.
                            Enabled=false
                            

                            gesetzt ist?

                            Grüße Brati

                            CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                            J 1 Antwort Letzte Antwort
                            0
                            • B Brati

                              Sooo, hab das DAU Stadium verlassen und muss nur noch etwas nachjustieren:

                              1. Test.jpg

                              Meine ESP Cam zickt im WLAN rum, wenn sie sich sich mit dem Mesh Repeater verbindet, dann ist sie nicht mehr erreichbar. Und ohne das ich ihn kurz rausziehe, geht sie immer zum Repeater, obwohl der weiter weg ist als die FritzBox.

                              Warum werden mir eigentlich die 3 Analogen Zeiger Positionen angezeigt, obwohl in der ini

                              [AnalogReadOut]
                              #If enabled analog counters will be read, if disabled only digital counters will be read.
                              Enabled=false
                              

                              gesetzt ist?

                              Grüße Brati

                              J Offline
                              J Offline
                              jomjol
                              schrieb am zuletzt editiert von
                              #552

                              @Brati Hi Brati,
                              das ist noch ein Bug - das Feature ROI-Zeichnen habe ich implementiert, als es das Disable noch nicht gab. Korrigiere ich bei Gelegenheit - mach vielleicht in Issue in Github, dann vergesse ich es nicht.

                              1 Antwort Letzte Antwort
                              0
                              • pfriedP pfried

                                @jomjol Hallo jomjol, der Server wird über den Docker restart Befehl alle zwei Stunden neu gestartet. Ich habe das auch getestet und es wird bei jeden restart auch die config.ini übernommen.
                                Ich hatte den usePreValue zu dem oben genannten Zeitpunkt nicht in Verwendung. Das Bild zeigt zwar die Verwendung, ist aber nicht aktuell.
                                Liebe Grüße
                                Paul

                                J Offline
                                J Offline
                                jomjol
                                schrieb am zuletzt editiert von
                                #553

                                @pfried Hi Paul,
                                dann ist alles klar. Ohne "usePreValue" wird funktiniert der Consistency Check nicht, da er ja keinen Wert als Vergleich hat - momentan speichert er den Vorgängerwert nur, wenn "usePreValue" auch gesetzt ist und nur dann kann auch ein Vergleich auf Maximale Veränderung bzw. negative Werte gemacht werden.
                                Müsste eigentlich nicht unbedingt sein. Aber ich bin noch nicht auf die Idee gekommen, dass jemand den ConsistencyCheck ohne usePreValue macht. Macht auch nicht in jeder Situation Sinn, denn wenn du das "N" bei Ziffernswechsel ersetzt, kann auch kein Konsistenzcheck gemacht werden.
                                Müsste mal überlegen, wie es am sinnvollsten ist. Was wäre dein Vorschlag? Vielleicht kannst du einen Issue in Github machen, dann bleibt es im Ideenspeicher.
                                Beste Grüße,
                                jomjol

                                sissiwupS pfriedP 2 Antworten Letzte Antwort
                                0
                                • J jomjol

                                  @pfried Hi Paul,
                                  dann ist alles klar. Ohne "usePreValue" wird funktiniert der Consistency Check nicht, da er ja keinen Wert als Vergleich hat - momentan speichert er den Vorgängerwert nur, wenn "usePreValue" auch gesetzt ist und nur dann kann auch ein Vergleich auf Maximale Veränderung bzw. negative Werte gemacht werden.
                                  Müsste eigentlich nicht unbedingt sein. Aber ich bin noch nicht auf die Idee gekommen, dass jemand den ConsistencyCheck ohne usePreValue macht. Macht auch nicht in jeder Situation Sinn, denn wenn du das "N" bei Ziffernswechsel ersetzt, kann auch kein Konsistenzcheck gemacht werden.
                                  Müsste mal überlegen, wie es am sinnvollsten ist. Was wäre dein Vorschlag? Vielleicht kannst du einen Issue in Github machen, dann bleibt es im Ideenspeicher.
                                  Beste Grüße,
                                  jomjol

                                  sissiwupS Offline
                                  sissiwupS Offline
                                  sissiwup
                                  schrieb am zuletzt editiert von
                                  #554

                                  @jomjol
                                  Hallo,

                                  ich habe noch ein Problem festgestellt:

                                  Durch das Restarten des Docker-Containers ist der preValue weg.
                                  D.h. wenn @pfried alle 2h seinen Container neu startet und er in dieser Zeit ein NaN hat, nach dem Start der Wert nicht mehr korrigiert wird.

                                  Könnte das in eine Datei ins config-Verzeichnis geschrieben werden?

                                  MfG

                                  Sissi

                                  –-----------------------------------------

                                  1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                                  sissiwupS 1 Antwort Letzte Antwort
                                  0
                                  • sissiwupS sissiwup

                                    @jomjol
                                    Hallo,

                                    ich habe noch ein Problem festgestellt:

                                    Durch das Restarten des Docker-Containers ist der preValue weg.
                                    D.h. wenn @pfried alle 2h seinen Container neu startet und er in dieser Zeit ein NaN hat, nach dem Start der Wert nicht mehr korrigiert wird.

                                    Könnte das in eine Datei ins config-Verzeichnis geschrieben werden?

                                    sissiwupS Offline
                                    sissiwupS Offline
                                    sissiwup
                                    schrieb am zuletzt editiert von sissiwup
                                    #555

                                    @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");
                                        }
                                    })
                                    });
                                    

                                    MfG

                                    Sissi

                                    –-----------------------------------------

                                    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                                    J pfriedP 2 Antworten Letzte Antwort
                                    1
                                    • sissiwupS 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 Offline
                                      J Offline
                                      jomjol
                                      schrieb am zuletzt editiert von
                                      #556

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

                                      sissiwupS 1 Antwort Letzte Antwort
                                      0
                                      • J jomjol

                                        @pfried Hi Paul,
                                        dann ist alles klar. Ohne "usePreValue" wird funktiniert der Consistency Check nicht, da er ja keinen Wert als Vergleich hat - momentan speichert er den Vorgängerwert nur, wenn "usePreValue" auch gesetzt ist und nur dann kann auch ein Vergleich auf Maximale Veränderung bzw. negative Werte gemacht werden.
                                        Müsste eigentlich nicht unbedingt sein. Aber ich bin noch nicht auf die Idee gekommen, dass jemand den ConsistencyCheck ohne usePreValue macht. Macht auch nicht in jeder Situation Sinn, denn wenn du das "N" bei Ziffernswechsel ersetzt, kann auch kein Konsistenzcheck gemacht werden.
                                        Müsste mal überlegen, wie es am sinnvollsten ist. Was wäre dein Vorschlag? Vielleicht kannst du einen Issue in Github machen, dann bleibt es im Ideenspeicher.
                                        Beste Grüße,
                                        jomjol

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

                                        @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 Antwort Letzte Antwort
                                        0
                                        • sissiwupS 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");
                                              }
                                          })
                                          });
                                          
                                          pfriedP Offline
                                          pfriedP Offline
                                          pfried
                                          schrieb am zuletzt editiert von
                                          #558

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

                                          RababersaftR sissiwupS 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          693

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe