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. Praktische Anwendungen (Showcase)
  4. Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 )

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.9k

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

Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 )

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
125 Beiträge 33 Kommentatoren 62.8k Aufrufe 35 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.
  • G George_Best

    Hallo zusammen,

    anbei meine Umsetzung einer elektronischen Erfassung eines mechanischen Wasserzählers ohne Impulsausgang o.ä..

    Inspiriert haben mich die Beiträge von ruhr70, Schubi und starfish. Ohne deren Beiträge wäre die Umsetzung nicht möglich gewesen.

    Ziel des Projekts:

    • Erfassung der Messung des Wasserzählers und Übermittlung an ioBroker.

    • Ermittlung des täglichen Wasserverbrauchs

    (- Warnung bei Rohrbruch => noch nicht umgesetzt)

    Einkaufsliste:

    • 1x induktiver Näherungsschalter Endschalter PNP - NC, TTL kompatibel, LJ12A3 https://www.ebay.de/itm/232176583655

    • 1x WeMos D1 MINI - ESP8266 ESP12 NodeMcu Dev-Kit WiFi Modul Board Arduino https://www.ebay.de/itm/252745698566

    • 1x DIN-Hutschiene, geschlitzt http://www.mercateo.com/p/108EL-467(2d) … 500mm.html

    • 1x Stahlwinkel

    • 1x 1 kOhm Widerstand

    • 3x 220 Ohm Widerstand

    • 1x 100nF Entstör-Kondensator

    • 1x Lochrasterplatine 45x39 mm (https://www.pollin.de/p/punktrasterpla … ck-442529)

    ****Umsetzung:

    Hardware:****

    Die Positionierung des Näherungsschalters habe ich mittels zweier Hutschienen (geschlitzt) umgesetzt. Das erlaubt eine sehr genaue Positionierung in X- und Y-Richtung. Das Ganze habe ich dann mit einem Stahl-Winkel an der Wand befestigt. Die Positionierung in Z-Richtung erfolgt über das Gewinde bzw. Muttern am Sensor selbst.

    Der induktive Näherungsschalter wird mit der 5V Versorgung (braun) und GND (blau) des Wemos versorgt. Der Ausgang des Sensor wird mittels Spannungsteiler an den Eingang D3 des ESPs verbunden. Ursprünglich hatte ich für den Spannungsteiler 1k:2k Ohm berechnet. Aus irgendwelchen Gründen (Bier?!) habe ich jedoch 1k:660 Ohm verwendet. Seltsamerweise funktioniert dies besser als der berechnete Spannungsteiler.

    Bei Tests habe ich festgestellt, dass der Zähler am ESP ständig Impulse gezählt hat. Dank meines 30-Jahren alten Oszis war die Ursache schnell gefunden - Störeinflüße auf die umgeschirmten Leitung. Ein Enstörkondensator (100nF) zwischen Eingang und Masse hat hier schnell Abhilfe geschaffen.

    Im Schaltplan im Anhang ist ein optischer Sensor dargestellt. Ich habel leider in der Bauteilbibliothek keinen anderen gefunden und selber erstellen wollte ich nicht.

    Zunächst habe ich es auf einem Breadboard getestet und später auf eine kleine Platine gelötet. Ok…. ordentliches Platinenlayout und Leiterbahnen ist etwas anderes...

    Die ganze Geschichte versorge ich dank des USB-Anschlusses mit einem herkömmlichen Smartphone-USB-Ladegerät.

    Zusätzlich habe ich noch zwei LEDs mit zwei GPIOs des ESP verbunden und in ioBroker entsprechende Datenpunkte angelegt. Warum? Weil es funktionert...

    Software:

    • ioBroker 😉

    • ESPEasy für den ESP8266 => Installation bzw. Flash gemäß https://www.letscontrolit.com/wiki/inde … are_Upload

    Nach dem erfolgreichen Flashen und Einrichtung des Wemos mit ESPEasy habe ich die Eingänge enstprechende konfiguiert. Den Eingang D3 habe ich als "Counter" parametriert. Unter Config sind die Daten des mqtt-Adapters eingetragen. Ich kann ihr nur auf den hervorragenden Thread viewtopic.php?f=35&t=5460 verweisen. Hier wird detailiert beschrieben wie der Adapter und ESPEasy einzurichten sind.

    Danach erscheint auch schon der "Counter" als Datenpunkt in den Objekten.

    Die Datenpunkte des Counters speichere ich via SQL und berechne mir hieraus auch den täglichen Verbrauch.

    ! ````
    sendTo('sql.0', 'query', 'SELECT id, (from_unixtime((ts / 1000))) AS time, val FROM ioBroker.ts_number WHERE (ioBroker.ts_number.id = 28) ORDER BY (from_unixtime((ts / 1000))) DESC LIMIT 2', function (result) {
    if (result.error) {
    console.error(result.error);
    } else {
    //show result;
    //console.log('Rows: ' + JSON.stringify(result.result));
    //console.log(result.result[0].time)
    //console.log(result.result[0].val)
    //console.log(result.result[1].time)
    //console.log(result.result[1].val)
    var Differenz = (result.result[0].val) - (result.result[1].val);
    console.log("Verbraucher letzter Tag: " + Differenz +" l");
    setState("javascript.0.WaterCount_Daily_DELTA"/WaterCount_Daily_DELTA/, Differenz);
    }
    });

    Die ganze Geschichte funktioniert nun schon eine Woche ohne Probleme. Ein Abgleich mit dem manuellen Zähler hat ergeben, dass der Counter auf den Liter genau zählt.
    [3428_befestigung_1.jpg](/assets/uploads/files/3428_befestigung_1.jpg)
    [3428_befestigung_2.jpg](/assets/uploads/files/3428_befestigung_2.jpg)
    [3428_befestigung_3.jpg](/assets/uploads/files/3428_befestigung_3.jpg)
    [3428_befestigung_4.jpg](/assets/uploads/files/3428_befestigung_4.jpg)
    [3428_befestigung_5.jpg](/assets/uploads/files/3428_befestigung_5.jpg)
    [3428_platine_oben.jpg](/assets/uploads/files/3428_platine_oben.jpg)
    [3428_platine_unten.jpg](/assets/uploads/files/3428_platine_unten.jpg)
    [3428_schematic_steckplatine.png](/assets/uploads/files/3428_schematic_steckplatine.png)
    [3428_schematic_schaltplan.png](/assets/uploads/files/3428_schematic_schaltplan.png)
    bruuschdB Offline
    bruuschdB Offline
    bruuschd
    schrieb am zuletzt editiert von
    #121

    @george_best Hi Georg, tolles Projekt.
    Du schreibst in dem Beitrag von einem Schaltplan im Anhang, ich kann den Anhang aber nicht finden.
    Hast du den Schaltplan noch irgendwo? Ich bin ein relativer Elektronik-Neuling und frage mich, wie das ganze verkabelt wird und ob die 5V am Wemos für den Sensor ausreichen.

    LG basement

    1 Antwort Letzte Antwort
    0
    • K klassisch

      @cainam wie ich oben geschrieben habe, würde bei meiner Uhr - bzw. bei meinen Uhren der TCRT5000 nicht reichen. Es mag Uhren geben. wo das funktioniert. Aber bei Nassläufern mit dickem Glas und tiefliegenden Zählwerk funktioniert das nicht mehr. Da ist die Strahldivergenz zu groß und man braucht eine bessere Optik als nur die Platiklinsen der TCRT Komponenten.
      Deshalb verwende ich ja Panasonic EX-26A. Anderer Preissticker, geht aber dann auch. Zumindest habe ich das bei 3 verschiedenen Uhren in Betrieb.
      Du hast einige Parameter, mit denen Du spielen kannst:

      • Intensität bzw. Triggerlevel über den Trimmer
      • Abstand, wobei man bei tiefliegenden Zählwerken meist bis auf das Glas geht
      • Kippwinkel und Kipprichtung. Das kann bei spiegelnden Oberflächen hilfreich sein

      Meiner Meinung nach kannst Du schwarze Striche o.ä. mit dem TCRT vergessen, so scharf bündelt der nicht.
      Wenn Du Glück hast, geht es mit einem Zeiger. Wie gesagt, bei meinen Zählern hatte ich damit kein Glück.
      Aber vielleicht hat ein erfolgreicher TCRT Nutzer noch ein glückliches Händchen und einen Tipp.

      B Offline
      B Offline
      btro
      schrieb am zuletzt editiert von btro
      #122

      @klassisch Ich frage seit einigen Jahren zwei unterschiedliche Wasserzähler mit TCRT5000 ab. Bei mir findet die Auswertung zwar über einen Raspi statt, aber hier geht es ja um die Zeigererkennung.

      Der Trick ist, dass man anstatt der IR-LED eine grüne nehmen muss, damit der rote Zeiger kein rotes Licht reflektiert sondern von der Empfängerdiode auf dem weißen Hintergrund als schwarz wahrgenommen wird. Die verwendete Empfängerdiode muss das grüne Licht natürlich detektieren können.

      Ich habe die Sende- und die Empfangsdiode in eine Optik eingebaut, die ich aus einer optischen Maus gewonnen habe. Wenn man dort die Sende- von der Empfangsoptik trennt (ist bei einigen Logi-Mäusen ein gemeinsames aber sägbares Kunststoffteil) kann man den Fokus unter die Glasscheibe und damit auf die „Tiefe“ des Zeigers verschieben.

      Hier noch Bilder dazu, denn die sagen mehr als tausend Worte 🙂

      C772DF39-151F-4EA1-8B71-110ED3C3A650.jpeg 8CBD4EDB-06D3-414D-9A20-B25824913AA4.jpeg04BEFC00-4548-4179-8371-E10DF4C953AF.jpeg

      Über Rückmeldungen - gern hier im Forum - würde ich mich freuen.

      Gruß Bernd

      K 1 Antwort Letzte Antwort
      0
      • B btro

        @klassisch Ich frage seit einigen Jahren zwei unterschiedliche Wasserzähler mit TCRT5000 ab. Bei mir findet die Auswertung zwar über einen Raspi statt, aber hier geht es ja um die Zeigererkennung.

        Der Trick ist, dass man anstatt der IR-LED eine grüne nehmen muss, damit der rote Zeiger kein rotes Licht reflektiert sondern von der Empfängerdiode auf dem weißen Hintergrund als schwarz wahrgenommen wird. Die verwendete Empfängerdiode muss das grüne Licht natürlich detektieren können.

        Ich habe die Sende- und die Empfangsdiode in eine Optik eingebaut, die ich aus einer optischen Maus gewonnen habe. Wenn man dort die Sende- von der Empfangsoptik trennt (ist bei einigen Logi-Mäusen ein gemeinsames aber sägbares Kunststoffteil) kann man den Fokus unter die Glasscheibe und damit auf die „Tiefe“ des Zeigers verschieben.

        Hier noch Bilder dazu, denn die sagen mehr als tausend Worte 🙂

        C772DF39-151F-4EA1-8B71-110ED3C3A650.jpeg 8CBD4EDB-06D3-414D-9A20-B25824913AA4.jpeg04BEFC00-4548-4179-8371-E10DF4C953AF.jpeg

        Über Rückmeldungen - gern hier im Forum - würde ich mich freuen.

        Gruß Bernd

        K Offline
        K Offline
        klassisch
        Most Active
        schrieb am zuletzt editiert von
        #123

        @btro sagte in Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 ):

        @klassisch aber hier geht es ja um die Zeigererkennung.

        Bei mir geht es bisher um die Abtastung des Sternrades. Ich will es etwas hochauflösener haben. Und das mache ich an 3 Uhren.
        Die Hauptuhr soll dieser Tage ausgetauscht werden. Bin mal gespannt, ob und wie das dann bei der neuen geht.

        Ich habe die Sende- und die Empfangsdiode in eine Optik eingebaut, die ich aus einer optischen Maus gewonnen habe. Wenn man dort die Sende- von der Empfangsoptik trennt (ist bei einigen Logi-Mäusen ein gemeinsames aber segbares Kunststoffteil) kann man den Fokus unter die Glasscheibe und damit auf die „Tiefe“ des Zeigers verschieben.

        Ja, genau. Wenn man soche Uhren hat, geht es kaum ohne Optik. Mausoptik ist eine gute Idee. Als Laptop Nutzer hatte ich keine Maus. Habe ich mir erst vor kurzem wg. Homeoffice gekauft.
        Ich verwende halt die Optik des Panasonic Sunx EX26

        Hier noch Bilder dazu, denn die sagen mehr als tausend Worte 🙂

        Danke, ich sehe die bewährte Cu-Draht Rohrschellenbefestigung in Vollendung! 😉

        1 Antwort Letzte Antwort
        0
        • G George_Best

          Hallo zusammen,

          anbei meine Umsetzung einer elektronischen Erfassung eines mechanischen Wasserzählers ohne Impulsausgang o.ä..

          Inspiriert haben mich die Beiträge von ruhr70, Schubi und starfish. Ohne deren Beiträge wäre die Umsetzung nicht möglich gewesen.

          Ziel des Projekts:

          • Erfassung der Messung des Wasserzählers und Übermittlung an ioBroker.

          • Ermittlung des täglichen Wasserverbrauchs

          (- Warnung bei Rohrbruch => noch nicht umgesetzt)

          Einkaufsliste:

          • 1x induktiver Näherungsschalter Endschalter PNP - NC, TTL kompatibel, LJ12A3 https://www.ebay.de/itm/232176583655

          • 1x WeMos D1 MINI - ESP8266 ESP12 NodeMcu Dev-Kit WiFi Modul Board Arduino https://www.ebay.de/itm/252745698566

          • 1x DIN-Hutschiene, geschlitzt http://www.mercateo.com/p/108EL-467(2d) … 500mm.html

          • 1x Stahlwinkel

          • 1x 1 kOhm Widerstand

          • 3x 220 Ohm Widerstand

          • 1x 100nF Entstör-Kondensator

          • 1x Lochrasterplatine 45x39 mm (https://www.pollin.de/p/punktrasterpla … ck-442529)

          ****Umsetzung:

          Hardware:****

          Die Positionierung des Näherungsschalters habe ich mittels zweier Hutschienen (geschlitzt) umgesetzt. Das erlaubt eine sehr genaue Positionierung in X- und Y-Richtung. Das Ganze habe ich dann mit einem Stahl-Winkel an der Wand befestigt. Die Positionierung in Z-Richtung erfolgt über das Gewinde bzw. Muttern am Sensor selbst.

          Der induktive Näherungsschalter wird mit der 5V Versorgung (braun) und GND (blau) des Wemos versorgt. Der Ausgang des Sensor wird mittels Spannungsteiler an den Eingang D3 des ESPs verbunden. Ursprünglich hatte ich für den Spannungsteiler 1k:2k Ohm berechnet. Aus irgendwelchen Gründen (Bier?!) habe ich jedoch 1k:660 Ohm verwendet. Seltsamerweise funktioniert dies besser als der berechnete Spannungsteiler.

          Bei Tests habe ich festgestellt, dass der Zähler am ESP ständig Impulse gezählt hat. Dank meines 30-Jahren alten Oszis war die Ursache schnell gefunden - Störeinflüße auf die umgeschirmten Leitung. Ein Enstörkondensator (100nF) zwischen Eingang und Masse hat hier schnell Abhilfe geschaffen.

          Im Schaltplan im Anhang ist ein optischer Sensor dargestellt. Ich habel leider in der Bauteilbibliothek keinen anderen gefunden und selber erstellen wollte ich nicht.

          Zunächst habe ich es auf einem Breadboard getestet und später auf eine kleine Platine gelötet. Ok…. ordentliches Platinenlayout und Leiterbahnen ist etwas anderes...

          Die ganze Geschichte versorge ich dank des USB-Anschlusses mit einem herkömmlichen Smartphone-USB-Ladegerät.

          Zusätzlich habe ich noch zwei LEDs mit zwei GPIOs des ESP verbunden und in ioBroker entsprechende Datenpunkte angelegt. Warum? Weil es funktionert...

          Software:

          • ioBroker 😉

          • ESPEasy für den ESP8266 => Installation bzw. Flash gemäß https://www.letscontrolit.com/wiki/inde … are_Upload

          Nach dem erfolgreichen Flashen und Einrichtung des Wemos mit ESPEasy habe ich die Eingänge enstprechende konfiguiert. Den Eingang D3 habe ich als "Counter" parametriert. Unter Config sind die Daten des mqtt-Adapters eingetragen. Ich kann ihr nur auf den hervorragenden Thread viewtopic.php?f=35&t=5460 verweisen. Hier wird detailiert beschrieben wie der Adapter und ESPEasy einzurichten sind.

          Danach erscheint auch schon der "Counter" als Datenpunkt in den Objekten.

          Die Datenpunkte des Counters speichere ich via SQL und berechne mir hieraus auch den täglichen Verbrauch.

          ! ````
          sendTo('sql.0', 'query', 'SELECT id, (from_unixtime((ts / 1000))) AS time, val FROM ioBroker.ts_number WHERE (ioBroker.ts_number.id = 28) ORDER BY (from_unixtime((ts / 1000))) DESC LIMIT 2', function (result) {
          if (result.error) {
          console.error(result.error);
          } else {
          //show result;
          //console.log('Rows: ' + JSON.stringify(result.result));
          //console.log(result.result[0].time)
          //console.log(result.result[0].val)
          //console.log(result.result[1].time)
          //console.log(result.result[1].val)
          var Differenz = (result.result[0].val) - (result.result[1].val);
          console.log("Verbraucher letzter Tag: " + Differenz +" l");
          setState("javascript.0.WaterCount_Daily_DELTA"/WaterCount_Daily_DELTA/, Differenz);
          }
          });

          Die ganze Geschichte funktioniert nun schon eine Woche ohne Probleme. Ein Abgleich mit dem manuellen Zähler hat ergeben, dass der Counter auf den Liter genau zählt.
          [3428_befestigung_1.jpg](/assets/uploads/files/3428_befestigung_1.jpg)
          [3428_befestigung_2.jpg](/assets/uploads/files/3428_befestigung_2.jpg)
          [3428_befestigung_3.jpg](/assets/uploads/files/3428_befestigung_3.jpg)
          [3428_befestigung_4.jpg](/assets/uploads/files/3428_befestigung_4.jpg)
          [3428_befestigung_5.jpg](/assets/uploads/files/3428_befestigung_5.jpg)
          [3428_platine_oben.jpg](/assets/uploads/files/3428_platine_oben.jpg)
          [3428_platine_unten.jpg](/assets/uploads/files/3428_platine_unten.jpg)
          [3428_schematic_steckplatine.png](/assets/uploads/files/3428_schematic_steckplatine.png)
          [3428_schematic_schaltplan.png](/assets/uploads/files/3428_schematic_schaltplan.png)
          Q Offline
          Q Offline
          Qax1
          schrieb am zuletzt editiert von
          #124

          @george_best
          Der Schaltplan würde mich auch interessieren.
          Ich verwende auch einen Näherungsschalter am Wemos D1 um meinen Gaszähler auszulesen.
          Im Test auf der Werkbank funktioniert das ganze aber am Zähler bekomme ich keinen Impuls.
          Ich vermute Mal das es an der zu geringen Versorgung des Sensors liegt

          Gruß Stefan

          1 Antwort Letzte Antwort
          0
          • R Offline
            R Offline
            RikDRS
            schrieb am zuletzt editiert von
            #125

            Hi zusammen!

            Auf Grund eines heute festegestellten Wasserschaden möchte ich unsere Wasseruhr /-zähler gerne ebenfalls überwachen.

            Als Hardware habe ich einen ESP8266Mod 12-F D1 Mini und TCRT 5000 zur Verfügung. Diese würde ich gerne per MQTT entsprechend in iOBroker einbinden - habe aber bisher Null Erfahrung mit Flashen und Co

            Würde mir einer bei Seite stehen und mich unterstützen und durch dieses Vorhaben begleiten? Würde auch ein HowTo dazu schreiben...

            Danke im Voraus!

            Rik

            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

            713

            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